![]() |
Project/Open Core : Home | |
|
Categories are being used in Project/Open mainly to specify the "Type" and "Status" of most business objects.
Normally it is recomended (according to many database design books) to create a separate table for each of these types or stati, in order to be able to use full Referential Integrity and to enhance the types and stati by additional information. However, this approach typically leads to a large number of tables.
Instead we have chosen to follow the model of the ArsDigita Intranet 3.4 to use categories where possible, in order to reduce code size and to allow for easy adaptation to different companies.
create table categories ( category_id integer constraint categories_pk primary key, category varchar(50) not null, category_description varchar(4000), category_type varchar(50), profiling_weight integer default 1 constraint im_profiling_weight_ck check(profiling_weight >= 0), enabled_p char(1) default 'f' constraint im_enabled_p_ck check(enabled_p in ('t','f')), mailing_list_info varchar(4000) );
There is a category editor available in the /intranet/admin/ section of Project/Open to cynamically change the system categories.
The current list of categories includes:
CustomersIntranet Customer Status Intranet Customer Types Intranet Annual RevenueProjects
Intranet Project Status Intranet Project TypeHuman Resources
Intranet Quality Intranet Hiring Source Intranet Task Board Intranet Job Title Intranet Qualification Process Intranet Department Intranet Prior Experience Intranet Employee Pipeline StatusTranslation
Intranet Translation Language Intranet UoM Intranet Translation Task Status Intranet Translation Subject AreaInvoicing
Intranet Invoice Status Intranet Invoice Type Intranet Invoice Payment Method Intranet Cost Templates Intranet Payment TypeForum
Intranet Topic Type Intranet Topic StatusFreelancers
Intranet Freelance Skill Type Intranet Freelance TM ToolsCost Management
Intranet Cost Center Type Intranet Cost Center Status