Server Updates

Changelog

Covered issues for this module.

Version 5.3.0

– 7/9/24

Sophora Client API: 5.6.0.

  • Changed
    Server: Update auf Spring 6.1, sophora-legacy-remoting einbinden – SOSI-5336 (medium)
    Notes This version introduces Spring framework 6.1 and Groovy scripting engine 4.0. (Prior versions use Spring 5.3 and Groovy 3.0.)
Version 5.2.0

– 7/3/24

Sophora Client API: 5.5.0.

  • Changed
    Versions-API soll wieder mit älteren Clients kompatibel sein – SOSI-5341 (medium)
  • Changed
    Dokumenttyp Bildvariante: "Seitenverhältnis" darf nicht gleichzeitig mit "Höhe"/"Breite" gesetzt sein – SOSI-5228 (medium)
  • Added
    SoQL für QuerySelectValuesProvider – SOSI-5286 (medium)
  • Added
    Metriken für Startzeiten des Sophora-Servers – SOSI-4974 (medium)
Version 5.1.0

– 5/3/24

Sophora Client API: 5.2.0.

  • Fixed
    Yellow Data sollen beim Sync vollständig übertragen werden – SOSI-5314 (critical)
  • Fixed
    Das Unicode Zeichen U+0000 soll das Speichern von Versionen nicht verhindern – SOSI-5312 (high)
    Notes Unicode character U+0000 will be removed automatically
  • Changed
    Versionen von Strukturknoten und Systemdokumenten sollen im Sync beschränkt werden können – SOSI-5277 (medium)
  • Changed
    Im ImageVariantMapper das Seitenverhältnis des Dokuments auslesen und im Model setzen – SOSI-5246 (medium)
  • Changed
    Zugriffe auf den Live-WS loggen – SOSI-5191 (medium)
  • Improved
    Der ChannelTimingEventEmitter muss präzisere Queries verwenden – SOSI-5315 (high)
  • Added
    Content-API: Periodische Zeitplanung von Komponenten bei Validierung berücksichtigen – SOSI-5231 (medium)
Version 5.0.1

– 4/2/24

Sophora Client API: 5.0.0.

  • Fixed
    Kompatibilität mit Clients < 4.27.3 bzgl. geschachtelte NodeType-Konfigurationen wiederherstellen – SOSI-5302 (high)
  • Fixed
    Dokumente mit Geodaten-Tabellen können nicht geklont werden – SOSI-5300 (medium)
  • Changed
    Umstellung der Server-internen XPath-Queries – SOSI-5285 (medium)
  • Changed
    Es dürfen keine Warnmeldungen geloggt werden, wenn die Default-Konfigurationen gespeichert werden – SOSI-5264 (low)
  • Improved
    Die Replication soll bei Fehlern nicht einfach stehen bleiben können – SOSI-5274 (critical)
  • Added
    Alarm-Logger – SOSI-5275 (high)
    Notes You can now configure logging for special EMERGENCY events, which are events that require human intervention. Notifications can also be sent via email (see the "Logging" documentation for details) and are available as Prometheus metric (sophora_server_emergencies_total).
Version 5.0.0

– 3/12/24

