From be07569ee0e1db4f114a027b5e7585484da0a628 Mon Sep 17 00:00:00 2001 From: Robert Vogel Date: Tue, 17 Jun 2025 13:07:35 +0200 Subject: [PATCH 1/4] Prepare NEO --- root-fs/app/conf/LocalSettings.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/root-fs/app/conf/LocalSettings.php b/root-fs/app/conf/LocalSettings.php index edb5d05..e843742 100644 --- a/root-fs/app/conf/LocalSettings.php +++ b/root-fs/app/conf/LocalSettings.php @@ -161,7 +161,7 @@ $GLOBALS['wgCacheDirectory'] = "/data/bluespice/cache"; define( 'BSROOTDIR', '/data/bluespice/extensions/BlueSpiceFoundation' ); -if ( getenv( 'EDITION' ) === 'farm' ) { +if ( getenv( 'EDITION' ) === 'farm' || getenv( 'EDITION' ) === 'neo' ) { $GLOBALS['wgWikiFarmConfig_instanceDirectory'] = '/data/bluespice/farm-instances/'; $GLOBALS['wgWikiFarmConfig_archiveDirectory'] = '/data/bluespice/farm-archives/'; $GLOBALS['wgWikiFarmConfig_dbAdminUser'] = trim( getenv( 'DB_ROOT_USER' ) ?: $GLOBALS['wgDBuser'] ); @@ -174,8 +174,16 @@ $GLOBALS['wgSharedTables'] = [ 'bs_translationtransfer_translations' ]; } +if ( getenv( 'EDITION' ) === 'neo' ) { + $GLOBALS['wgWikiFarmConfig_shareUsers'] = true; + $GLOBALS['wgWikiFarmConfig_useUnifiedSearch'] = true; + $GLOBALS['wgWikiFarmConfig_useGlobalAccessControl'] =true; + $GLOBALS['wgWikiFarmConfig_shareUserSessions'] = true; + $GLOBALS['wgWikiFarmConfig_useSharedResources'] = true; +} + require_once '/data/bluespice/pre-init-settings.php'; -if ( getenv( 'EDITION' ) === 'farm' ) { +if ( getenv( 'EDITION' ) === 'farm' || getenv( 'EDITION' ) === 'neo' ) { require_once "$IP/extensions/BlueSpiceWikiFarm/WikiFarm.setup.php"; } else { @@ -187,7 +195,7 @@ } $GLOBALS['wgArticlePath'] = '/wiki/$1'; -if ( getenv( 'EDITION' ) === 'farm' ) { +if ( getenv( 'EDITION' ) === 'farm' || getenv( 'EDITION' ) === 'neo' ) { if( FARMER_IS_ROOT_WIKI_CALL === false ) { $GLOBALS['wgArticlePath'] = '/' . FARMER_CALLED_INSTANCE . '/wiki/$1'; $GLOBALS['wgWebDAVBaseUri'] = '/' . FARMER_CALLED_INSTANCE . '/webdav/'; From a2ac20c87892fdcf1a42ec195834e0914452e3cc Mon Sep 17 00:00:00 2001 From: Robert Vogel Date: Tue, 24 Jun 2025 15:14:21 +0200 Subject: [PATCH 2/4] Add more NEO switches --- root-fs/app/bin/config/runJobs_conf.yaml | 4 +++- root-fs/app/bin/init-datadirectory | 2 +- root-fs/app/bin/instancestats-show | 2 +- root-fs/app/bin/instancestats-update | 2 +- root-fs/app/bin/run-updates | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/root-fs/app/bin/config/runJobs_conf.yaml b/root-fs/app/bin/config/runJobs_conf.yaml index 9f3782d..347f974 100644 --- a/root-fs/app/bin/config/runJobs_conf.yaml +++ b/root-fs/app/bin/config/runJobs_conf.yaml @@ -1,7 +1,9 @@ environment: php: "/usr/bin/php" wiki: - type: "###EDITION###" + # BlueSpice Neo is a farm. But paralle-runjobs-service has no setting for neo. Therefore we hardode it. + # This must be changed in a unified image for classic/neo + type: "farm" path: "/app/bluespice/w" database: dbserver: "###DB_HOST###" diff --git a/root-fs/app/bin/init-datadirectory b/root-fs/app/bin/init-datadirectory index 0d86169..f338331 100755 --- a/root-fs/app/bin/init-datadirectory +++ b/root-fs/app/bin/init-datadirectory @@ -19,7 +19,7 @@ directories=( /data/simplesamlphp/logs ) -if [ "${EDITION}" == "farm" ]; then +if [ "${EDITION}" == "farm" ] || [ "${EDITION}" == "neo" ]; then directories=( /data/bluespice/cache /data/bluespice/extensions/BlueSpiceFoundation/data diff --git a/root-fs/app/bin/instancestats-show b/root-fs/app/bin/instancestats-show index a27ac8d..94bf041 100755 --- a/root-fs/app/bin/instancestats-show +++ b/root-fs/app/bin/instancestats-show @@ -2,7 +2,7 @@ run-maintenance BlueSpiceUsageTracker:showInstanceStats # Conditionally run for farm setups -if [ "${EDITION}" == "farm" ]; then +if [ "${EDITION}" == "farm" ] || [ "${EDITION}" == "neo" ]; then run-maintenance BlueSpiceWikiFarm:RunForAll \ --script='extensions/BlueSpiceUsageTracker/maintenance/showInstanceStats.php' fi diff --git a/root-fs/app/bin/instancestats-update b/root-fs/app/bin/instancestats-update index 94bfcbf..d659c0b 100755 --- a/root-fs/app/bin/instancestats-update +++ b/root-fs/app/bin/instancestats-update @@ -2,7 +2,7 @@ run-maintenance BlueSpiceUsageTracker:usageTrackerUpdate # Conditionally run for farm setups -if [ "${EDITION}" == "farm" ]; then +if [ "${EDITION}" == "farm" ] || [ "${EDITION}" == "neo" ]; then run-maintenance BlueSpiceWikiFarm:RunForAll \ --script='extensions/BlueSpiceUsageTracker/maintenance/usageTrackerUpdate.php' fi diff --git a/root-fs/app/bin/run-updates b/root-fs/app/bin/run-updates index 8514cf3..f262882 100755 --- a/root-fs/app/bin/run-updates +++ b/root-fs/app/bin/run-updates @@ -35,7 +35,7 @@ run-maintenance update \ echo $version > /data/bluespice/logs/baseversion -if [ "${EDITION}" == "farm" ]; then +if [ "${EDITION}" == "farm" ] || [ "${EDITION}" == "neo" ]; then run-maintenance BlueSpiceWikiFarm:RunForAll \ --script='maintenance/update.php' \ --args='--quick --doshared' \ From f9f7fc31d4ee9301561b1a8bcb0cf7fb062f2150 Mon Sep 17 00:00:00 2001 From: Robert Vogel Date: Wed, 5 Nov 2025 12:12:25 +0100 Subject: [PATCH 3/4] Enable instance menu --- root-fs/app/conf/LocalSettings.php | 1 + 1 file changed, 1 insertion(+) diff --git a/root-fs/app/conf/LocalSettings.php b/root-fs/app/conf/LocalSettings.php index 39537ce..9e8e7e5 100644 --- a/root-fs/app/conf/LocalSettings.php +++ b/root-fs/app/conf/LocalSettings.php @@ -188,6 +188,7 @@ $GLOBALS['wgWikiFarmConfig_useGlobalAccessControl'] =true; $GLOBALS['wgWikiFarmConfig_shareUserSessions'] = true; $GLOBALS['wgWikiFarmConfig_useSharedResources'] = true; + $GLOBALS['wgWikiFarmConfig_showInstancesMenu'] = true; } require_once '/data/bluespice/pre-init-settings.php'; From 22c360f4c9d781ab61252b5278fab8720f6156f9 Mon Sep 17 00:00:00 2001 From: Dejan Savuljesku Date: Mon, 17 Nov 2025 13:33:13 +0100 Subject: [PATCH 4/4] Additional NEO config - no permission check in ES Configured ExtendedSearch to not check read permissions on individual pages in results --- root-fs/app/conf/LocalSettings.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/root-fs/app/conf/LocalSettings.php b/root-fs/app/conf/LocalSettings.php index 9e8e7e5..82f2fb6 100644 --- a/root-fs/app/conf/LocalSettings.php +++ b/root-fs/app/conf/LocalSettings.php @@ -185,6 +185,9 @@ if ( getenv( 'EDITION' ) === 'neo' ) { $GLOBALS['wgWikiFarmConfig_shareUsers'] = true; $GLOBALS['wgWikiFarmConfig_useUnifiedSearch'] = true; + // Do not check for permissions per-title when searching, as it cannot be done on foreign pages + // Neo ACL takes care of that on its own + $GLOBALS['bsgESSecureResults'] = false; $GLOBALS['wgWikiFarmConfig_useGlobalAccessControl'] =true; $GLOBALS['wgWikiFarmConfig_shareUserSessions'] = true; $GLOBALS['wgWikiFarmConfig_useSharedResources'] = true;