This is a php + angular application that can be used to track issues in a project.
This is not intended as a fully supported long-term project but a one-off creation with two goals:
- Continue to Learn Angular
- Have an internal task tracking tool
- MySQL 5+ (Tested against 5.6)
- PHP 5.5+
- Apache 2.2+
- Upload the source code to the server / desired folder
- Copy the systemSettings-sample.php to systemSettings.php
- Update the database connection information
- Create the data model files in dataModelMeta/data
The anTic CMS builds edit interfaces based on the models specified in the dataModelMeta/data/ folder. Each file must be named EXACTLY like the matching table in MySQL plus the extension .json. The existence of a correctly named file is adequate for the engine to build the table and edit interface. Additional hints and descriptions of more complicated models may be added to the json file.
This is a sample of every possible field in the model. These are ALL optional. Specify them or not as desired.
{ "displayName":"", "description":"", "fields":{ "fieldName":{ "helpText":"", "displayName":"SampleDisplayName", "foreignKeyDisplayFields":["fkField1","fkField2"], "fieldEditDisplayType":"email", "fieldValidationRegex":"/#?[a-fA-F]{6}/" } }, "listViewDisplayFields": ["person","status","projectTypeID","title"] } }
- displayName
- This is the table's name displayed to users in selects and various titles.
- description
- This is a text description of the table's content/purpose.
- fields
- This is an array (object) of all fields that require additional meta data.
- fields:fieldName:helpText
- This is the tooltip help bubble shown next to the field's display name
- fields:fieldName:foreignKeyDisplayFields
- If the field is a foreign key, fields from that table can be shown to the user instead of the raw value in the interface. This is an array.
- fields:fieldName:fieldEditDisplayType
- This allows special edit inputs to be specified for the user interface. Current valid options are listed in dataModelMeta/validDAtaTypesMap.json.
- fields:fieldName:fieldValidationRegex
- This is a custom field validation regex string. If the input does not match, then the field will return invalid.
- listViewDisplayFields
- The list/table view that shows many records can be constrained to only show certain fields. Note: it is NOT possible to suppress primary key fields and they will be forcibly displayed.
The system is able to support foreign keys and tables both with and without primary keys. HOWEVER, support for multi-field primary keys and foreign keys is limited and untested. There are also some upper limits on how much data can be stored in tables that do not have primary keys (it is suggested that the total length of all fields for tables without primary keys not exceed 2048). It is STRONGLY recommended to have primary keys in wherever possible.
Note: I'm using this tool BEHIND firewalls and with a server that provides authentication before the site is even reached. Do NOT deploy this tool directly on public-facing IP's without adding a layer of security on top. This is largely a learning tool and is not intended for production.