Sophora Client API: 5.0.0.

  • Fixed
    Die SourceTime von Events auf Staging-Servern muss immer steigend sein – SOSI-5184 (blocker)
    Notes Attention: This change introduces a bug that prevents the replication to staging server of changes to your nodetypes CNDs.
  • Fixed
    ACS: getPublishedDocumentByUuid-Implementierung fehlt – SOSI-5031 (blocker)
  • Fixed
    Indexkonfigurationsdokumente müssen auf Stages eingelesen werden können – SOSI-4857 (blocker)
    Notes Diese Version behebt die Probleme mit der internen Solr-Indexierung auf Staging-Servern.
  • Fixed
    Dokumentaktionen dürfen sich nicht gegenseitig blockieren – SOSI-4844 (blocker)
  • Fixed
    Die Property-Konfiguration muss konfigurierte Rollen/Rechte verwenden, wenn der Eingabefeldtyp aus der Defaultkonfiguration verwendet wird – SOSI-4801 (blocker)
  • Fixed
    Deadlock bei Zugriff auf Serverinfos verhindern – SOSI-4342 (blocker)
  • Fixed
    CorrectStructureNodeReferencesInVersions muss mit Multi-Referenzen auf gelöschte Dokumente funktionieren – SOSI-4345 (critical)
  • Fixed
    JMX-Methoden zur Korrektur des Live-Workspace sollen überschüssige Dokumente entfernen können – SOSI-4337 (critical)
  • Fixed
    Server: DerivedDocumentChangedEvents ohne Abhängigkeit zu Solr erzeugen – SOSI-4321 (critical)
  • Fixed
    Ein Server darf als Hostname in seiner ServerInfo niemals null verwenden – SOSI-4295 (critical)
  • Fixed
    BinaryNodes mit binary Hash und ohne Binaries korrekt replizieren – SOSI-4204 (critical)
  • Fixed
    Im Anschluss an Full-Reindex-Operationen werden Dokumente nicht mehr nach Änderungen indexiert – SOSI-4586 (critical)
  • Fixed
    Die Listen der Server müssen unter allen Schnittstellen identisch sein – SOSI-4534 (critical)
  • Fixed
    In Solr-Live-Cores soll der Live-Strukturknotenpfad stehen – SOSI-4452 (critical)
  • Fixed
    Unveröffentlichte Änderungen an vererbten Properties dürfen nicht in veröffentlichten Dokumenten sichtbar sein – SOSI-4438 (critical)
  • Fixed
    Deaktivierte Dokumente dürfen nicht im Live Workspace enthalten sein – SOSI-4379 (critical)
  • Fixed
    QuerySelectvalueProvider sollen ihr Ergebnis auch bei Queries nach Mixins aktualisieren – SOSI-4364 (critical)
  • Fixed
    Verhinderung von Deadlocks durch den TransactionalLockSupport – SOSI-4860 (critical)
  • Fixed
    Der UserName-Cache soll richtig funktionieren – SOSI-4811 (critical)
  • Fixed
    Umgang mit einer impliziten Queue von direkten Indexierungen verbessern – SOSI-4223 (high)
  • Fixed
    Bei Änderungen an dem Indexdokument eines Strukturknotens müssen nur die Dokumente in dem jeweiligen Knoten neu indexiert werden – SOSI-4149 (high)
  • Fixed
    Locks müssen beim Speichern beachtet werden – SOSI-4130 (high)
  • Fixed
    HTTPS kann nicht mit Wildcard-Zertifikaten genutzt werden – SOSI-4333 (high)
  • Fixed
    Der SolrIndexer soll weniger Speicher im Solr belegen – SOSI-4316 (high)
  • Fixed
    Hänger im ThumbnailManager sollen andere Threads nicht blockieren – SOSI-4301 (high)
  • Fixed
    In der Replication soll der Slave IDs vom Master so akzeptieren, wie der diese schickt – SOSI-4283 (high)
  • Fixed
    Der Verbindungsaufbau zum aktuellen Primary muss immer funktionieren – SOSI-4393 (high)
  • Fixed
    Der LiveWorkspaceUpdater soll Live-Versionen auch im Archiv finden – SOSI-4373 (high)
  • Fixed
    Sessions dürfen nach einem Clusterschwenk nicht sofort ablaufen – SOSI-4647 (high)
  • Fixed
    getAllPublishedStructureInfos und getPublishedSites muss gecached werden – SOSI-4619 (high)
  • Fixed
    Der Offline Core des internen Solrs darf nicht durch die Offline-Indexkonfiguration für die SolrCloud überschrieben werden – SOSI-4588 (high)
  • Fixed
    5er Replicas müssen beim Speichern von Versionen die Mixins richtig setzen – SOSI-5046 (high)
  • Fixed
    Richtige Behandlung von Anführungszeichen in Solr-Query – SOSI-4940 (high)
  • Fixed
    SolrCloud muss bei Parallelbetrieb mit internem Solr wieder Priorität bei Suchen haben – SOSI-5251 (high)
  • Fixed
    Post-Aufrufe an die content-api scheitern wg. ungültiger CorsConfiguration – SOSI-5239 (high)
  • Fixed
    Das transaktionsgebundene Locking soll keine doppelten Locks vergeben – SOSI-5225 (high)
  • Fixed
    Nach dem Löschen wiederhergestellter Benutzer dürfen beim Aufruf von ISophoraClient.getUsernames() keine Exceptions auftreten – SOSI-5193 (high)
  • Fixed
    Korrupte Events sollen die Eventverarbeitung nicht langfristig blockieren – SOSI-5187 (high)
  • Fixed
    StackOverflow während Server-Start beim Zugriff auf die System-Site – SOSI-5095 (high)
  • Fixed
    Events müssen in der Reihenfolge ihres Auftretens verarbeitet werden (auch bei IAsyncServerEventListener) – SOSI-4843 (high)
  • Fixed
    Nodetypekonfigurations-Export: Fehlende Eingabefeldtypparameter im XML bei Properties, die die "Standardkonfiguration verwenden" – SOSI-4824 (high)
  • Fixed
    Die erste Änderung eines Query-Auswahlwertes mit Label eines anderen Query-Auswahlwerts soll nicht alle Dokumente neu indizieren – SOSI-4816 (high)
  • Fixed
    Verhalten bei Sessionless-Reconnects prüfen/verbessern – SOSI-4789 (high)
  • Fixed
    Es darf keine IllegalArgumentException beim Abruf von Dokumenten auftreten – SOSI-4274 (medium)
  • Fixed
    Race Condition im AggregatingQueueWorker beheben – SOSI-4272 (medium)
  • Fixed
    Invalidierung des SelectValueManager Caches muss zuverlässig funktionieren – SOSI-4271 (medium)
  • Fixed
    ItemNotFoundException im NodeTypeConfigService – SOSI-4269 (medium)
  • Fixed
    Verhalten beim Behandeln von gelöschten Dokumenten konsolidieren – SOSI-4266 (medium)
    Notes Server versions 3.5.2, 4.0.2, 5.0.0 and newer unify the behaviour of the API methods getDocumentByUuid, getDocumentBySophoraId and getDocumentByExternalId in terms of how they treat completely deleted documents. Documents may remain in the archive repository after permanent deletion unless the server's configuration option sophora.deleteDocuments.archive is set to false. In earlier server versions the methods getDocumentByUuid and getDocumentBySophoraId returned such documents while getDocumentByExternalId did not. From now on all three methods will find documents even if they only exist in the archive.

    Additionally the server treats an update of a completely deleted document in the archive repository like the creation of a new document.

    This however affects clients looking up documents by their externalId, especially the importer:
    With SOIMI-509 (released in version 3.1.2, 4.1.0, 5.0.0 or newer) the importer is aware of this modified behaviour. But custom preprocessors might cause trouble in some cases:
    When creating new documents the importer has to set certain mandatory properties (like structure node, idstem, etc.). Completely deleted documents with clashing external ID will be ignored (they are deleted after all). Custom preprocessors using getDocumentByExternalId however might confuse completely deleted documents with regular documents and then leave out the mandatory properties assuming they are already set. The server on the other side will treat this documents like newly created ones and hence throw an exception if mandatory properties are missing.
    Therefore custom preprocessor scripts need to be checked for this.
    Custom tools and other scripts might be affected from the changed behaviour of getDocumentByExternalId as well. You can always identify theses documents as their state will be PERMANENTLY_DELETED.
  • Fixed
    Archive Worker: maxVersionsToRetain soll wieder beachtet werden – SOSI-4238 (medium)
  • Fixed
    JMX-Methode reindexDocumentsByQuery muss auch gelöschte Dokumente umfassen – SOSI-4211 (medium)
  • Fixed
    Dokumente ohne gültigen Strukturknotenpfad sollten nicht in Solr indexiert werden – SOSI-4208 (medium)
  • Fixed
    Der Default-Live-Core darf wirklich nur die Dokumente enthalten, die auch auf Staging-Servern vorhanden sind – SOSI-4191 (medium)
  • Fixed
    StructureNode mit State DISABLED lässt sich nicht mehr vom Repository lesen – SOSI-4189 (medium)
  • Fixed
    Der Server soll verhindern, dass Dokumente offline gestellt werden können, die noch von Online-Dokumenten referenziert werden, wenn der Nutzer das dazu notwendige Recht nicht hat – SOSI-4176 (medium)
  • Fixed
    Es darf kein Dokument ohne Referenz auf einen Strukturknoten gespeichert werden – SOSI-4167 (medium)
  • Fixed
    Sessions dürfen auf Slaves nicht ablaufen, nur weil die Replikations-Queue lange ist – SOSI-4157 (medium)
  • Fixed
    Logging fixen: Kein Fehlalarm beim Sync von YellowData zu StagingSlaves – SOSI-4099 (medium)
  • Fixed
    Der DeletedDocumentsWorker muss auf Stagingslaves laufen – SOSI-4352 (medium)
  • Fixed
    Neue Dokumente mit einer bereits vergebenen Sophora-ID dürfen nicht gespeichert werden – SOSI-4334 (medium)
  • Fixed
    NPE bei Angabe einens neuen Passworts bei "Passwort vergessen" – SOSI-4328 (medium)
  • Fixed
    Es darf nicht möglich sein ein Dokument mit einer bestehenden SophoraId anzulegen – SOSI-4310 (medium)
  • Fixed
    Beim Zugriff auf ServerInfos muss system/slaves im Repo existieren – SOSI-4306 (medium)
  • Fixed
    Zusammenführen von Solr-Jobs Thread-safe machen – SOSI-4299 (medium)
  • Fixed
    Dokumente in nicht auffindbarem Strukturknoten müssen endgültig gelöscht werden können – SOSI-4291 (medium)
  • Fixed
    Gleizeitiges öffnen von Dokumenten im Löscharchiv muss ermöglicht werden – SOSI-4282 (medium)
  • Fixed
    In der JobInfo einer Strukturknoten Indizierung muss die Information enthalten sein, ob es sich um eine Rekursive Indizierung handelt – SOSI-4281 (medium)
  • Fixed
    Wenn vererbte Properties erstellt oder gelöscht werden, müssen die Configuration Hashes aktualisiert werden – SOSI-4413 (medium)
  • Fixed
    Änderungen an Default-Propertykonfigurationen und Default-Childnodekonfigurationen müssen übernommen werden – SOSI-4671 (medium)
  • Fixed
    Begrenzung des Umfangs der Transaktion bei vollständigen Löschungen – SOSI-4636 (medium)
  • Fixed
    Virtuelle Properties sollen in Solr kein Slash enthalten – SOSI-4623 (medium)
  • Fixed
    Zu häufige ServerInfoChangedEvents unterbinden – SOSI-4620 (medium)
    Notes All Sophroa server in cluster should be updated at the same time to this version. There is a change in the hash calculation of system documents, so that otherwise false positive differences between the servers will be displayed in the dashboard.
  • Fixed
    ConcurrentModificationException in LifeCycle.getInitializedSolrCores – SOSI-4593 (medium)
  • Fixed
    Das Update auf 4 darf Formularfeldgruppen nicht suchbar machen – SOSI-4543 (medium)
  • Fixed
    Gelöschte Strukturknoten dürfen das Anlegen neuer Strukturknoten nicht verhindern – SOSI-5083 (medium)
  • Fixed
    Asynchrone EventListener müssen mit konkurrierenden vollständigen Löschungen umgehen können – SOSI-5080 (medium)
  • Fixed
    Beim Sync sollen Exceptions nach zwischenzeitlichen Änderungen vermieden werden – SOSI-5038 (medium)
  • Fixed
    Version Store: Es muss möglich sein Yellow Data aus offline Dokumenten zu entfernen – SOSI-5018 (medium)
  • Fixed
    Version Store: Der NodeType Cache muss korrekt invalidiert werden. – SOSI-5017 (medium)
  • Fixed
    Verweildauer soll Inhaltstypen pro Strukturknoten beachten – SOSI-5016 (medium)
  • Fixed
    VS: VersionIds auf Primary und Replika müssen gleich sein – SOSI-4994 (medium)
  • Fixed
    Tags dürfen nicht zum Taxonomiedokument hinzugefügt werden können, wenn diese sich bereits auf dessen Deny-Liste befinden – SOSI-4982 (medium)
  • Fixed
    Beim Öffnen von Dokumenten aus einer URL in der Zwischenablage muss die Domain berücksichtigt werden – SOSI-4969 (medium)
  • Fixed
    Vollständige Löschungen dürfen in der Replikation nicht an Locks scheitern – SOSI-5233 (medium)
  • Fixed
    Auch bei YellowDataReplicationEvents muss die SourceTime vom Primary vorgegeben werden können – SOSI-5218 (medium)
  • Fixed
    MixIn in ChildNodes werden in VS nicht persistiert – SOSI-5189 (medium)
  • Fixed
    Sophora-ID-Historie wird u.U. nicht korrekt befüllt – SOSI-5103 (medium)
  • Fixed
    Der ExceptionLoggingAspect soll keine internen Exceptions loggen und werfen – SOSI-5101 (medium)
    Notes We fixed a spelling error in ExceptionLoggingAspect (previously ExceptionLogginAspect). Please check your logback configuration and make sure the correct name is used, if applicable.
  • Fixed
    Endlos-Rekursion bei geschachtelten Formularfeldgruppen erkennen und verhindern – SOSI-5096 (medium)
  • Fixed
    Speicherskript für das IPTC-Add-on muss auch beim Import von neuen Bildern greifen – SOSI-4910 (medium)
    Notes Wenn das Skript verwendet werden soll, muss dieses ggf. erneut veröffentlicht werden.
  • Fixed
    NPE im SessionManager – SOSI-4878 (medium)
  • Fixed
    Der Migrationsmodus an Sessions soll auch repliziert werden – SOSI-4869 (medium)
  • Fixed
    Verwendung von preserveHistory in Skripten – SOSI-4849 (medium)
  • Fixed
    Bei Synchronisierung von Dokumenten werden u.u. doppelte Versionen angelegt – SOSI-4841 (medium)
  • Fixed
    Die Dashboardabfrage der Konfigurationshashes darf nicht durch interne Fehler scheitern – SOSI-4807 (medium)
  • Fixed
    Die Veröffentlichung eines Strukturknotens muss immer korrekt auf Stages repliziert werden – SOSI-4806 (medium)
  • Fixed
    OutOfMemoryError durch Hinzufügen von virtuellen Properties in Nodetypekonfiguration – SOSI-4805 (medium)
  • Fixed
    Auch nicht suchbare Dokumente bei der Initialisierung des Invertible-Bloom-Filters berücksichtigen – SOSI-4804 (medium)
  • Fixed
    Parameter bei der Generierung der URLs als Sophora-Url-Parameter behandeln – SOSI-4792 (medium)
  • Fixed
    URL-Generierung: Domain aus der Site soll Vorrang vor der Einstellung aus den sophora.properties haben – SOSI-4693 (medium)
  • Fixed
    Ein Update auf Sophora 4 darf nicht an Strukturbereichen scheitern – SOSI-4684 (medium)
  • Fixed
    Die Größen der BinaryReferenceValues müssen auch unter Verwendung des Cloud Binary Stores repliziert werden – SOSI-4681 (medium)
    Notes Diese Version darf nicht unter Verwendung des Cloud Binary Stores verwendet werden, da andernfalls Referenzen auf Binärdaten in Staging Server verloren gehen können.
  • Fixed
    ItemNotFoundException im QuerySelectValueParser verhindern – SOSI-4862 (low)
  • Changed
    Fehlerhaft: --Update von ActiveMQ wegen CVE-2023-46604-- – SOSI-5129 (critical)
    Notes Updated (December 2023): This version does not fix the CVE!

    In this issue, we attempted to update ActiveMQ to fix the CVE-2023-46604. Unfortunately, due to errors in the build process, the dependencies were not actually updated. We are fixing this in the Server versions 3.12.8 and 4.23.2.
  • Changed
    GetDocumentInfo-Aufruf braucht bessere Fehlerbehandlung – SOSI-4336 (high)
  • Changed
    Der verwendete MySQL Connector funktioniert nicht mit neuen Java 8 Versionen – SOSI-4460 (high)
  • Changed
    Der Name eines IndexConfigurationDocuments darf nicht mit sophora beginnen – SOSI-4590 (high)
    Notes Collections starting with "sophora" are reserved for internal use. No custom index configurations should start with "sophora". If you have an index configuration with a name starting with "sophora", please create a new one and delete the old configuration before updating to this or a future version of Sophora.

    Existing index configurations starting with "sophora" cannot be saved anymore and might interfere with Sophora-internal collections in the SolrCloud.
  • Changed
    ACS: Implementierung weiterer Methoden und internes Refactoring – SOSI-5032 (high)
  • Changed
    commons-beanutils aus dem Server entfernen – SOSI-5025 (high)
  • Changed
    Asynchrone Eventlistener sollen auf Staging Servern synchron ausgeführt werden können – SOSI-5192 (high)
  • Changed
    Artefakt com.subshell.sophora.server in sophora-server überführen (einheitliche Dependencies) – SOSI-5175 (high)
    Notes The Maven module "com.subshell.sophora:com.subshell.sophora.server" has been moved/integrated into the module "com.subshell.sophora:sophora-server". If you use the old module as a dependency, update the entry to "sophora-server". If not, there is nothing to do; this change does not affect regular Sophora Server installations.
  • Changed
    saveSophoraDocument mit preserveHistory aus ContentManager auf deprecated setzen und Alternative anbieten – SOSI-4920 (high)
  • Changed
    Werfen der spezifischeren ShutdownInProgressException anstelle einer SophoraExcpetion – SOSI-4251 (medium)
  • Changed
    ServerInfos sollten nur registriert werden, wenn sie sich auch wirklich geändert haben – SOSI-4339 (medium)
  • Changed
    Die Content-API darf beim Abruf eines Dokument nie dessen Summary liefern – SOSI-4338 (medium)
  • Changed
    Beschreibung für das Property "Veröffentlichen am" – SOSI-4332 (medium)
  • Changed
    Sophora 5: Embedded-Solr entfernen – SOSI-4303 (medium)
  • Changed
    Userlogik zugänglich machen, um sie für Dokumente wiederzuverwenden – SOSI-4300 (medium)
  • Changed
    Rumpf-Klassen der neuen Services aus SOSI-4228 anlegen – SOSI-4285 (medium)
  • Changed
    In Sophora 4 muss die Solr-Indexierung ausgeschaltet werden können – SOSI-4278 (medium)
  • Changed
    Nach dem Sync eines Replicas fehlen Dokumente im Solr des Replicas – SOSI-4503 (medium)
  • Changed
    Ersetzen handgeschriebener Builder durch generierte Builder – SOSI-4473 (medium)
  • Changed
    YellowDataSyncTest.testYellowDataGetsSynchronizedOnExistingDocument auf Awaitility umstellen – SOSI-4426 (medium)
  • Changed
    ServerInfoEvents konsolidieren – SOSI-4421 (medium)
  • Changed
    Der Server soll Source-TimeRequests ablehnen, wenn seine eigene SourceTime zu alt ist – SOSI-4418 (medium)
  • Changed
    StructureNodeUpdateJobTest.renameStructureNode ist flaky – SOSI-4674 (medium)
  • Changed
    Parametrisiertes Veröffentlichen: Server und API – SOSI-4594 (medium)
  • Changed
    Sophora 5: Entfernung der obsoleten Einstellungen aus den Indexkonfigurationsdokumenten – SOSI-4592 (medium)
  • Changed
    Anpassungen für Java 17 – SOSI-4571 (medium)
    Notes Dieses Release macht den Sophora Server kompatibel mit Java 17. Ab Sophora 5 wird Java 17 erforderlich für den Betrieb von Sophora sein. Ab Sophora 4 ist Java 17 nun für den Betrieb möglich. Es kann in Sophora 4 weiterhin Java 11 zum Betrieb genutzt werden. Das Container-Image des Servers in der Version 4 nutzt ab dieser Version Java 17.
  • Changed
    Umstellung der Change Registry auf eine Derby Datenbank – SOSI-4545 (medium)
    Notes Bei einem ersten Start des Servers in dieser Version wird die H2 Datenbank der Change Registry auf eine Derby Datenbank umgestellt. Abhängig von der Größe der Change-Registry, verzögert sich dadurch der erste Neustart um bis zu 1h30 verzögern.
  • Changed
    System-Dokumente für die Offline-Collection bereitstellen – SOSI-4541 (medium)
  • Changed
    StructureInsertion sollte immer berücksichtigt werden – SOSI-5074 (medium)
  • Changed
    Version-ID soll auch das isOnline-Flag berücksichtigen – SOSI-5044 (medium)
  • Changed
    Postgres: Tabellen und Spalten auf lower-case umstellen – SOSI-5023 (medium)
  • Changed
    Referenzen beim vollständigen Löschen von referenzierten Dokumenten richtig behandeln – SOSI-5014 (medium)
  • Changed
    ChannelTimingEventEmitter darf Solr nicht voraussetzen – SOSI-4934 (medium)
  • Changed
    Deprecated Strukturknotenrecht "editConfiguration" entfernen - Serverticket – SOSI-5230 (medium)
  • Changed
    Kompatibilität mit Java 21 – SOSI-5195 (medium)
    Notes The new Java Runtime container image is now based on Java 21 (docker.io/azul/zulu-openjdk-alpine:21.0.1-21.30-jre).
  • Changed
    Userfilter-Queries performanter machen: Auf den Pfad matchen – SOSI-5182 (medium)
  • Changed
    CorrectStructureNodeReferencesInVersions entfernen – SOSI-5142 (medium)
  • Changed
    Find-Methoden mit Channel-UUID Parameter aufräumen – SOSI-5134 (medium)
  • Changed
    Querys von der Sessionless-Konsistenzprüfung ausschließen – SOSI-5098 (medium)
    Notes Bei Nutzung von Sophora Cloud Delivery (Sessionless) muss ein Sophora-Client >= 4.23.2 verwendet werden.
  • Changed
    Metriken für Prometheus/Grafana bereitstellen – SOSI-4925 (medium)
  • Changed
    Database-Binarystore ab Sophora 5 entfernen – SOSI-4876 (medium)
  • Changed
    Das Hinzufügen zum Versionstore soll auch bei vielen bereits bestehenden Versionen gleich schnell bleiben – SOSI-4870 (medium)
  • Changed
    JSON-Schema umstellen – SOSI-4867 (medium)
  • Changed
    Die UserSettings sollen nicht mehr versioniert werden – SOSI-4832 (medium)
  • Changed
    Separate Pflege der binaryIds in Postgres – SOSI-4825 (medium)
  • Changed
    SolrQueryBuilder und JcrXPathQueryBuilder müssen konfiguriertes ModificationDate-Property für HistoryQueries nutzen – SOSI-4770 (medium)
  • Changed
    Auswahlwert "Suchergebnissortierung" soll "sophora:visibleModificationDate" statt "sophora:modificationDate" enthalten – SOSI-4763 (medium)
    Notes Bei frisch neu aufgesetzten Repositories enthält das Auswahlwertdokument "Suchergebnissortierung" nun 'sophora:visibleModificationDate' statt 'sophora:modificationDate'. In bestehenden Repositories wird das vorhandene Auswahlwertdokument nicht verändert. Falls Suchergebnisse dort nach dem neuen Property 'sophora:visibleModificationDate' sortiert werden sollen, muss das Auswahlwertdokument manuell angepasst werden. Zuvor muss der Solr-Index jedoch neu indexiert werden, damit das Property dort entsprechend vorhanden ist.
  • Changed
    Neue sophora:visibleXxxDate-Datumsfelder in "document.export.propertiesNotToExportInSophoraXml" aufnehmen – SOSI-4758 (medium)
  • Changed
    Erweiterung für Channels im ScriptingDocumentManager implementieren – SOSI-4757 (medium)
  • Changed
    Nacharbeiten zum Entfernen des Löscharchivs – SOSI-4740 (medium)
  • Changed
    Der interne JSON-Mapper soll mit der neuen BinaryReferenceValue kompatibel sein – SOSI-4739 (medium)
  • Changed
    Einfaches Löschkonzept umsetzen – SOSI-4738 (medium)
  • Changed
    Dokument-Referenzen behandeln – SOSI-4737 (medium)
  • Changed
    Versionen lesen, inkl. Date-Range und "Dokument aus Version wiederherstellen" – SOSI-4735 (medium)
  • Changed
    Versionen speichern, inkl. globales JCR-Lock entfernen – SOSI-4734 (medium)
  • Changed
    Basis für Tests und Integrationstests schaffen – SOSI-4733 (medium)
  • Changed
    Entwicklungsumgebung aufsetzen – SOSI-4732 (medium)
  • Changed
    Framework für Schemamigrationen mit Liquibase aufsetzen – SOSI-4731 (medium)
  • Changed
    Konfiguration und Mapping für Versionen in Postgres – SOSI-4730 (medium)
  • Changed
    Datenbankschema (Versionstabelle) inkl. Datentypisierung in JSON entwerfen – SOSI-4729 (medium)
  • Changed
    Metadaten-Tab um Properties sophora:visibleXxxDate erweitern – SOSI-4710 (medium)
    Notes Es gibt nun neben der Formularfeldgruppe "Bearbeitungsinformationen (technisch)" (mit UUID "035680a6-72df-43e8-9faf-6512b3fec67f") die beiden Formularfeldgruppen "Bearbeitungsinformationen (redaktionell)" (UUID: "15bd50fb-9976-49a0-9c5d-0c12cf3573c7") mit den neuen "sophora:visibleXxxDate"-Properties und "Systembearbeitungsinformationen" (UUID: "92ac1c52-03a1-4df5-bcf6-bbc4a6da0b9a") mit neu benannten "sophora:XxxDate"-Properties, die stattdessen auf dem Metadaten-Tab eingebunden werden können bzw. bei Systemdokumenten automatisch eingebunden werden.
  • Changed
    ConfigurationDocumentManager zu einem neuen Service migrieren – SOSI-4702 (medium)
  • Changed
    Auswahlwertdokumente sollen standardmäßig schützbar sein – SOSI-4694 (medium)
  • Changed
    ETA im Sync soll nur die tatsächlichen Dokumente zählen – SOSI-5048 (low)
  • Changed
    Nodetype "sophora-nt:socialMediaPublication" entfernen – SOSI-4892 (low)
  • Improved
    Leseoperationen im LiveWorkspaceManager sollen nicht mit Schreibzugriffen synchronisiert werden – SOSI-4229 (critical)
  • Improved
    ProposalSectionCache muss in der Größe konfigurierbar sein – SOSI-4814 (critical)
  • Improved
    Kritische Server-Caches müssen größer und in der Größe konfigurierbar sein – SOSI-4809 (critical)
  • Improved
    Besseres Logging zur Ausführung von Zeitsteuerungsskripten – SOSI-4248 (high)
  • Improved
    Externen Hostnamen, Port und Protokoll des Servers konfigurierbar machen – SOSI-4313 (high)
    Notes Dieses Feature ermöglicht die Konfiguration von externem Hostnamen, Protokoll und Port des Servers. Damit ist es möglich den Sophora Server hinter einem Reverse-Proxy zu betreiben, der bspw. SSL-Terminierung vornimmt. Der Server kann also bspw. auf dem typischen Port 1196 mit HTTP betrieben werden, während ein Reverse-Proxy auf Port 443 mit HTTPS konfiguriert ist und die Anfragen an den Server weiterleitet. Dieses Feature ermöglicht es dem Sophora Client immer die korrekte Verbindung zu nutzen.

    Weitere Informationen zur Konfiguration: https://www.subshell.com/docs/4/server/server114.html
  • Improved
    Config-Events sollen ab 4 eine SourceTime haben – SOSI-4419 (high)
  • Improved
    Der Sync soll nicht alle Versionen eines Dokuments auf einmal in den Speicher laden – SOSI-5213 (high)
  • Improved
    Nodetypekonfiguration von "ACS-Benutzern" verbessern – SOSI-4325 (medium)
  • Improved
    Dokumentänderungsskripte sollen andere Dokumente locken, löschen und offline stellen können – SOSI-4315 (medium)
  • Improved
    ContentManager.syncDocuments() soll DocumentReplicationEvent mit force=true verschicken – SOSI-4218 (medium)
  • Improved
    Typo in Default-Propertykonfiguration für "sophora:offlineAfterDays" korrigieren – SOSI-4504 (medium)
  • Improved
    Umbenennen von Collections verbieten – SOSI-4482 (medium)
  • Improved
    In der SolrCloudSearchStrategy darf nicht vor jeder Query ein Ping gesendet werden – SOSI-4471 (medium)
  • Improved
    Hinfällige Casts zu ServerNode ausbauen – SOSI-4443 (medium)
  • Improved
    Eindeutige ClientID für Clients mit Access-Tokens ermöglichen – SOSI-4424 (medium)
  • Improved
    Offline-Indexer: Ein Index soll mit Dokumenten ab einem bestimmten Datum neu befüllt werden können – SOSI-4406 (medium)
  • Improved
    Strukturknoten mit Dokumentreferenzlabel und SearchResultProperty versehen – SOSI-4386 (medium)
  • Improved
    Offline-Indexer fullRebuild-Jobs nach einem Serverneustart weiterführen – SOSI-4385 (medium)
    Notes Der interne Solr-Dokumenten-Cache des Offline-Indexers wurde ausgebaut. Folgende Properties haben keine Auswirkung mehr:
    * offlineDocumentIndexer.cacheDurationInMinutes
    * offlineDocumentIndexer.cacheSize
  • Improved
    Der SMTP Port, Username und Passwort des verwendeten Mailservers müssen konfigurierbar sein – SOSI-4587 (medium)
  • Improved
    ReentrantLockProvider statt StringKeyLockManager verwenden – SOSI-4554 (medium)
  • Improved
    Neue Methode zum Löschen von YellowData aus IScriptingDocumentManager implementieren – SOSI-4542 (medium)
  • Improved
    Staging Server sollen ohne Postgres und Version Store starten dürfen – SOSI-4992 (medium)
  • Improved
    Tab-Dokumente mit gleichem Label sollen im Adminbaum voneinander unterscheidbar sein – SOSI-4970 (medium)
    Notes Diese Änderung passt das Label der Tabdokumente in der Übersicht an und betrifft nur Sophora Installationen, die neu aufgesetzt werden. Bestehende Installationen sind hiervon nicht beeinflusst.
  • Improved
    Postgres Indices definieren – SOSI-4960 (medium)
  • Improved
    XPath-Logging nur für explizite XPath-Queries – SOSI-5199 (medium)
    Notes XpathLogger was renamed to QueryUsageLogger and only logs on debug level.
  • Improved
    Taxonomien in Abhängigkeit der Dokumentverortung ermöglichen – SOSI-4879 (medium)
    Notes Es ist nun möglich, ein Taxonomie-Eingabefeld, z.B. ein "Externe Tags"-Feld in Artikeln, je nach Dokumentverortung eine andere Tags-Liste zugrunde zu legen.
    Dazu können in der Propertykonfiguration zu Taxonomie-Eingabefeldern nun mehrere Taxonomiedokumente ausgewählt werden und in den Taxonomiedokumenten kann eingetragen werden, für welche Site(s) sie gültig sind. Wenn dort keine Site ausgewählt ist, ist das jeweilige Taxonomiedokument für alle Sites gültig (aus Gründen der Abwärtskompatibilität).
    In einem Dokument mit Taxonomie-Eingabefeld (z.B. Artikel) wird dann das Taxonomiedokument verwendet, welches in der Propertykonfiguration eingetragen und für die Site, in dem das (Artikel-)Dokument verortet ist, gültig ist. Pro Taxonomie-Eingabefeld und Dokumentverortung darf daher immer nur genau ein Taxonomiedokument gültig sein.
    Das vollständige Feature funktioniert erst mit einem DeskClient ab Version 4.13.0 (wegen SODCI-8940). In eingesetzten Mobile Clients muss SOWI-1562 enthalten sein. Vorher sollten noch keine entsprechenden Einstellungen vorgenommen werden. Außerdem müssen Benutzer die verwendeten Taxonomiedokumente zumindest lesen können.
  • Improved
    Metriken für den Version Store – SOSI-4834 (medium)
  • Improved
    Alle Dokumenttypen aus der Zeitplanungstabelle von Strukturknoten beachten – SOSI-4833 (medium)
    Notes Das Feature funktioniert erst vollständig mit einem DeskClient ab Version 4.13.0 (wegen SODCI-8900).
  • Improved
    Performance- und Funktionsverbesserung der Taxonomie-Tags – SOSI-4775 (medium)
    Notes Durch eine Änderung der Verarbeitung der Tags im Server sind Suchen nach Tags nun wesentlich schneller und genauer als bisher.
  • Improved
    Neue Funktion getPendingEventsWithTimestamp implementieren – SOSI-4765 (medium)
  • Improved
    Suche nach Tags aus Taxonomien soll immer eindeutige Treffer zurückliefern – SOSI-4717 (medium)
  • Improved
    Mehr Logging rund um ServerInfos – SOSI-4394 (low)
  • Added
    XPath-Logging – SOSI-4511 (high)
    Notes This change adds a lot of logging on INFO-Level.
    You can turn this off, by adding this to your Sophora Servers logback.xml:
    <logger name="com.subshell.sophora.server.XpathLogger" level="ERROR" />
  • Added
    Neue API-Methoden zum Sortieren bzw. sortierten Einfügen von Strukturknoten implementieren – SOSI-4971 (high)
  • Added
    Alte Thumbnails periodisch aufräumen – SOSI-5222 (high)
    Notes The file based thumbnail cache will be periodically cleaned by default to prevent an excessive amount of unused files. You can configure the cleanup job using the following sophora properties:

    * sophora.cache.thumbnail.cleanup.cron (Default 0 0 3 * * ?)
    * sophora.cache.thumbnail.cleanup.afterDays (Default 60)
  • Added
    Neues Feld "Seitenverhältnis" im Dokumenttyp "Bildvariante" ergänzen – SOSI-5227 (medium)
  • Added
    Neue Properties für die periodische Zeitplanung von Komponenten einpflegen – SOSI-5201 (medium)
  • Added
    Auswahlwert Clientskript Auslöser erweitern um OPEN_DOCUMENT_FROM_CLIPBOARD – SOSI-5178 (medium)
  • Added
    NumberRangeQuery für die Suche nach Zahlenbereichen – SOSI-5100 (medium)
  • Added
    Ex- und Import von geschachtelten Formularfeldgruppen ermöglichen – SOSI-5092 (medium)
  • Added
    PropertyQuery soll ignoreCase unterstützen – SOSI-5078 (medium)
  • Added
    YellowDataQuery im Server unterstützen – SOSI-5029 (medium)
  • Added
    Neues Property imageUrl in Strukturknoten – SOSI-4966 (medium)
    Notes Für die Generierung von Sophora-Image-Service-URLs wird nun das neue Property "imageUrl" der Site verwendet, in der das Bilddokument verortet ist.
    Das Konfigurationsproperty "sophora.url.image-service-domain" wurde in "sophora.url.image-service-default-domain" umbenannt, der Wert wird nur dann verwendet, wenn in der Site kein Wert für die "imageUrl" angegeben wurde.
  • Added
    Fehler bei der Suche nach mehreren Dokumenten ignorieren – SOSI-4955 (medium)
  • Added
    Dokumentmodellierung und Speicherskript für das IPTC-Add-on beim Serverstart bereitstellen – SOSI-4865 (medium)
  • Added
    Neue Methoden in ContentManager implementieren – SOSI-4575 (medium)
  • Added
    Index-Mappings sollen Basis-Mapping steuern können – SOSI-4561 (medium)
    Notes Index Mappings now have the new property "sophora:baseMapping".
    This property is only taken into account by the external application Sophora Indexing Service and is part of a new feature set that allows to model the Offline Document Index as a regular Sophora Index.
  • Added
    Indexkonfigurationen sollen um die Option "Nur Offline-Dokumente" erweitert werden – SOSI-4560 (medium)
    Notes IndexConfigurationDocuments now have the new property "sophora:isOfflineIndex".
    This property is only taken into account by the external application Sophora Indexing Service and is part of a new feature set that allows to model the Offline Document Index as a regular Sophora Index.
  • Added
    ClusterTest#testSwitchFromSlave muss zuverlässig durchlaufen – SOSI-4553 (medium)
  • Added
    Erweiterung Content-API um Liveversion – SOSI-4551 (medium)
  • Added
    Feld "Erstveröffentlichungsdatum" automatisch füllen – SOSI-4547 (medium)
    Notes Das Feld "Erste Veröffentlichung am" ("sophora:firstPublicationDate") wird nun (nur) bei der allerersten Veröffentlichung eines Dokumentes automatisch mit dem jeweiligen Erstveröffentlichungsdatum gefüllt. Das Feld kann im Migrationsmodus explizit gesetzt werden.
  • Added
    Feld "Erstveröffentlichungsdatum" einführen – SOSI-4546 (medium)
    Notes The new date property "sophora:firstPublicationDate" has been added to the mixin "sophora-mix:publishable" and thus also to all document node types.
    The property is intended for the date of the first publication of the document. If you are not using the provided form field group 'Processing Information/Bearbeitungsinformationen', then you have to configure this property to the tab "Meta" yourself to be visible in the editor.
  • Added
    Beschreibendes Label für Access-Tokens in Benutzerdokumenten – SOSI-4531 (medium)
  • Added
    Profiler sollte fehlgeschlagene Calls getrennt von erfolgreichen aufnehmen – SOSI-4505 (medium)
    Notes The Sophora Server's profiler now counts failed requests as well.
    This changes the structure of the profiler summary and statistics that can be retrieved via JMX.
    Furthermore the logger name for the profiler-log has changed from "com.subshell.sophora.commons.profile.LoggingProfiler" to "com.subshell.sophora.server.util.Profiler".
  • Added
    Integration der neuen URL-Generierungslogik im Server – SOSI-4501 (medium)
    Notes Mit dieser Version wird eine neue Strategie für das Parsen und Generieren von URLs eingeführt. Die neue Strategie wird als Default verwendet.
    Damit die korrekten URLs generiert werden können, müssen neue Konfigurationsparameter für die URL Generierung angepasst werden. Details können der Dokumentation entnommen werden:
    http://subshell.com/docs/4/server/server114.html#URL-Generation

    Möchte man weiterhin die bisherige Strategie verwenden, die auf die Deliveries zugreift, kann man folgenden Konfigurationsparameter setzen:
    sophora.url.use-url-library=false
  • Added
    Rolle um "Beschreibung" erweitern – SOSI-4437 (medium)
  • Added
    Der SophoraServer soll zentral die ihm bekannte SourceTime verwalten – SOSI-4417 (medium)
  • Added
    Automatisierten Versand von Sophora-Accountdaten per E-Mail ermöglichen – SOSI-4360 (medium)
    Notes Im DeskClient-Benutzereditor wird ein neuer Button zum Zurücksetzen und Versenden des Passwortes per E-Mail angezeigt, sofern das neue Client-Skript "Reset Login" veröffentlicht ist. Benötigt Server in Version 4.2.0 und DeskClient Version 4.3.0
  • Added
    Absatztyp-Dokumenttyp um Feld für "Max. empfohlene Zeichenanzahl" erweitern – SOSI-4273 (medium)
