coderedcorp / coderedcorp/coderedcms
Make built-in models abstract
- Lenguaje dominante
- Python
- Estrellas
- 765
- Forks
- 154
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
If we want to continue using CODERED_FRONTEND_* settings (which I think we do, they will be the foundation of themes), we will have to make everything that uses our streamfield blocks abstract.
The issue is, many coderedcms models use streamfield blocks that pull values from CODERED_FRONTEND_* settings. Which means if you change one of these settings in your project, it triggers a migration in coderedcms. Which is a bad practice and leads to endless migrations.
This fits in with the paradigm we have been following with the page types. Provide beefy abstract models, and provide a very basic concrete model boilerplate in the project template.
One caveat to making the snippets abstract, is that we will no longer be able to provide a snippet chooser, or hard-code templates that pull in navbar/footer snippets. So this will have to be thought through to figure out how to gracefully handle all of this without re-defining everything in the project template (which would be too much boilerplate I think).
Anyhow, this pretty major regarding future stability. Implementing it will inevitably be a breaking change. But there is no other way to have dynamic blocks and themes. So I think it is necessary.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Empieza por analizar los modelos integrados, los bloques de StreamField, la configuración CODERED_FRONTEND_*, el manejo de snippets y la plantilla del proyecto mencionada en el issue. Determina cómo afectarían los modelos abstractos a la selección de snippets, las plantillas de navbar/footer y las migraciones; el trabajo se considerará terminado cuando exista un diseño documentado que evite las migraciones de settings específicas del proyecto sin un boilerplate excesivo.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- django, python
- Área
- backend, content
- Tipo de issue
- Refactorización
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100