Skip to content
/ anTic Public

This is a php + angular application that can be used to track issues in a project.

License

Notifications You must be signed in to change notification settings

kasigi/anTic

Repository files navigation

Stories in Ready

anTic, the Ticketing System and General CMS

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:

  1. Continue to Learn Angular
  2. Have an internal task tracking tool

Rerquirements

  • MySQL 5+ (Tested against 5.6)
  • PHP 5.5+
  • Apache 2.2+

Installation

  1. Upload the source code to the server / desired folder
  2. Copy the systemSettings-sample.php to systemSettings.php
  3. Update the database connection information
  4. Create the data model files in dataModelMeta/data

Data Models

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.

Complete model sample

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.

Known Limitations

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.

Important Note

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.

About

This is a php + angular application that can be used to track issues in a project.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published