Shareable resources

オープン
#1,490 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
typescript
領域
frontend, web-dev

調査の方向性

ファイル、テスト、コードのエントリーポイントは指定されていません。まず、提案されているシーケンスヘッダーとガーデン詳細パネルのフローを確認し、次にどのリソースと依存関係の動作を対象範囲とするかを明確にします。実装を定義できる状態にする前に、合意された共有設計が必要です。

索引モデルが issue の本文から書いたものです。

説明

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?

主要言語
TypeScript
スター
978
フォーク
357
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

FarmBot/Farmbot-Web-App のほかの issue

FarmBot/Farmbot-Web-App の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。