From c56263d1888126c2cc69431b0ad8b0751d3bf9cf Mon Sep 17 00:00:00 2001 From: "kujiu (@rincevent)" Date: Thu, 13 May 2021 22:50:29 +0200 Subject: [PATCH] Add: Beginning of specs --- docs/make.sh | 6 +- docs/requirements.txt | 3 +- docs/source/administration/index.rst | 29 +++++ docs/source/conf.py | 10 +- docs/source/index.rst | 38 +------ docs/source/refs.bib | 20 ++++ docs/source/specifications/accessibility.rst | 9 ++ docs/source/specifications/accounting.rst | 2 + docs/source/specifications/communication.rst | 2 + docs/source/specifications/documents.rst | 105 ++++++++++++++++++ docs/source/specifications/help.rst | 2 + docs/source/specifications/index.rst | 15 +++ docs/source/specifications/learning.rst | 2 + docs/source/specifications/online.rst | 2 + docs/source/specifications/projects.rst | 2 + docs/source/specifications/quality_risk.rst | 16 +++ docs/source/specifications/security.rst | 23 ++++ docs/source/specifications/stocks.rst | 2 + .../source/specifications/synchronization.rst | 2 + 19 files changed, 253 insertions(+), 37 deletions(-) create mode 100644 docs/source/refs.bib create mode 100644 docs/source/specifications/accessibility.rst create mode 100644 docs/source/specifications/accounting.rst create mode 100644 docs/source/specifications/communication.rst create mode 100644 docs/source/specifications/documents.rst create mode 100644 docs/source/specifications/help.rst create mode 100644 docs/source/specifications/learning.rst create mode 100644 docs/source/specifications/online.rst create mode 100644 docs/source/specifications/projects.rst create mode 100644 docs/source/specifications/quality_risk.rst create mode 100644 docs/source/specifications/security.rst create mode 100644 docs/source/specifications/stocks.rst create mode 100644 docs/source/specifications/synchronization.rst diff --git a/docs/make.sh b/docs/make.sh index 2b29e3c..2353c40 100755 --- a/docs/make.sh +++ b/docs/make.sh @@ -1,5 +1,9 @@ #!/usr/bin/env bash make html -make -e SPHINXOPTS="-D language='en'" -e BUILDDIR=build/en html +make -e SPHINXOPTS="-D language='fr'" -e BUILDDIR=build/fr html make -e SPHINXOPTS="-D language='nl'" -e BUILDDIR=build/nl html + +make gemini +make -e SPHINXOPTS="-D language='fr'" -e BUILDDIR=build/fr gemini +make -e SPHINXOPTS="-D language='nl'" -e BUILDDIR=build/nl gemini diff --git a/docs/requirements.txt b/docs/requirements.txt index 6f87152..7da85b3 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -13,6 +13,7 @@ sphinx-intl sphinxcontrib-bibtex reportlab ablog -sphinx-storymaker +pybtex +#sphinx-storymaker sphinx-fasvg sphinx-nervproject-theme diff --git a/docs/source/administration/index.rst b/docs/source/administration/index.rst index dc47b39..ed48469 100644 --- a/docs/source/administration/index.rst +++ b/docs/source/administration/index.rst @@ -1,5 +1,34 @@ Administration manual ===================== +.. danger:: + + Please read this documentation before installing. + Nerv Tales Network uses encryption at multiple + levels. You need to backup database and keys. + You'll lost all your data if you lost keys. + +.. danger:: + + Do not use same process and same servers to + manage, backup, restore, control, provide or + use the core server and the security server. + Sensible and private data can not be read in + a compromised database without keys to unencrypt. + Separate all tools avoid compromising data and + keys in same time. + + Using same server or same bastion for data and + for key management is prohibited in some cases. + +.. danger:: + + You have to assign Data Protection Officier and + Security Officier roles before using software. + You can have at most two security officiers. DPO + and SO can be the same person but DPO and SO can + not be in IT or management team (except some + legal cases). + Nothing here. Sorry, we're working on the first version of software. diff --git a/docs/source/conf.py b/docs/source/conf.py index 956931c..8da0329 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -10,7 +10,7 @@ author = 'Nerv Project ASBL' publisher = 'Nerv Project ASBL' site_url = 'https://tn.nerv-project.eu/' vcs_uri = "https://procrastinator.nerv-project.eu/" -use_bibtex = False +use_bibtex = True use_git = True html_favicon = '_static/favicon.ico' language = 'en' @@ -252,9 +252,13 @@ seqdiag_debug = diag_debug if use_bibtex: - import pybtex.style.formatting + from pybtex.style import formatting from pybtex.richtext import Text, Tag - class NervPybtexStyle(pybtex.style.formatting.BaseStyle): + class NervPybtexStyle(formatting.BaseStyle): def format_article(self, entry): return Text(Tag('em', entry.fields['key'])) + + bibtex_bibfiles = ['refs.bib'] + bibtex_default_style = 'alpha' + bibtex_reference_style = 'label' diff --git a/docs/source/index.rst b/docs/source/index.rst index 90013b9..92ea1eb 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -21,38 +21,6 @@ readers. It manages: - High security and confidentiality - Synchronization - - -- writing environment; -- ultra-accessible reader with text, audio, sign - language, very helpful resumes and other; -- tools to adapt works of art; -- emails, instant messaging with XMPP; -- phone calls; -- contacts; -- file and documents with sharing features; -- websites and blogs; -- internal and external documentation; -- accounting, purchases and invoicing; -- stocks and inventory; -- membership, customers and suppliers; -- point of sale and self-service PoS for sales and loans; -- events and calendar with private and public access - and online registration; -- learning management and elearning; -- rooms; -- projects with public funds; -- risk and PDCA management; -- quality requirements; -- social and environmental impacts; -- GDPR complaints, confidentiality; -- human resources; -- tickets and contact forms; -- advanced licenses and copyright exemptions, free - DRM and encryption; -- e-shop and downloading works of art; -- and a lot more. - .. note:: You can also use Nerv Tales Network on other @@ -100,3 +68,9 @@ Please select the documentation you want to consult. administration/index developing/index specifications/index + +Bibliography +~~~~~~~~~~~~ + +.. bibliography:: + :all: diff --git a/docs/source/refs.bib b/docs/source/refs.bib new file mode 100644 index 0000000..fc4c419 --- /dev/null +++ b/docs/source/refs.bib @@ -0,0 +1,20 @@ +@misc{ISO9001, + title="ISO 9001:2015 Quality Management Systems", + publisher="International Organization for Standardization (ISO)", + year=2015 +} +@misc{ISO14001, + title="ISO 14001:2015 - Environmental Management Systems", + publisher="International Organization for Standardization (ISO)", + year=2015 +} +@misc{ISO27001, + title="ISO 27001:2013 - Information Technology", + publisher="International Organization for Standardization (ISO)", + year=2013 +} +@misc{ISO31000, + title="ISO 31000:2018 - Risk Management Guidelines", + publisher="International Organization for Standardization (ISO)", + year=2018 +} diff --git a/docs/source/specifications/accessibility.rst b/docs/source/specifications/accessibility.rst new file mode 100644 index 0000000..87d679f --- /dev/null +++ b/docs/source/specifications/accessibility.rst @@ -0,0 +1,9 @@ +Accessibility +============= + +- :cite:t:`WCAG3.0` Gold level +- Conforms to :cite:t:`COGA-Usable`, :cite:t:`UAAG` + and :cite:t:`ATAG` +- Compatibility with :cite:t:`EN301549` requirements +- Client in Qt, Web, telnet, SSH, TUI and audio only +- Hardware client diff --git a/docs/source/specifications/accounting.rst b/docs/source/specifications/accounting.rst new file mode 100644 index 0000000..4727c21 --- /dev/null +++ b/docs/source/specifications/accounting.rst @@ -0,0 +1,2 @@ +Accounting +========== diff --git a/docs/source/specifications/communication.rst b/docs/source/specifications/communication.rst new file mode 100644 index 0000000..433144b --- /dev/null +++ b/docs/source/specifications/communication.rst @@ -0,0 +1,2 @@ +Communication +============= diff --git a/docs/source/specifications/documents.rst b/docs/source/specifications/documents.rst new file mode 100644 index 0000000..a7d6326 --- /dev/null +++ b/docs/source/specifications/documents.rst @@ -0,0 +1,105 @@ +Documents +========= + +- Documents in standard and simplified languages +- Documents in sign languages +- In video, audio or text +- Read with speech synthesis or audio files +- Subtitles for video +- Audio-description for video +- Text-description for video +- Transcription of video +- Bibliography management +- Citation management +- Glossary +- Highlight current sentence in multimedia + presentation (like audio+text or video+text or + audio+video+text) +- Styles for descriptions, dialogues, actions and + other types of paragraphs/sentences +- Styles for verbs, nouns, and other grammatical + functions +- Style for grammatical groups +- Add little images and sounds for better + comprehension +- Alt text for images (mandatory) +- Manage translations +- DRM and encryption +- Credentials and classification (secret and + zone level) +- Versioning (with git) +- Dictionary (with synonyms) +- Digital and physical documents (link with stocks) +- External and internal use, licensing +- Peer-adaptation with other organizations + +For stories and fictions: + +- Resumes available +- Character, arena, item sheets updated during the + reading +- Maps with characters +- List of characters in scene +- Timeline with events +- Avatar for each character, item and arena +- Display avatar on each dialogue line +- Display avatar on each reference +- Display mood when changing +- Classic and visual novel presentation + +Metadata: + +- Compatibility with :cite:t:`RDA`, +- Peering with other instances +- Synchronizing with other catalogs (OPAC, LRM, + Fediverse, Vidiverse, Electre, Dilibel, Dilicom, + PRISM and others) +- Compatibility with ISBD, MARC21, MarcXML, UNIMARC, + INTERMARC, DID - Digital Item Declaration, + DCMI, BIBFRAME, MODS, EAD, METS, PREMIS, + MPEG21-DIDL, RDA, RDA-FR, IFLA, FRAD, FRAR, + FRSAD, FRBR and LRM +- Support of ISBN, ISSN and EAN +- Recommendation +- Difficulty level (syntax, vocabulary, spelling, + specialization) + +Copyright (only European laws): + +- Prepare declarations for copyright collects +- Manage licenses, number of digital copies, number + of days of loans, number of loans, number of + digitalizations, number of photocopies (with + pages ranges) +- DRM (LCP), encryption, PDTB and tokens management +- Warns about obligation of anti-copy paper +- Manage copyright exemptions with legal + requirements (with forms) + +For all exemptions: + +- Not in public domain +- License is less permissive than the exemption +- Not for commercial use +- Exemption is for a limited number of special cases +- Do not strike a blow at normal business +- Do not harm legitimate interest of holder of the + right + +Exemption for adaptation for disabled people: + +- Authorization of legal entity +- Link to a legal license or a book in stock +- No adaptation in standard market +- Restrict reproduction, distribution, communication + and disposal (DRM, encryption, anti-copy paper + or ink, braille) +- Diligently adapt +- Display all requirements on the web sites (with + automatic refresh) +- Link to the membership of beneficiary +- Active proof of disability of beneficiary +- Active license on adaptation + +See also stock and items management for other +properties of physical documents. diff --git a/docs/source/specifications/help.rst b/docs/source/specifications/help.rst new file mode 100644 index 0000000..1b990b9 --- /dev/null +++ b/docs/source/specifications/help.rst @@ -0,0 +1,2 @@ +Help management +=============== diff --git a/docs/source/specifications/index.rst b/docs/source/specifications/index.rst index 23f8756..5727c30 100644 --- a/docs/source/specifications/index.rst +++ b/docs/source/specifications/index.rst @@ -6,3 +6,18 @@ here. The documentation is removed from this document when the feature is implemented, and rewritten into developing, administration and user manuals. + +.. toctree:: + + accessibility + documents + communication + stocks + projects + accounting + quality_risk + learning + online + help + security + synchronization diff --git a/docs/source/specifications/learning.rst b/docs/source/specifications/learning.rst new file mode 100644 index 0000000..f808c27 --- /dev/null +++ b/docs/source/specifications/learning.rst @@ -0,0 +1,2 @@ +Learning +======== diff --git a/docs/source/specifications/online.rst b/docs/source/specifications/online.rst new file mode 100644 index 0000000..a229160 --- /dev/null +++ b/docs/source/specifications/online.rst @@ -0,0 +1,2 @@ +Online services +=============== diff --git a/docs/source/specifications/projects.rst b/docs/source/specifications/projects.rst new file mode 100644 index 0000000..c2047ce --- /dev/null +++ b/docs/source/specifications/projects.rst @@ -0,0 +1,2 @@ +Projects +======== diff --git a/docs/source/specifications/quality_risk.rst b/docs/source/specifications/quality_risk.rst new file mode 100644 index 0000000..c9359b7 --- /dev/null +++ b/docs/source/specifications/quality_risk.rst @@ -0,0 +1,16 @@ +Quality and risk management +=========================== + +- Define quality requirements +- Manage PDCA cycles +- Create objectives for company or by projects +- Set tags on objectives (like GDPR, ISO27001, etc.) +- Manage tickets, feedbacks and incidents with + levels of priority, of frequency and of + seriousness +- Set indicators automatically or manually +- Manage impact of decision, incident, or indicator +- Treatment of risks with evaluation on objectives, + risks, and costs +- Evaluation of social and environmental impacts +- Create templates of objectives and risks diff --git a/docs/source/specifications/security.rst b/docs/source/specifications/security.rst new file mode 100644 index 0000000..33640c9 --- /dev/null +++ b/docs/source/specifications/security.rst @@ -0,0 +1,23 @@ +Security +======== + +- Encrypted database +- Encrypted hashed passwords +- Separate server for key management +- Update database when a key expires +- Credentials management +- Limit to two Security Officers +- Two-factor authentication for all operations +- Three or four-factor authentication for sensitive + operations +- Send notification to user when accessing on + sensitive private data +- List of private data +- Auto-expiration of private data with anonymization +- Technician mode to help users, with no displayed + data or fictive data (except with agreement of + user and security officer) +- Digital rights management (LCP) or encryption of + all documents except public documents +- Archive classification (restricted, secret, top + secret levels) diff --git a/docs/source/specifications/stocks.rst b/docs/source/specifications/stocks.rst new file mode 100644 index 0000000..10c4dd0 --- /dev/null +++ b/docs/source/specifications/stocks.rst @@ -0,0 +1,2 @@ +Stocks and items +================ diff --git a/docs/source/specifications/synchronization.rst b/docs/source/specifications/synchronization.rst new file mode 100644 index 0000000..3443149 --- /dev/null +++ b/docs/source/specifications/synchronization.rst @@ -0,0 +1,2 @@ +Synchronization and API +=======================