Microbizz
- Henrik Bjerregaard 65 (6 days ago)
- Michael Sahl 8 (193 days ago)
- Ilias Sersar 5 (266 days ago)
- Adriel Man 3 (143 days ago)
- Ester Libonati (Unlicensed) 1 (363 days ago)
Two generations of Microbizz
The Microbizz system is in a transitional phase where we are moving from an old architecture to a newer one. In the old architecture objects were located in the /obj/ subfolder and the system itself in the /sys/ subfolder, and there was a lot of other objects scattered around the directory structure. In the new structure, we are basing Microbizz off a framework called Platform4PHP, which is located in /Platform/. All objects should now be located in the /Microbizz/ subfolder and the system itself in the /web/ subfolder. There shouldn't be code in any other folders.
Types of code
When developing for the new Platform, we divide code into three types.
General classes
General classes are all classes, which aren't UI classes (see below), and should be located in a sub-namespace to the Microbizz namespace. All new namespaces should be approved by the CTO.
UI classes
UI classes are all classes which inherits from \Platform\Component or \Microbizz\Component. These should be located in a UI subnamespace / subfolder to the general classes of the functionality they represent.
Flow code
Flow code is code that actually provides an output and as such is everything else than classes. Flow code should be kept to a minimum and should only be used to built pages from UI components and very basic logic.
The \@oldschool tag
If there is code placed either in /web/ or /Microbizz/ that refers code placed in either /sys/ or /obj/ it should be tagged with the \@oldschool tag (without the leading \ which is purely added for Confluence reasons) to ensure that we can come back and clean up, when the entire Microbizz is migrated.
Folder structure
Folder | Content |
---|---|
Microbizz | The new object storage and the preferred place to add new objects. |
Platform | The Platform library. |
ac | Old code for autoconfiguring an app. Deprecated. |
admin | Used for administrative tasks such as handling translations. |
api | The Microbizz API. This is going to be replaced at some point. |
appconnect | Framework for connecting an external app to Microbizz. |
archive | Interface for looking at files transferred to and from Microbizz. Deprecated. |
css | Some general stylesheets. Work to remove. |
gfx | Graphical elements. Work to remove. |
inc | Kept for legacy as we have an SMS event handler in here. Work to remove. |
include | Some include files and external libraries. Work to remove. |
job | All jobs. Work to remove. |
jquery | The Jquery library. Work to remove. |
kiosk | A solution for kiosk views. Work to upgrade. |
login | Login into the old architecture. Work to remove. |
m | An old mobile website. Still being used by some clients. Work to remove. |
obj | The old class and object storage. Work to remove. |
script | A number of general javascripts. Work to remove. |
sys | The old web system. Work to remove. |
web | The new web system. |
x | The old extranet. Work to remove. |
x2 | The new extranet. Work to improve. |
xpanel | An old administrative interface. Deprecated. |