Version 4.27.1

– 5/23/24

Sophora Client API: 4.31.1.

  • Fixed
    Bei nicht erreichbarem Solr soll die Suche auf JCR zurückfallen – SOSI-5304 (medium)
  • Changed
    Versions-API soll wieder mit älteren Clients kompatibel sein – SOSI-5341 (medium)
Version 4.27.0

– 5/3/24

Sophora Client API: 4.31.0.

  • Fixed
    Yellow Data sollen beim Sync vollständig übertragen werden – SOSI-5314 (critical)
  • Changed
    Versionen von Strukturknoten und Systemdokumenten sollen im Sync beschränkt werden können – SOSI-5277 (medium)
  • Changed
    Zugriffe auf den Live-WS loggen – SOSI-5191 (medium)
  • Improved
    Der ChannelTimingEventEmitter muss präzisere Queries verwenden – SOSI-5315 (high)
  • Added
    Content-API: Periodische Zeitplanung von Komponenten bei Validierung berücksichtigen – SOSI-5231 (medium)
Version 4.26.2

– 4/12/24

Sophora Client API: 4.29.0.

  • Changed
    Im ImageVariantMapper das Seitenverhältnis des Dokuments auslesen und im Model setzen – SOSI-5246 (medium)
  • Changed
    Es dürfen keine Warnmeldungen geloggt werden, wenn die Default-Konfigurationen gespeichert werden – SOSI-5264 (low)
Version 4.26.1

– 3/26/24

Sophora Client API: 4.27.3.

  • Fixed
    Kompatibilität mit Clients < 4.27.3 bzgl. geschachtelte NodeType-Konfigurationen wiederherstellen – SOSI-5302 (high)
  • Improved
    Die Replication soll bei Fehlern nicht einfach stehen bleiben können – SOSI-5274 (critical)
  • Added
    Alarm-Logger – SOSI-5275 (high)
    Notes You can now configure logging for special EMERGENCY events, which are events that require human intervention. Notifications can also be sent via email (see the "Logging" documentation for details) and are available as Prometheus metric (sophora_server_emergencies_total).
Version 4.26.0

– 3/7/24

Sophora Client API: 4.27.3. Achtung: Diese Version führt zu Problemen mit Clients < 4.27.3, wenn geschachtelte Formularfeldgruppen verwendet werden.

  • Fixed
    SolrCloud muss bei Parallelbetrieb mit internem Solr wieder Priorität bei Suchen haben – SOSI-5251 (high)
  • Fixed
    Das Sync-Datum des YellowDataSyncs sollte keine ungewollten Sprünge machen – SOSI-5235 (high)
  • Fixed
    Die Konsistenzprüfung bei Sessionless muss auch bei einer künstliche hochgezählten SourceTime funktionieren – SOSI-5287 (medium)
  • Fixed
    NPEs im SolrToSummaryConverter nach vollständigen Löschungen vermeiden – SOSI-5244 (medium)
  • Fixed
    Vollständige Löschungen dürfen in der Replikation nicht an Locks scheitern – SOSI-5233 (medium)
  • Fixed
    Auch bei YellowDataReplicationEvents muss die SourceTime vom Primary vorgegeben werden können – SOSI-5218 (medium)
  • Fixed
    Logging fixen: Kein Fehlalarm beim Sync von YellowData zu StagingSlaves – SOSI-4099 (medium)
  • Added
    Alte Thumbnails periodisch aufräumen – SOSI-5222 (high)
    Notes The file based thumbnail cache will be periodically cleaned by default to prevent an excessive amount of unused files. You can configure the cleanup job using the following sophora properties:

    * sophora.cache.thumbnail.cleanup.cron (Default 0 0 3 * * ?)
    * sophora.cache.thumbnail.cleanup.afterDays (Default 60)
Version 4.25.0

– 1/30/24

Sophora Client API: 4.27.2.

  • Fixed
    Die Replikation von CND-Änderungen muss für Stagings wieder funktionieren – SOSI-5247 (blocker)
    Notes This fixes the critical bug introduced in SOSI-5184 that was contained in the server releases 4.24.0 and 4.24.1.
  • Fixed
    Rollen, die von nicht veröffentlichten Nutzern referenziert werden, dürfen das Synchronisieren dieser Rolle nicht verhindern – SOSI-5237 (critical)
  • Changed
    Die Mixins eines Dokumentes sollen eine feste Reihenfolge haben – SOSI-5249 (low)
  • Added
    Neues Feld "Seitenverhältnis" im Dokumenttyp "Bildvariante" ergänzen – SOSI-5227 (medium)
  • Added
    Neue Properties für die periodische Zeitplanung von Komponenten einpflegen – SOSI-5201 (medium)
Version 4.24.1

– 1/23/24

Sophora Client API: 4.27.0. Atention: This version contains a bug that prevents the replication of changes to your nodetypes CNDs. You should not use this release.

  • Fixed
    Post-Aufrufe an die content-api scheitern wg. ungültiger CorsConfiguration – SOSI-5239 (high)
  • Fixed
    Das neue Shell-Script soll den Server stoppen können – SOSI-5179 (medium)
  • Improved
    XPath-Logging nur für explizite XPath-Queries – SOSI-5199 (medium)
    Notes XpathLogger was renamed to QueryUsageLogger and only logs on debug level.
Version 4.24.0

– 1/17/24

Sophora Client API: 4.27.0. Attention: This version contains a bug that prevents the replication of changes to your nodetypes CNDs. You should not use this release.

  • Fixed
    Die SourceTime von Events auf Staging-Servern muss immer steigend sein – SOSI-5184 (blocker)
    Notes Attention: This change introduces a bug that prevents the replication to staging server of changes to your nodetypes CNDs.
  • Fixed
    Asynchrone EventListener müssen mit konkurrierenden vollständigen Löschungen umgehen können – SOSI-5080 (medium)
  • Changed
    Asynchrone Eventlistener sollen auf Staging Servern synchron ausgeführt werden können – SOSI-5192 (high)
  • Changed
    Artefakt com.subshell.sophora.server in sophora-server überführen (einheitliche Dependencies) – SOSI-5175 (high)
    Notes The Maven module "com.subshell.sophora:com.subshell.sophora.server" has been moved/integrated into the module "com.subshell.sophora:sophora-server". If you use the old module as a dependency, update the entry to "sophora-server". If not, there is nothing to do; this change does not affect regular Sophora Server installations.
  • Improved
    Der Sync soll nicht alle Versionen eines Dokuments auf einmal in den Speicher laden – SOSI-5213 (high)
  • Added
    Content-API: Neuer Endpunkt zum Abfragen von neuen Dokumenten mit Defaultwerten – SOSI-5094 (medium)
    Notes Unter /document/default/{nodeTypeName}?structureNodeUUID={structureNodeUuid} kann ein leeres Dokument(-JSON) abgefragt werden, welches mit den Defaultwerten aus der Nodetypekonfiguration versehen ist.
Version 4.23.3

– 1/8/24

Sophora Client API: 4.27.0.

  • Fixed
    Automatisches Veröffentlichen scheitert, wenn Dokument locked ist – SOSI-5224 (critical)
  • Fixed
    Das transaktionsgebundene Locking soll keine doppelten Locks vergeben – SOSI-5225 (high)
Version 4.23.2

– 12/20/23

Sophora Client API: 4.27.0.

  • Fixed
    Nach dem Löschen wiederhergestellter Benutzer dürfen beim Aufruf von ISophoraClient.getUsernames() keine Exceptions auftreten – SOSI-5193 (high)
  • Changed
    Update von ActiveMQ wegen CVE-2023-46604 – SOSI-5220 (critical)
Version 4.23.1

– 12/14/23

Sophora Client API: 4.26.0.

  • Fixed
    Dokumente dürfen im Sync nicht falsch einsortiert werden – SOSI-5071 (critical)
  • Fixed
    Korrupte Events sollen die Eventverarbeitung nicht langfristig blockieren – SOSI-5187 (high)
Version 4.23.0

– 12/8/23

Sophora Client API: 4.26.0.

  • Fixed
    Alle Sessions müssen immer korrekt ablaufen – SOSI-5104 (medium)
  • Fixed
    Endlos-Rekursion bei geschachtelten Formularfeldgruppen erkennen und verhindern – SOSI-5096 (medium)
  • Added
    Auswahlwert Clientskript Auslöser erweitern um OPEN_DOCUMENT_FROM_CLIPBOARD – SOSI-5178 (medium)
  • Added
    Ex- und Import von geschachtelten Formularfeldgruppen ermöglichen – SOSI-5092 (medium)
Version 4.22.1

– 12/6/23

Sophora Client API: 4.25.0.

  • Fixed
    NullPointerException durch gelöschte Strukturknoten – SOSI-5186 (blocker)
  • Changed
    Der Name eines IndexConfigurationDocuments darf nicht mit sophora beginnen – SOSI-4590 (high)
    Notes Collections starting with "sophora" are reserved for internal use. No custom index configurations should start with "sophora". If you have an index configuration with a name starting with "sophora", please create a new one and delete the old configuration before updating to this or a future version of Sophora.

    Existing index configurations starting with "sophora" cannot be saved anymore and might interfere with Sophora-internal collections in the SolrCloud.
Version 4.22.0

– 11/30/23

