Project

General

Profile

feature request #6933

Add possibility to export only families or other part of the tree in CDM light and DwC-A export

Added by Katja Luther over 1 year ago. Updated 11 months ago.

Status:
Closed
Priority:
Priority14
Assignee:
Category:
cdmadapter
Target version:
Start date:
09/08/2017
Due date:
% Done:

0%

Severity:
normal

Related issues

Related to Edit - feature request #6800: Allow all filters for DwCA export in TaxEditor Feedback 07/11/2017
Related to Edit - bug #6968: Unexpected error in CDM light when exporting Individuals Association with no unit attached Closed 09/21/2017

Associated revisions

Revision 48efa785 (diff)
Added by Katja Luther over 1 year ago

adapt cdmLightExport for using TaxonNodeFilter

Revision 10b4eb6d (diff)
Added by Katja Luther over 1 year ago

adapt export configurator for taxonnode filter (at first only for cdm light)

Revision e30489a4 (diff)
Added by Katja Luther over 1 year ago

cdmLight export: add classification export again

Revision 1daa8712 (diff)
Added by Katja Luther about 1 year ago

ref #6933: selected taxonNode is exported as well

Revision a05f423c (diff)
Added by Katja Luther about 1 year ago

adapt export wizards to the use of filters

Revision da38b436 (diff)
Added by Katja Luther about 1 year ago

add radio buttons for selection of export classification or subtree

Revision dc25caf0 (diff)
Added by Katja Luther about 1 year ago

if classification is selected it is preselected in drop down

Revision a73cb995 (diff)
Added by Katja Luther about 1 year ago

ref #6933: if taxonnode filter is selected classification combo not visible

Revision 363dd7cb (diff)
Added by Katja Luther about 1 year ago

ref #6933: fix NPE

Revision ae455253 (diff)
Added by Katja Luther about 1 year ago

ref #6933: classification of selected node preselected in classification combo

Revision 7293cf0b (diff)
Added by Andreas Müller about 1 year ago

ref #6933 change Export selected classification to Export complete classification

Revision 72e56518 (diff)
Added by Andreas Müller about 1 year ago

ref #6933 minor adaptations to labels for CDM light export

Revision 94f0df26 (diff)
Added by Katja Luther about 1 year ago

ref #6933: set anamorph to false if change NC

History

#1 Updated by Katja Luther over 1 year ago

and implement the configuration wizard for it

#2 Updated by Andreas Müller over 1 year ago

on CDM lib side we should use existing taxonomic filtering techniques from DwC-A export.

Also DwC-A export assistent should be adapted accordingly.

#3 Updated by Andreas Müller over 1 year ago

  • Tags set to euro+med, export

#4 Updated by Andreas Müller over 1 year ago

  • Target version changed from Unassigned CDM tickets to Euro+Med Migration

#5 Updated by Katja Luther over 1 year ago

  • Tags deleted (euro+med, export)
  • Target version changed from Euro+Med Migration to Unassigned CDM tickets

first implementation is available

#6 Updated by Katja Luther over 1 year ago

  • Target version changed from Unassigned CDM tickets to Euro+Med Migration

#7 Updated by Katja Luther over 1 year ago

  • Tags set to euro+med, export

#8 Updated by Andreas Müller over 1 year ago

  • Subject changed from add possibility to export only families or other part of the tree in cdm light export to Add possibility to export only families or other part of the tree in cdm light export
  • Status changed from New to Resolved
  • Assignee changed from Katja Luther to Andreas Müller
  • Target version changed from Euro+Med Migration to Release 4.10

I put this on review for me even if not yet 100% ready.

#9 Updated by Andreas Müller about 1 year ago

  • Status changed from Resolved to Feedback
  • Assignee changed from Andreas Müller to Katja Luther

I would expect the chosen taxon node being part of the export, currently it looks like it is not.

#10 Updated by Andreas Müller about 1 year ago

The UI component for switching between taxon node and complete classification should more clearly show thet these are alternatives. E.g. use radio buttons. They indicate that one of the shown alternatives is to be selected.

Currently it looks like "Classification" is a subfeature of "Taxon node".

Also we should include the name of the selected taxon in the label so it becomes more clear which taxon is meant (and also it is a double check for correctness).

The label for taxon node should be "Export selected subtree ("Taxon name")"

The label for the classification should be "Export complete classification" (followed by the selection dropbox)

#11 Updated by Andreas Müller about 1 year ago

After running the export the UI is refreshed. This is not necessary as an export should not change the data. Only for imports a refresh is necessary. Feel free to create new ticket if necessary.

#12 Updated by Andreas Müller about 1 year ago

#13 Updated by Andreas Müller about 1 year ago

As suggested in some emails we should try to synchronize CDM light and DwC-A (and potential other exports) as much as possible.

DwC-A uses TaxonNodeOutStreamPartitioner in DwcaTaxExport.doInvoke() which allows export large databases while the current CDM light implementation still loads all taxa in the same session and therefore does not scale.

We should try to use TaxonNodeOutStreamPartitioner. The implementation should be more or less similar to DwC-A.

#14 Updated by Katja Luther about 1 year ago

  • Status changed from Feedback to Resolved
  • Assignee changed from Katja Luther to Andreas Müller

