I’m developing some new modules of freepbx… i think that the architecture should be more MVC compliant as modern software suggests.
For example all that php for the view part should be avoided, why not we use a template language instead? The php should be used only for the model and controller part. This will bring to a more mantainable software and it also will be simpler to write for us.
Another suggest should be to use a common library (classes) to perform all that typical operations (like queries, writing, …) a module usually performs.
We already do this. But it depends on what module you are looking at and how recently it was updated.
We have common classes for the database. Dialplan and are slowly adding others. If you want to add more feel free. It’s all part of bmo.
As for views. We are not currently focused on implementing any tempting engine. If you feel this is a requirement then by all means work on it and submit it. What we do now it break up views into the views folder. It’s straight php but that is ok depending on what module you are looking at. Implementing a full tempting engine like smarty comes at performance costs which we don’t want at this time.
Ok… in my opinion with the actual code base the best choice to write views is to use html5 (as i’m doing). We have created a skeleton (following the daynight module) and a tool to do some sort of scaffolding in order to make new modules in a faster and standard way. We’ll submit all the code as soon as possible.