DemocraseeClub / website

Tools and resources to turn ideas and intentions into action
4 stars 0 forks source link

Implement FireCMS #8

Closed eliataylor closed 3 years ago

eliataylor commented 3 years ago

This looks promising: https://github.com/Camberi/firecms

We're open to other suggestions but the motivation is to offer our internal team some editorial control until we get the full authenticated site and API completed.

The field and entity Schemas are here:

I wrote a script to output all fields to config files here: https://github.com/eliataylor/clock-agendas/tree/master/src/fields/configs

Branyer commented 3 years ago

Hola, tenia unas dudas, como quieres implementar el firebase CMS? solo un componente al que se pueda acceder por una ruta? o una carpeta aparte dentro del proyecto clock-agendas?

eliataylor commented 3 years ago

@Branyer , por favor, nos avisas desde tus pruebas.

Branyer commented 3 years ago

he creado este proyecto de prueba: https://github.com/Branyer/fireCMS-test, supongo eso es lo que quieres implementar, mi duda es : de que forma se va a acceder a ese dashboard desde la pagina?

eliataylor commented 3 years ago

seria mas facil aqui: democraseeclub.web.app/cms ?

sin embargo, si dos proyectos de Firebase puede compartir uno baso de datos, lo ponga aqui: democraseeclub-cms.web.app

eliataylor commented 3 years ago

@Branyer, me entiendes?

Branyer commented 3 years ago

Si claro, ya lo estoy empezando a implementar, cree una rama feature/fireCMS, cuando se accede a url/cms se puede ver el dashboard

eliataylor commented 3 years ago

perfecto @Branyer, lo aparece que el metodo buildSchema puede usar nuestros archivos de configuracion

Branyer commented 3 years ago

Hola Eli, ya he terminado de construir los schemas y lo he conectado con firebase, ya he subido alguna data de prueba, por favor para que lo revises y me digas si está bien.

Branyer commented 3 years ago

se accede con la ruta /cms

eliataylor commented 3 years ago

lindo. @Branyer

Screen Shot 2021-03-08 at 1 54 43 AM

todo funciona.

eliataylor commented 3 years ago

@Branyer , una cosa:

el campo "Agenda JSON" es para type="text" or json

yo veo `mediaType=json" aqui: https://github.com/eliataylor/clock-agendas/blob/2ca0a145316e5488acd52c500e8c8c0688ffdbea/src/views/firebaseCMS/collections/meeting.js#L97

pero en la pagina esta un imagen:

Screen Shot 2021-03-08 at 2 00 26 AM

Branyer commented 3 years ago

Yo lo que pensaba era que se tenia que subir un archivo .json, entonces, para los campos JSON se utiliza un input "text"?

eliataylor commented 3 years ago

ahhh. entiendo.

Pienso que deberiamos utilizar "text" porque cuando la pagina solicita /rally/hgp/meeting/# la repuesta deberia tener el json alado (no como un enlace) - eventualmente crearemos la Agenda como campos, pero esa estructura todavía está cambiando demasiado.

eliataylor commented 3 years ago

@Branyer , puedes añadir un validator para confirmar el texto de JSON es valido?

como try { JSON.parse(agenda) } catch(e) {}

Branyer commented 3 years ago

Sí, creo que fireCMS tiene un metodo onPreSave donde puedo validar eso

Branyer commented 3 years ago

listo, ya está como texto, y lo valido antes de enviarlo a firebase.

eliataylor commented 3 years ago

hecho!

gracias @Branyer

eliataylor commented 3 years ago

@Branyer , una pregunta:

porque la ruta es /c/:entity en lugar de /cms/:entity ?

Branyer commented 3 years ago

Eso es debido a la libreria https://github.com/Camberi/firecms, por defecto cambia a esa ruta /c/:entity

eliataylor commented 3 years ago

raro