Brain Annex is built on a PHP Web Framework called pForce.
It's a thin Web Framework for PHP (including site logins) for those who don't want to over-engineer (nor under-engineer) their web apps.
Use only what you need. It doesn't twist your arm to program your web app in any particular way!
pForce: May the PHP Force be with you!
The pForce Framework was originally developed as part of the "Brain Annex" project, but is now independent of it.
This framework has been in active, continuous use on multiple web apps for years - some components for about a decade - and has been released as Open Source in Oct. 2019 as version 4.0
It is based, and is being tested on, PHP 7.2 (but until recently it was used on PHP 5.6)
It is very modular, and it currently contains 10 components, with no external dependencies.
NOTE: the release of the pForce framework to Open Source is the first step towards the promised complete release to open source of the Knowledge & Media Management web app Brain Annex (https://brainannex.org) As of version 4.0, pForce has an independent life from Brain Annex, but continues to be maintained and expanded by the Brain Annex project.
10 Components as of the current version (4.0). They may be used independently, provided all dependencies are satisfied. There are no external dependencies.
Static class to handle COOKIES
Class for DATABASE-INTERFACE using the PDO functions
Class to implement a Traversable Directed Acyclic Graph (DAG), consisting of Nodes and Directional Edges between 2 Node.
Each node can carry a set of user-defined "semantics" (such as "name" and "remarks"); likewise for each edges (for example "childSequenceNo")
Classes to easily build HTML forms, as well as "Control Panels" ("Dashboards") consisting of a table of such forms (each of which is referred to as a "pane")
2 CLASSES: "controlPanel" and "formBuilder"
Class to log SYSTEM MESSAGES (such as alerts or diagnostics) into a text file or an HTML file
Class with static functions for PARAMETER VALIDATION
Class for SITE USER AUTHENTICATION, incl. login/logout management.
Multiple independent websites are supported.
Class for the management of generic user accounts on a site: the underlying database table could have more fields, used by other more site-specific modules
Based on the entity "User-access ID" : identifying a particular membership for some user
Class for Template Evaluation: bare-bones version of the Python library "Jinja"
Class to facilitate File Uploads
Developers' Branch 4.1 In-progress
dbasePDO, the 2nd argument of the method
countRecordsis now optional
4.0.1 (Oct. 4, 2019)
pdo_num_rowsmethod of class
dbasePDO, and tweaks to the
4.0 (Oct. 1, 2019)
3.0 (June 14, 2018)
2.0 (Sep. 29, 2017)
1.0 (June 4, 2015)
NOTE: several modules that eventually became part of the pForce Framework had been developed years before, for various web sites. They got incorporated into the new Brain Annex web app as of v. 1.0