I found it tricky to start writing my own php/modules. The key points are (I think)
- Groupoffice uses directories in the `modules` directory for modules - each folder is a module
- Groupoffice uses ModulenameModule.php to autoload the module
- Groupoffice uses a very object-oriented approach to backend coding - if you want to do the simple things you really don't need to write much code but you can override behaviour as and when you need
- Use Extjs3 for front-ent stuff - the extjs3 docs are great!
- A few groupoffice additions to extjs - e.g. TabbedFormDialog to easilly create multi-tab dialogs corresponding to a model, and also custom stores that do extra stuff
- I use the 'notes' module as a guide to understanding how to code a standard simple module.