Some customization hints

After some Model iterations you finally have something where you think: that could really be something like what I imagine. But wait: don't start at once changing it here and tweaking it there.
Here are a few short hints which become helpful for customizing your generated Module:

  • Your model is the real software so do all important changes (like adding or moving table columns) on model level. Do not let your model become obsolete, which means losing lots of advantages.
  • Do all cosmetic enhancements by template overriding: placing them in /config/templates/ for example is a good idea for development. If you need display-oriented additional logic, simply create a render plugin encapsulating your efforts in a file which is not affected by the generator.
  • Perform logical enhancements in the Domain classes (see classes/*, those file extend classes/Base/*) - take a look at the structure of the component system classes PNObject and PNObjectArray (both in /includes/pnobjlib/ in Zikula) to get to know the methods it provides.
  • The file common.php can be easily used to enable/disable specific use cases (like view, display, ...) for particular object types within custom conditions.
  • Document your changes to simplify merging process after regeneration (be sure you will need and love it: add some fields later on, get a new generator version fixing some bugs centrally, and so on).
  • A version control system gives you another additional level of rollback safety.
do you plan some "incremental" coding, where the developper would have access to an editor where he could add some custom after predefined tags without losing it when closing the Module ?
A future version (> 0.5.0) is going to introduce a combined textual editing possibility within the graphical modeling process.
ok ! nice :)