In this project I had 5 main tasks:
- Provide single GUI editor for "relational schema editor" and "designer".
- Direct export of schema from "designer"
- Introducing a client side storage for the designer, to make users enable to use the designer, even without doing the necessary configurations. And also export those designs in currently available formats.
- Reduce code duplication in schema handling.
- OOPing the designer code.
As at now, I've successfully covered all these tasks and also did the following modifications:
- Moved HTML codes of the pmd_designer to another file and only kept logic handling.
- Designer exporting was re-factored as plugins.
The last two modifications will help further enhancement of the code and also the modularity and scalability.
To provide more information about making exporting functions as plugins, I've used the same approach which had used in "exporting data". "schema" folder was moved into the plugins folder and "SchemaPlugin.php" class controls the exporting through provided all four types. Export_Relation_Schema.class.php acts as the parent class of the export and all other schema classes are inherited from his class, by which OOP concepts are preserved, while removing code duplications.
No comments:
Post a Comment