Sophora Client API: 4.25.0.

  • Fixed
    Abrufen von Events über die Content-API darf nicht fehlschlagen – SOSI-5137 (high)
    Notes The sourceTime date representation returned by the content api events endpoint (content-api/events) now uses the ISO-8601 format. Example: 2022-05-23T21:21:18.910Z
  • Added
    XPath-Logging – SOSI-4511 (high)
    Notes This change adds a lot of logging on INFO-Level.
    You can turn this off, by adding this to your Sophora Servers logback.xml:
    <logger name="com.subshell.sophora.server.XpathLogger" level="ERROR" />
Version 4.21.11

– 11/21/23

Sophora Client API: 4.24.0.

  • Changed
    Logging im StagingMaster falls ein Event mit einer älteren SourceTime verarbeitet wird – SOSI-5177 (high)
  • Changed
    StructureInsertion sollte immer berücksichtigt werden – SOSI-5074 (medium)
  • Improved
    Published-Suchmethoden auch mit Solr-Queries ermöglichen – SOSI-5077 (high)
Version 4.21.10

– 11/14/23

Sophora Client API: 4.23.4.

  • Fixed
    Der ExceptionLoggingAspect soll keine internen Exceptions loggen und werfen – SOSI-5101 (medium)
    Notes We fixed a spelling error in ExceptionLoggingAspect (previously ExceptionLogginAspect). Please check your logback configuration and make sure the correct name is used, if applicable.
  • Changed
    Fehlerhaft: --Update von ActiveMQ wegen CVE-2023-46604-- – SOSI-5129 (critical)
    Notes Updated (December 2023): This version does not fix the CVE!

    In this issue, we attempted to update ActiveMQ to fix the CVE-2023-46604. Unfortunately, due to errors in the build process, the dependencies were not actually updated. We are fixing this in the Server versions 3.12.8 and 4.23.2.
Version 4.21.9

– 11/13/23

Sophora Client API: 4.23.4.

  • Fixed
    Interne Folge-Aufrufe am ContentManager sollen nicht der SourceTime-Prüfung unterliegen – SOSI-5107 (critical)
  • Fixed
    Unchronologische Versionen dürfen den Sync nicht beeinträchtigen – SOSI-5057 (high)
  • Fixed
    Sophora-ID-Historie wird u.U. nicht korrekt befüllt – SOSI-5103 (medium)
  • Changed
    "SophoraClient internal executor"-Threads in der Content-API richtig beenden – SOSI-5127 (medium)
  • Changed
    ETA im Sync soll nur die tatsächlichen Dokumente zählen – SOSI-5048 (low)
Version 4.21.8

– 10/24/23

Sophora Client API: 4.23.2.

  • Fixed
    Gelöschte Strukturknoten dürfen das Anlegen neuer Strukturknoten nicht verhindern – SOSI-5083 (medium)
Version 4.21.7

– 10/19/23

Sophora Client API: 4.23.2. When using Sophora Cloud Delivery (Sessionless), make sure you are using Sophora Clients >= 4.23.2.

  • Fixed
    StackOverflow während Server-Start beim Zugriff auf die System-Site – SOSI-5095 (high)
  • Fixed
    tryGetDocumentsByUuid muss auch mit ACS funktionieren – SOSI-4986 (high)
  • Fixed
    UserDocumentServiceExtension muss mit externen Referenzen in der Liste der Rollen eines Nutzers umgehen können – SOSI-5047 (medium)
Version 4.21.6

– 10/16/23

Sophora Client API: 4.23.2. When using Sophora Cloud Delivery (Sessionless), make sure you are using Sophora Clients >= 4.23.2.

  • Fixed
    Sophora Server im Cluster können nicht gleichzeitig starten – SOSI-5088 (critical)
  • Fixed
    StructureNodeValidationService muss mit doppelten externen Referenzen klarkommen – SOSI-5075 (medium)
  • Fixed
    Verweildauer soll Inhaltstypen pro Strukturknoten beachten – SOSI-5016 (medium)
  • Changed
    ACS: Implementierung weiterer Methoden und internes Refactoring – SOSI-5032 (high)
  • Changed
    Categories entfernen bzw. als deprecated markieren – SOSI-4420 (high)
    Notes The legacy categories will be removed in Sophora 5 and are now marked as "deprecated" in Sophora 4.
  • Changed
    Querys von der Sessionless-Konsistenzprüfung ausschließen – SOSI-5098 (medium)
    Notes Bei Nutzung von Sophora Cloud Delivery (Sessionless) muss ein Sophora-Client >= 4.23.2 verwendet werden.
  • Improved
    ChannelTimingEventEmitter soll weniger unnötige Exceptions werfen – SOSI-5056 (medium)
Version 4.21.5

– 10/2/23

Sophora Client API: 4.22.0.

  • Fixed
    Die Java-Ressourcen der s3 Objekte müssen nach Bearbeitung immer geschlossen werden – SOSI-5066 (medium)
Version 4.21.4

– 10/2/23

This release does not yet contain SOSI-5066 and is identical to 4.21.3

No changes.

Version 4.21.3

– 9/28/23

Sophora Client API: 4.22.0.

  • Fixed
    ItemNotFoundExceptions beim Löschen von YellowData verhindern – SOSI-5086 (critical)
Version 4.21.2

– 9/28/23

Sophora Client API: 4.22.0.

  • Fixed
    Strukturknoten müssen nach dem Import mit "publish" veröffentlicht sein – SOSI-5061 (high)
  • Fixed
    Liste der Rollen-UUIDs darf erst am Ende von Transaktionen aktualisiert werden – SOSI-5045 (high)
  • Fixed
    Ein Server im clusterMode open darf nicht fälschlicherweise zum Primary werden – SOSI-4607 (high)
  • Fixed
    Der Eingabefeldtyp "Auswahlwert (sortierbar, editierbar, multi)" übernimmt das Auswahlwertdokument aus der Default-Propertykonfiguration nicht – SOSI-5070 (medium)
  • Fixed
    Der NodeTypeProvider soll im Logging Dokumente und Strukturknoten nicht verwechseln – SOSI-4219 (medium)
  • Changed
    Server darf nicht starten, wenn commons-beanutils im Classpath des Servers liegt – SOSI-5034 (high)
  • Improved
    Die Servermetriken sollen einheitlich generiert werden – SOSI-5079 (low)
Version 4.21.1

– 9/11/23

Sophora Client API: 4.21.0.

  • Fixed
    Caching-Problem mit gerade erzeugten Strukturknoten beheben – SOSI-5049 (medium)
  • Fixed
    Beim Sync sollen Exceptions nach zwischenzeitlichen Änderungen vermieden werden – SOSI-5038 (medium)
  • Improved
    Handling von asynchronen EventListenern verbessern – SOSI-4983 (high)
Version 4.21.0

– 9/1/23

Sophora Client API: 4.21.0.

  • Fixed
    Die Passwordvergessen-Funktion soll nicht die Rechte des Benutzers der aktuellen Session abfragen – SOSI-5063 (critical)
  • Fixed
    Das Warten des Sophora Startskripts auf den internen Solr ist mit SolrCloud obsolet und soll entfernt/deprecated werden – SOSI-4666 (medium)
Version 4.20.4

– 8/30/23

Sophora Client API: 4.21.0.

  • Fixed
    Der User Access Token Manager muss die Locks korrekt freigeben – SOSI-5059 (high)
  • Fixed
    Tags dürfen nicht zum Taxonomiedokument hinzugefügt werden können, wenn diese sich bereits auf dessen Deny-Liste befinden – SOSI-4982 (medium)
Version 4.20.3

– 8/25/23

Sophora Client API: 4.21.0.

  • Fixed
    Neue API-Methoden zum Sortieren bzw. sortierten Einfügen von Strukturknoten muss mit null umgehen können – SOSI-5054 (low)
  • Changed
    Entfernung der Größenbeschränkung von internen Caches – SOSI-5027 (medium)
    Notes Die Konfigurationsmöglichkeiten für sophora.cache.passwordHash.maxSize, sophora.cache.structure.maxSize, sophora.cache.nodetype.maxSize und sophora.cache.proposalsection.maxSize wurden entfernt. Diese Caches sind ab sofort nicht mehr in ihrer Größe beschränkt. Dies kann zu einer leichten Erhöhung des Arbeitsspeicherbedarfs des Servers führen.
Version 4.20.2

– 8/14/23

Sophora Client API: 4.21.0.

  • Fixed
    Timing Actions reparieren – SOSI-5041 (critical)
Version 4.20.1

– 8/11/23

Sophora Core API: 4.21.0.

  • Fixed
    ACS: getPublishedDocumentByUuid-Implementierung fehlt – SOSI-5031 (blocker)
  • Changed
    ChannelTimingEventEmitter darf Solr nicht voraussetzen – SOSI-4934 (medium)
Version 4.20.0

– 8/9/23

Sophora Core API: 4.21.0.

  • Fixed
    getPublishedDocuments() darf keine Exception werfen, wenn zu einer UUID keine LiveVersion existiert – SOSI-5013 (critical)
  • Changed
    commons-beanutils aus dem Server entfernen – SOSI-5025 (high)
  • Changed
    Aktualisierung von Dependencies im Server in 4 – SOSI-5033 (medium)
    Notes In diesem Release werden viele vom Server genutzten Bibliotheken auf eine neuere Version aktualisiert. Die aktualisierten Bibliotheken sind: mysql-connector-java auf 8.0.33, gson auf 2.10.1, jdom2 auf 2.0.6.1, subshell:notsoserial auf 1.0.1, spring auf 4.2.20, jetty-xml auf 9.4.51.v20230217, aws-java-sdk auf 1.12.523, sophora-url-commons auf 4.6.0, micrometer auf 1.11.2, commons-cli auf 1.5.0, hibernate-core auf 5.6.15.final, commons-configuration auf 1.10, commons-fileupload auf 1.5, commons-validator auf 1.7, jolokia-core auf 1.7.2

    Folgende Dependencies wurden entfernt, sind teilweise aber noch transitiv im Server enthalten:
    xbean, cglib-nodep, antlr, multithreadedtc
  • Improved
    Inkonsistenzen beim Caching von Rollen beheben – SOSI-5026 (critical)
    Notes Diese Verbesserung behebt ein Performanceproblem, das seit der Serverversion 4.17.0 im Zusammenhang mit der Nutzung des Sophora Cloud Delivery ("Sessionless") unter bestimmten Bedingungen auftreten konnte.
  • Improved
    URL-Generierung beschleunigen durch Verbesserung des Strukturknoten-Cachings – SOSI-4973 (high)
Version 4.19.0

– 8/3/23

Warning: This version may cause severe performance issues for staging servers with the "Sophora Cloud Delivery" feature ("sessionless") enabled. Sophora Core API: 4.20.0.

  • Improved
    SolrCloud Request Forwarding soll POST verwenden – SOSI-4989 (medium)
  • Improved
    Die Content API soll einen Endpunkt zum Abrufen der eigenen Server Info anbieten – SOSI-5021 (low)
  • Added
    Neue API-Methoden zum Sortieren bzw. sortierten Einfügen von Strukturknoten implementieren – SOSI-4971 (high)
Version 4.18.2

– 7/6/23

Warning: This version may cause severe performance issues for staging servers with the "Sophora Cloud Delivery" feature ("sessionless") enabled. Sophora API: 4.19.1. Sophora JSON: 4.19.1.

  • Fixed
    ACS: getPublishedDocumentsByUuid-Implementierung fehlt – SOSI-4987 (critical)
Version 4.18.1

– 6/28/23

Warning: This version may cause severe performance issues for staging servers with the "Sophora Cloud Delivery" feature ("sessionless") enabled. Sophora API: 4.19.1. Sophora JSON: 4.19.1.

  • Changed
    Warten auf LifeCycleMbean im SophoraServerControl verlängern – SOSI-4979 (medium)
  • Changed
    Timeout für das Starten der Derby-DB für die ChangeRegistry sollte konfigurierbar sein – SOSI-4972 (medium)
Version 4.18.0

– 6/21/23

Warning: This version may cause severe performance issues for staging servers with the "Sophora Cloud Delivery" feature ("sessionless") enabled. Sophora API: 4.19.1. Sophora JSON: 4.19.1.

  • Fixed
    Das Werfen von Events soll ContentManagerRequests nicht so lange blockieren – SOSI-4880 (critical)
  • Added
    Neues Property imageUrl in Strukturknoten – SOSI-4966 (medium)
    Notes Für die Generierung von Sophora-Image-Service-URLs wird nun das neue Property "imageUrl" der Site verwendet, in der das Bilddokument verortet ist.
    Das Konfigurationsproperty "sophora.url.image-service-domain" wurde in "sophora.url.image-service-default-domain" umbenannt, der Wert wird nur dann verwendet, wenn in der Site kein Wert für die "imageUrl" angegeben wurde.
Version 4.17.0

– 6/16/23

Warning: This version may cause severe performance issues for staging servers with the "Sophora Cloud Delivery" feature ("sessionless") enabled. Sophora API: 4.19.1. Sophora JSON: 4.19.1.

  • Fixed
    Richtige Behandlung von Anführungszeichen in Solr-Query – SOSI-4940 (high)
  • Changed
    Benutzer ohne Admin-Recht dürfen Nutzer mit Admin-Recht nicht per Query finden – SOSI-4978 (high)
  • Changed
    Anpassungen für Java 17 – SOSI-4571 (medium)
    Notes Dieses Release macht den Sophora Server kompatibel mit Java 17. Ab Sophora 5 wird Java 17 erforderlich für den Betrieb von Sophora sein. Ab Sophora 4 ist Java 17 nun für den Betrieb möglich. Es kann in Sophora 4 weiterhin Java 11 zum Betrieb genutzt werden. Das Container-Image des Servers in der Version 4 nutzt ab dieser Version Java 17.
  • Added
    Fehler bei der Suche nach mehreren Dokumenten ignorieren – SOSI-4955 (medium)
  • Added
    Speichern von Usern auf Dokumenttyp-Berechtigung umstellen – SOSI-4922 (medium)
    Notes Achtung: Vor der Installation dieser Server-Version sollten die Berechtigungen für Benutzer- und Rollendokumente geprüft werden, damit niemand Benutzer verwalten kann, der das nicht dürfen soll! Dieses Feature benötigt mindestens DeskClient-Version 4.17.0.

    Nicht-Admin-Benutzer mit Speicherberechtigung auf Benutzerdokumenten können im Admin-Bereich des DeskClients nun über die Benutzerverwaltung andere Nicht-Admin-Benutzer bearbeiten. Dazu wird auch das Lese-Recht auf Rollendokumenten und das Anlege-, Veröffentlichen- und Löschen-Recht auf Benutzerdokumenten benötigt. Zusätzlich muss das Strukturknotenrecht zum Lesen/Bearbeiten von Dokumenten an den jeweiligen Strukturknoten vorhanden sein, in dem sich die Benutzerdokumente befinden. Für die Rollen reicht das Leserecht aus. Um auch noch die Benutzereinstellungen anderer Benutzer bearbeiten zu können, wird das Lese- und Schreib-Recht auf User-Settings-Dokumenten benötigt.
    Einschränkung: Nicht-Admin-User dürfen keine Admin-User bearbeiten, um sich nicht selbst zum Admin zu erklären oder vorhandenen Admins das Admin-Recht wegzunehmen.
  • Added
    Lesen von Usern auf Dokumenttyp-Berechtigung umstellen – SOSI-4921 (medium)
Version 4.16.3

– 6/5/23

Sophora JSON: 4.19.0.

  • Fixed
    Beim Öffnen von Dokumenten aus einer URL in der Zwischenablage muss die Domain berücksichtigt werden – SOSI-4969 (medium)
  • Improved
    Tab-Dokumente mit gleichem Label sollen im Adminbaum voneinander unterscheidbar sein – SOSI-4970 (medium)
    Notes Diese Änderung passt das Label der Tabdokumente in der Übersicht an und betrifft nur Sophora Installationen, die neu aufgesetzt werden. Bestehende Installationen sind hiervon nicht beeinflusst.
Version 4.16.2

– 5/19/23

Sophora JSON: 4.19.0.

  • Fixed
    Der NodeTypeCache muss bei Änderungen korrekt invalidiert werden – SOSI-4935 (high)
  • Fixed
    Ohne verfügbare SolrCloud dürfen sich keine Threads anstauen – SOSI-4929 (high)
Version 4.16.1

– 4/27/23

Sophora API: 4.17.3. Sophora JSON: 4.17.3.

  • Fixed
    Die Solr-Suche nach virtuellen Properties soll zwischen internen Solr und SolrCloud unterscheiden – SOSI-4948 (critical)
  • Fixed
    Der EventDispatcher soll bei leerer Event-Queue direkt heruntergefahren werden können – SOSI-4949 (medium)
Version 4.16.0

– 4/20/23

Sophora API: 4.17.2. Sophora JSON: 4.17.2.

  • Changed
    Update auf Spring 5.3.26 – SOSI-4942 (medium)
    Notes The dependencies were updated. Crucial updates include Spring in version 5.3.26.
    Groovy 3.0 is now used as scripting engine.
Version 4.15.2

– 4/5/23

Sophora JSON: 4.16.0.

  • Fixed
    ItemNotFoundException beim vollständigem Löschen von Dokumenten – SOSI-4936 (high)
  • Fixed
    Events müssen in der Reihenfolge ihres Auftretens verarbeitet werden (auch bei IAsyncServerEventListener) – SOSI-4843 (high)
Version 4.15.1

– 3/16/23

