Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# OPUS 4 Change Log

## Release 4.10 - 2026-05-12

OPUS 4.10 Project on GitHub
https://github.com/orgs/OPUS4/projects/74

## Release 4.9 - 2026-04-14

OPUS 4.9 Project on GitHub
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ mostly.

## OPUS 4

The current version of OPUS 4 is __4.9__. It is available on the [master][MASTER] branch and compatible with
The current version of OPUS 4 is __4.10__. It is available on the [master][MASTER] branch and compatible with
PHP 8.1 to 8.2. PHP 8.3 and beyond are not supported yet.

[Documentation][DOC]
Expand Down
64 changes: 64 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,69 @@
# OPUS 4 Release Notes

## Release 4.10 - 2026-05-12

Der neue Release bringt insbesondere Veränderungen bei der Sprachverwaltung und
den Optionen, die in der Administration editierbar sind. Weiterhin gab es eine
Reihe kleinerer Fehlerbehebungen.

### Update auf OPUS 4.10

Das Updateskript, `bin/update.sh`, muss ausgeführt werden, da es Änderungen an
der Datenbank und weitere Updateschritte gibt.

- Tabelle `configuration` wird angelegt
- Tabelle `languages` wird entfernt
- Konfiguration in `config.xml` with in die Datenbank übertragen und die
Datei optional gelöscht
- Aktive Sprachen werden in neue Konfigurationsoptionen übernommen

### Sprachverwaltung

Die Sprachverwaltung wurde aus der Administration entfernt. Dafür werden jetzt
485 ISO 639 Sprachen im Standard unterstützt. Welche Sprachen in den Formularen
zur Auswahl stehen sollen, lässt sich über Optionen einstellen.

Mehr dazu findet sich im OPUS 4 Handbuch unter
https://www.opus-repository.org/userdoc/admin/languages.html

Beim Update werden die aktiven Sprachen automatisch in die neue Konfiguration
übernommen.

### Konfiguration

Bislang sind nur wenige Optionen in der Administration editierbar. Diese wurde
bisher in `application/configs/config.xml` gespeichert. Dafür gibt es jetzt eine
Tabelle in der Datenbank. Beim Update wird der Inhalt von `config.xml` in die
Datenbank übertragen und die Datei dann (optional) gelöscht.

Die editierbaren Optionen werden nun in `application/configs/options.yml`
definiert. Generell kann die Liste lokal erweitert werden. Im Standard werden
im Laufe der Zeit mehr Optionen in der Weboberfläche verfügbar gemacht werden.

### RSS-Links

RSS-Links können nun ausgeblendet werden. Sie werden automatisch ausgeblendet,
wenn ein User keinen Zugriff auf das RSS-Modul hat.

rss.showLinks = 0

### DeepGreen Client

Es gibt zwei neue Optionen, die steuern wie beim Import von Dokumenten mit
nicht erlaubten Dateitypen umgegangen werden soll.

deepgreen.import.importAllFiles = 0
deepgreen.import.importSupportedFiles = 1

Wenn **importAllFiles** aktiviert ist, werden alle Dateien importiert. Sollen
nur die in der OPUS 4 Konfiguration erlaubt Dateitypen importiert werden, kann
**importSupportedFiles** aktiviert werden. Sind beide Optionen deaktiviert,
werden Dokumente mit nicht erlaubten Dateitypen nicht importiert. Es geplant
in diesen Fällen in Zukunft Benachrichtigungen in der Administration anzuzeigen
und die Konfigurationsmöglichkeiten weiter auszubauen.

--

## Release 4.9 - 2026-04-14

### Unterstützte PHP-Versionen
Expand Down
12 changes: 10 additions & 2 deletions application/configs/application.ini
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,11 @@ db.debug = 0
; LOCALE SETTINGS
resources.locale.default = 'de'

; SUPPORTED LANGUAGES
; Languages selectable for documents
i18n.languages.active = deu, eng, fra, rus, spa, mul
i18n.languages.sortByName = 0

; SUPPORTED USER INTERFACE LANGUAGES
supportedLanguages = de,en

;GENERAL SETTINGS
Expand All @@ -70,7 +74,7 @@ name = 'OPUS 4'
logoLink = home
security = 1
workspacePath = APPLICATION_PATH "/workspace"
version = 4.9
version = 4.10
update.latestVersionCheckUrl = "https://api.github.com/repos/opus4/application/releases/latest"
snippets.basePath = APPLICATION_PATH "/scripts/snippets"

Expand Down Expand Up @@ -250,6 +254,7 @@ search.index.enrichment.blacklist = 'opus_doi_json'

; RSS Feed
rss.maxDocs = 100
rss.showLinks = 1

;DOCTYPE VALIDATION SCHEMA FILE
; TODO determine path dynamically (does this belong into the framework)
Expand Down Expand Up @@ -761,6 +766,9 @@ console.commandProvider[] = "Opus\Import\Console\ImportCommandProvider"
; DeepGreen configuration
deepgreen.configFile = APPLICATION_PATH'/application/configs/deepgreen.ini'

deepgreen.import.importAllFiles = 0
deepgreen.import.importSupportedFiles = 1

; Staging, Testing and Development configurations =====================================================================

[staging : production]
Expand Down
44 changes: 0 additions & 44 deletions application/configs/navigationModules.xml
Original file line number Diff line number Diff line change
Expand Up @@ -364,50 +364,6 @@
</pages>
</licence>

<languages>
<type>mvc</type>
<label>admin_title_languages</label>
<description>admin_title_languages_description</description>
<group>group-cafelatte</group>
<module>admin</module>
<controller>language</controller>
<action>index</action>
<resource>languages</resource>
<pages>
<show>
<type>mvc</type>
<label>admin_language_show</label>
<module>admin</module>
<controller>language</controller>
<action>show</action>
</show>

