ZDDC is a set of opensource lightweight project management tools.
ZDDC is focused on deliverables/task based project management and the concept that planning the deliverables/tasks list is planning the project, and that project information must be readily accessable by all project participants.
The name Zero Day Document Control is based on the idea that adopting the filenaming convention described below on the “zeroeth” day of a project is the only requirement to opt-in to the archive browser functionality. The archive browser provides a complete view of all project documents and even across projects.
The Archive Browser is an opensource browser-based tool for indexing and retreiving project documents. The key to using the Archive Browser is to follow a consistent file naming convention as described below.
By enforcing unique filenames that combine tracking numbers, revisions, and file types, it enables efficient organization and retrieval of project files from a single-source-of-truth archive (note however, that adequate controls must exist to mantain the integrity of the archive).
Either way it runs locally in a chromium based browser and requires the user to have one or more local directories to be used as the archive. Other than downloading the source code needed to run, there is no server and everything is perfirmed locally on the user’s computer. No information ever leaves the local computer.
The archive can be a OneDrive shortcut to shared folders.
Because the archive browser can read and write to the directory on your local computer that you specify, it requires Chromium based browsers and is not supported on mobile devices.
The archive browser is available from github at https://varasys.github.io/zddc/viewer.html or you can download it by right clicking the link and selecting “Save As” and then opening it from your local filesystem using a chromium based browser. This is useful so you are not dependent on the website and won’t be affected when the website version is updated or the website link is broken ;-).
Naming Requirements:
trackingNumber
_revision
(status
) - title
.extension
Field Specifications:
Component | Rules |
---|---|
trackingNumber |
Unique identifier (no whitespace or _ chars) |
revision |
Alphanumeric with letters sorted before numbers (e.g., A → 1) and optional modifier (see below) |
status |
Project phase code (IFA=Issued For Approval, IFC=Issued For Construction, etc.) |
title |
Short descriptive title matching deliverables list |
extension |
Original file type preserved |
Examples:
123456-EM-MDL-0001_A (IFR) - Master Deliverables List.pdf
123456-EL-SPC-2623_A (IFR) - Specification For Switchgear.pdf
123456-EL-ARR-0003_A (IFR) - Electrical Room Equipment Arrangement.pdf
123456-EL-ARR-0003_A+C1 (IFR) - Electrical Room Equipment Arrangement.pdf
(comments to Rev A)123456-EL-ARR-0003_0 (IFC) - Electrical Room Equipment Arrangement.pdf
123456-EL-ARR-0003_1 (IFC) - Electrical Room Equipment Arrangement.pdf
(revision to construction print)123456-EL-ARR-0003_2 (REC) - Electrical Room Equipment Arrangement.pdf
(for record)status
codesTypical status
codes include:
CODE | DESCRIPTION |
---|---|
DFT | Issued as DRAFT |
IFA | Issued For Approval |
IFB | Issued For Bid |
IFC | Issued For Construction |
IFD | Issued For Design |
IFI | Issued For Information |
IFP | Issued For Purchase |
IFR | Issued For Review |
IFU | Issued For Use |
REC | Issued For Record |
A “+” sign may be used to indicate a relationship between the file and a file with the same tracking number and revision (ie. the base content). These files are sorted lexically after the base file in the archive browser.
Typical revision modifiers, where ‘x’ is a sequential integer, since each modifier can be used more than once for a given deliverable, are:
MODIFIER | DESCRIPTION |
---|---|
+Cx | to indicate Comments to the base content |
+Bx | to indicate Backup material used to support the base content but isn’t included in the base content |
+Nx | to indicate Notes that relate to the base content, but which are not meant for general distribution (ie. internal email related to the content) |
+Qx | to indicate Quality check record |
For example, given the file 123456-EL-SPC-2623_A (IFR) - Specification For Switchgear.pdf
as the “base content” some examples of how related files could be associated are:
FILENAME | DESCRIPTION |
---|---|
123456-EL-SPC-2623_A+C1 (RSA) - Specification For Switchgear.pdf | would have comments (ex. markups directly on the base content) |
123456-EL-SPC-2623_A+C2 (RSA) - Specification For Switchgear.pdf | would be a second set of comments (ex. a checklist) |
123456-EL-SPC-2623_A+B1 (IFI) - Specification For Switchgear.pdf | would be some notes or other content that supports the base content (ex. internal confirmation of a question) |
123456-EL-SPC-2623_A+N1 (IFI) - Specification For Switchgear.pdf | would be some notes or reference material associated with the base content (ex. a deeper explination of a review comment that is not meant to be included in the response) |
123456-EL-SPC-2623_A+Q1 (RSA) - Specification For Switchgear.pdf | would be a record of the quality review of the base content |
status
codesTypically when a revision modifier is used, the associated status is either related to a review status or informational.
Typical status
codes used with revision modifiers include:
CODE | STATUS | DESCRIPTION |
---|---|---|
IFI | Information Only | |
RSA | Review Status A | No Comments |
RSB | Review Status B | Incorporate Comments, Proceed, and Resubmit for Record |
RSC | Review Status C | Incorporate Comments and Resubmit before Proceeding |
RSD | Review Status D | Rejected - Resubmit Per Requirements |
RSI | No Review Required | Typically for supplemental information provided for general information |
By convention, a tilde “~” can be used as a prefix of the revision or revision modifier field to indicate the working version of a file.
This is a useful way to differentiate between formal final revisions and working versions of files.
Where files are likely to have updates, it is customary to add a formal revision to the archive, and then copy it to a working folder and increment the revision in the filename and add the tilde prefix to indicate that it is the working version of the next revision of the file.
For example, various versions of the 123456-EL-SPC-2623_A (IFR) - Specification For Switchgear.pdf
could be:
FILENAME | DESCRIPTION |
---|---|
123456-EL-SPC-2623_~A (IFR) - Specification For Switchgear.pdf | working version of revision A which will be issued for review (note the tilde signifies that this file is not in a reliable state - it is a working version) |
123456-EL-SPC-2623_A (IFR) - Specification For Switchgear.pdf | final version of revision A (note there is no tilde) |
123456-EL-SPC-2623_A+~C1 (—) - Specification For Switchgear.pdf | working version of comments to revision A, note the tilde prefix on the revision modifier and the status is not filled in because it is not known until the comments are finalized |
123456-EL-SPC-2623_A+C1 (RSB) - Specification For Switchgear.pdf | final comments to revision A with review status B indicating that there are comments that should be incorporated before the deliverable is re-submitted for review |
space-separated
terms = AND search-excluded_term
= NOT operator (ie. put a “-“ in front of the term to exclude)
ZDDC is an opensource project hosted on Github at https://github.com/varasys/zddc so please contribute any bug reports, feature requests, or code you think may be useful.
Please note the nature of ZDDC is to be simple and require no configuration to start, and minimal configuration overall. So all feature requests or code contributions will be first be filtered through that lens.
ZDDC utilizes the following libraries (which are fetched from their recommended Content Delivery Network (CDN)):
ZDDC and related tools are licensed under the GNU Affero General Public License v3.0. You are free to use, modify, and distribute this material, including for commercial purposes, under the terms of this license.
ZDDC and related tools are provided “as is”, without warranties of any kind, express or implied. The authors and copyright holders disclaim all liability for damages arising from its use.