[FEAT] Gestione documentale ISMS — ciclo di vita ISO 27001 cl.7.5 + export Word (v1.24.0)
Ogni documento del Modello SGSI ha un ciclo di vita completo Bozza->In revisione->Approvato->Pubblicato->Archiviato con tracciamento (revisore/approvatore/pubblicatore, date, entrata in vigore, prossimo riesame) e storico versioni (snapshot). Download Word .doc modificabile per documento.
- mig.060: stati published/archived + 10 colonne tracciamento + tabella isms_document_versions
- IsmsModelController: submit/approve/publish/reject/archive/newVersion/versions/exportWord + listDocuments arricchito
- index.php: 8 route documents/{id}/(submit|approve|publish|reject|archive|newVersion|versions|word)
- isms.js: UI badge stato + pulsanti transizione + download Word + storico (IT/EN inline); cache-buster
- help.js: sezione 'Ciclo di vita dei documenti (cl.7.5)'
- 31 documenti di Nuova Agile pubblicati v1.0 (build_nuova_agile_p6_publish)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
94e3a4293e
commit
68694a0f38
@@ -0,0 +1,35 @@
|
||||
-- 060_isms_document_lifecycle.sql — Ciclo di vita documentale ISMS (ISO/IEC 27001 cl. 7.5)
|
||||
-- Record DDL. Apply autoritativo idempotente: application/cli/migrate_060_isms_doc_lifecycle.php
|
||||
-- (ALTER guardati da information_schema; CREATE TABLE IF NOT EXISTS).
|
||||
|
||||
-- Stati del ciclo di vita: aggiunti 'published' e 'archived'
|
||||
ALTER TABLE isms_documents
|
||||
MODIFY COLUMN status ENUM('draft','review','approved','published','archived') NOT NULL DEFAULT 'draft';
|
||||
|
||||
-- Tracciamento del ciclo di vita
|
||||
ALTER TABLE isms_documents ADD COLUMN reviewed_by INT NULL;
|
||||
ALTER TABLE isms_documents ADD COLUMN reviewed_at DATETIME NULL;
|
||||
ALTER TABLE isms_documents ADD COLUMN approved_by INT NULL;
|
||||
ALTER TABLE isms_documents ADD COLUMN approved_at DATETIME NULL;
|
||||
ALTER TABLE isms_documents ADD COLUMN published_by INT NULL;
|
||||
ALTER TABLE isms_documents ADD COLUMN published_at DATETIME NULL;
|
||||
ALTER TABLE isms_documents ADD COLUMN archived_at DATETIME NULL;
|
||||
ALTER TABLE isms_documents ADD COLUMN review_note VARCHAR(500) NULL;
|
||||
ALTER TABLE isms_documents ADD COLUMN effective_date DATE NULL;
|
||||
ALTER TABLE isms_documents ADD COLUMN next_review_date DATE NULL;
|
||||
|
||||
-- Storico versioni (snapshot ad ogni approvazione/pubblicazione/nuova versione)
|
||||
CREATE TABLE IF NOT EXISTS isms_document_versions (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
document_id INT NOT NULL,
|
||||
isms_model_id INT NOT NULL,
|
||||
organization_id INT NOT NULL,
|
||||
version VARCHAR(20) NOT NULL,
|
||||
status VARCHAR(20) NOT NULL,
|
||||
body_html LONGTEXT NULL,
|
||||
change_note VARCHAR(255) NULL,
|
||||
created_by INT NULL,
|
||||
created_at DATETIME NULL,
|
||||
INDEX idx_docver_doc (document_id),
|
||||
INDEX idx_docver_org (organization_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
Reference in New Issue
Block a user