<new>
<type>mvc</type>
<label>admin_language_new</label>
<module>admin</module>
<controller>language</controller>
<action>new</action>
</new>

<edit>
<type>mvc</type>
<label>admin_language_edit</label>
<module>admin</module>
<controller>language</controller>
<action>edit</action>
</edit>

<delete>
<type>mvc</type>
<label>admin_language_delete</label>
<module>admin</module>
<controller>language</controller>
<action>delete</action>
</delete>
</pages>
</languages>

<dnbInstitute>
<type>mvc</type>
<label>admin_title_dnbinstitute</label>
Expand Down
44 changes: 44 additions & 0 deletions application/configs/options.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#
# Defines options available in administration user interface (Settings->Options).
#
# The 'type' defines how the option appears in the form. Supported types are
# - string (default)
# - int
# - bool
#
# The 'section' allows grouping options. The names are arbitrary and are used as section
# labels if no translations for the section exist.
#
# 'options' can be used to pass additional options to the form element, for
# instance to increase the size.
#
# The translation keys for options use the following patterns:
# - admin_config_section_SECTIONNAME
# - admin_config_OPTIONKEY
# - admin_config_OPTIONKEY_description
#
# For instance:
# - admin_config_section_languages
# - admin_config_i18n.languages.active
# - admin_config_i18n.languages.active_description
#

searchengine.solr.parameterDefaults.rows:
type: int
section: searching
options:
min: 10

browsing.series.sortByTitle:
type: bool
section: browsing

i18n.languages.active:
type: string
section: languages
options:
size: 60

i18n.languages.sortByName:
type: bool
section: languages
2 changes: 1 addition & 1 deletion bin/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ do
fi
done

php "$BASEDIR/scripts/change-password.php" admin "$ADMIN_PWD"
php "$BASEDIR/bin/opus4" account:setpwd admin -p "$ADMIN_PWD"

#
# Configure Solr connection
Expand Down
6 changes: 4 additions & 2 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -316,9 +316,11 @@
</target>

<target name="demo-reset-password">
<exec executable="php" dir="${basedir}/scripts" failonerror="true">
<arg line="change-password.php" />
<exec executable="php" dir="${basedir}/bin" failonerror="true">
<arg line="opus4" />
<arg line="account:setpwd" />
<arg line="admin" />
<arg line="-p" />
<arg line="${adminPassword}" />
</exec>
</target>
Expand Down
13 changes: 7 additions & 6 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,18 @@
"ext-yaml": "*",
"opus4/zf1-future": "1.25.*",
"jpgraph/jpgraph": "dev-master",
"opus4-repo/opus4-common": "^4.9",
"opus4-repo/framework": "^4.9",
"opus4-repo/opus4-common": "^4.10",
"opus4-repo/framework": "^4.10",
"opus4-repo/search": "^4.9",
"opus4-repo/opus4-bibtex": "^4.9",
"opus4-repo/opus4-import": "^4.9",
"opus4-repo/opus4-bibtex": "^4.10",
"opus4-repo/opus4-import": "^4.10",
"opus4-repo/opus4-pdf": "^4.9",
"opus4-repo/opus4-job": "^4.9",
"opus4-repo/opus4-security": "^4.9",
"opus4-repo/opus4-sword": "^4.9",
"opus4-repo/opus4-app-common": "^4.9",
"opus4-repo/opus4-deepgreen": "^4.9",
"opus4-repo/opus4-app-common": "^4.10",
"opus4-repo/opus4-deepgreen": "^4.10",
"opus4-repo/opus4-i18n": "^4.10",
"components/jquery": "3.4.*",
"components/jqueryui": "1.12.*",
"oomphinc/composer-installers-extender": "^2.0",
Expand Down
44 changes: 0 additions & 44 deletions db/masterdata/002_create_languages.sql

This file was deleted.

2 changes: 1 addition & 1 deletion db/masterdata/022-set-opus-version.sql
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ START TRANSACTION;
-- Set internal OPUS version (for controlling updates)

TRUNCATE TABLE `opus_version`;
INSERT INTO `opus_version` (`version`) VALUES (20);
INSERT INTO `opus_version` (`version`) VALUES (22);

COMMIT;

Expand Down
15 changes: 14 additions & 1 deletion library/Application/Bootstrap.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,11 @@
*/

use Opus\App\Common\Configuration;
use Opus\Common\Config;
use Opus\Common\Log\LogService;
use Opus\Common\Repository;
use Opus\Db\DatabaseBootstrap;
use Opus\Db2\Configuration as ConfigurationDatabase;
use Opus\Search\Plugin\Index;

/**
Expand Down Expand Up @@ -258,7 +260,7 @@ protected function _setupPageCache()
*/
protected function _initTranslation()
{
$this->bootstrap(['Configuration', 'Session', 'Logging', 'ZendCache']);
$this->bootstrap(['Configuration', 'OnlineConfiguration', 'Session', 'Logging', 'ZendCache']);
$logService = LogService::getInstance();
$logger = $logService->getLog('translation');

Expand Down Expand Up @@ -411,4 +413,15 @@ protected function _initIndexPlugin()
// TODO this is a dependency on a specific implementation (refactor to remove)
$cache::setIndexPluginClass(Index::class);
}

protected function _initOnlineConfiguration()
{
$this->bootstrap('Database');

$configuration = new ConfigurationDatabase();
$onlineConfig = $configuration->getConfig();

$config = Config::get();
$config->merge($onlineConfig);
}
}
Loading