Warning: Do not use this release as it generates Exceptions when permanently deleting documents

  • Fixed
    Der StructureNodeCache wird nach der Synchronisierung nicht invalidiert – SOSI-4913 (critical)
  • Fixed
    ArchiveWorker soll maxVersionsToKeep auch beachten, wenn ein großes maxVersionsToRetain konfiguriert ist – SOSI-4915 (medium)
    Notes The JMX-Operation com.subshell.sophora:name=ArchiveWorker#addToQueue(String, int) has been removed as it has not been working as intended.
  • Changed
    saveSophoraDocument mit preserveHistory aus ContentManager auf deprecated setzen und Alternative anbieten – SOSI-4920 (high)
  • Changed
    Offline Dokumente sollen auf Stages sofort vollständig gelöscht werden – SOSI-4351 (medium)
    Notes Using JMX, all settings for the DeletedDocumentsWorker can now be found in one place. Especially the cron expression and the trigger (previously located at 'cron/CronManager') are now located at 'DeletedDocumentsWorker'.
    A document on a Staging Server will now be deleted immediately via events when it is deleted or set offline on the primary server. Prior to this version only the DeletedDocumentsWorker removed documents marked as offline or deleted in a cron job.
Version 4.15.0

– 2/20/23

Sophora API: 4.15.1. Sophora JSON: 4.15.1.

  • Fixed
    Speicherskript für das IPTC-Add-on muss auch beim Import von neuen Bildern greifen – SOSI-4910 (medium)
    Notes Wenn das Skript verwendet werden soll, muss dieses ggf. erneut veröffentlicht werden.
  • Fixed
    NPE im SessionManager – SOSI-4878 (medium)
  • Fixed
    Die Dashboardabfrage der Konfigurationshashes darf nicht durch interne Fehler scheitern – SOSI-4846 (medium)
    Notes The following Content-API endpoints are removed in version 5: /configuration/hashes/nodeTypeConfiguration, /configuration/hashes/formFieldGroup, /configuration/hashes/defaultPropertyConfiguration, and /configuration/hashes/defaultChildNodeConfiguration

    The corresponding ISophoraClient methods are also removed in version 5.
  • Changed
    Umstellung der Change Registry auf eine Derby Datenbank – SOSI-4545 (medium)
    Notes Bei einem ersten Start des Servers in dieser Version wird die H2 Datenbank der Change Registry auf eine Derby Datenbank umgestellt. Abhängig von der Größe der Change-Registry, verzögert sich dadurch der erste Neustart um bis zu 1h30 verzögern.
  • Improved
    Der Sophora-Server soll die idHistory auch beim Speichern befüllen – SOSI-4864 (medium)
Version 4.13.0

– 2/7/23

Sophora JSON: 4.15.0.

  • Fixed
    ItemNotFoundException im QuerySelectValueParser verhindern – SOSI-4862 (low)
  • Improved
    Taxonomien in Abhängigkeit der Dokumentverortung ermöglichen – SOSI-4879 (medium)
    Notes Es ist nun möglich, ein Taxonomie-Eingabefeld, z.B. ein "Externe Tags"-Feld in Artikeln, je nach Dokumentverortung eine andere Tags-Liste zugrunde zu legen.
    Dazu können in der Propertykonfiguration zu Taxonomie-Eingabefeldern nun mehrere Taxonomiedokumente ausgewählt werden und in den Taxonomiedokumenten kann eingetragen werden, für welche Site(s) sie gültig sind. Wenn dort keine Site ausgewählt ist, ist das jeweilige Taxonomiedokument für alle Sites gültig (aus Gründen der Abwärtskompatibilität).
    In einem Dokument mit Taxonomie-Eingabefeld (z.B. Artikel) wird dann das Taxonomiedokument verwendet, welches in der Propertykonfiguration eingetragen und für die Site, in dem das (Artikel-)Dokument verortet ist, gültig ist. Pro Taxonomie-Eingabefeld und Dokumentverortung darf daher immer nur genau ein Taxonomiedokument gültig sein.
    Das vollständige Feature funktioniert erst mit einem DeskClient ab Version 4.13.0 (wegen SODCI-8940). In eingesetzten Mobile Clients muss SOWI-1562 enthalten sein. Vorher sollten noch keine entsprechenden Einstellungen vorgenommen werden. Außerdem müssen Benutzer die verwendeten Taxonomiedokumente zumindest lesen können.
  • Improved
    Alle Dokumenttypen aus der Zeitplanungstabelle von Strukturknoten beachten – SOSI-4833 (medium)
    Notes Das Feature funktioniert erst vollständig mit einem DeskClient ab Version 4.13.0 (wegen SODCI-8900).
  • Added
    Dokumentmodellierung und Speicherskript für das IPTC-Add-on beim Serverstart bereitstellen – SOSI-4865 (medium)
Version 4.12.12

– 2/2/23

Sophora API: 4.14.6. Sophora JSON: 4.14.6.

  • Fixed
    Events müssen an Tools verteilt werden, die mit acs=true verbunden sind – SOSI-4872 (medium)
  • Fixed
    Document-UUID-Locks konfigurierbar machen – SOSI-4858 (medium)
Version 4.12.11

– 1/18/23

Sophora API: 4.14.6. Sophora JSON: 4.14.6.

  • Changed
    getDocumentUrl() soll bei Bild-URLs kein .html anhängen. – SOSI-4885 (medium)
Version 4.12.10

– 1/3/23

Sophora API: 4.14.6. Sophora JSON: 4.14.6.

  • Fixed
    ClassCastException im LocalTransactionManager verhindern – SOSI-4823 (medium)
Version 4.12.9

– 12/30/22

Sophora API: 4.14.6. Sophora JSON: 4.14.6.

  • Fixed
    Der Migrationsmodus an Sessions soll auch repliziert werden – SOSI-4869 (medium)
Version 4.12.8

– 12/8/22

Sophora API: 4.14.4. Sophora JSON: 4.14.4.

  • Fixed
    Verhinderung von Deadlocks durch den TransactionalLockSupport – SOSI-4860 (critical)
Version 4.12.7

– 12/6/22

Sophora API: 4.14.4. Sophora JSON: 4.14.4.

  • Fixed
    Indexkonfigurationsdokumente müssen auf Stages eingelesen werden können – SOSI-4857 (blocker)
    Notes Diese Version behebt die Probleme mit der internen Solr-Indexierung auf Staging-Servern.
  • Fixed
    Doppelte Konfiguration von virtuellen Properties darf nicht zu Exceptions führen – SOSI-4768 (medium)
Version 4.12.6

– 11/28/22

Warning: Do not use on Staging Servers. There is a bug in versions 4.12.4 - 4.12.6 concerning Solr indexing on Staging servers.

  • Fixed
    Dokumentaktionen dürfen sich nicht gegenseitig blockieren – SOSI-4844 (blocker)
  • Fixed
    Verwendung von preserveHistory in Skripten – SOSI-4849 (medium)
Version 4.12.5

– 11/24/22

Warning: Do not use on Staging Servers. There is a bug in versions 4.12.4 - 4.12.6 concerning Solr indexing on Staging servers.

  • Fixed
    Die UserMigration muss für den Strukturknoten für Nutzer eine externalId vorgeben – SOSI-4845 (critical)
Version 4.12.4

– 11/24/22

Warning: Do not use on Staging Servers. There is a bug in versions 4.12.4 - 4.12.6 concerning Solr indexing on Staging servers.

  • Fixed
    AccessToken Sessions sollen auch auslaufen – SOSI-4829 (medium)
  • Fixed
    Konsistenz des ModificationDates der letzten Live Version eines Dokuments – SOSI-4820 (medium)
  • Changed
    Ausführungszeit der Userfilter-Queries optimieren – SOSI-4810 (high)
  • Changed
    Die UserSettings sollen nicht mehr versioniert werden – SOSI-4832 (medium)
Version 4.12.3

– 10/21/22

Sophora API: 4.14.2. Sophora JSON: 4.14.2.

  • Fixed
    Nodetypekonfigurations-Export: Fehlende Eingabefeldtypparameter im XML bei Properties, die die "Standardkonfiguration verwenden" – SOSI-4824 (high)
  • Fixed
    Die erste Änderung eines Query-Auswahlwertes mit Label eines anderen Query-Auswahlwerts soll nicht alle Dokumente neu indizieren – SOSI-4816 (high)
Version 4.12.2

– 10/17/22

Sophora API: 4.14.2. Sophora JSON: 4.14.2.

  • Fixed
    Verhalten bei Sessionless-Reconnects prüfen/verbessern – SOSI-4789 (high)
  • Fixed
    Konsistente Vergabe der SourceTimes in Events beim Veröffentlichen von Strukturknoten – SOSI-4756 (high)
  • Fixed
    OutOfMemoryError durch Hinzufügen von virtuellen Properties in Nodetypekonfiguration – SOSI-4805 (medium)
Version 4.12.1

– 9/27/22

Sophora JSON: 4.14.0.

  • Fixed
    Die Veröffentlichung eines Strukturknotens muss immer korrekt auf Stages repliziert werden – SOSI-4806 (medium)
  • Fixed
    Auch nicht suchbare Dokumente bei der Initialisierung des Invertible-Bloom-Filters berücksichtigen – SOSI-4804 (medium)
  • Changed
    groovy-templates als Dependency hinzufügen – SOSI-4798 (medium)
Version 4.12.0

– 9/20/22

Sophora JSON: 4.14.0.

  • Fixed
    Nach Verbindungsabbruch zum Zookeeper/SolrCloud muss ein Reconnect erfolgen – SOSI-4785 (critical)
  • Fixed
    Die Dashboardabfrage der Konfigurationshashes darf nicht durch interne Fehler scheitern – SOSI-4807 (medium)
  • Improved
    Version Batch Size auch per sophora.properties konfigurierbar machen – SOSI-4778 (medium)
  • Improved
    Neue Funktion getPendingEventsWithTimestamp implementieren – SOSI-4765 (medium)
Version 4.11.9

– 9/2/22

Sophora JSON: 4.13.0.

  • Fixed
    Der UserName-Cache soll richtig funktionieren – SOSI-4811 (critical)
Version 4.11.8

– 9/1/22

Sophora JSON: 4.13.0.

  • Improved
    ProposalSectionCache muss in der Größe konfigurierbar sein – SOSI-4814 (critical)
Version 4.11.7

– 8/30/22

Sophora JSON: 4.13.0.

  • Improved
    Kritische Server-Caches müssen größer und in der Größe konfigurierbar sein – SOSI-4809 (critical)
Version 4.11.6

– 8/18/22

Sophora JSON: 4.13.0.

  • Fixed
    Format von solrQuery und solrRawQuery soll sich mit Solr Cloud nicht ändern – SOSI-4786 (blocker)
Version 4.11.5

– 8/17/22

Sophora JSON: 4.13.0.

  • Fixed
    Vererbte Properties werden nach der Migration auf 4 nicht korrekt ausgewertet – SOSI-4781 (medium)
  • Improved
    Performance- und Funktionsverbesserung der Taxonomie-Tags – SOSI-4775 (medium)
    Notes Durch eine Änderung der Verarbeitung der Tags im Server sind Suchen nach Tags nun wesentlich schneller und genauer als bisher.
Version 4.11.4

– 8/9/22

Sophora JSON: 4.13.0.

  • Fixed
    Der Server soll bei deaktiviertem internen Solr keine Indexierungsvorbereitungen machen – SOSI-4784 (high)
Version 4.11.3

– 8/8/22

Sophora JSON: 4.13.0.

  • Fixed
    Die Property-Konfiguration muss konfigurierte Rollen/Rechte verwenden, wenn der Eingabefeldtyp aus der Defaultkonfiguration verwendet wird – SOSI-4801 (blocker)
Version 4.11.2

– 7/26/22

Sophora API: 4.12.2. Sophora JSON: 4.12.2.

  • Fixed
    Parameter bei der Generierung der URLs als Sophora-Url-Parameter behandeln – SOSI-4792 (medium)
  • Fixed
    Besserer Umgang mit Locks, die an Transaktionen gebunden sind – SOSI-4617 (medium)
  • Improved
    RebuildTaxonomy-MBean muss Attribute cachen können – SOSI-4206 (low)
Version 4.11.1

– 7/19/22

Sophora API: 4.12.1. Sophora JSON: 4.12.1.

  • Fixed
    Das Update auf 4 darf Formularfeldgruppen nicht suchbar machen – SOSI-4543 (medium)
Version 4.11.0

– 6/28/22

This is the minimum server version required if you want use the new findDocumentIds method of clients >= 4.12.0.

  • Changed
    Update von SolrJ für Kompatibilität mit SolrCloud in Version 9 – SOSI-4777 (high)
    Notes Ab dieser Serverversion ist es möglich, den Server zusammen mit einer SolrCloud in der Version 9 zu verwenden.
  • Improved
    Suche nach Tags aus Taxonomien soll immer eindeutige Treffer zurückliefern – SOSI-4717 (medium)
  • Improved
    Die Größe des BinaryStoreCaches soll konfigurierbar sein – SOSI-4692 (medium)
  • Added
    Die DerivedDocumentChangedEvents sollen auch SophoraIds und ExternalIDs enthalten – SOSI-4680 (medium)
  • Added
    Die maximale Anzahl der Versionen im Hauptrepo soll pro NodeType gesteuert werden können – SOSI-4558 (medium)
Version 4.10.0

– 5/25/22

Warning: This version is incompatible with Client version 4.11. You should not use it. Sophora JSON: 4.11.0.

  • Fixed
    Referenzen auf Binärdaten dürfen auf Stages unter Verwendung des Cloud Binary Stores nicht verloren gehen – SOSI-4714 (critical)
  • Fixed
    Der Versionsparameter-Auswahlwert darf nur einmal initial gesetzt werden – SOSI-4695 (medium)
  • Changed
    Die sourceTime auf Stages und Replicas darf nur auf Basis von Änderungen aus der Replikation aktualisiert werden – SOSI-4705 (critical)
  • Changed
    SolrQueryBuilder und JcrXPathQueryBuilder müssen konfiguriertes ModificationDate-Property für HistoryQueries nutzen – SOSI-4770 (medium)
  • Changed
    Auswahlwert "Suchergebnissortierung" soll "sophora:visibleModificationDate" statt "sophora:modificationDate" enthalten – SOSI-4763 (medium)
    Notes Bei frisch neu aufgesetzten Repositories enthält das Auswahlwertdokument "Suchergebnissortierung" nun 'sophora:visibleModificationDate' statt 'sophora:modificationDate'. In bestehenden Repositories wird das vorhandene Auswahlwertdokument nicht verändert. Falls Suchergebnisse dort nach dem neuen Property 'sophora:visibleModificationDate' sortiert werden sollen, muss das Auswahlwertdokument manuell angepasst werden. Zuvor muss der Solr-Index jedoch neu indexiert werden, damit das Property dort entsprechend vorhanden ist.
  • Changed
    Neue sophora:visibleXxxDate-Datumsfelder in "document.export.propertiesNotToExportInSophoraXml" aufnehmen – SOSI-4758 (medium)
  • Changed
    Erweiterung für Channels im ScriptingDocumentManager implementieren – SOSI-4757 (medium)
  • Changed
    Metadaten-Tab um Properties sophora:visibleXxxDate erweitern – SOSI-4710 (medium)
    Notes Es gibt nun neben der Formularfeldgruppe "Bearbeitungsinformationen (technisch)" (mit UUID "035680a6-72df-43e8-9faf-6512b3fec67f") die beiden Formularfeldgruppen "Bearbeitungsinformationen (redaktionell)" (UUID: "15bd50fb-9976-49a0-9c5d-0c12cf3573c7") mit den neuen "sophora:visibleXxxDate"-Properties und "Systembearbeitungsinformationen" (UUID: "92ac1c52-03a1-4df5-bcf6-bbc4a6da0b9a") mit neu benannten "sophora:XxxDate"-Properties, die stattdessen auf dem Metadaten-Tab eingebunden werden können bzw. bei Systemdokumenten automatisch eingebunden werden.
  • Changed
    Unterstützung für sophora:visibleXxxDate im Server – SOSI-4696 (medium)
  • Improved
    Hierarchische Ablage der Binärdaten im Cloud Binary Store – SOSI-4706 (medium)
  • Improved
    Der SMTP Port, Username und Passwort des verwendeten Mailservers müssen konfigurierbar sein – SOSI-4587 (medium)
  • Added
    ClusterTest#testSwitchFromSlave muss zuverlässig durchlaufen – SOSI-4553 (medium)
Version 4.9.0

– 3/25/22

Sophora API: 4.9.3. Sophora JSON: 4.9.3.

  • Fixed
    URL-Generierung: Domain aus der Site soll Vorrang vor der Einstellung aus den sophora.properties haben – SOSI-4693 (medium)
  • Fixed
    Ein Update auf Sophora 4 darf nicht an Strukturbereichen scheitern – SOSI-4684 (medium)
  • Fixed
    Die Größen der BinaryReferenceValues müssen auch unter Verwendung des Cloud Binary Stores repliziert werden – SOSI-4681 (medium)
    Notes Diese Version darf nicht unter Verwendung des Cloud Binary Stores verwendet werden, da andernfalls Referenzen auf Binärdaten in Staging Server verloren gehen können.
  • Fixed
    Änderungen an Default-Propertykonfigurationen und Default-Childnodekonfigurationen müssen übernommen werden – SOSI-4671 (medium)
  • Fixed
    Virtuelle Properties sollen in Solr kein Slash enthalten – SOSI-4623 (medium)
  • Changed
    Auswahlwertdokumente sollen standardmäßig schützbar sein – SOSI-4694 (medium)
  • Improved
    Exzessives Logging des ConfigServices verbessern und Ausbau des Metrik Loggers – SOSI-4474 (medium)
    Notes The MetricsReporter has been removed due to the overabundance of logentries of the form "[metrics-logger-reporter-1-thread-1] [IP: ] [UUID: ] [SOPHORA_ID: ] [USER: ] type=TIMER, name=Priority-Indexer-Access.duration, count=235, min=0.07001, max=827.385977, mean=38.2305206755052, stddev=20.209579972306937, median=48.47197, p75=48.986453, p95=53.143555, p98=55.461641, p99=70.805991, p999=77.183386, mean_rate=0.18294273706662087, m1=0.0559608667724618, m5=0.10398063128684548, m15=0.11917578186797319, rate_unit=events/second, duration_unit=milliseconds".
    You can therefore remove all logback entries referring to "com.subshell.sophora.server.MetricsReporter"
  • Added
    Metriken für Server-Skripte bereitstellen – SOSI-4661 (medium)
    Notes Die Prometheus-Schnittstelle des Sophora Servers enthält nun Metriken der Server-Skripte.