adapted the text in fileExportWizard and create a new ticket for adapt the cdmlight export to use TaxonNodeOutStreamPartitioner (#6953)

#15 Updated by Andreas Müller about 1 year ago

  • Status changed from Resolved to Feedback
  • Assignee changed from Andreas Müller to Katja Luther

The UI component for switching between taxon node and complete classification should more clearly show that these are alternatives. E.g. use radio buttons. They indicate that one of the shown alternatives is to be selected.

This is not yet implemented

#16 Updated by Andreas Müller about 1 year ago

I tried to export "Nepenthaceae Dumort." from caryo_nepenthes on test-server. The result returned only 1 record in the taxon table. It looks like the taxa below the root were not exported.
If you changed to the same mechanism that is used in DwC-A export, please be aware, that DwC-A export allows exporting single taxa which are parents of a subtree. This can be configured. Distinguish between subtreeUuid and taxonUuid(?).

#17 Updated by Katja Luther about 1 year ago

  • Status changed from Feedback to Resolved

radio buttons are added and the filter is set to subtree filter, this was implemented already but not pushed.

#18 Updated by Andreas Müller about 1 year ago

  • Assignee changed from Katja Luther to Andreas Müller

#19 Updated by Andreas Müller about 1 year ago

  • Related to bug #6968: Unexpected error in CDM light when exporting Individuals Association with no unit attached added

#20 Updated by Andreas Müller about 1 year ago

The radio button works well but the label is now kind of duplicated. Can you please keep "Export complete classification" as label and remove "Export selected classification".

Also in case of the radio button being shown it would be nice to have the classification dropdown more to the right so it starts below the label and not below the radio button. Maybe you can have 2 versions for the classification selection, one that is used only if no subtree was defined before which also has its own label, and another one that is only shown if used together with the radio button and which uses the label of the radio button.

Another minor issue: the right alignment of "Select Folder ...." and the radio buttos / classification export is not correct. "Select Folder" is more to the right.

Another minor: please use small letters for "Folder" -> "Select folder for exproted files"

#21 Updated by Andreas Müller about 1 year ago

Another minor issue:

The label text for the title and subtitle:

Output Model Export -> CDM light Export

contents -> content

output model -> CDM light

#22 Updated by Andreas Müller about 1 year ago

If starting the export by right click on a classification I would expect this classification to be preselected in the classification dropdown. Currently this is not the case.

#23 Updated by Andreas Müller about 1 year ago

  • Status changed from Resolved to Feedback
  • Assignee changed from Andreas Müller to Katja Luther

Also if I start export by right click on a taxon node I would expect "Export selected subtree" to be preselected. Currently there is not preselection so it is unclear what happens when clicking "Finish" before selection.

#24 Updated by Andreas Müller about 1 year ago

Now the "Export selected subtree" is selected by default if started from a taxon node. But this should disable(make invisible) the classification selection as it is after explicitly selecting this option.

#25 Updated by Andreas Müller about 1 year ago

  • Subject changed from Add possibility to export only families or other part of the tree in cdm light export to Add possibility to export only families or other part of the tree in CDM light and DwC-A export

#26 Updated by Katja Luther about 1 year ago

  • Status changed from Feedback to Resolved
  • Assignee changed from Katja Luther to Andreas Müller

#27 Updated by Andreas Müller about 1 year ago

  • Status changed from Resolved to Feedback
  • Assignee changed from Andreas Müller to Katja Luther

Now when trying to open the export from a classification node I get an NPE

login : admin
editor version : 4.10.0.201709251134
server : test.e-taxonomy.eu (edit-test) / rem_conf_am
schema version : 4.7.0.0.201710040000
os : Windows Server 2012 R2 6.3 amd64
java : 1.8.0_121
java.lang.NullPointerException
    at eu.etaxonomy.taxeditor.io.wizard.ExportToFileDestinationWizardPage.createControl(ExportToFileDestinationWizardPage.java:364)
    at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:175)
    at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:696)
    at org.eclipse.jface.wizard.WizardDialog.setWizard(WizardDialog.java:1144)
    at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1197)
    at org.eclipse.jface.wizard.WizardDialog.lambda$2(WizardDialog.java:1185)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog.java:1185)
    at org.eclipse.ui.internal.dialogs.ImportExportPage.treeDoubleClicked(ImportExportPage.java:232)
    at org.eclipse.ui.internal.dialogs.ExportPage$2.doubleClick(ExportPage.java:76)
    at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:833)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
    at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:830)
    at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1470)
    at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1264)
    at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:252)
    at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:249)
    at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:311)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4418)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4236)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3824)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)
    at org.eclipse.jface.window.Window.open(Window.java:794)
    at org.eclipse.ui.internal.handlers.WizardHandler$Export.executeHandler(WizardHandler.java:106)
    at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:290)
    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
    at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:282)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:264)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:494)
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:488)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:433)
    at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.handleWidgetSelection(AbstractContributionItem.java:454)
    at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem$3.handleEvent(AbstractContributionItem.java:482)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4418)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4236)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3824)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:693)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
    at eu.etaxonomy.taxeditor.Application.start(Application.java:24)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1519)

#28 Updated by Andreas Müller about 1 year ago

Also when I open the export for a certain node but then choose "Export complete classification" the first classification shown is not necessarily the one belonging to the selected node. But this is what I would expect.

#29 Updated by Andreas Müller about 1 year ago

This is fixed now.

Remaining layout issues:

  • indentation
  • duplicated label for "Export complete classification"

New ticket or fix on the fly?

#30 Updated by Katja Luther about 1 year ago

  • Status changed from Feedback to Resolved
  • Assignee changed from Katja Luther to Andreas Müller

the two remaining issues are fixed with the last commit.

#31 Updated by Andreas Müller about 1 year ago

  • Status changed from Resolved to Closed
  • Assignee changed from Andreas Müller to Katja Luther

#32 Updated by Andreas Müller 11 months ago

  • Tags changed from euro+med, export to euro+med, export, dwca

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 40 MB)