PROJECT BAKEMECO
BakemEco is a Cakephp application template. It creates a data administration tool that can be used as a data-driven website. Derived from the BakeMe tool (by Wouter) from cakephp, this tool was further enhanced to supply the baked version with a very intense Eco flavour.
It bakes a ready to use data manager that can serve as a back-office (back-end) web application. On top of the standard CRUD operations, the following can be available.
Functionality overview:
Password protected
Multi user level
User-level menu based
Private user access
Tree-navigation (based on data relations)
Filter tool
Multiple record update (magic area)
Page and Record views
Smart Data Interaction (SDI)
Multilingual capability
Multimedia support
Functionality details:
password protected
Being an administration system it is password protected to assure private access to data
multi-user level
Several groups can be defined. Each user is allocated to a group. Different groups have different permissions. The simplest model is based on two groups: admins and members. Permissions are setup as a matrix of tables by CRUD operation. In this way for a user to be able to modify a record he must have U permission to that table. Same logic applies for the other operations. A restriction can also be setup per field and group
user-level menu based
Menu is build based on the group the user belongs to.
Private user access
Each user will see his/her data only. By his/her data one should read data that is related in any way to his/hers and for which he/she was given access. As an example and taking a system with tables Teachers and Students, where a many to many relation stands between them, this means that a teacher login to the system will not see other teachers or students belonging exclusively to another teacher. Accordingly a student would only see his/her teachers and no other student.
Tree-navigation
Based on table relations it is possible to navigate in the database as if in a tree. If we are browsing table A and A has a one to one, one to many or many to many relation with table B, then we can navigate into B records by selecting all children of a record on A. The next screen will show all records of B that are related to the A record. The path taken in the tree is memorized until destroyed by an incompatible path. One can move backward and forward in the path.
Filter tool
A filter area is available (can be hidden if annoying during browsing) for focusing on specific data. It filters on every type of field: list fields (drop-down), numeric, string, date and logic. A logic field has a three state possibility; yes, no or doesn't matter. For string fields the filter will work on every data matching the filter pattern anywhere in the field.
Magic Area
When browsing records of a table and one or more records are selected, the Magic-area shows up at the bottom of the page. This area provides a quick way to change or delete multiple records at a time. Only list fields are available for change. This functionality is Ajax based preventing the whole page to be renewed while setting up changes.
Page and Record views
Data can be viewed in two styles: (1) Page, which means browsing several records of one table and (2) Record, meaning the whole record will be displayed on a tabular frame. Each tab in the frame is about data of a different table relating to the record being viewed. This style comes particularly handy for gathering all relevant information concerning one entry in a table.
In the page view records can be ordered by any column showing. Free text columns will not be present in this view.
SDI (smart data interaction)
Is the property of changes made to a field while editing or adding a record affecting the list of choices to one or more fields in the same record. In order to minimize incongruence between data on a relational database this functionality was introduced. Is present whenever changes can be made to existent data or when new data is added to the system. This includes the Magic-area.
Multilingual
The system can work on a multilingual level both for static and dynamic data assuming a translation is available.
multimedia support
Different type of files can be uploaded to a special table and connected to one or more other data tables in the system as well as a user. The files to upload can be images, videos, docs, pdfs, etc. A small image will be kept in the table while the real uploaded file is saved to the file users' folder. Several files can be uploaded at once. These media files can be downloaded by users with given permission.