Shareable resources

Đang mở
#1,490 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
typescript
Lĩnh vực
frontend, web-dev

Hướng nghiên cứu

Không có tệp, bài kiểm thử hoặc điểm truy cập mã nào được nêu. Hãy bắt đầu bằng cách xem xét các luồng của phần header của sequence được đề xuất và panel chi tiết garden, sau đó xác định những tài nguyên nào và hành vi phụ thuộc nào nằm trong phạm vi; để được xem là hoàn tất, cần có thiết kế chia sẻ đã được thống nhất trước khi có thể xác định phần triển khai.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

API change feature

An ability for users to publicly share their:

  • Gardens
  • Sequences
  • Regimens?
  • ???

How it could work

In a sequence header or on a garden details panel, add a SHARE button. Clicking the button could open a popup with a toggle switch to turn on sharing. Once sharing is turned on, the popup shows two sharing options:

  1. Share via link - this provides a unique link to send to others (in a support email) or post somewhere, such as the forum. Maybe something in the format: my.farm.bot/app/sequences/shared/83jv7d3kiy0

If another (logged in) user clicks this link, the app would open to the sequences page, with the shared sequence loaded in the editor. There could be some banner up in the sequence header indicating that the sequence is a shared sequence, and all editing would be disabled. There could be a button to SAVE A COPY which would save a copy of the shared sequence to the account for modification/use.

If a logged out user clicked the link, a lightweight version of the app could be loaded to display the sequence with no editing allowed, and no other controls/page elements/nav. Maybe just a button to LOGIN TO SAVE A COPY

  1. Embed - this would provide an iframe (or oEmbed?) embed code that could be pasted into documentation, blog posts, the forum, etc. The embed content would be a lightweight version of the app to display the shared resource, without editing/nav capabilities. Maybe add a button to OPEN IN APP.

Dependencies

An obvious problem with saving a copy of someone else's sequence is that the sequence will likely have dependencies (tools, plants, groups, subsequences) that the new account doesn't have. While a saved sequence without dependencies might not be that useful, I think the amount of work and potential consequences of saving with dependencies is too much.

  • Saving with dependencies could become a total mess - it could create a ton of subsequences or plants that the user didn't have visibility to prior to saving the top-level resource.
  • Users sharing their sequences might not want subsequences and their whole garden to be revealed by sharing the top-level resource. I suppose there could be an extra control put in place on the resource author's end, but that sounds messy and could still expose users to unintended amounts of data leaking if they forgot sharing was on and later modified the sequence, or they didn't wholly understand what dependencies were at stake.

A middle-ground idea is to make a copy of the sequence without dependencies, but display the original author's dependency names to be used as a blueprint for the new user to "re-wire" the sequence with their own dependencies in order to fully save it. Something like:
Screen Shot 2019-10-04 at 12 52 48 PM

What are other thoughts, concerns, potential gotchyas?

Ngôn ngữ chính
TypeScript
Star
978
Fork
357
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của FarmBot/Farmbot-Web-App

Tất cả issue của FarmBot/Farmbot-Web-App

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.