Project (Plugin)
by Feric Decenan
1. App_data
1.1. plugin.locale.xml - Global variable that separate a word or term base on language selected.
2. Plugin.json - Contains an attributes of the plugin.
3. Services
3.1. Interface for plugin service.
3.2. Implementation of the service inherting from IEntityService that contains the method for CRUD operation on the database.
4. Helpers
4.1. Preparation helper for the domain model in getting the data
5. Domain
5.1. Mapping
5.1.1. Entity Map
5.2. Migration
5.2.1. Classes that identifies the most recent changes in the database design
5.3. Database Model
5.4. Entity Mapping
6. Controller
6.1. CRUD Operation
6.1.1. Get Data
6.1.2. Update Data
6.1.3. Delete Data
6.1.4. Insert Data
6.2. Configuration
7. Validators
7.1. Validation for the data before saving to the database ensuring a clean data entry.
8. Model
8.1. Entity List Model
8.2. Entity Model
8.3. Entity Type Settings Model
8.4. Entity Search Model
8.5. Entity Configuration Model
9. Factories
9.1. Interface for Model Factory
9.2. Implementation of Model Factory inherting from IModelFactory that contains a method to prepare the model for asynchronous operations.
10. Views
10.1. Create UI
10.2. List UI
10.3. Update UI
10.4. Delete UI
11. Caching
11.1. Cache Event Consumer
11.2. Cache Key
12. Data
12.1. Security
12.1.1. Permission for the Plugin