Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
== Description == V12.1 is the same as V12.0 with the following updates: 1. Multi-classifications 1. Other DB model updates -- '''not yet completely defined''' |
DrawMGT Release V12.1
Description
V12.1 is the same as V12.0 with the following updates:
- Multi-classifications
Other DB model updates -- not yet completely defined
Next Steps
- Clarify requirements with Martin Smith for front-page
- Catalog database model updates
Multipile Classifications
Doc-to-Doc and Task-to-Task Links
Requirements
- Link related documents:
- Different language versions of same documents (might be solved by multi-file per revision)
- Document X replaces document Y
Document X is a reply to document Y (correspondence chains)
- Ability to make certificate hierarchies. E.g. document X complete implies sub-documents Y1, Y2, etc. complete.
- Ability to create composite documents out of sub-documents
- Ability to create a work breakdown structure of tasks (parent-child tasks)
- E.g. task X has sub-tasks Y1, Y2, etc.
- Ability to display/list the hierarchical structure of documents/tasks (perhaps combined)
Need to have set of link-types, which the project can define.
- May need to be able to change a link from a revision to a document, or document to a revision
Possible Implementations
Add new many-to-many link tables (doc-doc table, task-task table) -- NO
- New table (example):
- fromDrawingId
- toDrawingId
- linkTypeId
- Disadvantage: Have to search in many tables
- New table (example):
Extend the existing CommentRevisions table with objectId fields: -- YES
- Fixes problem of linking a document (without revision) to a task
CommentRevisions (name change to ObjectLinks?) gets the following fields (all id fields form the primary key):
- fromObjectTypeId
- fromObjectId
- toObjectTypeId
- toObjectId
- linkTypeId
- note (optional text that the user can add to describe the link)
- Disadvantage: Have to fix/update some existing code
- Advantage: Allows links between pretty much anything in the system (revisions, submittals, etc.)
Need to have link-type included with the link (e.g. new table LinkTypeRef)
Link types
Implement with a standard reference table. E.g. id, code, name, description, define, order(?)
Fields for Front-Page
Requirements
- MS/MET wants DrawMGT to generate a MS Word (or RTF?) document that a user can fill in
- We would rather store the front-page as metadata in the database, and not generate this file
It is unclear if the front-page is per document, or if it should be available for each revision of the document
Do we need to implement any kind of version control on the front-page?
Must the front-page be a document (e.g. stored as a downloadable file)?
Suggested Fields for Front Page
- Title fields
- Keywords
- Abstract (executive summary)
- Table of contents
- Issues
- Recommendations
- References to (Handle via doc-doc links)
- Previous documentation
- Third party documentation
- Document code
- Related documents:
- Able to create separate/multiple lists or related based on the link type
- Revision history:
- Revision code
- Final workflow date
- Initials (or who?)
- Reason for issue
- Description
Multiple Files per Revision
Requirements
- Multiple language versions of the same document
- Multiple formats (.pdf, .doc, .rtf, etc.) of the same document
- Multi-part documents and appendices (probably better to use document/revision links)
Possible Implementation
RevisionFiles table, fields:
- revisionId
- fileTypeId (encodes extension and mime type)
- languageId (inclues N/A?)
- comment (human readable note)
- fileName
- file size
- file checksum?
- source/publish file flag
- object subtype (thumbnail, etc.)?
The creation of a front-page report of display page could be implemented using site specific layout templates
- Issues:
- Have to display a complete page consisting of various components, including the document layout, linked documents,
- revision workflow. This may be difficult to implement in a single template. It if further complicated by the customer wanting to specify their own ordering of the components (or even wanting to mix information from different components in a single part of the front-page
- Might be able to define a master data structure for a document and its revisions and linked documents, which
- can be passed to a generic template for display.
- Have to display a complete page consisting of various components, including the document layout, linked documents,
- Issues:
Issues
- Submittals? E.g.
- which file goes into the submittal zip file? Suggest all publish files.
- Require 1 or X publish files to be present? Suggest at least one publish file.
- How to handle automatic file naming (e.g. drawings?)
- Must files have different names (or not)? How to enforce this?
- Could be a problem for multiple language versions
- Should disable 'code' based file naming (in the server filesystem)
- Must files have different names (or not)? How to enforce this?
- Can you block multiple files per revision?
- Possibly based on document type? Could have a new flag field in Drawings or Revisions?
Incoming Serial Number for Documents
Requirements
Ability to have a unique system-generate id value (that has some meaning to the user)
The id is assigned once (to a document) can never be changed
- Ability to have a null document code (Drawings.drawingCode)
Possible Implementation
- Add new database field: Drawings.serialNo, char(16)
Suggested format YYYYMMDDnnnn
- YYYYMMDD = Date
- nnnn = running number
Could also implement a printf-like format string (like how the unix date command works)
- Default format (describe above) would be a general setting, which could be overridden by a site specific setting
Display undefined (a string taken from Settings.php) as the document code, when the code is null.
- Or alternatively, copy the id in the document code as well (which means you have to set an appropriate drawingCode type).
- How to reset the drawing code type when the user assigns the proper code?
- Or alternatively, copy the id in the document code as well (which means you have to set an appropriate drawingCode type).
Could have a document type undefined, which the user has to change when he wants to enter a code. E.g. if you have
- documentType = undefined, then the id field is copied to the drawingCode.
Issues
- Metadata upload current requires a drawing code as a key
- How to handle validations on data entry?