zddc

Zero Day Document Control (ZDDC)

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.

Archive Browser

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.

How to Run the Archive Browser

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 ;-).

Key Principles

  1. Unique Identification: Each deliverable receives an immutable tracking number
  2. Version Control: Revisions track document changes throughout project lifecycle
  3. Centralized Storage: All files reside in one directory with unique filenames combining:
    • Tracking number
    • Revision
    • File extension

Naming Requirements:

File Naming Convention

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:

status codes

Typical 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

Revision Modifiers (+ modifier)

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

Modified status codes

Typically 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

Drafts (~ modifier)

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

Features

1. Directory Management

3. Drag & Drop Upload

  1. Drop files anywhere in browser window
  2. Smart Metadata:
    • Pre-fills matching row data when dropped on table row
  3. Manual Validation:
    • Edit tracking number, title, revision, status before uploading
    • Select destination directory for upload
  4. Safe Handling:
    • Duplicate detection with overwrite prompts
    • Standardized filename generation
    • Instant list refresh after upload

4. Document Access

5. Interface Customization

Technical Overview

Contributing

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.

Dependencies

ZDDC utilizes the following libraries (which are fetched from their recommended Content Delivery Network (CDN)):

  1. Alpine.js (MIT license) for basic reactivity
  2. tailwindcss (MIT license) for styling
  3. JSZip (MIT/GPLv3 license) for creating .zip files

License

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.