masterbranch is the latest stable production release of Elentra. Developers will never commit to this branch as it is managed by the Elentra Consortium team.
developbranch is the latest "stable" development release of the next planned release. This includes all of the approved feature branches that are going into our next release. The branch cannot officially be assumed stable, as instability will arise from time to time due to the constant approving and merging of Pull Requests.
release/*branches are a series of branches that contain previous major releases. For example, there are
release/1.11branches. These branches will also contain the next minor release of that particular point release. For example: 1.9.4, 1.10.3, 1.11.2, etc.
feature/*branches are a series of branches that contain new features that are being developed or maintained within our upstream repository. When the development in a feature branch is complete, the developers will create a "Pull Request" from the
featurebranch to the
developbranch. Each completed Pull Request that is ready to be merged should be tagged with the
ready-for-code-reviewlabel in GitHub, which indicates to the Elentra Consortium team that the code should undergo a code review and be merged into
hotfix/*branches are a series of branches that provide fixes for bugs within Elentra. When a bug in Elentra is discovered the discoverer should create an Issue in GitHub to identify the bug. If he/she is able to resolve the bug, a branch named something like
hotfix/bug-fix-name-1542should be created to resolve that bug. Like feature branches, once the bug is resolved a Pull Request should be created and tagged with
ready-for-code-reviewso that the Elentra Consortium team can review and merge in the fix.
developerscontains Elentra documentation, automated testing, raw structural SQL and legacy upgrade files, and command line PHP scripts, useful for things like seed data to populate a demo install, import tools, and data export.
www-rootcontains the web facing PHP code which drives the application.
www-rootis where the vast majority of development is done. Most requests into Elentra are handled by controller file in the
www-rootdirectory. This controller is passed a request by Apache's
mod_rewriteand then includes the appropriate files to deal with the request.
index.phpThe main controller file for the application. All public requests are routed through this file by
mod_rewrite. This file sets up the Elentra PHP environment by including the settings files, database libraries and connection files, and authentication and access control libraries. This file is also responsible for login and logout.
admin.phpThe auxiliary administration controller. All requests made to the administration side of Elentra (
/adminin the URL) are routed through this controller. Like index.php, it sets up the Elentra environment, and includes the appropriate files to handle the request. Each of these controllers is responsible for including files to deal with requests. These files are found in the core folder.
coreContains the PHP code for the Elentra modules, configuration, and library for 3rd party libraries like Zend Framework and ADODB.
config.inc.phpwhich defines the host environment, and
settings.inc.php, which defines settings affecting Elentra's behaviour.
includesContains high level PHP support code for the access control
(cache.inc.php), database connection,
(dbconnection.inc.php), site wide functions
(functions.inc.php), and initialization code
libraryContains code libraries used across the site. Libraries written for or included in Elentra reside in
modulesContains most Elentra modules (controllers and views) for the public and admin sections of Elentra. Each module has its own controller, and folder which contains code for specific actions inside that module.
storageUsed by Elentra during everyday operation to store temporary files, logs, and uploads.
apiContains single execution API style PHP files. This directory is being phased out and should not be used for new API files.
authenticationContains Elentra's authentication server.
communityContains Elentra's self-contained community system.
cronContains the command line PHP scripts needed for execution by cron for correct operation of Elentra.
setupContains the PHP installer for Elentra.
templatesContains all of the different templates within for Elentra.
entrada_auth.acl_permissionstable and detailed documentation can be found in the Elentra ACL section.