diff --git a/README.md b/README.md
index 3a120b260..6eea71bb2 100644
--- a/README.md
+++ b/README.md
@@ -21,11 +21,9 @@ ubo-cli/target/bin/ubo.sh create configuration directory
create database ubo;
grant all privileges on ubo.* to ubo@localhost identified by 'ubo';
```
-- setup your database and JDBC configuration in persistence.xml and **REMOVE** the following lines
+- setup your database and JDBC configuration in persistence.xml, update mappings with:
```
-META-INF/mycore-iview2-mappings.xml
-META-INF/mycore-viewer-mappings.xml
-META-INF/mycore-ifs-mappings.xml
+ubo-cli/target/bin/ubo.sh reload mappings in jpa configuration file
```
```
vi ~/.mycore/ubo/resources/META-INF/persistence.xml
@@ -34,7 +32,7 @@ vi ~/.mycore/ubo/resources/META-INF/persistence.xml
- copy jdbc driver to ~/.mycore/ubo/lib, eg. for h2
```
cd ~/.mycore/ubo/lib
-wget https://repo1.maven.org/maven2/com/h2database/h2/1.4.200/h2-1.4.200.jar
+wget https://repo1.maven.org/maven2/com/h2database/h2/2.2.224/h2-2.2.224.jar
cd -
```
## Solr
diff --git a/pom.xml b/pom.xml
index df8bfae29..70ab74df2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.mycore
mycore-parent
- 49
+ 55
org.mycore.ubo
@@ -53,13 +53,14 @@
17
1.13.2
3.5.1
- 2022.06.3-SNAPSHOT
+ 2023.06.3-SNAPSHOT
v16.0.0
2.10
scope,groupId,artifactId
https://gist.githubusercontent.com/yagee-de/dfd3698c1b49173dbf251f74eb6a9297/raw/406460c088ff3cb6354e4ae6b40535e6f841607d/mycore_sort.xml
true
${maven.build.timestamp}
+ 10.1.11
v1.22.10
@@ -74,6 +75,31 @@
+
+
+
+ com.github.ekryd.sortpom
+ sortpom-maven-plugin
+
+
+ verify-sort-pom
+
+ sort
+
+ verify
+
+ false
+ false
+ true
+ true
+ ${sortpom.sortDeps}
+ ${sortpom.sortFile}
+ ${sortpom.sortProps}
+
+
+
+
+
@@ -179,7 +205,7 @@
- jetty9x
+ jetty12x
@@ -281,6 +307,11 @@
bucket4j-core
8.9.0
+
+ com.h2database
+ h2
+ 2.2.224
+
jakarta.servlet
jakarta.servlet-api
diff --git a/ubo-cli/src/main/setup/classifications/rfc4646.xml b/ubo-cli/src/main/setup/classifications/rfc4646.xml
deleted file mode 100644
index df406a593..000000000
--- a/ubo-cli/src/main/setup/classifications/rfc4646.xml
+++ /dev/null
@@ -1,218 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ubo-common/pom.xml b/ubo-common/pom.xml
index b3c476bfd..c00920138 100644
--- a/ubo-common/pom.xml
+++ b/ubo-common/pom.xml
@@ -404,13 +404,13 @@
runtime
- junit
- junit
+ com.h2database
+ h2
test
- org.hsqldb
- hsqldb
+ junit
+ junit
test
diff --git a/ubo-common/src/main/java/org/mycore/ubo/DozBibCommands.java b/ubo-common/src/main/java/org/mycore/ubo/DozBibCommands.java
index d78f7a571..2d72da10c 100644
--- a/ubo-common/src/main/java/org/mycore/ubo/DozBibCommands.java
+++ b/ubo-common/src/main/java/org/mycore/ubo/DozBibCommands.java
@@ -57,6 +57,20 @@
import org.mycore.ubo.importer.scopus.ScopusInitialImporter;
import org.xml.sax.SAXException;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.zip.Deflater;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
+
import static org.mycore.common.MCRConstants.MODS_NAMESPACE;
import static org.mycore.common.MCRConstants.XPATH_FACTORY;
@@ -132,7 +146,7 @@ public static boolean migrateGenre(String objId) {
MCRContent transformed = transformer.transform(new MCRJDOMContent(mcrObject.createXML()));
MCRMetadataManager.update(new MCRObject(transformed.asXML()));
return true;
- } catch (IOException | JDOMException | SAXException | MCRAccessException exception) {
+ } catch (IOException | JDOMException | MCRAccessException exception) {
LOGGER.error("Could not migrate mods:genre for object {}", objId);
return false;
}
@@ -266,7 +280,7 @@ public static void importMODSCollection(String fileName) throws Exception {
wrapper.setMODS(mods.clone());
MCRObject obj = wrapper.getMCRObject();
- obj.setId(MCRObjectID.getNextFreeId(PROJECT_ID + "_mods"));
+ obj.setId(MCRMetadataManager.getMCRObjectIDGenerator().getNextFreeId(PROJECT_ID + "_mods"));
MCRMetadataManager.create(obj);
}
}
diff --git a/ubo-common/src/main/java/org/mycore/ubo/DozBibEntryServlet.java b/ubo-common/src/main/java/org/mycore/ubo/DozBibEntryServlet.java
index f08f703f0..05171feaa 100644
--- a/ubo-common/src/main/java/org/mycore/ubo/DozBibEntryServlet.java
+++ b/ubo-common/src/main/java/org/mycore/ubo/DozBibEntryServlet.java
@@ -9,10 +9,6 @@
package org.mycore.ubo;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.List;
-
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.apache.logging.log4j.LogManager;
@@ -32,6 +28,10 @@
import org.mycore.frontend.support.MCRObjectIDLockTable;
import org.mycore.mods.MCRMODSWrapper;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.List;
+
public class DozBibEntryServlet extends MCRServlet {
private final static Logger LOGGER = LogManager.getLogger(DozBibEntryServlet.class);
@@ -154,7 +154,7 @@ private void saveEntry(HttpServletRequest req, HttpServletResponse res) throws E
} else
// New entry submitted
{
- oid = MCRObjectID.getNextFreeId(oid.getBase());
+ oid = MCRMetadataManager.getMCRObjectIDGenerator().getNextFreeId(oid.getBase());
obj.setId(oid);
MCRMetadataManager.create(obj);
LOGGER.info("UBO saved entry with ID " + oid);
diff --git a/ubo-common/src/main/java/org/mycore/ubo/DozBibGNDCommands.java b/ubo-common/src/main/java/org/mycore/ubo/DozBibGNDCommands.java
index 1cd8b12a0..03337724a 100644
--- a/ubo-common/src/main/java/org/mycore/ubo/DozBibGNDCommands.java
+++ b/ubo-common/src/main/java/org/mycore/ubo/DozBibGNDCommands.java
@@ -9,18 +9,7 @@
package org.mycore.ubo;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.text.similarity.LevenshteinDistance;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.jdom2.Attribute;
@@ -35,6 +24,17 @@
import org.mycore.datamodel.common.MCRXMLMetadataManager;
import org.xml.sax.SAXException;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+
public class DozBibGNDCommands {
private static final Logger LOGGER = LogManager.getLogger(DozBibGNDCommands.class);
@@ -161,8 +161,10 @@ private boolean hasMoreOrLessTheSameTitle(Element publication, Element alephReco
int minLength = Math.min(titleFromAleph.length(), titleFromBibEntry.length());
int maxDistance = minLength * MAX_DIFFERENCE_PERCENT / 100;
- int distance = StringUtils.getLevenshteinDistance(normalizeTitle(titleFromAleph),
- normalizeTitle(titleFromBibEntry));
+ int distance = LevenshteinDistance.getDefaultInstance()
+ .apply(normalizeTitle(titleFromAleph), normalizeTitle(titleFromBibEntry))
+ .intValue();
+
if (distance > maxDistance) {
String id = publication.getAttributeValue("ID");
LOGGER.warn("Skipping entry " + id + ", Levenshtein Distance = " + distance);
diff --git a/ubo-common/src/main/java/org/mycore/ubo/importer/DozBibImportServlet.java b/ubo-common/src/main/java/org/mycore/ubo/importer/DozBibImportServlet.java
index 61fdf4db3..9c88e03bd 100644
--- a/ubo-common/src/main/java/org/mycore/ubo/importer/DozBibImportServlet.java
+++ b/ubo-common/src/main/java/org/mycore/ubo/importer/DozBibImportServlet.java
@@ -20,7 +20,7 @@
import org.mycore.frontend.servlets.MCRServlet;
import org.mycore.frontend.servlets.MCRServletJob;
import org.mycore.services.queuedjob.MCRJob;
-import org.mycore.services.queuedjob.MCRJobQueue;
+import org.mycore.services.queuedjob.MCRJobQueueManager;
import org.mycore.ubo.AccessControl;
import org.mycore.ubo.DozBibEntryServlet;
import org.mycore.ubo.importer.evaluna.EvalunaImportJob;
@@ -56,11 +56,11 @@ private void handleImportJob(HttpServletRequest req, HttpServletResponse res) th
MCRJob job = new MCRJob(ImportListJobAction.class);
job.setParameter(ImportListJobAction.EDITOR_SUBMISSION_PARAMETER, new XMLOutputter().outputString(doc));
job.setParameter(ImportListJobAction.USER_ID_PARAMETER, MCRUserManager.getCurrentUser().getUserName());
- MCRJobQueue.getInstance(ImportListJobAction.class).offer(job);
+ MCRJobQueueManager.getInstance().getJobQueue(ImportListJobAction.class).offer(job);
String referer = req.getHeader("Referer");
if (referer != null) {
- res.sendRedirect(referer+"&list-submitted=true");
+ res.sendRedirect(referer + "&list-submitted=true");
} else {
res.sendRedirect(MCRFrontendUtil.getBaseURL());
}
diff --git a/ubo-common/src/main/java/org/mycore/ubo/importer/ImportJob.java b/ubo-common/src/main/java/org/mycore/ubo/importer/ImportJob.java
index 366da6d55..fb4d88cce 100644
--- a/ubo-common/src/main/java/org/mycore/ubo/importer/ImportJob.java
+++ b/ubo-common/src/main/java/org/mycore/ubo/importer/ImportJob.java
@@ -9,15 +9,6 @@
package org.mycore.ubo.importer;
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
-import java.util.Optional;
-import java.util.concurrent.TimeUnit;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.solr.client.solrj.SolrClient;
@@ -42,6 +33,15 @@
import org.mycore.solr.MCRSolrUtils;
import org.xml.sax.SAXException;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+import java.util.Optional;
+import java.util.concurrent.TimeUnit;
+
public abstract class ImportJob {
private static final Logger LOGGER = LogManager.getLogger(ImportJob.class);
@@ -109,7 +109,8 @@ public void savePublications() throws MCRPersistenceException, MCRAccessExceptio
}
MCRObject obj = new MCRObject(publication);
- MCRObjectID oid = MCRObjectID.getNextFreeId(PROJECT_ID + "_mods");
+ MCRObjectID oid = MCRMetadataManager.getMCRObjectIDGenerator().getNextFreeId(PROJECT_ID + "_mods");
+
obj.setId(oid);
obj.getService().addFlag("importID", id);
@@ -138,7 +139,7 @@ protected Optional getFilterTransformer() {
private Document applyFilterTransformer(Document publication, MCRContentTransformer transformer) {
try {
return transformer.transform(new MCRJDOMContent(publication)).asXML();
- } catch (JDOMException | IOException | SAXException e) {
+ } catch (JDOMException | IOException e) {
LOGGER.error(e.getMessage(), e);
return publication;
}
diff --git a/ubo-common/src/main/java/org/mycore/ubo/importer/ImportListJobAction.java b/ubo-common/src/main/java/org/mycore/ubo/importer/ImportListJobAction.java
index 0be16778c..316fbc6d8 100644
--- a/ubo-common/src/main/java/org/mycore/ubo/importer/ImportListJobAction.java
+++ b/ubo-common/src/main/java/org/mycore/ubo/importer/ImportListJobAction.java
@@ -38,9 +38,6 @@ public class ImportListJobAction extends MCRJobAction {
protected static final Optional DEFAULT_EMAIL_FROM = MCRConfiguration2.getString("UBO.Mail.From");
- public ImportListJobAction() {
- }
-
public ImportListJobAction(MCRJob mcrJob) {
super(mcrJob);
}
@@ -68,9 +65,7 @@ public void execute() throws ExecutionException {
}
try {
- MCRTransactionHelper.beginTransaction();
importJob.savePublications();
- MCRTransactionHelper.commitTransaction();
sendMail(importJob);
} catch (Exception e) {
LOGGER.error("Error while saving publications", e);
diff --git a/ubo-common/src/main/java/org/mycore/ubo/importer/scopus/ScopusAffiliationQuery.java b/ubo-common/src/main/java/org/mycore/ubo/importer/scopus/ScopusAffiliationQuery.java
index ec2d55f0b..a0cbd8ab6 100644
--- a/ubo-common/src/main/java/org/mycore/ubo/importer/scopus/ScopusAffiliationQuery.java
+++ b/ubo-common/src/main/java/org/mycore/ubo/importer/scopus/ScopusAffiliationQuery.java
@@ -1,5 +1,12 @@
package org.mycore.ubo.importer.scopus;
+import org.jdom2.Document;
+import org.jdom2.Element;
+import org.jdom2.JDOMException;
+import org.mycore.common.MCRException;
+import org.mycore.common.content.MCRURLContent;
+import org.xml.sax.SAXException;
+
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
@@ -8,13 +15,6 @@
import java.util.function.Consumer;
import java.util.stream.Collectors;
-import org.jdom2.Document;
-import org.jdom2.Element;
-import org.jdom2.JDOMException;
-import org.mycore.common.MCRException;
-import org.mycore.common.content.MCRURLContent;
-import org.xml.sax.SAXException;
-
public class ScopusAffiliationQuery extends AbstractScopusQuery{
private static final String AFFILIATION_QUERY_PATTERN = "/affiliation/affiliation_id/%1$s?&apikey=%2$s&insttoken=%3$s&count=%4$s&start=%5$s&view=DOCUMENTS";
@@ -103,7 +103,7 @@ public void resolveAllIDs(Consumer onResolve){
this.setStart(getStart()+getCount());
} while (getStart()
-
+
diff --git a/ubo-common/src/main/resources/config/ubo-common/mycore.properties b/ubo-common/src/main/resources/config/ubo-common/mycore.properties
index 6982a2c64..4743eab6e 100644
--- a/ubo-common/src/main/resources/config/ubo-common/mycore.properties
+++ b/ubo-common/src/main/resources/config/ubo-common/mycore.properties
@@ -36,8 +36,6 @@ MCR.Solr.Core.main.Name=ubo
MCR.Solr.DynamicFields=false
MCR.Solr.Proxy.WhiteList=/select,/select2,/uboExport,/statistics
-MCR.URIResolver.xslImports.solr-document=solr-basetemplate.xsl,ubo-solr.xsl
-
MCR.EventHandler.MCRObject.013.Class=org.mycore.mods.MCRExtractRelatedItemsEventHandler
MCR.EventHandler.MCRObject.018.Class=org.mycore.ubo.dedup.DeDupEventHandler
#MCR.EventHandler.MCRObject.019.Class=org.mycore.ubo.publication.PublicationEventHandler
@@ -337,16 +335,59 @@ MCR.ContentTransformer.duplicates.Stylesheet=xsl/duplicates.xsl,%UBO.DefaultHTML
MCR.ContentTransformer.mcr_error.Stylesheet=xsl/mcr_error.xsl,%UBO.DefaultHTMLLayoutSteps%
MCR.ContentTransformer.roles.Stylesheet=xsl/roles.xsl,xsl/webpage.xsl,%UBO.DefaultHTMLLayoutSteps%
MCR.ContentTransformer.debugEnrichment.Stylesheet=xsl/debugEnrichment.xsl,%UBO.DefaultHTMLLayoutSteps%
-MCR.ContentTransformer.solr2csv.Stylesheet=xsl/solr2csv.xsl
+MCR.ContentTransformer.solr2csv.Stylesheet=xslt/solr2csv.xsl
MCR.ContentTransformer.solr2csv.FileExtension=csv
-MCR.ContentTransformer.solr2csv.TransformerFactoryClass=net.sf.saxon.TransformerFactoryImpl
-MCR.ContentTransformer.basket2solradd.Stylesheet=xsl/basket2solradd.xsl
-MCR.ContentTransformer.basket2solradd.TransformerFactoryClass=net.sf.saxon.TransformerFactoryImpl
+MCR.ContentTransformer.basket2solradd.Stylesheet=xslt/basket2solradd.xsl
MCR.ContentTransformer.mods2csv.Class=org.mycore.common.content.transformer.MCRTransformerPipe
MCR.ContentTransformer.mods2csv.Steps=basket2solradd,mycoreobject-solrdocument,solr2csv
MCR.ContentTransformer.mods2csv2.Class=org.mycore.common.content.transformer.MCRTransformerPipe
MCR.ContentTransformer.mods2csv2.Steps=solr2csv
+####################################################################################
+# 2023.06.x https://github.com/MyCoRe-Org/mycore/pull/1964#issuecomment-1746748570 #
+####################################################################################
+MCR.Layout.Transformer.Factory.XSLFolder = xsl
+MCR.ContentTransformer.mycoreobject-solrdocument.Class = org.mycore.common.content.transformer.MCRXSL2JAXBTransformer
+MCR.ContentTransformer.mycoreobject-solrdocument.Context = org.mycore.solr.index.document.jaxb
+MCR.ContentTransformer.mycoreobject-solrdocument.Stylesheet = xsl/mycoreobject-solrdocument.xsl
+MCR.ContentTransformer.mycoreobject-solrdocument.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.response-browse.Stylesheet = xsl/response-browse.xsl
+MCR.ContentTransformer.response-prepared.Class = org.mycore.common.content.transformer.MCRXSLTransformer
+MCR.ContentTransformer.response-prepared.Stylesheet = xsl/response-join-results.xsl,xsl/response-addDocId.xsl,xsl/response-addDerivates.xsl
+MCR.ContentTransformer.response-prepared.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.response-solrdocument.Class = org.mycore.common.content.transformer.MCRXSL2JAXBTransformer
+MCR.ContentTransformer.response-solrdocument.Context = %MCR.ContentTransformer.mycoreobject-solrdocument.Context%
+MCR.ContentTransformer.response-solrdocument.Stylesheet = xsl/response2batch.xsl,%MCR.ContentTransformer.mycoreobject-solrdocument.Stylesheet%
+MCR.ContentTransformer.response-solrdocument.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.URIResolver.xslImports.solr-document = solr-basetemplate.xsl,ubo-solr.xsl
+MCR.URIResolver.xslIncludes.components = %MCR.URIResolver.xslIncludes.components%,solr-layout-utils.xsl
+MCR.URIResolver.xslIncludes.xeditorTemplates = solr-xeditor-templates.xsl
+
+# Set Transformer Factories
+MCR.ContentTransformer.MyCoReWebPage.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.basket-objects.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.debugEnrichment.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.duplicates.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.ldappidsearch.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.list-wizard.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.lsfpidsearch.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.mcr_error.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.mods-wizard-notfound.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.mycoreobject-structure.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.response-duplicates.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.response-facets.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.response-newest.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.response-sidebar-admin.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.response-sidebar-mini.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.response-statistics.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.response.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.roles.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.site.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.user.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.users.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+MCR.ContentTransformer.webpage.TransformerFactoryClass = org.apache.xalan.processor.TransformerFactoryImpl
+############################################################################################################
+
UBO.Export.Fields=id,subject,oa,genre,host_genre,person_aut,person_edt,title,id_doi,id_scopus,id_pubmed,id_isi,id_urn,id_duepublico,id_duepublico2,host_title,series,id_issn,id_isbn,shelfmark,year,volume,issue,pages,place,publisher
# Set allowed status of publications appearing personal publication list
UBO.Export.Status.Restriction=+status:confirmed
diff --git a/ubo-common/src/main/resources/xsl/html-layout.xsl b/ubo-common/src/main/resources/xsl/html-layout.xsl
index 9fba3f664..d2c250f25 100644
--- a/ubo-common/src/main/resources/xsl/html-layout.xsl
+++ b/ubo-common/src/main/resources/xsl/html-layout.xsl
@@ -17,6 +17,7 @@
+
diff --git a/ubo-common/src/main/resources/xsl/basket2solradd.xsl b/ubo-common/src/main/resources/xslt/basket2solradd.xsl
similarity index 100%
rename from ubo-common/src/main/resources/xsl/basket2solradd.xsl
rename to ubo-common/src/main/resources/xslt/basket2solradd.xsl
diff --git a/ubo-common/src/main/resources/xsl/solr2csv.xsl b/ubo-common/src/main/resources/xslt/solr2csv.xsl
similarity index 100%
rename from ubo-common/src/main/resources/xsl/solr2csv.xsl
rename to ubo-common/src/main/resources/xslt/solr2csv.xsl
diff --git a/ubo-common/src/test/resources/META-INF/persistence.xml b/ubo-common/src/test/resources/META-INF/persistence.xml
index 221791d44..d5acc270e 100644
--- a/ubo-common/src/test/resources/META-INF/persistence.xml
+++ b/ubo-common/src/test/resources/META-INF/persistence.xml
@@ -1,18 +1,25 @@
-
-
+
+
+
-
META-INF/mycore-base-mappings.xml
+ META-INF/mycore-pi-mappings.xml
META-INF/mycore-user2-mappings.xml
+ META-INF/mycore-jobqueue-mappings.xml
+
-
-
-
-
+
+
+
+
+
+