Version 4.8.1

– 2/24/22

Sophora API: 4.9.2. Sophora JSON: 4.9.2.

  • Fixed
    SophoraID der Nodetype-Dokumente darf sich nach Migration nicht unterscheiden – SOSI-4605 (critical)
  • Fixed
    Sessions dürfen nach einem Clusterschwenk nicht sofort ablaufen – SOSI-4647 (high)
  • Improved
    In der SolrCloudSearchStrategy darf nicht vor jeder Query ein Ping gesendet werden – SOSI-4471 (medium)
Version 4.8.0

– 2/11/22

Sophora API: 4.9.1. Sophora JSON: 4.9.1.

  • Fixed
    Authentifizierung zu SolrCloud sollte Passwort mit Sonderzeichen unterstützen – SOSI-4602 (high)
  • Fixed
    Sophora Server sollten ihre eigene ServerInfo generieren und diese nie aus dem Repository holen. – SOSI-4657 (medium)
  • Fixed
    DocumentChangedEvents müssen nach einer vollständigen Löschung korrekt sein – SOSI-4640 (medium)
  • Changed
    Parametrisiertes Veröffentlichen: Server und API – SOSI-4594 (medium)
  • Changed
    In Sophora 4 muss die Solr-Indexierung ausgeschaltet werden können – SOSI-4278 (medium)
  • Improved
    HTTP Endpunkt zum Erzeugen von Threaddumps bereitstellen – SOSI-4644 (medium)
Version 4.7.2

– 1/20/22

Sophora JSON: 4.8.0.

  • Fixed
    getAllPublishedStructureInfos und getPublishedSites muss gecached werden – SOSI-4619 (high)
  • Fixed
    Begrenzung des Umfangs der Transaktion bei vollständigen Löschungen – SOSI-4636 (medium)
  • Fixed
    Zu häufige ServerInfoChangedEvents unterbinden – SOSI-4620 (medium)
    Notes All Sophroa server in cluster should be updated at the same time to this version. There is a change in the hash calculation of system documents, so that otherwise false positive differences between the servers will be displayed in the dashboard.
  • Fixed
    Nodetypekonfigurationen im Standard-Nodetype-XML müssen auch im Migrationsmodus importiert werden können – SOSI-4583 (medium)
  • Improved
    Zu häufige Logmeldungen über geänderte ServerInfos vermeiden – SOSI-4604 (medium)
Version 4.7.1

– 1/4/22

Sophora API: 4.7.3. Sophora JSON: 4.7.3.

  • Fixed
    Im Anschluss an Full-Reindex-Operationen werden Dokumente nicht mehr nach Änderungen indexiert – SOSI-4586 (critical)
  • Fixed
    Index-Konfigurationsdokumente lassen sich mit Core < 4.5.3 nicht speichern – SOSI-4614 (high)
  • Improved
    Logging im DeletedDocumentsWorker verbessern – SOSI-4631 (high)
  • Added
    Erweiterung Content-API um Liveversion – SOSI-4551 (medium)
Version 4.7.0

– 12/13/21

Sophora API/JSON: 4.7.2. This server requires at least DeskClient 4.5.2.

  • Added
    Integration der neuen URL-Generierungslogik im Server – SOSI-4501 (medium)
    Notes Mit dieser Version wird eine neue Strategie für das Parsen und Generieren von URLs eingeführt. Die neue Strategie wird als Default verwendet.
    Damit die korrekten URLs generiert werden können, müssen neue Konfigurationsparameter für die URL Generierung angepasst werden. Details können der Dokumentation entnommen werden:
    http://subshell.com/docs/4/server/server114.html#URL-Generation

    Möchte man weiterhin die bisherige Strategie verwenden, die auf die Deliveries zugreift, kann man folgenden Konfigurationsparameter setzen:
    sophora.url.use-url-library=false
Version 4.6.1

– 12/10/21

Sophora API/JSON: 4.7.2. This server requires at least DeskClient 4.5.2.

  • Fixed
    Zu häufige Wiederholungen nach Fehlern beim Versionslöschen aus dem Archiv – SOSI-4598 (high)
  • Fixed
    RoleDocumentMapper darf nur mit Dokumenten mit externen Referenzen aufgerufen werden – SOSI-4595 (high)
  • Fixed
    ConcurrentModificationException in LifeCycle.getInitializedSolrCores – SOSI-4593 (medium)
  • Fixed
    Der Endpunkt /onlineSolrDocumentCountsFixedHorizon muss auf Cluster-Servern den richtigen Solr-Core verwenden – SOSI-4573 (medium)
Version 4.6.0

– 12/1/21

Sophora API/JSON: 4.7.0. This server requires at least DeskClient 4.5.2.

  • Fixed
    Der Offline Core des internen Solrs darf nicht durch die Offline-Indexkonfiguration für die SolrCloud überschrieben werden – SOSI-4588 (high)
  • Fixed
    DerivedDocumentChanges nach Strukturknotenänderungen müssen auch dann geworfen werden, wenn nur die Live-Version betroffen ist – SOSI-4549 (medium)
  • Changed
    System-Dokumente für die Offline-Collection bereitstellen – SOSI-4541 (medium)
  • Improved
    JSON Logging im Server ermöglichen – SOSI-4581 (medium)
    Notes Ab dieser Version des Sophora Servers ist es möglich über eine Konfiguration in der logback.xml Datei das Logging des Servers auf JSON umzustellen. Werden Log-Aggregationssysteme wie Grafana Loki, Logstash , Datadog, Google Cloud Logging o.ä. genutzt, können diese die Logs des Sophora Servers nun besser parsen. Details zur Konfiguration können der Dokumentation entnommen werden.
  • Improved
    Der SolrClient soll HTTP POST für Queries gegen die SolrCloud verwenden – SOSI-4580 (medium)
  • Improved
    Umbenennen von Collections verbieten – SOSI-4482 (medium)
  • Added
    Neue Methoden in ContentManager implementieren – SOSI-4575 (medium)
  • Added
    Index-Mappings sollen Basis-Mapping steuern können – SOSI-4561 (medium)
    Notes Index Mappings now have the new property "sophora:baseMapping".
    This property is only taken into account by the external application Sophora Indexing Service and is part of a new feature set that allows to model the Offline Document Index as a regular Sophora Index.
Version 4.5.1

– 11/10/21

  • Improved
    Bei einer ServerSourceTimeOutdatedException soll erkennbar sein, welcher Server sie geworfen hat – SOSI-4576 (medium)
Version 4.5.0

– 11/1/21

Sophora API: 4.5.4. Sophora JSON: 4.5.4.

  • Fixed
    Server: DerivedDocumentChangedEvents ohne Abhängigkeit zu Solr erzeugen – SOSI-4321 (critical)
  • Added
    Indexkonfigurationen sollen um die Option "Nur Offline-Dokumente" erweitert werden – SOSI-4560 (medium)
    Notes IndexConfigurationDocuments now have the new property "sophora:isOfflineIndex".
    This property is only taken into account by the external application Sophora Indexing Service and is part of a new feature set that allows to model the Offline Document Index as a regular Sophora Index.
  • Added
    Feld "Erstveröffentlichungsdatum" automatisch füllen – SOSI-4547 (medium)
    Notes Das Feld "Erste Veröffentlichung am" ("sophora:firstPublicationDate") wird nun (nur) bei der allerersten Veröffentlichung eines Dokumentes automatisch mit dem jeweiligen Erstveröffentlichungsdatum gefüllt. Das Feld kann im Migrationsmodus explizit gesetzt werden.
Version 4.4.1

– 10/8/21

Sophora API: 4.5.2. Sophora JSON: 4.5.2.

  • Fixed
    Die Listen der Server müssen unter allen Schnittstellen identisch sein – SOSI-4534 (critical)
  • Fixed
    Wenn in Strukturknoten Ausspielkanäle an- oder abgeschaltet werden, muss ggf. neu indexiert werden – SOSI-4529 (critical)
  • Fixed
    Bei einer Veröffentlichung eines Strukturknotens müssen sich die changedChannelSettings auf die letzte Liveversion beziehen – SOSI-4528 (medium)
  • Improved
    ReentrantLockProvider statt StringKeyLockManager verwenden – SOSI-4554 (medium)
Version 4.4.0

– 9/29/21

Sophora API: 4.5.2. Sophora JSON: 4.5.2.

  • Fixed
    Event-Scripte müssen wieder ausgewertet werden – SOSI-4552 (blocker)
  • Fixed
    In Solr-Live-Cores soll der Live-Strukturknotenpfad stehen – SOSI-4452 (critical)
  • Fixed
    Unveröffentlichte Änderungen an vererbten Properties dürfen nicht in veröffentlichten Dokumenten sichtbar sein – SOSI-4438 (critical)
  • Improved
    Neue Methode zum Löschen von YellowData aus IScriptingDocumentManager implementieren – SOSI-4542 (medium)
  • Added
    Feld "Erstveröffentlichungsdatum" einführen – SOSI-4546 (medium)
    Notes The new date property "sophora:firstPublicationDate" has been added to the mixin "sophora-mix:publishable" and thus also to all document node types.
    The property is intended for the date of the first publication of the document. If you are not using the provided form field group 'Processing Information/Bearbeitungsinformationen', then you have to configure this property to the tab "Meta" yourself to be visible in the editor.
  • Added
    Beschreibendes Label für Access-Tokens in Benutzerdokumenten – SOSI-4531 (medium)
Version 4.3.0

– 9/14/21

Sophora JSON: 4.5.0. This version contains a critical bug so that Eventscripts are not executed. It should not be used.

  • Fixed
    Ein Logout von internen Sessions muss möglich sein – SOSI-4510 (critical)
  • Fixed
    Der Sync von Staging Servern darf nicht abbrechen, wenn während des Sync Dokumente komplett gelöscht werden – SOSI-4458 (high)
  • Fixed
    Ein Server mit leerem Repo und Solr Cloud muss hochfahren können – SOSI-4411 (high)
  • Fixed
    Auflösungen von Externen Referenzen von Benutzern zu Rollen müssen richtig beachtet werden – SOSI-4459 (medium)
  • Fixed
    An DerivedDocumentChangedEvents muss erkennbar sein, ob die Änderung für Live Collections relevant ist – SOSI-4433 (medium)
  • Fixed
    Der ArchiveWorker muss mit Dokumentversionen umgehen können, die kein sophora:publicationDate haben – SOSI-4429 (medium)
  • Fixed
    Wird ein Server im NONE Modus gestartet, so verbleibt er im Modus Starting – SOSI-4392 (medium)
  • Changed
    Der verwendete MySQL Connector funktioniert nicht mit neuen Java 8 Versionen – SOSI-4460 (high)
  • Changed
    Fixe Ids für initial angelegte Strukturknoten wie der system-Site – SOSI-4441 (medium)
    Notes Die /system-Site hat für neue, leere Systeme eine konstante UUID und External-ID: 1499ce85-5304-35cf-8c06-cea313448724.
  • Changed
    DerivedDocumentChangedEvents müssen allen Clients geschickt werden – SOSI-4423 (medium)
  • Changed
    ServerInfoEvents konsolidieren – SOSI-4421 (medium)
  • Changed
    Der Server soll Source-TimeRequests ablehnen, wenn seine eigene SourceTime zu alt ist – SOSI-4418 (medium)
  • Improved
    Config-Events sollen ab 4 eine SourceTime haben – SOSI-4419 (high)
  • Improved
    Typo in Default-Propertykonfiguration für "sophora:offlineAfterDays" korrigieren – SOSI-4504 (medium)
  • Improved
    Eindeutige ClientID für Clients mit Access-Tokens ermöglichen – SOSI-4424 (medium)
  • Improved
    Handling von Events ohne SourceTime verbessern – SOSI-4397 (medium)
  • Improved
    Tokens als Teil des Benutzerdokuments – SOSI-4374 (medium)
    Notes In contrast to Sophora 3, access tokens can not be configured as part of the sophora.properties of individual servers.
    Instead you can generate them for individual users as part of the actual user document.
  • Improved
    Mockito Version hochziehen – SOSI-4192 (medium)
  • Added
    Profiler sollte fehlgeschlagene Calls getrennt von erfolgreichen aufnehmen – SOSI-4505 (medium)
    Notes The Sophora Server's profiler now counts failed requests as well.
    This changes the structure of the profiler summary and statistics that can be retrieved via JMX.
    Furthermore the logger name for the profiler-log has changed from "com.subshell.sophora.commons.profile.LoggingProfiler" to "com.subshell.sophora.server.util.Profiler".
  • Added
    Metriken im Prometheus-Format bereitstellen – SOSI-4462 (medium)
    Notes Ab dieser Version stellt der Sophora Server Metriken im Prometheus-Format über die HTTP-Schnittstelle unter dem Pfad "/prometheus" an. Es werden allgemeine JVM-Metriken sowie einige Sophora-spezifische Metriken bereitgestellt.
  • Added
    Der SophoraServer soll zentral die ihm bekannte SourceTime verwalten – SOSI-4417 (medium)
  • Added
    Authentifizierung mit einem Access Token – SOSI-4256 (medium)
Version 4.2.0

– 6/29/21

Sophora JSON: 4.3.0.

  • Fixed
    Wenn vererbte Properties erstellt oder gelöscht werden, müssen die Configuration Hashes aktualisiert werden – SOSI-4413 (medium)
  • Added
    Rolle um "Beschreibung" erweitern – SOSI-4437 (medium)
  • Added
    Automatisierten Versand von Sophora-Accountdaten per E-Mail ermöglichen – SOSI-4360 (medium)
    Notes Im DeskClient-Benutzereditor wird ein neuer Button zum Zurücksetzen und Versenden des Passwortes per E-Mail angezeigt, sofern das neue Client-Skript "Reset Login" veröffentlicht ist. Benötigt Server in Version 4.2.0 und DeskClient Version 4.3.0
Version 4.1.4

– 5/17/21

Sophora API: 4.2.8. Sophora JSON: 4.2.8.

  • Improved
    Offline-Indexer: Ein Index soll mit Dokumenten ab einem bestimmten Datum neu befüllt werden können – SOSI-4406 (medium)
Version 4.1.3

– 4/29/21

Sophora API: 4.2.6. Sophora JSON: 4.2.6.

  • Fixed
    Einheitliches Transaktions-Handling im ArchiveWorker – SOSI-4396 (critical)
  • Fixed
    Deaktivierte Dokumente dürfen nicht im Live Workspace enthalten sein – SOSI-4379 (critical)
  • Fixed
    Der Verbindungsaufbau zum aktuellen Primary muss immer funktionieren – SOSI-4393 (high)
  • Improved
    Offline-Indexer fullRebuild-Jobs nach einem Serverneustart weiterführen – SOSI-4385 (medium)
    Notes Der interne Solr-Dokumenten-Cache des Offline-Indexers wurde ausgebaut. Folgende Properties haben keine Auswirkung mehr:
    * offlineDocumentIndexer.cacheDurationInMinutes
    * offlineDocumentIndexer.cacheSize
Version 4.1.2

– 4/16/21

Sophora API: 4.2.4. Sophora JSON: 4.2.4.

  • Fixed
    ArchiveWorker darf nicht bei Grenzfällen einfach noch mehr Versionen erzeugen – SOSI-4383 (critical)
  • Fixed
    SessionUpkeptEvent entfernen – SOSI-4384 (high)
  • Fixed
    Der LiveWorkspaceUpdater soll Live-Versionen auch im Archiv finden – SOSI-4373 (high)
  • Fixed
    JsonSophoraDocumentWriter soll MixinTypes auch für ISophoraDocuments schreiben – SOSI-4414 (medium)
  • Fixed
    Beim vollständigen Löschen sollen Locks nicht ungeprüft gebrochen werden – SOSI-4388 (medium)
  • Fixed
    Der Default-Live-Core darf wirklich nur die Dokumente enthalten, die auch auf Staging-Servern vorhanden sind – SOSI-4191 (medium)
  • Improved
    Strukturknoten mit Dokumentreferenzlabel und SearchResultProperty versehen – SOSI-4386 (medium)
  • Improved
    Mehr Logging rund um ServerInfos – SOSI-4394 (low)
Version 4.1.1

– 3/25/21

