dda-wizard issueshttps://git.gesis.org/dda/dda-wizard/-/issues2017-05-18T11:17:27Zhttps://git.gesis.org/dda/dda-wizard/-/issues/42introduce metadatum for time of harvest to help with debugging2017-05-18T11:17:27ZGerrit Hübbersintroduce metadatum for time of harvest to help with debugginge.g. internal.dda.harvestdatee.g. internal.dda.harvestdatehttps://git.gesis.org/dda/dda-wizard/-/issues/43Add setSpec data to BundlesSource entity2020-02-28T08:59:53ZGerrit HübbersAdd setSpec data to BundlesSource entitySome OAI-PMH-kind BundlesSources require to have their search specification scoped on a specific set, e.g. for harvesting the discussion papers sets from WZB.Some OAI-PMH-kind BundlesSources require to have their search specification scoped on a specific set, e.g. for harvesting the discussion papers sets from WZB.Gerrit HübbersGerrit Hübbershttps://git.gesis.org/dda/dda-wizard/-/issues/44Update main site from normal user2019-01-23T11:00:33ZHellmich, ChristophUpdate main site from normal userhttps://git.gesis.org/dda/dda-wizard/-/issues/45Rename Entity Options to Option2019-01-23T11:00:33ZHellmich, ChristophRename Entity Options to OptionUmbenennung der Entität von Plural in Singular.
Hinweis: Erst ab Version 3 von JHipster können Entitäten erstellen werden, deren Namen einem *reserved Word* des DBMSs entsprechen [1]. Da zurzeit Version 2.27.2 von JHipster verwendet wir...Umbenennung der Entität von Plural in Singular.
Hinweis: Erst ab Version 3 von JHipster können Entitäten erstellen werden, deren Namen einem *reserved Word* des DBMSs entsprechen [1]. Da zurzeit Version 2.27.2 von JHipster verwendet wird, ist eine automatische Generierung der Entität einschließlich aller weiteren Dateien nicht möglich.
[1] https://github.com/jhipster/generator-jhipster/issues/2558https://git.gesis.org/dda/dda-wizard/-/issues/46Use in Developer Profil a Local MySql Database Instead of H22018-02-07T16:35:52ZHellmich, ChristophUse in Developer Profil a Local MySql Database Instead of H2Fehler die nur in Verbindung mit einer MySQL-Datenbank auftreten, sind aufwändig zu beheben, da der Fehler nicht lokal untersucht werden kann.Fehler die nur in Verbindung mit einer MySQL-Datenbank auftreten, sind aufwändig zu beheben, da der Fehler nicht lokal untersucht werden kann.https://git.gesis.org/dda/dda-wizard/-/issues/47Treat deleted OAI-PMH records well2018-01-11T11:07:13ZGerrit HübbersTreat deleted OAI-PMH records wellTreat deleted OAI-PMH records correctly, e.g.
http://dspace.wbv.de:8888/oai/request?verb=ListIdentifiers&metadataPrefix=xoai
lists an identifier `oai:dspace.wbv.de:103278/523`, but querying for that identifier
http://dspace.wbv.de:8888/...Treat deleted OAI-PMH records correctly, e.g.
http://dspace.wbv.de:8888/oai/request?verb=ListIdentifiers&metadataPrefix=xoai
lists an identifier `oai:dspace.wbv.de:103278/523`, but querying for that identifier
http://dspace.wbv.de:8888/oai/request?verb=GetRecord&metadataPrefix=xoai&identifier=oai:dspace.wbv.de:103278/523
results in a *The given id does not exist* error message.
DDA should filter out such records, possibly marking them as DELETED in the BundleEntityGerrit HübbersGerrit Hübbershttps://git.gesis.org/dda/dda-wizard/-/issues/48Make FeederService transactionally more granular2017-05-18T11:17:27ZGerrit HübbersMake FeederService transactionally more granularRight now, FeederService will commit found and updated Bundles and BundlesSource only after it has finished feeding.
In case something breaks during feeding (e.g. restart), all state that has been changed up until then will be lost.
In...Right now, FeederService will commit found and updated Bundles and BundlesSource only after it has finished feeding.
In case something breaks during feeding (e.g. restart), all state that has been changed up until then will be lost.
Instead, the transactions should commit for each processed bundle.Gerrit HübbersGerrit Hübbershttps://git.gesis.org/dda/dda-wizard/-/issues/49E-mails sent by DDA-uploaded SSOAR documents sould not be empty2018-01-11T11:06:19ZGerrit HübbersE-mails sent by DDA-uploaded SSOAR documents sould not be emptyvia Thomas:
```
Hallo Gerrit,
bislang sind die E-Mails, die uns darüber informieren, dass neue Dokumente hochgeladen werden, für den DDA noch leer (s.u.). Für zukünftige Import ist es sinnvoll, wenn auch das Titelfeld befüllt ist.
Viel...via Thomas:
```
Hallo Gerrit,
bislang sind die E-Mails, die uns darüber informieren, dass neue Dokumente hochgeladen werden, für den DDA noch leer (s.u.). Für zukünftige Import ist es sinnvoll, wenn auch das Titelfeld befüllt ist.
Viele Grüße
Thomas
```
* [ ] Task von UweGerrit HübbersGerrit Hübbershttps://git.gesis.org/dda/dda-wizard/-/issues/50Use new BundleService in FeederService2017-05-18T11:17:27ZGerrit HübbersUse new BundleService in FeederServiceGerrit HübbersGerrit Hübbershttps://git.gesis.org/dda/dda-wizard/-/issues/51Replace com.github.ladutsko.isbn** packages with Maven dependency2018-01-11T11:08:22ZGerrit HübbersReplace com.github.ladutsko.isbn** packages with Maven dependencyvia https://github.com/jitpack/jitpack.io/issues/1107via https://github.com/jitpack/jitpack.io/issues/1107Gerrit HübbersGerrit Hübbershttps://git.gesis.org/dda/dda-wizard/-/issues/52Think about changing entities Setting, ElementOption, Validation to value obj...2018-01-11T11:08:22ZGerrit HübbersThink about changing entities Setting, ElementOption, Validation to value objects/@EmbeddableCompare to how it was done for the @Embeddable JpaMetadatum used in the @Entity Bundle.Compare to how it was done for the @Embeddable JpaMetadatum used in the @Entity Bundle.https://git.gesis.org/dda/dda-wizard/-/issues/53Sort source, transformed, and target repository metadata on some bundle's det...2019-01-23T10:59:15ZNawaz, Muhammad AhsanSort source, transformed, and target repository metadata on some bundle's detail page nicelyI'd be nice to have the three different sets of metadata associated with a bundle, with identical keys on one line.
Example:
```
key || source metadata | transformed metadata | target repository metadata
----...I'd be nice to have the three different sets of metadata associated with a bundle, with identical keys on one line.
Example:
```
key || source metadata | transformed metadata | target repository metadata
-------------------------||-----------------|----------------------|---------------------------
dc.title || HELLO | Hello | Hello world
bla.uninteresting || dkfjdkj | |
internal.dda.identifier || | somewhere@@foo | somewhere@@foo
ssoar.identifier.classoz || | | 20059
```https://git.gesis.org/dda/dda-wizard/-/issues/54Fix OAI-PMH *from* race condition between server and FeederService2017-05-18T11:17:27ZGerrit HübbersFix OAI-PMH *from* race condition between server and FeederServiceAn OAI-PMH server may update its data only once per day during a cronjob.
FeederService.feed(..) and BundlesSourceService.updateAfterFeeding(..) currently assume, with respect with their update to the incremental harvesting "from" param...An OAI-PMH server may update its data only once per day during a cronjob.
FeederService.feed(..) and BundlesSourceService.updateAfterFeeding(..) currently assume, with respect with their update to the incremental harvesting "from" parameter that the OAI-PMH server data is up-to-date, serving out all OAI records between `from` and now. Here lies a race condition, exmplified with the following scenario.
todayAt22hrs: SchedulerConfiguration triggers -> FeederService harvests from lastDayAt22hrs until now (i.e. ~ todayAt22hrs) ... the OAI-PMH server does not report any new records **in this timeframe**. therefore, FeederServer doesn't get returned any records. FeederServer updates the `from` value to `today at 22 hrs`.
todayAt23hrs: the daily OAI-PMH server cronjob kicks in and adds to its index **all new records that have appeared between lastDayAt23hrs until now (i.e. ~ todayAt23hrs). It adds new records with their `lastModifiedDate` value set to the corresponding time when these records were added during the OAI-PMH server editor's business hours.
This repeats on and on with no records ever being added, and actually records being skipped.
The Solution would be to have `from` not being updated to the time of startOfTodaysIncrementalHarvesting, but instead keep (or update) it to the value of the last latest identified `lastModifiedDate` encountered in some previous harvesting ... this may result in the same from interval start being queried continously for several days until at least one next record is found - whose lastModifiedDate will be used.Gerrit HübbersGerrit Hübbershttps://git.gesis.org/dda/dda-wizard/-/issues/55Rewrite KnownMetadataPrefixesOaiPmhBundlesStreamSource to just use Instant fo...2017-05-18T11:17:27ZGerrit HübbersRewrite KnownMetadataPrefixesOaiPmhBundlesStreamSource to just use Instant for `from` and `until`, even for day-granularity OAI-PMH serversThe OAI-PMH 2 specification says:
```
Dates and times are uniformly encoded using ISO8601 and are expressed in UTC throughout the protocol. When time is included, the special UTC designator ("Z") must be used. UTC is implied for dates al...The OAI-PMH 2 specification says:
```
Dates and times are uniformly encoded using ISO8601 and are expressed in UTC throughout the protocol. When time is included, the special UTC designator ("Z") must be used. UTC is implied for dates although no timezone designator is specified. For example, 1957-03-20T20:30:00Z is UTC 8:30:00 PM on March 20th 1957. UTCdatetime is used in both protocol requests and protocol replies, in the way described in the following sections.
```
As the day-granularity type is supposed to use UTC / Zulu time, convertions from an internal `Instant` representation should be correct with respect to the specification.
The rewrite shall include changes to `org.gesis.dda.harvester.oaipmh.impl.HarvestSpecificationBuilder`, introducing a method `public void setIntervalTpye(HarvestingIntervalType intervalType)`. That new method in turn can then be programmatically used in `KnownMetadataPrefixesOaiPmhBundlesStreamSource` by querying oaiClient.identify().getGranularity().
As a result, using `KnownMetadataPrefixesOaiPmhBundlesStreamSource` shall become easier, as its clients no longer have the burden of deciding for the granularity type and by implication abstracting away *if-then-elsing* between second-granularity Instant and day-granularity LocalDate.
When this rewrite is finished, it is a good time to extract `KnownMetadataPrefixesOaiPmhBundlesStreamSource` into the YOAI library.Gerrit HübbersGerrit Hübbershttps://git.gesis.org/dda/dda-wizard/-/issues/56Create a SSOAR-in-a-box for integration test purposes2018-01-11T11:06:23ZGerrit HübbersCreate a SSOAR-in-a-box for integration test purposesGerrit HübbersGerrit Hübbershttps://git.gesis.org/dda/dda-wizard/-/issues/57SimpleConditional with Reference to Checkbox Element Don't Work2019-01-23T11:00:33ZHellmich, ChristophSimpleConditional with Reference to Checkbox Element Don't WorkAdd String to JSON parsingAdd String to JSON parsinghttps://git.gesis.org/dda/dda-wizard/-/issues/59allow harvesting of XML files containing metadata2017-07-17T14:57:04ZGerrit Hübbersallow harvesting of XML files containing metadataGerrit HübbersGerrit Hübbershttps://git.gesis.org/dda/dda-wizard/-/issues/60Show each User only their BoundlesSources2019-01-23T11:00:33ZHellmich, ChristophShow each User only their BoundlesSourceshttps://git.gesis.org/dda/dda-wizard/-/issues/61Set up warnings for Bundle validation2017-05-24T14:49:44ZHellmich, ChristophSet up warnings for Bundle validationA user shall not be hindered in providing Bundles which contain small validation errors.
Yet the user shall be shown a warning containing all validation errors, asking them to fix these validation errors. Nevertheless, there shall be a ...A user shall not be hindered in providing Bundles which contain small validation errors.
Yet the user shall be shown a warning containing all validation errors, asking them to fix these validation errors. Nevertheless, there shall be a button "upload to target repository anyway."Gerrit HübbersGerrit Hübbershttps://git.gesis.org/dda/dda-wizard/-/issues/62Usability Improvements2019-01-23T11:00:33ZHellmich, ChristophUsability Improvements* [x] Im Dialog Wizard erstellen, die Bedeutung des aktiven Wizards hervorheben
* [x] Im Dialog Wizard erstellen, die Checkbox links ausrichten
* [x] Arbeitsfläche ausblenden, wenn kein Schritt ausgewählt wurde
* [x] Im Dialog Schrit...* [x] Im Dialog Wizard erstellen, die Bedeutung des aktiven Wizards hervorheben
* [x] Im Dialog Wizard erstellen, die Checkbox links ausrichten
* [x] Arbeitsfläche ausblenden, wenn kein Schritt ausgewählt wurde
* [x] Im Dialog Schritt erstellen, das Description-Input entfernen
* [x] Element-Palette, alle Element anzeigen als Standard
* [x] Textfield-Element umbenennen nach Textinput
* [x] E-Mail-Element und Passwort-Element rausnehmen
* [x] Canvas-Größe entsprechend der Größe Element-Palette anpassen
* [x] Miscellaneous-Kategorie in der Element-Palette aufteilen nach Content Upload und Display Text
* [x] Substep erstellen (plus-Button) -> Dialog "Schritt erstellen" öffnen
* [x] Nach Erstellen eines Wizard automatisch einen Schritt erstellen und auswählen
* [x] Element.Name nach Element.Id umbenennen
* [x] Einen Namen für das Element überlegen, welches nur Text darstellt