|
| 1 | +# OXID Module Skeleton Generator |
| 2 | + |
| 3 | +---- |
| 4 | + |
| 5 | +Folders structure, empty classes and metadata generation for new OXID eShop modules. |
| 6 | + |
| 7 | +### Concentrate only on features - let OXID Module Skeleton Generator create all the rest! |
| 8 | + * **Enter Your copyright data in the module settings** |
| 9 | + * **Open an easy to use Module Generator Wizard** |
| 10 | + * **Enter new module name and optional components** |
| 11 | + * **Press "Generate New Module" and its done - new module is now ready to be activated and filled with features!** |
| 12 | + |
| 13 | +## OXID Module Skeleton Generator features |
| 14 | + - Fully configurable vendor/author parameters for new modules creation |
| 15 | + - Vendor folder and vendor metadata automatic creation |
| 16 | + - Standard module folders structure creation |
| 17 | + - Completely filled module medatada file generation |
| 18 | + - Naming based on vendor data and module name |
| 19 | + - Created modules follow OXID standards |
| 20 | + - Automatic creation of pre-filled README file |
| 21 | + - Generation of PHP files comments with all vendor and module data |
| 22 | + - Main module class is included in each generated module |
| 23 | + - It contains activation/deactivation events |
| 24 | + - Support automatic SQL execution on the events |
| 25 | + - The class "knows" about its module and provides useful methods |
| 26 | + - Generation of skeleton files for... |
| 27 | + - Overloaded (extend) classes |
| 28 | + - New controllers (also templates are created) |
| 29 | + - Model classes |
| 30 | + - List model classes (linked with item model classes) |
| 31 | + - Widgets (also with templates) |
| 32 | + - Smarty blocks metadata and templates generation |
| 33 | + - Module settings metadata and translations generation |
| 34 | + - Translation files creation |
| 35 | + - Module version |
| 36 | + - Automatic checkout of tests folder |
| 37 | + - And generation of pre-filled tests classes for each new module class |
| 38 | + - Configurable GIT repository URL to get tests folder from |
| 39 | + - Learning mode |
| 40 | + - Creation of hints and to do tasks inside generated files to help proceed with development |
| 41 | + - Sample source code generation to give a hint what each class could/should contain |
| 42 | + - Generated module is immediately working |
| 43 | + - Activate it and events, settings, blocks, controllers, etc. will already be in action! |
| 44 | + |
| 45 | +## Installation |
| 46 | + - Copy the content of `copy_this/` folder to OXID eShop root folder |
| 47 | + - Activate the module in administration area |
| 48 | + - Set eShop `modules/` folder writable while generating new modules |
| 49 | + |
| 50 | +## Usage |
| 51 | + - Make sure eShop `modules/` folder (and also Your vendor sub-folder, if it exists) is writable |
| 52 | + - Log in to eShop administration area |
| 53 | + - (for first run) Go to _Extensions -> Modules -> OXID Module Skeleton Generator -> Settings -> Vendor and Copyright Settings_ and enter Your vendor, copyright and author data |
| 54 | + - Open _Module Generator -> Wizard_ (refresh page if it did not appear after module activation) |
| 55 | + - Enter a name for a new module in "UpperCamelCase" format, e.g. "MyModule" |
| 56 | + - (optionally) Enter any other options required in a new module (refer to help hints for more info) |
| 57 | + - Press "Generate New Module" button |
| 58 | + - The module skeleton source is now available in Your vendor sub-folder |
| 59 | + - And the module could be activated already in _Extensions -> Modules_ |
| 60 | + |
| 61 | +## To do and nice to have features for future releases |
| 62 | + - Refactor longer classes to move some methods elsewhere |
| 63 | + - Extend blocks definition validation and blocks templates naming |
| 64 | + - EDIT mode feature: for existing modules, generate/add extra stuff |
| 65 | + - Create nice looking generation form with JS/AJAX events to validate and help enter proper values (auto-complete) |
| 66 | + - Admin interface presets generation, also with menu.xml |
| 67 | + - Generate picture with PNG text overlay with real module name |
| 68 | + - PHPStorm style schemes (or some code beautifier) integration - after generation do code formatting |
| 69 | + - Copy not all folders, but only required ones (Refactor copyDir by providing "copy scenario" array) |
| 70 | + - dbEvent fail on multi-shops and multi-lang in real life projects - need PHP based DB installation |
| 71 | + |
0 commit comments