Document toolboxDocument toolbox

Microbizz

These pages contain information about the Microbizz web system from a developers point of view.

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

FolderContent
MicrobizzThe new object storage and the preferred place to add new objects.
PlatformThe Platform library.
acOld code for autoconfiguring an app. Deprecated.
adminUsed for administrative tasks such as handling translations.
apiThe Microbizz API. This is going to be replaced at some point.
appconnectFramework for connecting an external app to Microbizz.
archiveInterface for looking at files transferred to and from Microbizz. Deprecated.
cssSome general stylesheets. Work to remove.
gfxGraphical elements. Work to remove.
incKept for legacy as we have an SMS event handler in here. Work to remove.
includeSome include files and external libraries. Work to remove.
jobAll jobs. Work to remove.
jqueryThe Jquery library. Work to remove.
kioskA solution for kiosk views. Work to upgrade.
loginLogin into the old architecture. Work to remove.
mAn old mobile website. Still being used by some clients. Work to remove.
objThe old class and object storage. Work to remove.
scriptA number of general javascripts. Work to remove.
sysThe old web system. Work to remove.
webThe new web system.
xThe old extranet. Work to remove.
x2The new extranet. Work to improve.
xpanelAn old administrative interface. Deprecated.