Shareable resources

Abierto
#1,490 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
typescript
Área
frontend, web-dev

Línea de trabajo

No se nombran archivos, pruebas ni puntos de entrada de código. Empieza revisando los flujos del encabezado de la secuencia propuesta y del panel de detalles del jardín; después, determina qué recursos y qué comportamiento de dependencias están dentro del alcance. Para darlo por terminado, es necesario acordar un diseño de compartición antes de poder definir la implementación.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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?

Lenguaje dominante
TypeScript
Estrellas
978
Forks
357
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de FarmBot/Farmbot-Web-App

Todos los issues de FarmBot/Farmbot-Web-App

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.