Nueva estructura de carpetas del Core:
- Assets: archivos CSS, javascript e imágenes.
- Bridge: conectores con base de datos, como las clases de MySQL y PostgreSQL, así como clases de exportación a PDF, CSV, etc.
- Contract: contratos (interface) que deben implementar otras clases.
- Controller: controladores.
- Data: archivos csv para inicializar tablas.
- ErrorHandler: controladores para lanzar en caso de errores concretos.
- Filter: filtros para los ListController.
- Lib
- Main: clases del core que no son tan importantes o de uso común como para tenerlas en la raíz de Core, pero no queremos que se puedan sobreescribir y por eso no se meten en Lib.
- Model: modelos.
- Repository: repositorios para ciertos modelos muy usados, como Serie, Ejercicio... (actualmente en la carpeta DataSrc).
- Table: archivos xml con la definición de las tablas.
- Template: clases que se usan habitualmente para heredar: Controller, Model, Widget.
- Translation: archivos json con las traducciones.
- View: plantillas twig.
- Widget: widgets para las vistas xmlview.
- XMLView: archivos xml con la definición de listado y formularios.
Hay que añadir un archivo README.md a la carpeta Core para documentar esta información sobre sus carpetas, de cara al usuario. Así los nuevos podrán ver esta documentación.
Plugins
Para los plugins tenemos la estructura:
- Assets: archivos CSS, javascript e imágenes.
- Contract: contratos (interface) que deben implementar otras clases.
- Controller: controladores.
- Data: archivos csv para inicializar tablas.
- ErrorHandler: controladores para lanzar en caso de errores concretos.
- Lib
- Model: modelos.
- Table: archivos xml con la definición de las tablas.
- Test: archivos de tests unitarios.
- Translation: archivos json con las traducciones.
- View: plantillas twig.
- XMLView: archivos xml con la definición de listado y formularios.