Sophora API: 4.2.3. Sophora JSON: 4.2.3.

  • Fixed
    QuerySelectvalueProvider sollen ihr Ergebnis auch bei Queries nach Mixins aktualisieren – SOSI-4364 (critical)
  • Fixed
    CorrectStructureNodeReferencesInVersions muss mit Multi-Referenzen auf gelöschte Dokumente funktionieren – SOSI-4345 (critical)
  • Fixed
    JMX-Methoden zur Korrektur des Live-Workspace sollen überschüssige Dokumente entfernen können – SOSI-4337 (critical)
  • Fixed
    Unclosed Session detected Exceptions im Indexmanager – SOSI-4314 (high)
  • Fixed
    Auf Stages müssen deaktivierte Dokumente aus den Solr Cores gelöscht werden – SOSI-4387 (medium)
  • Fixed
    Speichern von alten Strukturknoten-Dokumenten mit bereits gespeicherten und migrierten Strukturknoten sollte nicht zu Fehlern führen – SOSI-4376 (medium)
  • Fixed
    Neue Dokumente mit einer bereits vergebenen Sophora-ID dürfen nicht gespeichert werden – SOSI-4334 (medium)
  • Fixed
    NPE bei Angabe einens neuen Passworts bei "Passwort vergessen" – SOSI-4328 (medium)
  • Changed
    Der Content-API Aufruf /allSolrDocumentCountsFixedHorizon soll deaktivierte Strukturknoten beachten – SOSI-4353 (medium)
Version 4.1.0

– 2/26/21

Sophora JSON: 4.2.0.

  • Fixed
    StagingDocumentSync muss bei geänderten Dokumenten auf das PublicationDate und nicht auf das ModificationDate schauen – SOSI-4363 (blocker)
  • Fixed
    Deadlock bei Zugriff auf Serverinfos verhindern – SOSI-4342 (blocker)
  • Fixed
    HTTPS kann nicht mit Wildcard-Zertifikaten genutzt werden – SOSI-4333 (high)
  • Fixed
    Hänger im ThumbnailManager sollen andere Threads nicht blockieren – SOSI-4301 (high)
  • Fixed
    Der DeletedDocumentsWorker muss auf Stagingslaves laufen – SOSI-4352 (medium)
  • Fixed
    Fehler beim Ermitteln der Thumbnail-UUID, wenn kein Thumbnail-Pfad angegeben ist – SOSI-4350 (medium)
  • Fixed
    Zusammenführen von Solr-Jobs Thread-safe machen – SOSI-4299 (medium)
  • Fixed
    Recursive load of: sophora-nt:configurationData – SOSI-4290 (medium)
  • Changed
    GetDocumentInfo-Aufruf braucht bessere Fehlerbehandlung – SOSI-4336 (high)
  • Changed
    Neue Hyphenation-Version 3.0.2/4.0.2 einbinden – SOSI-4375 (medium)
  • Changed
    ServerInfos sollten nur registriert werden, wenn sie sich auch wirklich geändert haben – SOSI-4339 (medium)
  • Changed
    Die Content-API darf beim Abruf eines Dokument nie dessen Summary liefern – SOSI-4338 (medium)
  • Improved
    Externen Hostnamen, Port und Protokoll des Servers konfigurierbar machen – SOSI-4313 (high)
    Notes Dieses Feature ermöglicht die Konfiguration von externem Hostnamen, Protokoll und Port des Servers. Damit ist es möglich den Sophora Server hinter einem Reverse-Proxy zu betreiben, der bspw. SSL-Terminierung vornimmt. Der Server kann also bspw. auf dem typischen Port 1196 mit HTTP betrieben werden, während ein Reverse-Proxy auf Port 443 mit HTTPS konfiguriert ist und die Anfragen an den Server weiterleitet. Dieses Feature ermöglicht es dem Sophora Client immer die korrekte Verbindung zu nutzen.

    Weitere Informationen zur Konfiguration: https://www.subshell.com/docs/4/server/server114.html
  • Improved
    Dokumentänderungsskripte sollen andere Dokumente locken, löschen und offline stellen können – SOSI-4315 (medium)
  • Improved
    ContentManager.syncDocuments() soll DocumentReplicationEvent mit force=true verschicken – SOSI-4218 (medium)
  • Improved
    Verhindern, dass Single-Properties zu multiple konfiguriert werden – SOSI-4347 (low)
  • Added
    Anzahl der Dokument-Versionen nach NodeTypes konfigurierbar machen – SOSI-4311 (high)
Version 4.0.2

– 1/12/21

Sophora API: 4.0.6. Sophora JSON: 4.0.6.

  • Fixed
    Der SolrIndexer soll weniger Speicher im Solr belegen – SOSI-4316 (high)
  • Fixed
    Verwendung der documentLocks im DocumentManager klären – SOSI-4277 (high)
  • Fixed
    Es darf nicht möglich sein ein Dokument mit einer bestehenden SophoraId anzulegen – SOSI-4310 (medium)
  • Fixed
    Beim Zugriff auf ServerInfos muss system/slaves im Repo existieren – SOSI-4306 (medium)
  • Fixed
    Dokumente in nicht auffindbarem Strukturknoten müssen endgültig gelöscht werden können – SOSI-4291 (medium)
  • Fixed
    ItemNotFoundException im NodeTypeConfigService – SOSI-4269 (medium)
  • Fixed
    Verhalten beim Behandeln von gelöschten Dokumenten konsolidieren – SOSI-4266 (medium)
    Notes Server versions 3.5.2, 4.0.2, 5.0.0 and newer unify the behaviour of the API methods getDocumentByUuid, getDocumentBySophoraId and getDocumentByExternalId in terms of how they treat completely deleted documents. Documents may remain in the archive repository after permanent deletion unless the server's configuration option sophora.deleteDocuments.archive is set to false. In earlier server versions the methods getDocumentByUuid and getDocumentBySophoraId returned such documents while getDocumentByExternalId did not. From now on all three methods will find documents even if they only exist in the archive.

    Additionally the server treats an update of a completely deleted document in the archive repository like the creation of a new document.

    This however affects clients looking up documents by their externalId, especially the importer:
    With SOIMI-509 (released in version 3.1.2, 4.1.0, 5.0.0 or newer) the importer is aware of this modified behaviour. But custom preprocessors might cause trouble in some cases:
    When creating new documents the importer has to set certain mandatory properties (like structure node, idstem, etc.). Completely deleted documents with clashing external ID will be ignored (they are deleted after all). Custom preprocessors using getDocumentByExternalId however might confuse completely deleted documents with regular documents and then leave out the mandatory properties assuming they are already set. The server on the other side will treat this documents like newly created ones and hence throw an exception if mandatory properties are missing.
    Therefore custom preprocessor scripts need to be checked for this.
    Custom tools and other scripts might be affected from the changed behaviour of getDocumentByExternalId as well. You can always identify theses documents as their state will be PERMANENTLY_DELETED.
  • Fixed
    StructureNode mit State DISABLED lässt sich nicht mehr vom Repository lesen – SOSI-4189 (medium)
  • Changed
    Beschreibung für das Property "Veröffentlichen am" – SOSI-4332 (medium)
  • Changed
    Userlogik zugänglich machen, um sie für Dokumente wiederzuverwenden – SOSI-4300 (medium)
  • Improved
    FQDN als Hostnamen verwenden – SOSI-4324 (high)
    Notes Der Sophora Server verwendet mit dieser Änderung für den Hostnamen standardmäßig den FQDN, anstelle des einfachen Hostnamen, sofern der Hostname nicht konfiguriert wurde. Der Hostname kann weiterhin in den sophora.properties mit sophora.replication.slaveHostname überschrieben werden.
    Beispiel: "server01.subshell.com" anstelle von "server01".
  • Improved
    Nodetypekonfiguration von "ACS-Benutzern" verbessern – SOSI-4325 (medium)
  • Improved
    Erweiterung des Servers: Initial anzulegende Nutzer konfigurieren können – SOSI-4322 (medium)
    Notes Die Benutzer, die beim erstmaligen Hochfahren eines Servers (mit leerem Repository) angelegt werden, können nun konfiguriert werden. Dazu können die Umgebungsvariablen SOPHORA_INITIALADMINUSERS_0_USERNAME und SOPHORA_INITIALADMINUSERS_0_PASSWORD genutzt werden. Die 0 ist hierbei ein Index und kann für weitere Benutzer hochgezählt werden.

    Das ermöglicht einerseits weitere Benutzer neben dem standardmäßig vorhandenen "admin" Benutzers anzulegen, erlaubt aber auch das Setzen eines Standardpasswortes für den "admin" Benutzer.

    Der "admin" Benutzer wird in jedem Fall wie bisher auch angelegt. Wird das Password nicht mit dieser neuen Methode überschrieben, ist es initial ebenfalls weiterhin "admin".

    Alle über diese Konfiguration angelegten Benutzer erhalten die "admin" Rolle. Es wird nur empfohlen Funktionsnutzer auf diesem Wege anzulegen, bspw. für Tools wie den Sophora Importer.

    Auf bestehende Installationen hat das Setzen dieser Variablen keine Auswirkung.
Version 4.0.1

– 12/10/20

Sophora API: 4.0.5. Sophora JSON: 4.0.5.

  • Fixed
    Ein Server darf als Hostname in seiner ServerInfo niemals null verwenden – SOSI-4295 (critical)
  • Fixed
    Persistierte Solr-Jobs dürfen das Starten der Indizierung nicht lange verzögern – SOSI-4276 (critical)
  • Fixed
    In der Replication soll der Slave IDs vom Master so akzeptieren, wie der diese schickt – SOSI-4283 (high)
  • Fixed
    Umgang mit einer impliziten Queue von direkten Indexierungen verbessern – SOSI-4223 (high)
  • Fixed
    Bei Änderungen an dem Indexdokument eines Strukturknotens müssen nur die Dokumente in dem jeweiligen Knoten neu indexiert werden – SOSI-4149 (high)
  • Fixed
    /status/started-Schnittstelle liefert false zurück, obwohl der Status "started" ist – SOSI-4305 (medium)
  • Fixed
    Gleizeitiges öffnen von Dokumenten im Löscharchiv muss ermöglicht werden – SOSI-4282 (medium)
  • Fixed
    In der JobInfo einer Strukturknoten Indizierung muss die Information enthalten sein, ob es sich um eine Rekursive Indizierung handelt – SOSI-4281 (medium)
  • Fixed
    Solr: Property-Suche nach "(" oder ")" darf nicht zu Fehlern führen – SOSI-4279 (medium)
  • Fixed
    Es darf keine IllegalArgumentException beim Abruf von Dokumenten auftreten – SOSI-4274 (medium)
  • Fixed
    Race Condition im AggregatingQueueWorker beheben – SOSI-4272 (medium)
  • Fixed
    Invalidierung des SelectValueManager Caches muss zuverlässig funktionieren – SOSI-4271 (medium)
  • Fixed
    Der Bildvarianten-Auswahlwert soll nicht für jede Löschung eines Strukturknotens veröffentlicht werden – SOSI-4216 (medium)
  • Fixed
    Dokumente ohne gültigen Strukturknotenpfad sollten nicht in Solr indexiert werden – SOSI-4208 (medium)
  • Fixed
    SlaveDaoImpl.saveSlave muss synchronisiert werden – SOSI-4190 (medium)
  • Fixed
    Es darf kein Dokument ohne Referenz auf einen Strukturknoten gespeichert werden – SOSI-4167 (medium)
  • Fixed
    Falsche contains-Methode im LegacyStructureNodeDocumentUpdater korrigieren – SOSI-4197 (low)
  • Changed
    Werfen der spezifischeren ShutdownInProgressException anstelle einer SophoraExcpetion – SOSI-4251 (medium)
  • Improved
    Besseres Logging zur Ausführung von Zeitsteuerungsskripten – SOSI-4248 (high)
  • Added
    Absatztyp-Dokumenttyp um Feld für "Max. empfohlene Zeichenanzahl" erweitern – SOSI-4273 (medium)
Version 4.0.0

– 9/30/20

