From 39053ab2f8f1741e24e08c857b1df71fadc19992 Mon Sep 17 00:00:00 2001 From: "Karl O. Pinc kop@karlpinc.com" Date: Mon, 3 Mar 2025 22:21:46 +0000 Subject: [PATCH] Document what breaks the system --- doc/src/appendices.m4 | 64 ++---------------------- doc/src/appendices/restrictions.m4 | 32 ++++++++++++ doc/src/appendices/technologies.m4 | 79 ++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+), 59 deletions(-) create mode 100644 doc/src/appendices/restrictions.m4 create mode 100644 doc/src/appendices/technologies.m4 diff --git a/doc/src/appendices.m4 b/doc/src/appendices.m4 index c36993a..6a3c37d 100644 --- a/doc/src/appendices.m4 +++ b/doc/src/appendices.m4 @@ -1,4 +1,4 @@ -.. Copyright (C) 2023 The Meme Factory, Inc. www.karlpinc.com +.. Copyright (C) 2023, 2025 The Meme Factory, Inc. www.karlpinc.com This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as @@ -23,62 +23,8 @@ sdb_generated_rst()dnl APPENDIXES ========== +.. toctree:: + :maxdepth: sdb_if_htmlout(2, 5) -.. contents:: - :depth: 2 - - -Technologies Used ------------------ - -These technologies are used by SokweDB. The desire is to keep the -number of technologies to a minimum to keep development simple. - -Operating System Components and Services -```````````````````````````````````````` - -* The Microsoft Azure cloud -* The Linux Operating System Kernel -* The Ubuntu Linux Distribution -* The Internet/Web/Web Browsers and related technology -* The PostgreSQL database engine -* The Postfix Mail Transfer Agent -* The Nginx webserver -* The gitweb source code repository web interface -* The Letsencrypt.org security certificate toolset and services -* The MediaWiki wiki engine -* The php-fpm PHP interpreter - -Although the operating system level components have been chosen with -care, they are more-or-less interchangeable with similar, stock, -components. Each may be swapped out when this is found convenient. -The exception is the PostgreSQL database engine. SokweDB depends upon -specific PostgreSQL characteristics and features. - - -Development Tools -````````````````` - -* The SQL database query and construction language -* The PL/pgSQL PostgreSQL database extension language -* The Python3 programming language -* The Pyramid_ web development framework -* The M4_ macro programming language -* The PHP programming language (deprecated) -* The git revision control system -* The bash shell scripting language -* The make build system tool - - -Documentation Tools -``````````````````` - -* The `ReStructured Text`_ (RST) markup lanugage -* The Sphinx_ RST processor -* The Inkscape SVG vector graphics editor - -.. _M4: https://en.wikipedia.org/wiki/M4_(computer_language) -.. _Pyramid: https://trypyramid.com/ -.. _Sphinx: https://www.sphinx-doc.org/ -.. _ReStructured Text: - https://docutils.sourceforge.io/docs/ref/rst/introduction.html + appendices/restrictions.rst + appendices/technologies.rst diff --git a/doc/src/appendices/restrictions.m4 b/doc/src/appendices/restrictions.m4 new file mode 100644 index 0000000..4c51735 --- /dev/null +++ b/doc/src/appendices/restrictions.m4 @@ -0,0 +1,32 @@ +.. Copyright (C) 2025 The Meme Factory, Inc. www.karlpinc.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +.. M4 setup +include(constants.m4)dnl +include(macros.m4)dnl +sdb_rst_quotes(`on')dnl +sdb_generated_rst()dnl + + +Restrictions: Things Not To Do +------------------------------ + +Using the ``SET CONSTRAINTS`` statement to change the timing of +constraints can reduce SokweDB's functionality. +Constraints must be checked when expected for the proper operation of +the system. + +Many data integrity checks are not performed on truncate. +Do not truncate the tables. diff --git a/doc/src/appendices/technologies.m4 b/doc/src/appendices/technologies.m4 new file mode 100644 index 0000000..a45b46b --- /dev/null +++ b/doc/src/appendices/technologies.m4 @@ -0,0 +1,79 @@ +.. Copyright (C) 2023 The Meme Factory, Inc. www.karlpinc.com + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +.. M4 setup +include(constants.m4)dnl +include(macros.m4)dnl +sdb_rst_quotes(`on')dnl +sdb_generated_rst()dnl + + +Technologies Used +----------------- + +.. contents:: + :depth: 1 + +These technologies are used by SokweDB. The desire is to keep the +number of technologies to a minimum to keep development simple. + +Operating System Components and Services +```````````````````````````````````````` + +* The Microsoft Azure cloud +* The Linux Operating System Kernel +* The Ubuntu Linux Distribution +* The Internet/Web/Web Browsers and related technology +* The PostgreSQL database engine +* The Postfix Mail Transfer Agent +* The Nginx webserver +* The gitweb source code repository web interface +* The Letsencrypt.org security certificate toolset and services +* The MediaWiki wiki engine +* The php-fpm PHP interpreter + +Although the operating system level components have been chosen with +care, they are more-or-less interchangeable with similar, stock, +components. Each may be swapped out when this is found convenient. +The exception is the PostgreSQL database engine. SokweDB depends upon +specific PostgreSQL characteristics and features. + + +Development Tools +````````````````` + +* The SQL database query and construction language +* The PL/pgSQL PostgreSQL database extension language +* The Python3 programming language +* The Pyramid_ web development framework +* The M4_ macro programming language +* The PHP programming language (deprecated) +* The git revision control system +* The bash shell scripting language +* The make build system tool + + +Documentation Tools +``````````````````` + +* The `ReStructured Text`_ (RST) markup lanugage +* The Sphinx_ RST processor +* The Inkscape SVG vector graphics editor + +.. _M4: https://en.wikipedia.org/wiki/M4_(computer_language) +.. _Pyramid: https://trypyramid.com/ +.. _Sphinx: https://www.sphinx-doc.org/ +.. _ReStructured Text: + https://docutils.sourceforge.io/docs/ref/rst/introduction.html -- 2.34.1