From 3d73dc827958eb3c789d7f54fa51006c24d272c4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sat, 20 Sep 2025 21:47:37 +0200 Subject: [PATCH 01/40] add new dist target based on phing --- Makefile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 3c2139b03..fbfe2f653 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,9 @@ NODISTFILES=utils/importmail.php utils/seedddms-importmail utils/remote-email-up PHPDOC=~/Downloads/phpDocumentor.phar -dist: +all: dist + +olddist: mkdir -p tmp/seeddms-$(VERSION) cp -a $(SRC) tmp/seeddms-$(VERSION) mkdir -p tmp/seeddms-$(VERSION)/views @@ -23,6 +25,9 @@ dist: (cd tmp; tar --exclude=.svn --exclude=.gitignore -czvf ../seeddms-$(VERSION).tar.gz seeddms-$(VERSION)) rm -rf tmp +dist: + php vendor/bin/phing -Dversion=$(VERSION) dist + quickstart: php vendor/bin/phing -Dversion=$(VERSION) package From bef3b62f5a072d23a0028f8fe3594439ecfa093e Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sat, 20 Sep 2025 21:48:07 +0200 Subject: [PATCH 02/40] get rid of pear directory --- build.xml | 15 ++++++++------- inc/inc.Settings.php | 8 ++------ 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/build.xml b/build.xml index 3c48c9c24..7ba251999 100644 --- a/build.xml +++ b/build.xml @@ -36,7 +36,8 @@ - + + @@ -129,7 +130,7 @@ - + @@ -150,11 +151,11 @@ - + - + - + - + diff --git a/inc/inc.Settings.php b/inc/inc.Settings.php index 90b26ac24..07a49b021 100644 --- a/inc/inc.Settings.php +++ b/inc/inc.Settings.php @@ -60,7 +60,7 @@ if($settings->_dbDriver == 'sqlite' && empty($settings->_dbDatabase)) { $settings->_dbDatabase = $__datadir."/content.db"; } -ini_set('include_path', $settings->_rootDir.'pear'. PATH_SEPARATOR .ini_get('include_path')); +ini_set('include_path', $settings->_rootDir.'..'. PATH_SEPARATOR .ini_get('include_path')); if(!empty($settings->_extraPath)) { ini_set('include_path', $settings->_extraPath. PATH_SEPARATOR .ini_get('include_path')); } @@ -75,12 +75,8 @@ if(isset($settings->_maxExecutionTime)) { * relative to it. */ ini_set('include_path', $settings->_rootDir. PATH_SEPARATOR .ini_get('include_path')); -/* Add root Dir.'../pear'. Needed because the SeedDMS_Core, etc. are included - * relative to it. - */ -ini_set('include_path', $settings->_rootDir.'../pear'. PATH_SEPARATOR .ini_get('include_path')); -/* composer is installed in pear directory, but install tool does not need it */ +/* composer is installed in vendor directory, but install tool does not need it */ if(!defined("SEEDDMS_INSTALL")) require_once 'vendor/autoload.php'; From 33d4861ce3c5b42f6d74c5ee2f3dcfd72a3b1300 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sat, 20 Sep 2025 21:48:32 +0200 Subject: [PATCH 03/40] add bacon/bacon-qr-code --- composer-dist.json | 1 + 1 file changed, 1 insertion(+) diff --git a/composer-dist.json b/composer-dist.json index 5126ea1ce..1b3cb0031 100644 --- a/composer-dist.json +++ b/composer-dist.json @@ -26,6 +26,7 @@ "symfony/http-foundation": "^5.4", "php-di/php-di": "^6.4", "slim/psr7": "^1.7", + "bacon/bacon-qr-code": "^3.0", "seeddms/core": "dev-master", "seeddms/lucene": "dev-master", "seeddms/preview": "dev-master", From 795c6aa1cadabb4fcfb779f43318c8b3ed03b3e3 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sat, 20 Sep 2025 21:50:15 +0200 Subject: [PATCH 04/40] add missing composer.json --- composer.json | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 composer.json diff --git a/composer.json b/composer.json new file mode 100644 index 000000000..311c47fe2 --- /dev/null +++ b/composer.json @@ -0,0 +1,99 @@ +{ + "name": "seeddms/dms", + "description": "Open Source Document Management System", + "type": "project", + "license": "GPL 2", + "authors": [ + { + "name": "Uwe Steinmann", + "email": "steinm@debian.org" + } + ], + "minimum-stability": "stable", + "config": { + "platform": { + "php": "8.2" + } + }, + "require": { + "php": ">=8.2.0", + "phing/phing": "2.*", + "pear/http_request2": "2.5.0", + "robthree/twofactorauth": "^3.0", + "php-mime-mail-parser/php-mime-mail-parser": "*", + "slim/slim": "^4.0", + "guzzlehttp/psr7": "*", + "erusev/parsedown": "*", + "erusev/parsedown-extra": "*", + "mibe/feedwriter": "^1.1", + "phpoffice/phpspreadsheet": "*", + "sabre/xml": "*", + "sabre/dav": "^4.", + "pear/log": "*", + "pear/mail": "*", + "pear/mail_mime": "*", + "pear/net_smtp": "*", + "pear/auth_sasl": "*", + "pear/db": "*", + "dragonmantank/cron-expression": "^3.1", + "alecrabbit/php-console-colour": "*", + "zf1/zend-search-lucene": "*", + "symfony/http-foundation": "^5.4", + "php-di/php-di": "^6.4", + "slim/psr7": "^1.7", + "bacon/bacon-qr-code": "^3.0", + "seeddms/core": "dev-master", + "seeddms/lucene": "dev-master", + "seeddms/preview": "dev-master", + "seeddms/sqlitefts": "dev-master", + "seeddms/http_webdav_server": "dev-master" + }, + "require-dev": { + "composer/composer": "dev-main", + "behat/mink": "1.8.1", + "behat/mink-selenium2-driver": "1.4.0", + "dmore/chrome-mink-driver": "2.8.0", + "friendsofphp/php-cs-fixer": "3.1.0", + "phpunit/phpunit": "9.5.9", + "sebastian/phpcpd": "6.0.3", + "squizlabs/php_codesniffer": "3.6.0", + "phpstan/phpstan": "^2.1" + }, + "repositories": [ + { + "type": "path", + "url": "../seeddms-ext/core", + "options": { + "symlink": false + } + }, + { + "type": "path", + "url": "../seeddms-ext/lucene", + "options": { + "symlink": false + } + }, + { + "type": "path", + "url": "../seeddms-ext/preview", + "options": { + "symlink": false + } + }, + { + "type": "path", + "url": "../seeddms-ext/sqlitefts", + "options": { + "symlink": false + } + }, + { + "type": "path", + "url": "../seeddms-ext/http_webdav_server", + "options": { + "symlink": false + } + } + ] +} From 683ccbeb0774001de79cd5afc518062f778b3f54 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sat, 20 Sep 2025 22:01:31 +0200 Subject: [PATCH 05/40] add composer-merge-plugin --- composer.json | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 311c47fe2..5d0b52f8a 100644 --- a/composer.json +++ b/composer.json @@ -13,6 +13,10 @@ "config": { "platform": { "php": "8.2" + }, + "allow-plugins": { + "composer/package-versions-deprecated": true, + "wikimedia/composer-merge-plugin": true } }, "require": { @@ -55,7 +59,6 @@ "dmore/chrome-mink-driver": "2.8.0", "friendsofphp/php-cs-fixer": "3.1.0", "phpunit/phpunit": "9.5.9", - "sebastian/phpcpd": "6.0.3", "squizlabs/php_codesniffer": "3.6.0", "phpstan/phpstan": "^2.1" }, @@ -95,5 +98,19 @@ "symlink": false } } - ] + ], + "extra": { + "merge-plugin": { + "include": [ + "composer.local.json" + ], + "recurse": true, + "replace": true, + "ignore-duplicates": false, + "merge-dev": true, + "merge-extra": false, + "merge-extra-deep": false, + "merge-scripts": true + } + } } From bab0afb9478d65225b2f2317c1f6dab815799a8d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sat, 20 Sep 2025 22:05:05 +0200 Subject: [PATCH 06/40] add pear/http-request2 --- composer-dist.json | 1 + 1 file changed, 1 insertion(+) diff --git a/composer-dist.json b/composer-dist.json index 1b3cb0031..32040731b 100644 --- a/composer-dist.json +++ b/composer-dist.json @@ -5,6 +5,7 @@ } }, "require": { + "pear/http_request2": "2.5.0", "robthree/twofactorauth": "^1.5", "slim/slim": "^4.0", "guzzlehttp/psr7": "*", From 389562169dd55447fb2ececc3dc50ce97b103107 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sat, 20 Sep 2025 22:14:57 +0200 Subject: [PATCH 07/40] get rid of old code --- build.xml | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/build.xml b/build.xml index 7ba251999..cd7f1ef63 100644 --- a/build.xml +++ b/build.xml @@ -130,7 +130,6 @@ - @@ -151,41 +150,9 @@ - - - - From b01b67d9232d3ff8bb6a782f82a0cf7108e64571 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sun, 21 Sep 2025 11:29:08 +0200 Subject: [PATCH 08/40] assume other repositories as siblings of this dir --- composer.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/composer.json b/composer.json index 5d0b52f8a..f9f6a179d 100644 --- a/composer.json +++ b/composer.json @@ -65,35 +65,35 @@ "repositories": [ { "type": "path", - "url": "../seeddms-ext/core", + "url": "../core", "options": { "symlink": false } }, { "type": "path", - "url": "../seeddms-ext/lucene", + "url": "../lucene", "options": { "symlink": false } }, { "type": "path", - "url": "../seeddms-ext/preview", + "url": "../preview", "options": { "symlink": false } }, { "type": "path", - "url": "../seeddms-ext/sqlitefts", + "url": "../sqlitefts", "options": { "symlink": false } }, { "type": "path", - "url": "../seeddms-ext/http_webdav_server", + "url": "../http_webdav_server", "options": { "symlink": false } From 8cdd8f9375da481a9b8390acf9c5fbc29f130509 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sun, 21 Sep 2025 11:32:30 +0200 Subject: [PATCH 09/40] use seeddms/core[dev-seeddms-5.1.x] --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index f9f6a179d..fb1cd3bfc 100644 --- a/composer.json +++ b/composer.json @@ -46,7 +46,7 @@ "php-di/php-di": "^6.4", "slim/psr7": "^1.7", "bacon/bacon-qr-code": "^3.0", - "seeddms/core": "dev-master", + "seeddms/core": "dev-seeddms-5.1.x", "seeddms/lucene": "dev-master", "seeddms/preview": "dev-master", "seeddms/sqlitefts": "dev-master", From ac2164708f5ce5e3eeaffdb697b9df7348bc0b84 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sun, 21 Sep 2025 11:48:32 +0200 Subject: [PATCH 10/40] set proper path to seeddms repositories in composer-dist.json --- build.xml | 81 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 43 insertions(+), 38 deletions(-) diff --git a/build.xml b/build.xml index cd7f1ef63..c49935261 100644 --- a/build.xml +++ b/build.xml @@ -1,6 +1,6 @@ - + @@ -16,9 +16,9 @@ - - - + + + @@ -43,23 +43,23 @@ - - Hello - + + Hello + - - - - - - - - - - + + + + + + + + + + - - + + @@ -68,12 +68,12 @@ - - - - - - + + + + + + @@ -81,9 +81,9 @@ - - - + + + @@ -115,9 +115,9 @@ - - - + + + @@ -136,14 +136,14 @@ - + - + @@ -154,11 +154,16 @@ + + + + + - - + + - + @@ -176,8 +181,8 @@ - - + + From d18121d79a27a38424264c9a8a8f06b72bffbb55 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sun, 21 Sep 2025 14:30:29 +0200 Subject: [PATCH 11/40] set minor, major and subminor version, output them --- build.xml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/build.xml b/build.xml index c49935261..887719422 100644 --- a/build.xml +++ b/build.xml @@ -16,6 +16,10 @@ + + + + @@ -93,7 +97,7 @@ - + @@ -108,6 +112,9 @@ + + + From 5def2b7e74449bf38f382d67ef1dd612bce80676 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sun, 21 Sep 2025 14:30:47 +0200 Subject: [PATCH 12/40] update exec command --- build.xml | 97 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 71 insertions(+), 26 deletions(-) diff --git a/build.xml b/build.xml index 887719422..ffd63fc5e 100644 --- a/build.xml +++ b/build.xml @@ -53,22 +53,22 @@ - + - + - + - + - + @@ -88,7 +88,10 @@ - + + + + @@ -131,9 +134,15 @@ - - - + + + + + + + + + @@ -164,6 +173,7 @@ + @@ -171,26 +181,61 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + - - + + + + From e46ac30ed5cbd9a147592dd4fb58373b19637ab7 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sun, 21 Sep 2025 14:31:11 +0200 Subject: [PATCH 13/40] update to phing 3 --- composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index fb1cd3bfc..5c756707b 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,7 @@ }, "require": { "php": ">=8.2.0", - "phing/phing": "2.*", + "phing/phing": "3.*", "pear/http_request2": "2.5.0", "robthree/twofactorauth": "^3.0", "php-mime-mail-parser/php-mime-mail-parser": "*", @@ -57,7 +57,7 @@ "behat/mink": "1.8.1", "behat/mink-selenium2-driver": "1.4.0", "dmore/chrome-mink-driver": "2.8.0", - "friendsofphp/php-cs-fixer": "3.1.0", + "friendsofphp/php-cs-fixer": "3.87.2", "phpunit/phpunit": "9.5.9", "squizlabs/php_codesniffer": "3.6.0", "phpstan/phpstan": "^2.1" From 39e72af27270298f50b79dac5a7e6b7578d0a9b4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sun, 21 Sep 2025 14:31:29 +0200 Subject: [PATCH 14/40] use placeholder for branch of seeddms/core --- composer-dist.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer-dist.json b/composer-dist.json index 32040731b..80806c777 100644 --- a/composer-dist.json +++ b/composer-dist.json @@ -28,7 +28,7 @@ "php-di/php-di": "^6.4", "slim/psr7": "^1.7", "bacon/bacon-qr-code": "^3.0", - "seeddms/core": "dev-master", + "seeddms/core": "dev-__CORE_BRANCH__", "seeddms/lucene": "dev-master", "seeddms/preview": "dev-master", "seeddms/sqlitefts": "dev-master", From 0bc371dce83bf116eeb065bcf49993cbd09d008b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sun, 21 Sep 2025 20:28:35 +0200 Subject: [PATCH 15/40] set dir when running composer --- build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.xml b/build.xml index ffd63fc5e..e11ccc1d7 100644 --- a/build.xml +++ b/build.xml @@ -88,7 +88,7 @@ - + From eb38d82b7986fb3805c6b53df8641ac06bd1b475 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sun, 21 Sep 2025 20:28:53 +0200 Subject: [PATCH 16/40] create export dir --- build.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/build.xml b/build.xml index e11ccc1d7..d54e38e45 100644 --- a/build.xml +++ b/build.xml @@ -128,6 +128,7 @@ + From 78e70dcee27d82310f3a23630341b165d55f8af5 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sun, 21 Sep 2025 20:29:16 +0200 Subject: [PATCH 17/40] create a development version with softlinks to the git repositories --- build.xml | 177 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 116 insertions(+), 61 deletions(-) diff --git a/build.xml b/build.xml index d54e38e45..9e3a9ac9c 100644 --- a/build.xml +++ b/build.xml @@ -149,7 +149,13 @@ - + + + + + + + @@ -164,66 +170,115 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 36a6f053536cc292aae3336dbdadaee5e1d993a5 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sun, 21 Sep 2025 20:31:28 +0200 Subject: [PATCH 18/40] new section on installation from git --- doc/README.Install.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/doc/README.Install.md b/doc/README.Install.md index dcd0cb09e..284f29571 100644 --- a/doc/README.Install.md +++ b/doc/README.Install.md @@ -254,6 +254,29 @@ in your current installation with new versions from the quickstart archive. contain database updates. +Installing from git +==================== + +SeedDMS is hosted at https://codeberg.org/SeedDMS + +In order to install SeedDMS you need to: + +1. Create a directory, e.g. seeddms + `mkdir seeddms` +2. Change into that directory + `cd seeddms` +3. Clone the various SeedDMS repositories + `git clone https://codeberg.org/SeedDMS/seeddms.git` + `git clone -b seeddms-5.1.x https://codeberg.org/SeedDMS/core.git` + `git clone https://codeberg.org/SeedDMS/preview.git` + `git clone https://codeberg.org/SeedDMS/lucene.git` + `git clone https://codeberg.org/SeedDMS/ѕqlitefts.git` + `git clone https://codeberg.org/SeedDMS/http_webdav_server.git` +4. Run composer + `composer update` +5. Create an installable distribution + `vendor/bin/phing -Dversion=$(php -r 'include "inc/inc.Version.php"; echo (new SeedDMS_Version())->version();') package` + THE LONG STORY ================ From 20d19270266000685cf16535cd7c4f531dbf76cd Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sun, 21 Sep 2025 20:31:50 +0200 Subject: [PATCH 19/40] new target quickstart-dev --- Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile index fbfe2f653..32b6570f8 100644 --- a/Makefile +++ b/Makefile @@ -31,6 +31,9 @@ dist: quickstart: php vendor/bin/phing -Dversion=$(VERSION) package +quickstart-dev: + php vendor/bin/phing -Dversion=$(VERSION) -Dmode=development package + unittest: vendor/bin/phing -Dversion=$(VERSION) phpunitfast From d2f64ea0e16950ee021a7e53576dc5633099ced8 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sun, 21 Sep 2025 20:32:07 +0200 Subject: [PATCH 20/40] initial README.md --- README.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 000000000..dac51c206 --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +SeedDMS is a PHP base Document Management System. For more information +check the web site at https://www.seeddms.org + +There are detailed installation instructions from a preconfigured distribution +at [doc/README.Install.md] + +If you prefer to install from git, you will need to: + +1. Create a directory, e.g. seeddms + `mkdir seeddms` +2. Change into that directory + `cd seeddms` +3. Clone the various SeedDMS repositories + `git clone https://codeberg.org/SeedDMS/preview.git` + `git clone https://codeberg.org/SeedDMS/lucene.git` + `git clone https://codeberg.org/SeedDMS/ѕqlitefts.git` + `git clone https://codeberg.org/SeedDMS/http_webdav_server.git` +4a. For SeedDMS 5.1.x + `git clone -b seeddms-5.1.x https://codeberg.org/SeedDMS/seeddms.git` + `git clone -b seeddms-5.1.x https://codeberg.org/SeedDMS/core.git` +4b. For SeedDMS 6.0.x + `git clone -b seeddms-6.0.x https://codeberg.org/SeedDMS/seeddms.git` + `git clone -b seeddms-6.0.x https://codeberg.org/SeedDMS/core.git` +5. Run composer + `composer update` +6a. Create an installable distribution + `vendor/bin/phing -Dversion=$(php -r 'include "inc/inc.Version.php"; echo (new SeedDMS_Version())->version();') package` +6b. Create an installable version with softlinks + `vendor/bin/phing -Dversion=$(php -r 'include "inc/inc.Version.php"; echo (new SeedDMS_Version())->version();') -Dmode=development package` + From 975d1de703aea69bcd86333a5f67a38e71db700c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 22 Sep 2025 10:37:51 +0200 Subject: [PATCH 21/40] declare class variables --- inc/inc.ClassDownloadMgr.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/inc/inc.ClassDownloadMgr.php b/inc/inc.ClassDownloadMgr.php index 4e4f6dad0..f49173d4c 100644 --- a/inc/inc.ClassDownloadMgr.php +++ b/inc/inc.ClassDownloadMgr.php @@ -93,6 +93,18 @@ class SeedDMS_Download_Mgr { */ protected $filenames; + /** + * @var bool $includereviewers whether to include reviewers + * @access protected + */ + protected $includereviewers; + + /** + * @var bool $includeapprovers whether to include approvers + * @access protected + */ + protected $includeapprovers; + /** * @var boolean $skipdefaultcols skip default columns, will only export extracols * @access protected From 7fdd0431c153723fc95cb2b3dfcbe1a59ed0c01d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 22 Sep 2025 10:41:15 +0200 Subject: [PATCH 22/40] set pageNumber to all in export mode --- out/out.Search.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/out/out.Search.php b/out/out.Search.php index d2de6d74c..dca8831bc 100644 --- a/out/out.Search.php +++ b/out/out.Search.php @@ -247,7 +247,9 @@ $status = isset($get['status']) ? $get['status'] : array(); // // Default page to display is always one. $pageNumber=1; -if (isset($get["pg"])) { +if (isset($get['action']) && $get['action'] == 'export') { + $pageNumber = 'all'; +} elseif (isset($get["pg"])) { if (is_numeric($get["pg"]) && $get["pg"]>0) { $pageNumber = (int) $get["pg"]; } From a409e38973a16ffca14456928603fbcd3564c77c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 22 Sep 2025 10:41:29 +0200 Subject: [PATCH 23/40] set upper limit of 1000 if everything shall be shown --- out/out.Search.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/out/out.Search.php b/out/out.Search.php index dca8831bc..90676f306 100644 --- a/out/out.Search.php +++ b/out/out.Search.php @@ -370,7 +370,7 @@ if($fullsearch) { 'filesize_start'=>$filesize['from'], 'filesize_end'=>$filesize['to'], 'attributes'=>$attributes - ), ($pageNumber == 'all' ? array() : array('limit'=>$limit, 'offset'=>$limit * ($pageNumber-1))), $order); + ), ($pageNumber == 'all' ? array('limit'=>1000) : array('limit'=>$limit, 'offset'=>$limit * ($pageNumber-1))), $order); if($searchresult === false) { $session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('splash_invalid_searchterm'))); $dcount = 0; From 0e45cd2e3eba326917fa9e87e7f2d49913dbef6e Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 22 Sep 2025 10:50:09 +0200 Subject: [PATCH 24/40] some more details --- README.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index dac51c206..23a77c319 100644 --- a/README.md +++ b/README.md @@ -15,16 +15,24 @@ If you prefer to install from git, you will need to: `git clone https://codeberg.org/SeedDMS/lucene.git` `git clone https://codeberg.org/SeedDMS/ѕqlitefts.git` `git clone https://codeberg.org/SeedDMS/http_webdav_server.git` -4a. For SeedDMS 5.1.x +4. For SeedDMS 5.1.x `git clone -b seeddms-5.1.x https://codeberg.org/SeedDMS/seeddms.git` `git clone -b seeddms-5.1.x https://codeberg.org/SeedDMS/core.git` -4b. For SeedDMS 6.0.x + + For SeedDMS 6.0.x `git clone -b seeddms-6.0.x https://codeberg.org/SeedDMS/seeddms.git` `git clone -b seeddms-6.0.x https://codeberg.org/SeedDMS/core.git` 5. Run composer `composer update` -6a. Create an installable distribution +6. Create an installable distribution `vendor/bin/phing -Dversion=$(php -r 'include "inc/inc.Version.php"; echo (new SeedDMS_Version())->version();') package` -6b. Create an installable version with softlinks + + or create an installable version with softlinks + `vendor/bin/phing -Dversion=$(php -r 'include "inc/inc.Version.php"; echo (new SeedDMS_Version())->version();') -Dmode=development package` + This archive does not contain any sources but only links to the previously + clone repositories. + +The archive created in step 6. can be installed like the official releases of +SeedDMS. From 752cedfd075aa331eeeaa904766b50fa68451746 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 22 Sep 2025 10:53:16 +0200 Subject: [PATCH 25/40] better formatting --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 23a77c319..0b1b7bcbe 100644 --- a/README.md +++ b/README.md @@ -7,24 +7,32 @@ at [doc/README.Install.md] If you prefer to install from git, you will need to: 1. Create a directory, e.g. seeddms + `mkdir seeddms` 2. Change into that directory + `cd seeddms` 3. Clone the various SeedDMS repositories + `git clone https://codeberg.org/SeedDMS/preview.git` `git clone https://codeberg.org/SeedDMS/lucene.git` `git clone https://codeberg.org/SeedDMS/ѕqlitefts.git` `git clone https://codeberg.org/SeedDMS/http_webdav_server.git` 4. For SeedDMS 5.1.x + `git clone -b seeddms-5.1.x https://codeberg.org/SeedDMS/seeddms.git` `git clone -b seeddms-5.1.x https://codeberg.org/SeedDMS/core.git` For SeedDMS 6.0.x + `git clone -b seeddms-6.0.x https://codeberg.org/SeedDMS/seeddms.git` `git clone -b seeddms-6.0.x https://codeberg.org/SeedDMS/core.git` 5. Run composer + `composer update` + 6. Create an installable distribution + `vendor/bin/phing -Dversion=$(php -r 'include "inc/inc.Version.php"; echo (new SeedDMS_Version())->version();') package` or create an installable version with softlinks From e1f1fcacadf891ce9523803e76f49fd34f31d09b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 22 Sep 2025 10:55:03 +0200 Subject: [PATCH 26/40] more formatting --- README.md | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 0b1b7bcbe..b5be71029 100644 --- a/README.md +++ b/README.md @@ -13,20 +13,26 @@ If you prefer to install from git, you will need to: `cd seeddms` 3. Clone the various SeedDMS repositories - - `git clone https://codeberg.org/SeedDMS/preview.git` - `git clone https://codeberg.org/SeedDMS/lucene.git` - `git clone https://codeberg.org/SeedDMS/ѕqlitefts.git` - `git clone https://codeberg.org/SeedDMS/http_webdav_server.git` + + ``` + git clone https://codeberg.org/SeedDMS/preview.git + git clone https://codeberg.org/SeedDMS/lucene.git + git clone https://codeberg.org/SeedDMS/ѕqlitefts.git + git clone https://codeberg.org/SeedDMS/http_webdav_server.git + ``` 4. For SeedDMS 5.1.x - `git clone -b seeddms-5.1.x https://codeberg.org/SeedDMS/seeddms.git` - `git clone -b seeddms-5.1.x https://codeberg.org/SeedDMS/core.git` + ``` + git clone -b seeddms-5.1.x https://codeberg.org/SeedDMS/seeddms.git + git clone -b seeddms-5.1.x https://codeberg.org/SeedDMS/core.git + ``` For SeedDMS 6.0.x - `git clone -b seeddms-6.0.x https://codeberg.org/SeedDMS/seeddms.git` - `git clone -b seeddms-6.0.x https://codeberg.org/SeedDMS/core.git` + ``` + git clone -b seeddms-6.0.x https://codeberg.org/SeedDMS/seeddms.git + git clone -b seeddms-6.0.x https://codeberg.org/SeedDMS/core.git + ``` 5. Run composer `composer update` From 1f4e3de21b026c5dbdfa2ce46ca95536bbeb12cd Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 23 Sep 2025 18:12:35 +0200 Subject: [PATCH 27/40] template for apache virtual host configuration --- conf/apache.virtualhost.template | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 conf/apache.virtualhost.template diff --git a/conf/apache.virtualhost.template b/conf/apache.virtualhost.template new file mode 100644 index 000000000..4c3b39c22 --- /dev/null +++ b/conf/apache.virtualhost.template @@ -0,0 +1,27 @@ + + ServerName _DOMAIN_ + ErrorLog /var/log/apache2/seeddms-error.log + CustomLog /var/log/apache2/seeddms-access.log combined + + DocumentRoot _INSTALL_PATH_/www + + SSLEngine on + SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem + SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key +# SSLCertificateChainFile /just/if/needed/fullchain.cer + + + Options Indexes FollowSymLinks MultiViews + AllowOverride All + Require all granted + + + + # Apache 2.4.10+ can proxy to unix socket + SetHandler "proxy:unix:/var/run/php/php8.2-fpm.sock|fcgi://localhost" + + + # Consider to install the webdav_checkout extension + Alias /checkout _INSTALL_PATH_/www/ext/webdav_checkout/op/remote.php + + From e11e563e6c2baaf195b3070c2bd43722e228210a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 23 Sep 2025 18:12:58 +0200 Subject: [PATCH 28/40] ignore more files --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 6e364c0de..ab8e987dd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ *.tar.gz SeedDMS_*/*.tgz ext/* +vendor webapp/* +www/ext From 72efa6cd47e413b671905ba68221e8c4cc702190 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 23 Sep 2025 18:13:41 +0200 Subject: [PATCH 29/40] add install target --- Makefile | 7 ++++++- build.xml | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 32b6570f8..ce0b36bc4 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,8 @@ NODISTFILES=utils/importmail.php utils/seedddms-importmail utils/remote-email-up PHPDOC=~/Downloads/phpDocumentor.phar +INSTALL_PATH=/home/www-data/seeddms-test + all: dist olddist: @@ -34,6 +36,9 @@ quickstart: quickstart-dev: php vendor/bin/phing -Dversion=$(VERSION) -Dmode=development package +install: + php vendor/bin/phing -Dversion=$(VERSION) -Dinstallpath=$(INSTALL_PATH) -Ddomain=dms.seeddms.org install + unittest: vendor/bin/phing -Dversion=$(VERSION) phpunitfast @@ -103,4 +108,4 @@ PKGFILE=SeedDMS_Core/package.xml changelog: @sgrep 'stag("DATE") .. etag("DATE") or ((stag("RELEASE") .. etag("RELEASE")) in (stag("VERSION") .. etag("VERSION"))) or inner(stag("NOTES") __ etag("NOTES"))' ${PKGFILE} | sed -e 's#^ *\([-0-9]*\)\([0-9.preRC]*\)#\n\n\2 (\1)\n---------------------#' | awk -F'\n' -vRS='' -vOFS='|' '{$$1=$$1}1' | sort -V -r | sed 's/$$/\n/' | tr '|' '\n' -.PHONY: doc webdav webapp repository changelog +.PHONY: doc webdav webapp repository changelog install diff --git a/build.xml b/build.xml index 9e3a9ac9c..b6dd8be87 100644 --- a/build.xml +++ b/build.xml @@ -294,4 +294,26 @@ + + + + + + + + + + + + + + + + + + + + + + From 4173cc8be5c31843aba3ad984dbc56d82e5ec291 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 24 Sep 2025 14:55:43 +0200 Subject: [PATCH 30/40] allow .mjs and .ftl below ext/*/res (pdfviewer needs it) --- .htaccess | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.htaccess b/.htaccess index ed73c5e67..8ed71d8de 100644 --- a/.htaccess +++ b/.htaccess @@ -27,13 +27,13 @@ RewriteRule "^out/images.*$" "-" [L] RewriteRule "^styles/.*$" "-" [L] # Accessing a file in an extension is only possible in one -# of the directories op, out. res +# of the directories op, out, res, node_modules # Added for old extensions which do not use routes RewriteRule ^ext/[^/]+/icon.(?:png|svg)$ - [L] RewriteCond %{REQUEST_URI} "ext/[^/]+/" RewriteRule !^ext/[^/]+/.*(?:op|out|res|node_modules) - [F] RewriteCond %{REQUEST_URI} "ext/[^/]+/res/.*$" [NC] -RewriteRule !^ext/[^/]+/res/.*\.(?:css|js|png|gif|svg|ico|html|woff|ttf) - [F] +RewriteRule !^ext/[^/]+/res/.*\.(?:css|js|mjs|ftl|png|gif|svg|ico|html|woff|ttf) - [F] RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^ext/.*$ - [L] From f6cded950b16d79fe1333321906eea91c6dd7575 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 24 Sep 2025 14:56:37 +0200 Subject: [PATCH 31/40] install pdfviewer as an extension --- build.xml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/build.xml b/build.xml index b6dd8be87..a8f2b1def 100644 --- a/build.xml +++ b/build.xml @@ -39,8 +39,6 @@ - - @@ -200,9 +198,6 @@ - - - @@ -223,6 +218,11 @@ + + + + + @@ -262,9 +262,6 @@ - - - From 237aa79140495a54024853e04cb07cb9110debf7 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 24 Sep 2025 14:57:16 +0200 Subject: [PATCH 32/40] extensionIsDisabled() returns true if extension isn't installed --- inc/inc.ClassSettings.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index d9be038bf..d3860fbd3 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -1781,13 +1781,13 @@ class Settings { /* {{{ */ * Check if extension is disabled * * @param string $extname name of extension - * @return true if extension is disabled + * @return true if extension is disabled or extension could not be found in configuration */ public function extensionIsDisabled($extname) { /* {{{ */ if(array_key_exists($extname, $this->_extensions)) return $this->_extensions[$extname]['__disable__']; - return false; + return true; } /* }}} */ /** From d88ec8a1189b98b2c9cb853e2d27dac34b93da82 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 24 Sep 2025 14:59:50 +0200 Subject: [PATCH 33/40] make a extension disabled if it's disabled in conf.php --- inc/inc.Extension.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/inc/inc.Extension.php b/inc/inc.Extension.php index 016240071..ce78fda55 100644 --- a/inc/inc.Extension.php +++ b/inc/inc.Extension.php @@ -21,11 +21,17 @@ $extMgr = new SeedDMS_Extension_Mgr($settings->_rootDir."/ext", $settings->_cach $version = new SeedDMS_Version; foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) { + if($extconf['disable']) { + $settings->disableExtension($extname); + continue; + } if(!$settings->extensionIsDisabled($extname)) { - $disabled = true; + $disabled = false; if($extMgr->checkExtensionByName($extname, $extconf)) { $disabled = false; + $settings->enableExtension($extname); } else { + $disabled = true; $settings->disableExtension($extname); // echo $extMgr->getErrorMsg(); } @@ -65,5 +71,9 @@ foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) { } } } + } else { + // Ensure $settings->_extensions has an entry for the extension, even if + // the extension is disabled already. + $settings->disableExtension($extname); } } From 2523aa8e45e7c6131f77e30415e9cc6d9ce2c5bf Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 24 Sep 2025 15:01:13 +0200 Subject: [PATCH 34/40] use pdfviewer from new extension 'pdfviewer' --- views/bootstrap/class.ViewDocument.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 87b2b6087..80abf593a 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -255,6 +255,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Theme_Style { echo "SeedDMSUpload.setMaxFileSizeMsg('".getMLText("uploading_maxsize")."');"; } ?> + $(document).ready( function() { $("#form1").validate({ ignore: [], @@ -613,7 +614,7 @@ $(document).ready( function() { $this->contentHeading(getMLText("preview")); ?>
- +
extensionIsDisabled('pdfviewer')) { $pdfpreviewer = new SeedDMS_Preview_PdfPreviewer($cachedir, $timeout, $xsendfile); if($conversionmgr) $pdfpreviewer->setConversionMgr($conversionmgr); @@ -650,7 +651,7 @@ $(document).ready( function() { $this->contentHeading(getMLText("preview_pdf")); ?>
- +
Date: Wed, 24 Sep 2025 15:54:45 +0200 Subject: [PATCH 35/40] .htaccess must be in www --- .htaccess | 43 ------------------------------------------- 1 file changed, 43 deletions(-) delete mode 100644 .htaccess diff --git a/.htaccess b/.htaccess deleted file mode 100644 index 8ed71d8de..000000000 --- a/.htaccess +++ /dev/null @@ -1,43 +0,0 @@ -Options -Indexes - - -Header set Strict-Transport-Security: "max-age=15768000; includeSubDomains; preload" -Header set X-Content-Type-Options: "nosniff" - - -RewriteEngine On -RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}] -#RewriteRule "^favicon\.ico$" "-" [L] -#RewriteRule "^(favicon\.ico)$" %{HTTP_HOST}/views/bootstrap/images/favicon.svg [L,NC] -RewriteRule "^(favicon\.ico)" /views/bootstrap/images/favicon.svg [L,NC] - -# Store the current location in an environment variable CWD to use -# mod_rewrite in .htaccess files without knowing the RewriteBase -RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$ -RewriteRule ^.*$ - [E=CWD:%2] - -# Do not allow access on the other directories in www -RewriteRule "^utils/.*$" "" [F] -RewriteRule "^doc/.*$" "" [F] - -# Anything below the following dirs will never be rewritten -RewriteRule "^pdfviewer/.*$" "-" [L] -RewriteRule "^views/.*/images.*$" "-" [L] -RewriteRule "^out/images.*$" "-" [L] -RewriteRule "^styles/.*$" "-" [L] - -# Accessing a file in an extension is only possible in one -# of the directories op, out, res, node_modules -# Added for old extensions which do not use routes -RewriteRule ^ext/[^/]+/icon.(?:png|svg)$ - [L] -RewriteCond %{REQUEST_URI} "ext/[^/]+/" -RewriteRule !^ext/[^/]+/.*(?:op|out|res|node_modules) - [F] -RewriteCond %{REQUEST_URI} "ext/[^/]+/res/.*$" [NC] -RewriteRule !^ext/[^/]+/res/.*\.(?:css|js|mjs|ftl|png|gif|svg|ico|html|woff|ttf) - [F] -RewriteCond %{REQUEST_FILENAME} -f -RewriteRule ^ext/.*$ - [L] - -RewriteCond %{REQUEST_FILENAME} !-f -RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_FILENAME} !-l -RewriteRule ^.*$ %{ENV:CWD}index.php [QSA,L] From fde6216cdb1c066b2e539432385e77e119055f1c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 24 Sep 2025 16:21:57 +0200 Subject: [PATCH 36/40] .htaccess is now in www --- build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.xml b/build.xml index a8f2b1def..cdddddcbf 100644 --- a/build.xml +++ b/build.xml @@ -41,7 +41,7 @@ - + From 9f47d1a86d43ec683f75651aebaaeb270433abff Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 24 Sep 2025 16:26:26 +0200 Subject: [PATCH 37/40] new location of .htaccess --- www/.htaccess | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 www/.htaccess diff --git a/www/.htaccess b/www/.htaccess new file mode 100644 index 000000000..8ed71d8de --- /dev/null +++ b/www/.htaccess @@ -0,0 +1,43 @@ +Options -Indexes + + +Header set Strict-Transport-Security: "max-age=15768000; includeSubDomains; preload" +Header set X-Content-Type-Options: "nosniff" + + +RewriteEngine On +RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}] +#RewriteRule "^favicon\.ico$" "-" [L] +#RewriteRule "^(favicon\.ico)$" %{HTTP_HOST}/views/bootstrap/images/favicon.svg [L,NC] +RewriteRule "^(favicon\.ico)" /views/bootstrap/images/favicon.svg [L,NC] + +# Store the current location in an environment variable CWD to use +# mod_rewrite in .htaccess files without knowing the RewriteBase +RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$ +RewriteRule ^.*$ - [E=CWD:%2] + +# Do not allow access on the other directories in www +RewriteRule "^utils/.*$" "" [F] +RewriteRule "^doc/.*$" "" [F] + +# Anything below the following dirs will never be rewritten +RewriteRule "^pdfviewer/.*$" "-" [L] +RewriteRule "^views/.*/images.*$" "-" [L] +RewriteRule "^out/images.*$" "-" [L] +RewriteRule "^styles/.*$" "-" [L] + +# Accessing a file in an extension is only possible in one +# of the directories op, out, res, node_modules +# Added for old extensions which do not use routes +RewriteRule ^ext/[^/]+/icon.(?:png|svg)$ - [L] +RewriteCond %{REQUEST_URI} "ext/[^/]+/" +RewriteRule !^ext/[^/]+/.*(?:op|out|res|node_modules) - [F] +RewriteCond %{REQUEST_URI} "ext/[^/]+/res/.*$" [NC] +RewriteRule !^ext/[^/]+/res/.*\.(?:css|js|mjs|ftl|png|gif|svg|ico|html|woff|ttf) - [F] +RewriteCond %{REQUEST_FILENAME} -f +RewriteRule ^ext/.*$ - [L] + +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteCond %{REQUEST_FILENAME} !-l +RewriteRule ^.*$ %{ENV:CWD}index.php [QSA,L] From 81866bc0f7861557df541a0585aae17f4ac1c269 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 24 Sep 2025 16:44:11 +0200 Subject: [PATCH 38/40] check if pdfviewer is available, do not show messages of composer --- build.xml | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/build.xml b/build.xml index cdddddcbf..941afaed6 100644 --- a/build.xml +++ b/build.xml @@ -86,7 +86,7 @@ - + @@ -218,11 +218,19 @@ - - - - - + + + + + + + + + + + + + From e0519e5a9bbc6f5319685968eaf55a46bb0db50b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 24 Sep 2025 16:46:53 +0200 Subject: [PATCH 39/40] fix typos --- build.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.xml b/build.xml index 941afaed6..f2c94aa45 100644 --- a/build.xml +++ b/build.xml @@ -228,7 +228,7 @@ - + @@ -286,7 +286,7 @@ - + From 83eeecc6cf4c1744af2216b4284573499da8b736 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 24 Sep 2025 16:50:08 +0200 Subject: [PATCH 40/40] fix typos --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b5be71029..0c32c7ddc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -SeedDMS is a PHP base Document Management System. For more information +SeedDMS is a PHP based Document Management System. For more information check the web site at https://www.seeddms.org There are detailed installation instructions from a preconfigured distribution @@ -41,12 +41,12 @@ If you prefer to install from git, you will need to: `vendor/bin/phing -Dversion=$(php -r 'include "inc/inc.Version.php"; echo (new SeedDMS_Version())->version();') package` - or create an installable version with softlinks + or create an installable distribution with softlinks `vendor/bin/phing -Dversion=$(php -r 'include "inc/inc.Version.php"; echo (new SeedDMS_Version())->version();') -Dmode=development package` This archive does not contain any sources but only links to the previously - clone repositories. + cloned repositories. The archive created in step 6. can be installed like the official releases of SeedDMS.