eQMS (beta in 1.11)
The eQMS module adds features to control the life cycle and distribution of documents. The eQMS requires a license and can be configured in the eqms_config setting
// main configuration object interface IeQMSConfig { // option to render DOC, SIGN categories in main tree renderInTree?:string[] // can be set to either one or both "DOC","SIGN" // definition of document administrators. These can // * change the release status of documents // * modify any review comment // * define who needs / got training / reading / has read docAdmins?:string[] // list of user ids of document adminsitrators workflow?:IDocWorkflow, // definition of workflow features (see below) revision?: IDocRevisionInfo, // definition in which cell revision number can be found (see below) captions?:ICaptions, // set to at least {} will enable captions for figures/tables (see below for more options) templates?:IDocTemplate // if configured the user can instanciate templates from another project (see below) mail?:IDocMailings // can be specified to define mail notification (buttons) review?:IDocReview // set to at least {} to enable "document review" (see below for more options) compare?:IDocCompare // must be set to at least {} to enable "document compare" (see below for more options) documentOverview?:IDocOveriew[] // Optional documentation overview page (see below for more options) } // definition of formatting of captions and references to captions interface ICaptions { referenceStyle?:string, // optional: specify how references to captions are rendered (default italic) captionStyle?:string // optional: specify how references to captions are rendered (default italic) } // definition of mail notification options interface IDocMailings { review?:IQMSMailing, // optional button to email people to ask to review a document reading?:IQMSMailing, // optional button to email people to ask to read a document training?:IQMSMailing, // optional button to email people to ask to get training [key:string]:IQMSMailing // other templates for automatic emails } // definition of a mail notification content // subject and body can contain these placeholders // _id_ : the document if // _link_: a hyperlink to the document // _reviewer_: name // _trainer_ : whoever is in the trainer field of a document // _trainee_ : whoever needs a training (and has not yet been trained) // _reader_: whoever needs read a document (and has not yet read it) // _me.firstName__: first name of sender // _me.lastName_ : last name of sender interface IQMSMailing { subject:string, // subject line body:string // html body buttonText?:string // optional button text } // definition of lifecycle states of a document // all states must exist a label. // labels must be defined as XOR interface IDocWorkflow { defaultStatus:string, // status after SIGNED was created, e.g. REVIEW. Meaning document must be reviewed and signed rejectedStatus:string, // status if a document has been rejected by at least one user, e.g. REJECT reviewedStatus:string, // status if a document has been signed by all stakeholders, e.g. RELEASE useStatus:string[], // states of life of document e.g. LATEST, SUPERSEEDED, RETIRED changes:IStatusChange[] // a list of triggered changes if the document status cahnges } // can be set to a project id from which user can pick signed documents interface IDocTemplate { project:string, // project name filter?:string // define label which has to be set, e.g. LATEST showAll?: boolean // set to true if filtered out documents should be shown in grey categories?: string[]// can be set to show other categories than just SIGN } // option enabling inline comments for documents interface IDocReview { showAlways?:boolean, // whether it should be possible to do reviews (leaving inline comments to already signed documents) allowModifyOthers?:boolean // set to true to allow normal users to modify other people's comments } // option to allow comparing documents with other version interface IDocCompare { // currently no additional options } // options for the project page, allows to show for example all releaed documents interface IDocOveriew { groupName:string; // display name in UI (heading) filter:string; // filter (label to pick documents) } // specification how revision number is recogonized and increased interface IDocRevisionInfo { sectionType?:string, // optional type of table (should normally be audittrail) sectionName?:string, // optional name of table alternative to sectionType column:string, // id of column (default 'col1') row:"first"|"last", // first or last row (default last) autoDraft?:boolean // default false: create a new revision line with DRAFT after creating signed askDraft?:boolean // default false: ask user if he really wants to create a SIGNED with DRAFT } // defines what happens when a lifecycle status of a SIGN changes (label change) interface IStatusChange { status?:string, // new status (label) action?:string, // after some action change?:{from:string,to:string}, // automatically change other SIGN derived from same DOC mail?: IStatusChangeMail // send mail to users (body see mail config for placeholders) } // details whom to send which mail if status changes interface IStatusChangeMail { signCreator:boolean, // whether person who created the sign should get a status change mail docAdmins:boolean, // whether doc admins should get a status change mail template:string // which tempalte (IQMSMailing) to use }