diff --git a/.github/workflows/maven-publish-snapshot.yml b/.github/workflows/maven-publish-snapshot.yml
index 22d008c..aa792c1 100644
--- a/.github/workflows/maven-publish-snapshot.yml
+++ b/.github/workflows/maven-publish-snapshot.yml
@@ -4,6 +4,7 @@
name: Maven Snapshot deploy
on:
+ workflow_dispatch:
push:
branches:
- 'main'
diff --git a/README.md b/README.md
index 8b7033c..40f901c 100644
--- a/README.md
+++ b/README.md
@@ -1,47 +1,111 @@
# mir-navigation-plugin
-Includes an extended navigation for newspapers and series. It based on a widen solr handling for
-parent documents (root field).
+This MIR plugin provides navigation functionality for newspapers and series.
-The plugin provides the extended solr handling for series (solr-navigation.xsl). In frontend
-context there is a series layout with a panel that shows the navigation.
+It provides a panel for the frontend that displays the series navigation, including banner and search.
+The navigation is based on a derivate that contains a `navigation.xml` file, where the navigation structure and banner
+can be configured.
-## Installation instructions for mir lts 2023.06 (As mir-enduser)
+It leverages enhanced Solr handling for parent documents (root field) and includes extended Solr processing for series.
-1. Download the project from this repository and place it on your computer
+> ⚠️ Note: The plugin will overwrite `response-mir.xsl`; any custom frontend changes may be lost.
-2. Unzip the downloaded file to create a development project folder location
+---
-3. Customize general mycore.properties(http://www.mycore.de/documentation/getting_started/mcr_properties.html) for this plugin (/mir-navigation-plugin/src/main/resources/config/mir-navigation-plugin/mycore.properties)
+## Features
-4. Create jar file with maven => mvn clean && mvn install
+The plugin offers the following features:
-5. Copy the created jar file from target (/mir-navigation-plugin/target) to mycore home lib
+- Frontend Navigation Panel: Displays a series of pages or objects with banner and search.
+- Banner Support: Root item can include a banner image.
+- Flexible Navigation: Defined via navigation.xml with relative/absolute links and multilingual labels.
+- Enhanced Solr Handling: Supports parent documents (root field) and requires schema extensions.
+- Optional RSS Feed: RSS link can be displayed or disabled.
-(Windows Systems C:\Users\User\AppData\Local\MyCoRe\mirapplication\lib)
-(Linux Systems /home/user/.mycore/mirapplication/lib)
+---
-6. The navigation plugin uses a widen solr handling for parent documents. For this purpose, the plugin brings its own schema extensions. It is necessary to reload the solr schema (for further information have a look on solr mycore documentation http://www.mycore.de/documentation/search/using_solr.html).
-In case of a standard solr core installation (the main core is named „main“) open the mir web cli:
+## Requirements
-- run command „reload solr configuration main in core main“
- * This command synchronizes the solr main core with the solr schema from this plugin
-- Reload the mir core with solr webadmin (Core Admin - reload)
- * You can do a quick check in the solr webadmin via mir schema menu item (root field should be there now)
-- Reindex solr with the rules from the navigation plugin with command „rebuild solr metadata and content index in core main“
- * solr entries should provide the extended handling for parent documents now (root field)
+### Navigation category in `derivate_types` classification
-## Requirements for mods document metadata
-The standard implementation identifies derivates as series-navigation relatable if they have set categid="navigation" in derobject classification:
+The plugin is based on a derivate which must be classified via `derivate_types:navigation`.
+Therefore, the `derivate_types` classification must include a category `navigation`.
+The category can be defined as follows:
-
- 1
- index.xml
-
-
+```xml
+
+
+
+
+```
+---
-## Migrate series navigation in mir
-For adding the series navigation panel in the right corner you have to adapt the MIR.Layout.End property (add series-banner,series-layout):
+## Installation & Configuration
-`MIR.Layout.End=mir-edit,series-banner,series-layout,mir-citation,mir-thumbnail,mir-epusta,mir-access-rights,mir-export,mir-admindata,mir-historydata`
\ No newline at end of file
+### Build and provide plugin
+
+Build the JAR file with `mvn clean install` and copy it to `~/.mycore/(dev-)mir/lib/`.
+
+### Configure `mycore.properties`
+
+To use the plugin, configuration in `~/.mycore/(dev-)mir/mycore.properties` is required.
+The RSS feed requires a `mycoreobject-rss` stylesheet, which is not included by default.
+For historical reasons, the link to the RSS feed is always displayed, but it can be disabled if needed.
+All in all, configure as follows:
+
+```text
+# Add 'series-banner' and 'series-layout'.
+MIR.Layout.End=mir-edit,series-banner,series-layout,mir-citation,mir-thumbnail,mir-epusta,mir-access-rights,mir-export,mir-admindata,mir-historydata
+
+# Optional: disable RSS feed.
+MIR.Metadata.Navigation.SeriesPanel.RSS.Enabled=false
+```
+
+### Reload and rebuild Solr
+
+The plugin leverages enhanced Solr handling for parent documents.
+For this purpose, the plugin brings its own schema extensions.
+It is necessary to reload the Solr schema (for further information have a look on Solr
+[documentation](https://www.mycore.de/documentation/search/search_solr_use/)).
+In the case of a standard Solr core installation (where the main core is named `main`), run the following CLI commands:
+
+```text
+# Synchronize the solr main core with the solr schema from this plugin.
+reload solr configuration main in core main
+# Reindex solr with the rules.
+rebuild solr metadata and content index in core main
+```
+
+As a result, Solr entries will now support the extended handling for parent documents (root field).
+
+---
+
+## Usage
+
+A panel on an object page, including a banner, navigation, and search, can be integrated via a `navigation.xml` file
+contained in a derivative whose _derivate type_ is set to _navigation_.
+The following format is expected for the `navigation.xml` file:
+
+```xml
+
+
+
+
+
+
+
+
+
+
+```
+
+A root item is expected first. The optional `banner` attribute can be used to specify a link to an image that will be
+displayed above the navigation.
+
+Within the root item, the actual navigation points can be defined. The `ref` attribute specifies the target of a
+navigation point and can contain either a relative or an absolute link.
+Additionally, labels can be defined for the relevant languages.
+
+> 💡 Tip: Using the [mir-alias-plugin](https://github.com/MyCoRe-Org/mir-alias-plugin), you can simplify the links
+> for objects in the navigation.
diff --git a/pom.xml b/pom.xml
index 9bbe0dd..9dd8b02 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
org.mycore.mirmir-parent
- 2023.06.4-SNAPSHOT
+ 2023.06.5-SNAPSHOTmir-navigation-plugin2023.06-SNAPSHOT
diff --git a/src/main/resources/config/mir-navigation-plugin/mycore.properties b/src/main/resources/config/mir-navigation-plugin/mycore.properties
index 296bd24..3e5dc33 100644
--- a/src/main/resources/config/mir-navigation-plugin/mycore.properties
+++ b/src/main/resources/config/mir-navigation-plugin/mycore.properties
@@ -11,7 +11,7 @@ MCR.URIResolver.xslImports.solr-document=%MCR.URIResolver.xslImports.solr-docume
######################################################################
## RSS Feed for journals and series ##
######################################################################
-
+MIR.Metadata.Navigation.SeriesPanel.RSS.Enabled=true
#MCR.LayoutTransformerFactory.Default.Ignore=mycoreobject-rss,%MCR.LayoutTransformerFactory.Default.Ignore%
#DuEPublico.RSS.Generator=DuEPublico\: Duisburg-Essen Publications Online, University of Duisburg-Essen, Germany
diff --git a/src/main/resources/xsl/response-mir.xsl b/src/main/resources/xsl/response-mir.xsl
index 16b68b5..d764762 100644
--- a/src/main/resources/xsl/response-mir.xsl
+++ b/src/main/resources/xsl/response-mir.xsl
@@ -13,6 +13,7 @@
xmlns:decoder="xalan://java.net.URLDecoder"
exclude-result-prefixes="i18n mods str exslt mcr acl mcrxsl basket encoder decoder">
+
@@ -21,6 +22,8 @@
+
+
@@ -57,97 +60,318 @@
-
+