diff --git a/docs/index_de.md b/docs/index_de.md index a0ca700..9f51332 100644 --- a/docs/index_de.md +++ b/docs/index_de.md @@ -47,6 +47,5 @@ Die folgende Tabelle enthält eine Zusammenstellung der Parameter und ihrer Besc Parameter | Erläuterung ------------------------|------------------------------------ `title` | Hier kann ein individueller Titel für die Anzeige im Menü und die Überschriften des Plugins festgelegt werden. -`importSet` | Mit diesem Element lassen sich individuelle Importsets definieren. Sie bestehen jeweils aus einem `title` für den anzuzeigenden Namen, sowie einer Angabe für den Speicherort, von dem die Daten importiert werden sollen. Der Speicherort kann dabei beliebig tiefe Verzeichnisstrukturen aufweisen. -`workflow` | Hiermit läßt sich festlegen, welche Produktionsvorlage für das Anlegen von Goobi-Vorgängen verwendet werden soll. +`importSet` | Mit diesem Element lassen sich individuelle Importsets definieren. Sie bestehen jeweils aus einem `title` für den anzuzeigenden Namen, sowie einer Angabe für den Speicherort, von dem die Daten importiert werden sollen. Der Speicherort kann dabei beliebig tiefe Verzeichnisstrukturen aufweisen. Ausserdem läßt sich mit `workflow` festlegen, welche Produktionsvorlage für das Anlegen von Goobi-Vorgängen verwendet werden soll. diff --git a/docs/index_en.md b/docs/index_en.md index d5718b3..f1a8398 100644 --- a/docs/index_en.md +++ b/docs/index_en.md @@ -48,5 +48,4 @@ The following table contains a summary of the parameters and their descriptions: Parameter | Explanation ------------------------|------------------------------------ `title` | An individual title for the display in the menu and the headings of the plugin can be defined here. -`importSet` | Individual import sets can be defined with this element. They each consist of a `title` for the name to be displayed and a specification for the storage location from which the data is to be imported. The storage location can have any depth of directory structure. -`workflow` | This allows you to specify which production template is to be used for creating Goobi processes. +`importSet` | Individual import sets can be defined with this element. They each consist of a `title` for the name to be displayed and a specification for the storage location from which the data is to be imported. The storage location can have any depth of directory structure. You can also use `workflow` to specify which production template is to be used for creating Goobi processes. diff --git a/install/plugin_intranda_workflow_wu_wma_import.xml b/install/plugin_intranda_workflow_wu_wma_import.xml index f60355c..7c14d6a 100644 --- a/install/plugin_intranda_workflow_wu_wma_import.xml +++ b/install/plugin_intranda_workflow_wu_wma_import.xml @@ -3,12 +3,9 @@ Mass import for the WU - - - - - - - Sample_Workflow - + + + + + diff --git a/module-base/src/main/java/de/intranda/goobi/plugins/WuWmaImportWorkflowPlugin.java b/module-base/src/main/java/de/intranda/goobi/plugins/WuWmaImportWorkflowPlugin.java index 6d1e09e..a757b31 100644 --- a/module-base/src/main/java/de/intranda/goobi/plugins/WuWmaImportWorkflowPlugin.java +++ b/module-base/src/main/java/de/intranda/goobi/plugins/WuWmaImportWorkflowPlugin.java @@ -87,8 +87,6 @@ public class WuWmaImportWorkflowPlugin implements IWorkflowPlugin, IPushPlugin { @Getter private int errors = 0; - private String workflow; - @Override public PluginType getType() { return PluginType.Workflow; @@ -120,16 +118,14 @@ private void readConfiguration() { // set specific title title = ConfigPlugins.getPluginConfig(id).getString("title"); - // read some main configuration - workflow = ConfigPlugins.getPluginConfig(id).getString("workflow"); - // read list of mapping configuration importSets = new ArrayList(); List mappings = ConfigPlugins.getPluginConfig(id).configurationsAt("importSet"); for (HierarchicalConfiguration node : mappings) { String settitle = node.getString("[@title]", "-"); String source = node.getString("[@source]", "-"); - importSets.add(new ImportSet(settitle, source)); + String workflow = node.getString("[@workflow]", "-"); + importSets.add(new ImportSet(settitle, source, workflow)); } // write a log into the UI @@ -180,7 +176,7 @@ public void startImport(ImportSet importset) { updateLog("Start importing: Record " + (itemCurrent + 1), 1); // get the correct workflow to use - Process template = ProcessManager.getProcessByExactTitle(workflow); + Process template = ProcessManager.getProcessByExactTitle(importset.getWorkflow()); Prefs prefs = template.getRegelsatz().getPreferences(); // create digital document @@ -256,6 +252,16 @@ public void startImport(ImportSet importset) { for (SimpleContent con : sio.getProcess().getContents()) { String targetBase = process.getConfiguredImageFolder(con.getFolder().trim()); + // get the source folder + if (targetBase == null && "source".equals(con.getFolder().trim())) { + targetBase = process.getSourceDirectory(); + } + + // get the import folder + if (targetBase == null && "import".equals(con.getFolder().trim())) { + targetBase = process.getImportDirectory(); + } + // if the target folder cannot be found if (targetBase == null) { updateLog("Error: Target folder '" + con.getFolder() + "' does not exist for file '" + con.getSource() + "'", 3); @@ -456,6 +462,7 @@ private void updateLog(String logmessage, int level) { public class ImportSet { private String title; private String source; + private String workflow; } @Data