Shareable resources

Aperta
#1,490 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
typescript
Ambito
frontend, web-dev

Direzione di ricerca

Non vengono indicati file, test o punti di ingresso del codice. Inizia esaminando i flussi dell’header della sequenza proposta e del pannello dei dettagli del giardino, quindi determina quali risorse e quale comportamento delle dipendenze rientrano nell’ambito; per considerare il lavoro completato è necessario concordare un design per la condivisione prima di poter definire l’implementazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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?

Lingua principale
TypeScript
Stelle
978
Fork
357
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di FarmBot/Farmbot-Web-App

Tutte le issue di FarmBot/Farmbot-Web-App

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.