Sophora JSON: 4.0.0.

  • Fixed
    Oder-Queries in Solr müssen mit Space separiert werden – SOSI-4210 (critical)
  • Fixed
    Nicht konfigurierte Server-Knoten sollen wirklich ignoriert werden – SOSI-4098 (critical)
  • Fixed
    Selectvalues nur beim Speichern im Master validieren – SOSI-4093 (critical)
  • Fixed
    Server wirft Fehler in lockWithoutPermissionCheck – SOSI-4008 (critical)
  • Fixed
    Bestehende Dokumente mit IDs über der Längenbeschränkung, sollten nicht in die Queue der Change Registry gelangen – SOSI-3908 (critical)
  • Fixed
    Die Change Registry sollte ExternalIds bis 500 Zeichen unterstützen – SOSI-3892 (critical)
    Notes External-Ids sind nun auf eine Länge von 500 Zeichen beschränkt und dürfen keinen Whitespace enthalten. Ist die External-Id ungültig, wird beim Speichern eine InvalidIdFormatException geworfen.
    Der Id-Stamm darf die Länge von 240 Zeichen nicht überschreiten. Ist der Id-Stamm ungültig, wird beim Speichern ebenfalls eine InvalidIdFormatException geworfen.
  • Fixed
    Es muss wieder möglich sein, eine Reihenfolge der Bildvarianten festzulegen – SOSI-3727 (critical)
  • Fixed
    Offline-Indexer robuster machen – SOSI-3868 (high)
  • Fixed
    Bei der Replikation und Synchronisation sollen keine Berechtigungen geprüft werden – SOSI-4175 (high)
  • Fixed
    Initialisierung des Live-Workspace darf nicht verfrüht durch "Login timeout exceeded"-Exception verhindert werden – SOSI-4134 (high)
  • Fixed
    Die Migration der Angebote sollte beim Update auf Version 3 durchgeführt werden – SOSI-4094 (high)
  • Fixed
    Transactional-Context greift nicht bei Default-Methoden, z.B. getDocumentUUIDsPublishedSince – SOSI-4002 (high)
  • Fixed
    NPE bei der Replikation der NodeTypeConfiguration – SOSI-3753 (medium)
  • Fixed
    StructureNode2 Migration sollte nach Start mit leerem Repo nicht mehr ausgeführt werden. – SOSI-3750 (medium)
  • Fixed
    Die Strukturknotenmigration darf nicht zu doppelten Eingabefelder führen – SOSI-3741 (medium)
  • Fixed
    Bei der Strukturknotenmigration müssen falsch verortete Strukturknotendokumente erkannt werden – SOSI-3738 (medium)
  • Fixed
    Die SyncRequests von Slaves mit mindestens Version 3.0 müssen noch von Master mit Version 2.5 verstanden werden können – SOSI-3737 (medium)
  • Fixed
    Das Wiederherstellen aus dem Archiv muss möglich sein – SOSI-3730 (medium)
  • Fixed
    Der ArchiveWorker soll auch gegabelte Versionshistorien aufräumen können – SOSI-3718 (medium)
  • Fixed
    User nur mit Leserecht auf ein Dokument darf dieses nicht sperren – SOSI-3806 (medium)
  • Fixed
    Fehler: User with name "xxx" already exists – SOSI-3804 (medium)
  • Fixed
    Role-ID muss beim Import von Rollen richtig übernommen werden – SOSI-3791 (medium)
  • Fixed
    Durch die Strukturknotenmigration sollten keine deaktivierten Sites entstehen – SOSI-3790 (medium)
  • Fixed
    Importer-User verliert Rollen bei Rollen-Migration – SOSI-3788 (medium)
  • Fixed
    Die Referenzselectvalues im ImageVariantSelectValueListener sollten aktuell gehalten werden – SOSI-3786 (medium)
  • Fixed
    Fehler bei der Migration der Rolle zu Dokumenten – SOSI-3773 (medium)
  • Fixed
    Strukturknoten-Validierung soll nicht wegen deaktivierten Kinder zuschlagen – SOSI-3766 (medium)
  • Fixed
    Neue Sites müssen die Ausspielkanäle aktualisieren – SOSI-3912 (medium)
  • Fixed
    Nach einem Neustart des Servers dürfen keine unnötigen Solr-Indexierungen ausgeführt werden – SOSI-3907 (medium)
  • Fixed
    RedirectToNewMaster sollte unabhängig von Schwenks funktionieren – SOSI-3863 (medium)
  • Fixed
    Beim Sync bekommt Staging Dokumente, die kein PublicationDate haben – SOSI-3849 (medium)
  • Fixed
    Sync-Request vom Staging-Slave soll auf publicationDate basieren – SOSI-3840 (medium)
  • Fixed
    ArchiveWorkerTest zuverlässiger – SOSI-3838 (medium)
  • Fixed
    Die Reindizierung eines Solr-Core soll beim Restart nicht verloren gehen – SOSI-3832 (medium)
  • Fixed
    NodeTypeAddConfiguration-Updates sollen auch Strukturbereichskonfigurationen aktualisieren – SOSI-3824 (medium)
  • Fixed
    Strukturknoten Migration muss auch bei Referenzen auf gelöschte Strukturknoten funktionieren – SOSI-3818 (medium)
  • Fixed
    Gelöschte Strukturknoten erzeugen Unterschiede zwischen den Master-Servern – SOSI-4215 (medium)
  • Fixed
    Bei der Replikation müssen gelöschte Dokumente und Externe Referenzen zusammengefasst werden können – SOSI-4214 (medium)
  • Fixed
    JMX-Methode reindexDocumentsByQuery muss auch gelöschte Dokumente umfassen – SOSI-4211 (medium)
  • Fixed
    Das Verschieben von Strukturknoten muss auch bei gelöschten Kindern an der richtigen Stelle erfolgen – SOSI-4200 (medium)
  • Fixed
    Content API Endpunkte müssen mit External IDs funktionieren, die Slashes enthalten – SOSI-4188 (medium)
    Notes Die Content-API unterstützt nun unter den Endpunkten "/content/documentByExternalId/" und "/documentByExternalId/" die Möglichkeit, external Ids über den URL-Query-Parameter "externalId" übergeben zu können. Hierdurch werden external Ids mit Slashes unterstützt.
  • Fixed
    LifeCycle.isSynchronizing() gibt immer FALSE zurück, egal ob synchronizing oder nicht – SOSI-4185 (medium)
  • Fixed
    RejectedExecutionException auf Slaves während der Synchronisation – SOSI-4178 (medium)
  • Fixed
    Der Server soll verhindern, dass Dokumente offline gestellt werden können, die noch von Online-Dokumenten referenziert werden, wenn der Nutzer das dazu notwendige Recht nicht hat – SOSI-4176 (medium)
  • Fixed
    Server startet nicht bei fehlerhaften Werten des Properties sophora:structureNode – SOSI-4165 (medium)
  • Fixed
    Sessions dürfen auf Slaves nicht ablaufen, nur weil die Replikations-Queue lange ist – SOSI-4157 (medium)
  • Fixed
    Abhängige Dokumente werden in Indexingskripten des Childnodemappings nicht ermittelt – SOSI-4142 (medium)
  • Fixed
    IllegalArgumentException bei der Aktualisierung der Change-Registry verhindern – SOSI-4122 (medium)
  • Fixed
    Im Slave müssen auch Dokumente mit Binärdaten gespeichert werden können, wenn das Dokument dazu erst wiederhergestellt werden muss – SOSI-4105 (medium)
  • Fixed
    Dokumentenvergleich: Fehlerhafte Anzeige von Dokumenten, die eine Liveversion in einem deaktivierten Strukturknoten haben – SOSI-4103 (medium)
  • Fixed
    Query-SelectValues soll die Einträge lexikographisch sortiert enthalten – SOSI-4062 (medium)
  • Fixed
    Doppelte Sophora-Ids bei Nodetype-Migration vermeiden – SOSI-4045 (medium)
  • Fixed
    Wenn ein Slave zum Master wird, muss sichergestellt werden, dass die Indizierung gestartet ist – SOSI-4035 (medium)
  • Fixed
    ClientReconnectRequestException treten in der Replikation auf – SOSI-4031 (medium)
  • Fixed
    Neue Sites müssen auch auf Slaves und Stagingslaves die Ausspielkanäle aktualisieren – SOSI-4029 (medium)
  • Fixed
    NPE im LockService verhindern – SOSI-4024 (medium)
  • Fixed
    Unclosed session detected durch den LockService – SOSI-4021 (medium)
  • Fixed
    ItemNotFoundException beim Speichern einer ServerInfo auf Slaves soll nicht zu ActiveMQ propagiert werden – SOSI-4013 (medium)
  • Fixed
    IllegalArgumentException beim Entfernen von Kind-Strukturknoten verhindern – SOSI-4010 (medium)
  • Fixed
    YellowDataChangedEvents müssen immer eine SourceTime haben – SOSI-4000 (medium)
  • Fixed
    Der ProposalsInitializer darf den Start des Servers nicht verhindern – SOSI-3993 (medium)
  • Fixed
    Gelöschte Angebote dürfen nicht wieder auftauchen – SOSI-3985 (medium)
  • Fixed
    Referenzen auf Strukturknotendokumente müssen auch in Dokumenten angepasst werden, die über getPublishedDocumentByUuid bezogen werden – SOSI-3984 (medium)
  • Fixed
    Leeren Public-Key in der ServerInfo verhindern – SOSI-3978 (medium)
  • Fixed
    Auch bei Strukturknoten soll das Property sophora:site gesetzt werden – SOSI-3977 (medium)
  • Fixed
    Fehler beim Starten des Servers bei einem hohen Loglevel – SOSI-3967 (medium)
  • Fixed
    Im DeletedDocumentsWorker sollen keine NPEs fliegen, wenn keine Archivierung aktiv ist – SOSI-3955 (medium)
  • Fixed
    Zugriff auf Nodetype-Konfig kurz vor der Migration – SOSI-3945 (medium)
  • Fixed
    Beim Löschen von Strukturknoten muss der Rollen-Cache auf den Slaves aktualisiert werden – SOSI-3942 (medium)
  • Fixed
    Der QueueWorker soll das Log nicht mehr fluten. – SOSI-3935 (medium)
  • Fixed
    Das Logging der IndexManagerFacade darf nicht irreführend sein – SOSI-3928 (medium)
  • Fixed
    Die Liste der UUIDs in dem Solr Feld included_uuid_ss sollte keine Duplikate enthalten – SOSI-3745 (low)
  • Fixed
    Vermeintliche Konfigurations-Unterschiede bei den Nodetypes – SOSI-3478 (low)
  • Fixed
    Zirkuläre Abhängigkeiten des Lifecycles aufräumen – SOSI-4118 (low)
  • Changed
    Dokumente sollen aus Solr entfernt werden, auch wenn das Dokument mit JCR nicht gefunden werden kann – SOSI-3905 (critical)
  • Changed
    Eine vollständige Löschung eines Strukturknotens darf nicht dazu führen, dass die Replikation auf dem Master ausgesetzt wird – SOSI-3873 (critical)
  • Changed
    Dokumentreferenzen des Richtextfeldes parsen – SOSI-3887 (high)
  • Changed
    Beim Löschen eines nicht existenten Users soll es auf Slaves keine Exception geben – SOSI-3764 (medium)
  • Changed
    Die Erkennung der Version des Masters soll auf Basis der ServerInfo erfolgen – SOSI-3763 (medium)
  • Changed
    Angebote: Caching – SOSI-3702 (medium)
  • Changed
    Rollen migrieren – SOSI-3688 (medium)
  • Changed
    Rollendokument konfigurieren – SOSI-3519 (medium)
  • Changed
    Benutzerdokument konfigurieren – SOSI-3518 (medium)
  • Changed
    Änderung der Nodetype-Konfig darf den Server nicht lahmlegen (Teil 2) – SOSI-3814 (medium)
  • Changed
    Neues Eingabefeld für Dokumentrechte verwenden – SOSI-3813 (medium)
  • Changed
    Neues Eingabefeld für Tabrechte verwenden – SOSI-3812 (medium)
  • Changed
    Neues Eingabefeld für Systemrechte verwenden – SOSI-3810 (medium)
  • Changed
    Neues Eingabefeld für Strukturknotenrechte verwenden – SOSI-3809 (medium)
  • Changed
    [3.0] - Abgelaufene @deprecated-Elemente im Server entfernen – SOSI-3807 (medium)
  • Changed
    Ehcache durch Caffeine ersetzen – SOSI-3800 (medium)
  • Changed
    Eine Löschung der alten Strukturknotendokumente darf nicht an fehlenden Berechtigungen der Admin Rolle scheitern – SOSI-3781 (medium)
  • Changed
    Server auf Java 11 umstellen – SOSI-3775 (medium)
    Notes Ab dieser Version wird Java 11 für den Betrieb vorausgesetzt.
  • Changed
    Auswahlwert für Clientskript-Dokumentquellen um "Ohne Dokument" erweitern – SOSI-3894 (medium)
  • Changed
    Dokumentreferenzen des Tabellenfeldes parsen – SOSI-3888 (medium)
  • Changed
    Dokumentreferenzen vom FixedSizeText parsen – SOSI-3886 (medium)
  • Changed
    Dokumentreferenzen des Formularwizards parsen – SOSI-3885 (medium)
  • Changed
    Dokumentreferenzen von Auswahlwertdokumenten parsen – SOSI-3884 (medium)
  • Changed
    Dokumentreferenzen der Geodatentabelle parsen – SOSI-3883 (medium)
  • Changed
    Dokumentreferenzen von dynamischen Tabellen parsen – SOSI-3882 (medium)
  • Changed
    Dokumentreferenzen des Copytext parsen – SOSI-3880 (medium)
  • Changed
    Dokumentreferenzen beim Speichern im Server pflegen – SOSI-3879 (medium)
  • Changed
    sophora.repository.updateNodeTypes ausbauen – SOSI-3872 (medium)
  • Changed
    Internationalisierung der Nodetypekonfiguration des neuen Benutzer-Dokumenttyps – SOSI-3865 (medium)
  • Changed
    Das Empfangen von DerivedDocumentChangedEvents soll an das Addon Change Registry gekoppelt werden – SOSI-3854 (medium)
  • Changed
    NotSoSerialAgent soll nicht bei jedem Test mitlaufen – SOSI-3839 (medium)
  • Changed
    Synchronisation von vollständigen Löschungen auf Basis der Change Registry – SOSI-3835 (medium)
  • Changed
    Durch wiederholte Sync Requests soll der Speicherverbrauch im Master nicht steigen – SOSI-3834 (medium)
  • Changed
    Internationalisierung der Nodetypekonfiguration des neuen Rollen-Dokumenttyps – SOSI-3831 (medium)
  • Changed
    Neues Eingabefeld für Angebotsbereichsrechte verwenden – SOSI-3830 (medium)
  • Changed
    3.0 Migrations-Klassen in 4.0 entfernen – SOSI-3827 (medium)
  • Changed
    PermissionMapper aus Server in die API verschieben – SOSI-3826 (medium)
  • Changed
    Beim Speichern von Rollen Systemrechte in deterministischer Reihenfolge speichern – SOSI-3823 (medium)
  • Changed
    ActiveMq auf 5.15.13 aktualisieren – SOSI-4703 (medium)
  • Changed
    Auf Staging Slaves soll beim Abruf der Bildvarianten keine ItemNotFoundException mehr auftreten – SOSI-4156 (medium)
  • Changed
    SyncRequest aufräumen – SOSI-4141 (medium)
  • Changed
    Content-API muss für Admindaten an den geänderten Nodetype-Export angepasst werden – SOSI-4111 (medium)
  • Changed
    Zeilenumbrüche in Dokumentkonfigurations-XML-Exporten sollen dem UNIX-Standard folgen – SOSI-4104 (medium)
  • Changed
    Doppelte Angaben von "charCounter" und "minRowCount" im Propertykonfigurations-XML vermeiden – SOSI-4102 (medium)
    Notes Ab Version 4 exportierte Property-Konfigurationen verlieren beim Import in ältere Sophora-Versionen die Konfigurationen für "Zeichenzähler" und "Anzahl der Zeilen".
  • Changed
    Deprecated Nodetypes, Properties und Childnodes aus der initialen CND entfernen – SOSI-4057 (medium)
    Notes Neue, frisch aufgesetzte Repositories enthalten keine veralteten Nodetypes, Properties und Childnodes mehr.
  • Changed
    Serverskripte sollen Dokumente mittels IQuery suchen können – SOSI-4050 (medium)
  • Changed
    Apache DBCP aktualisieren – SOSI-4040 (medium)
  • Changed
    Oracle JDBC-Datenbanktreiber aktualisieren – SOSI-4039 (medium)
  • Changed
    Aufräumen Basisrepo: Defaultkonfigs füllen – SOSI-3995 (medium)
  • Changed
    Verklemmung in org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.getEffectiveNodeType untersuchen – SOSI-3990 (medium)
  • Changed
    Wenn ein Solr-Indexdokument nicht geladen werden kann, soll die Ursache geloggt werden – SOSI-3981 (medium)
  • Changed
    Bedeutung des sophora:publicationDate verdeutlichen – SOSI-3974 (medium)
    Notes Bei neu aufgesetzten Repositories wird das Property "sophora:publicationDate" in Label und Beschreibung als Versionierungssdatum statt Veröffentlichungsdatum betitelt.
  • Changed
    Verwendung von ZonedDateTime in der ChangeRegistry – SOSI-3960 (medium)
    Notes Relevant, sofern die ChangeRegistry verwendet wird: Clients, die sich mit dem Server in der Version 3.2.1 verbinden wollen, benötigen mindestens die API Version 3.0.16.
  • Changed
    NPE bei der Persistierung von Content Changes in der Change-Registry – SOSI-3944 (medium)
  • Changed
    Das H2 Recovery Tool soll für korrupte Change-Registry DB eingesetzt werden – SOSI-3939 (medium)
  • Changed
    Veraltetet XML-Selectvalue-Variante soll entfernt werden – SOSI-3938 (medium)
  • Changed
    FieldTypeParameters in der Nodetype-Config als Map – SOSI-3936 (medium)
  • Changed
    Logik zur Auswahl der erlaubten Absatztypen in den Client verschieben – SOSI-3913 (medium)
  • Changed
    Strukturknotenänderungen sollen überall zu einem identischen ChangeCause führen – SOSI-3975 (low)
  • Improved
    Jackrabbit soll bei sehr großen NodeReferences die Daten limitieren – SOSI-3971 (high)
  • Improved
    Konfigurationsunterschiede in Tabs nach dem Update – SOSI-3752 (medium)
  • Improved
    Cache der Angebotsbereiche für alle von außen benutzten Methoden nutzen – SOSI-3751 (medium)
  • Improved
    Update-Operationen von vor 2.0 aus dem Server entfernen – SOSI-3780 (medium)
  • Improved
    Optimierung des TransactionAwareSpringCacheFacade – SOSI-3777 (medium)
  • Improved
    Erweiterte Optionen für die ChangeRegistry in JMX – SOSI-3901 (medium)
  • Improved
    Auslösendes Änderungsdatum in die ChangeRegistry aufnehmen – SOSI-3889 (medium)
    Notes Beim ersten Start mit dieser Version wird wegen einer Schemaänderung eine bestehende Change-Registry zurückgesetzt.
  • Improved
    find-Methoden sollen nicht 'null' zurück geben, wenn das Suchergebnis leer ist – SOSI-3870 (medium)
  • Improved
    Test-Repository soll von Artifactory geladen werden – SOSI-3869 (medium)
  • Improved
    Die Zählung der Dokument-Versionen durch den ArchiveWorker soll über JMX aktiviert werden können – SOSI-4237 (medium)
  • Improved
    Auswahlwert-XMLs für leeres Repository und Update müssen unterscheidbar sein – SOSI-4184 (medium)
  • Improved
    LoggingProfiler soll langsame Aufrufe immer loggen – SOSI-4170 (medium)
  • Improved
    Solr-Cores mit Ausspielkanal sollen nur bei relevanten Strukturknotenänderungen neu indexiert werden – SOSI-4129 (medium)
  • Improved
    Einheitliche Element-Reihenfolge in Sophora-XML von Nodetypes schaffen – SOSI-4097 (medium)
    Notes Exportiertes Sophora-Nodetype-XML enthält nun alphabetisch sortierte Reihenfolgen der Nodetype-Konfigurationen, Mixins, Eingabefeldparameter usw.
  • Improved
    Errors und Warnings beim Starten eines frischen Servers vermeiden – SOSI-4061 (medium)
  • Improved
    Formularfeldgruppen für den Meta-Tab erstellen – SOSI-4056 (medium)
    Notes Der Metadaten-Tab von Systemdokumenten wurde überarbeitet und ist nun übersichtlicher gestaltet.
  • Improved
    Aufräumen Basisrepo: Defaultkonfigs für Metatab-Properties verbessern – SOSI-4055 (medium)
  • Improved
    Server soll ClientReconnectRequestException mit sinnvoller Message erzeugen – SOSI-4054 (medium)
  • Improved
    Server darf Fehler durch ungültiges SelectValue-XML nicht ignorieren – SOSI-4036 (medium)
    Notes Select value documents containing malformed or no select value XML will now be rejected when trying to save the document.
  • Improved
    Standard-(Dokument-)Erweiterungen in Server-Basis-Repository aufnehmen – SOSI-4020 (medium)
  • Improved
    Performanz beim Parsen von Dokumentreferenzen prüfen/verbessern – SOSI-3999 (medium)
  • Improved
    Logging erweitern, falls das Aktualisieren einer Session nicht geklappt hat. – SOSI-3988 (medium)
  • Added
    Bei Query-Selectvalues auch Multipropertys als Label erlauben – SOSI-4196 (medium)
  • Added
    "sophora-mix:document" um "Verweildauerstartdatum" erweitern – SOSI-4067 (medium)
  • Added
    "sophora-mix:document" um ein Standdatum erweitern – SOSI-4033 (medium)
    Notes The new date property "sophora:editorialDate" has been added to the mixin "sophora-mix:document" and thus also to all document node types. The property is intended for the date of the editorial document content.
  • Added
    Merge-Import für Nodetype-Konfigurationen ermöglichen – SOSI-3979 (medium)
  • Added
    Bei Passwortfeldern in Tab- und Vorschaudokumenten eine Hinterlegung in den Servereinstellungen ermöglichen – SOSI-3919 (medium)
    Notes Die Dokumenttypen "sophora-nt:previewDocument" und "sophora-nt:tabDocument" wurden um das neue Property "sophora:passwordConfigurationKey" erweitert. Falls die Nodetypekonfiguration einer dieser Dokumenttypen von Kunden aus externen Quellen importiert wird, muss die Quelle entsprechend angepasst werden, damit die automatischen Änderungen nicht rückgängig gemacht werden!
  • Added
    Der OfflineDocumentIndexer soll Dokumente via NodeTypes filtern können – SOSI-3910 (medium)
  • Added
    Sophora Change Registry – SOSI-3833 (medium)
    Notes Documentation can be found here:
    https://www.subshell.com/en/sophora/documentation/300/changeregistry/index.html
  • Added
    Gesperrte User wieder zurücksetzen (Info in Yellow-Data) – SOSI-3819 (medium)
  • Added
    Im Server sollen Events ab einem auslösendem Datum abgefragt werden können – SOSI-3793 (medium)
  • Added
    Metrics: Gleitender Durchschnitt der Aufrufe an Jetty-Kontexten – SOSI-3785 (medium)

Last modified on 7/5/23

The content of this page is licensed under the CC BY 4.0 License. Code samples are licensed under the MIT License.

Icon