Commit d612c441 authored by Stefan Funk's avatar Stefan Funk 🐧
Browse files

Merge branch 'release/3.6.9'

parents 1cbc3399 b02a5913
/PLATIN/**
/edit/bower_components/**
/docs/_build/**
/node_modules
Bugfix Version 3.6.9 (September 14th 2021)
==========================================
* Update documentation
* Fix #38: Add new version of Handsontable
* Remove lib folder and update OpenLayers in edit
* Remove bower components and fix local CSV file import
* Fix #75 (List OwnStorage Files“ leads to endless reload loop)
* Fix #72 (Place Selection for selected cells)
* Fix #65 ("add large amount of data" fixed by Handsontable update)
* Fix #55 (use GettyID for geolocation)
* Fix #54 (Handle (old) alerts, that are not valid anymore)
* Fix #51 (Import KML files)
* Fix #48 (We would need a "Set only for some places named" button)
* Fix #26 (Message when no content in Address field)
* Add options for batch-geocoding with OSM and Geonames
Bugfix Version 3.6.8 (June 2021)
================================
* Fix CSV upload bug if not logged in
* Refactor package management to use CDN
Bugfix Version 3.6.7 (March 4th 2021)
=====================================
......
......@@ -18,7 +18,7 @@ node {
// TODO: Set version number in the HTML pages, too! Decide between releases and snapshots!
// SNAPSHOTs are put into the SNAPSHOTS repo, releases and BETAs are put into the RELEASES repo!
package_version = '3.6.7'
package_version = '3.6.9'
name = 'dariahde-geobrowser'
description = 'DARIAH-DE Geo-Browser'
url = 'https://geobrowser.de.dariah.eu/'
......@@ -34,10 +34,8 @@ node {
git clone https://github.com/DARIAH-DE/PLATIN.git
# FIXME: Remove develop checkout if releasing!!!
# cd PLATIN && git checkout develop && rake all
cd PLATIN && rake all
cd ../edit && bower install
cd PLATIN && git checkout develop && rake all
# cd PLATIN && rake all
echo "===> Preparing doc building"
umask 0022
......
......@@ -16,9 +16,10 @@
cd PLATIN
rake all
4. Create bower_components folder by copying from existing Geo-Browser instance or installing via bower (see edit/README.md file)
4. Run and debug Geo-Browser locally:
cd edit
bower install
cd ..
npm install
npm start
5. Enjoy your new Geo-Browser installation!
......@@ -2,11 +2,31 @@
For releasing a new Geo-Browser and Datasheet version, please have a look at the [DARIAH-DE Release Management Page](https://wiki.de.dariah.eu/display/DARIAH3/DARIAH-DE+Release+Management).
## Deployment Workflow
The deployment workflows for SNAPSHOT and RELEASE deployments are covered by the Jenkinsfile of each branch, please see [Jenkinsfile](./Jenkinsfile), and of course the [DARIAH-DE Jenkins](https://ci.de.dariah.eu/jenkins/job/DARIAH-DE-Geo-Browser/) installation.
## Specials in Geo-Browser and Datasheet releases are the following
You must first release the [DARIAH-DE PLATIN Library](https://github.com/DARIAH-DE/PLATIN) (only if changed at all!) and maybe adapt all references and links from BETA versions and DEVELOPMENT services to RELEASE and PRODUCTIVE (such as DARIAH-DE OwnStorage) in the following files:
You must first release the [DARIAH-DE PLATIN Library](https://github.com/DARIAH-DE/PLATIN) (only if changed at all!)
git checkout develop
git flow release start 3.6.9
edit the file `./PLATIN/js/GeoTemConfig.js` and maybe adapt all references and links from BETA versions and DEVELOPMENT services to RELEASE and PRODUCTIVE (such as DARIAH-DE OwnStorage)
* dariahOwnStorageURL
* dataSheetEditor
git commit -am "New RELEASE version 3.6.9"
git flow release finish 3.6.9
edit `./PLATIN/js/GeoTemConfig.js` again and change back the
* dariahOwnStorageURL
* dataSheetEditor
* [PLATIN/js/GeoTemConfig.js](https://github.com/DARIAH-DE/PLATIN/blob/master/js/GeoTemConfig.js)
afterwards:
### Do in Gitflow Release Branch
......
......@@ -63,8 +63,8 @@ version = '2021'
# The full version, including alpha/beta/rc tags.
# Please put here the release date as release version!
release = '2021-03-04'
#release = '2021-03-04-BETA'
release = '2021-09-14'
#release = '2021-06-09-BETA'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
......
......@@ -11,7 +11,7 @@ Datasheet Editor FAQ
.. topic:: Why can Geolocation Completion not find the places I added to the table?
The names of places have to be added to the “Address” column and capitalized to be found via Geolocation Completion. If these two steps are followed and the location is still missing, its name might not be registered in Getty.
The names of places have to be added to the “Address” column and capitalized to be found via Geolocation Completion. If these two steps are followed and the location is still missing, its name might not be registered in the Getty Thesaurus of Geographic Names (TGN), which is the default geocoder to be used. Please try out one of the other available geocoders, OSM or GeoNames, in the the drop-down menu at “Place selection“.
.. topic:: Why is my Datasheet Editor data displayed incompletely in Geo-Browser?
......@@ -19,9 +19,9 @@ Datasheet Editor FAQ
Some HTML-Symbols like “&” confuse the Geo-Browser. Please check your entries for special characters and replace “&” with “&amp” for example. For more information you can visit `Bug #14359 <https://projects.gwdg.de/issues/14359>`__ in our Geo-Browser-Bugtracker.
.. topic:: Is it possible to only add coordinates to certain places by using the set all places named-button?
.. topic:: Is it possible to only add coordinates to certain places by using the “Set“ button?
No unfortunately not. This feature is planned for an upcoming version (please refer to `Feature #15318 <https://projects.gwdg.de/issues/15318>`__). In the meantime you can temporarily change the names of places, you plan the same coordinates for, and then set their coordinates. If you entered “Berlin” multiple times and want to change the coordinates for some of them, you can either change them into a different place or change their name slightly, so that they are not recognized as Berlin. After that you can return to the original name. This process has to be repeated every time you edit the names.
Yes, this feature is now available. For example, if you entered “Berlin” multiple times and want to change the coordinates for only some of them, you can select the respective rows or cells by left-clicking and holding the left mouse button until they are highlighted blue. Please make sure that the “Address” fields are part of your selection, not just the Latitude/Longitude/GettyID fields. The easiest option is to select entire rows by left-clicking on the gray row index area (1,2,...) and extending or reducing the selection by dragging up and down. By both left-clicking and pressing CRTL on your keyboard, single rows can be added to the selection. If you then use the “Set“ button (or start the entire “Geolocation completion“ process), only the values within your selection will be considered for geolocation.
.. topic:: The automatically generated geographic data by Getty ID is partially incorrect. Why do some places appear to be up to 40 km removed from their origin, making them unusable for further examination?
......
......@@ -60,9 +60,11 @@ If completed, you can **View your dataset** by opening it with the Geo-Browser.
Create or import your data
^^^^^^^^^^^^^^^^^^^^^^^^^^
The first option after calling the website is to either create a new datasheet or to import an existing datasheet. By clicking “Create a new datasheet”, a new document is generated. By clicking “Durchsuchen...” (German) or “Browse...“ (English), a CSV file from the local storage can be loaded into the datasheet.
The first option after calling the website is to either create a new datasheet or to import an existing datasheet. By clicking “Create a new datasheet”, a new document is generated. By clicking “Import local CSV or KML file“ a CSV or KML file from the local storage can be loaded into the datasheet.
After clicking on “Create a new datasheet“ or “Durchsuchen...“ / “Browse...“, you will be redirected to the DARIAH-DE log-in, the DARIAH AAI (Authentication & Authorization Infrastructure).
KML files must comply with the `specification <https://geobrowser.de.dariah.eu/doc/_downloads/M3.3.2_eConnect_KML_Specification_v1.0_UGOE.pdf>`__ in order to be processed correctly. Hence, KML files with no “Placemark“ tag cannot be imported! Once the KML file was read without errors, it is transformed to CSV format and also stored as such. As a CSV file, it can be enhanced by additional content such as further columns.
After clicking on “Create new datasheet“ or “Durchsuchen...“ / “Browse...“, you will be redirected to the DARIAH-DE log-in, the DARIAH AAI (Authentication & Authorization Infrastructure).
Here, you have to log in with your DARIAH account or any other eduGAIN federation account.
......@@ -115,38 +117,41 @@ After logging in, a green window with the title “New datasheet created!” ope
Fig. 5: New datasheet created
By right-clicking on a cell in the datasheet, a row above (“Insert row above”) or below (“Insert row below”) can be inserted. Rows can be removed via “Remove row” and columns via “Remove column”. Columns can be inserted as well either to the left (“Insert column on the left”) or right (“Insert column on the right”). Thus it is possible to create new categories in the datasheet if additional information on the locations is to be saved. Categories can also be altered in the Datasheet Editor.
By right-clicking on a cell in the datasheet, a row above (“Insert row above”) or below (“Insert row below”) can be inserted. Rows can be removed via “Remove row” and columns via “Remove column”. Columns can be inserted as well either to the left (“Insert column left”) or right (“Insert column right”) in order to add further information about locations in the datasheet.
.. figure:: datasheet-screenshots/6-insert-column.png
:align: center
Fig. 6: Insert new column
By clicking on a cell, it gets highlighted in blue and is considered as selected. You can extend the selection by holding the left mouse button. Right-click to open the context menu and select an action for the selected cells. Alternatively, you can use a keyboard shortcut, e.g. CRTL+C for copying or DEL for deleting the contents of selected cells. Moreover, cell selection can be used to specify which addresses should be geocoded (see below).
If no cells are selected (highlighted in blue), the entire datasheet is considered as selected by default. You can clear a selection by either clicking on the button “Clear selection“ or by left-clicking on the white area outside the datasheet.
Find the coordinates for the places in your datasheet
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
To enter a location directly into the Datasheet Editor, the longitude and latitude must be known to display the place in the Geo-Browser. If these data are not already known, the tools on the website “Add geocoordinates“, “Place selection“ and “Map selection“ can be used to find them. By clicking “Geolocation completion“ in the “Add geocoordinates“ box, the fields “Longitude“, “Latitude“ and “GettyID“ are added automatically for all locations listed in the “Address“ field of the datasheet. These locations will also be listed in the “Place selection“ box.
For locations entered into the Datasheet Editor, longitude and latitude must be specified in order to display them in the Geo-Browser. If these coordinates are not known, the tool „Geolocation completion“ and its refinement options “Place Selection“, “Map selection“ and “Map search“ can be used to find them. By clicking “Geolocation completion“ in the “Add geocoordinates“ box, the fields “Longitude“, “Latitude“ and “GettyID“ are added automatically for all (or all selected) locations listed in the “Address“ field of the datasheet. These automatically processed locations will also be listed in the “Place selection“ box.
.. figure:: datasheet-screenshots/7-geolocation-completion.png
:align: center
Fig. 7: Using geolocation completion
By default, The Getty Thesaurus of Geographic Names (TGN) is used for finding coordinates for addresses (“geocoding“). With TGN, smaller locations are not always found. As alternatives, the drop-down menu in the “Place selection“ box offers two other geocoders: GeoNames and Nominatim by OpenStreetMap (OSM). OSM often finds smaller locations not available in the TGN, and also streets and house numbers. OSM also tends to be more accurate with larger locations by choosing the most relevant entry.
The Getty Thesaurus of Geographic Names (TGN) is used for searching locations. With TGN larger locations are found, smaller locations are not always found. If the location is not the desired one, in the “Place selection“ box you can click on the arrow next to the location name to open a drop-down menu with a list of other locations with the same name (if existing). After choosing the correct location from this list, you can click “Set“ right to the drop-down menu to fill in the corresponding fields “Longitude“, “Latitude“ and “GettyID“ in the datasheet.
When using TGN, you further have the choice between geocoding based on the “Address“ column, or based on the “GettyID“ column. The default is “Address“. OSM and GeoNames can only be based on “Address“.
To find places and coordinates for “Place selection“ the method “exact-match“ of the `DARIAH-DE Normdata Services <https://wiki.de.dariah.eu/display/publicde/DARIAH-DE+Normdatendienste#DARIAH-DENormdatendienste-ThesaurusofGographicalNames(Getty)>`_ is being used, that accesses the Thesaurus of Geographical Names (Getty). If more than one entry is being found, the coordinates of the first match are put into the table. To choose another set of coordinates, you can do so by choosing another place and then click on the “Set“ button on the right. Please note, that only the coordinates of the chosen place for „Address“ are changes, and not the content of the „Address“ field itself!
If the automatically retrieved location is not the desired one, you can click on the arrow next to the location name in the “Place selection“ box to open a drop-down menu with a list of other locations with the same name (if available). For example, when geocoding with TGN, the method “exact-match“ of the `DARIAH-DE Normdata Services <https://wiki.de.dariah.eu/display/publicde/DARIAH-DE+Normdatendienste#DARIAH-DENormdatendienste-ThesaurusofGographicalNames(Getty)>`_ queries the Thesaurus of Geographical Names and adds the coordinates of the first match to the table. Existing entries will not be overwritten automatically. If additional matches are available, they are added to the drop-down list. After choosing the correct location from this list, you can click “Set“ on the right of the drop-down menu to complete the corresponding fields “Longitude“, “Latitude“ and (when using TGN based on “Address“) “GettyID“ in the datasheet. By clicking “Set“, existing coordinates will be overwritten. Please note that the content of the „Address“ field itself will not be changed - except in the case of using TGN based on GettyID. Here, “Address“ fields will be completed automatically in case they are empty and as long as valid GettyIDs are given.
If the desired location is not listed in the drop-down menu, you can click on the “Map“ field next to it. By this, the location will be entered in the “Map selection“ box, both above and below the world map. Below the world map you can find the search options TGN, OpenStreetMap (OSM) and GeoNames. OSM often also finds smaller locations, which TGN does not find. With OSM it is also possible to find streets and street numbers. By clicking the “Set“ field above the world map, the fields “Longitude“ and “Latitude“ will be updated in the datasheet for the corresponding location. Caution: the location entered in the text field above the world map has to be spelled in the same way as the location in the “Address“ field of the datasheet!
If the desired location is not listed in the drop-down menu, you can click on the “Map“ field next to it. By this, the location will be entered in the “Map selection“ box, both above and below the world map. Below the world map you have the option of searching TGN, OpenStreetMap (OSM) or GeoNames for the address. By clicking the “Set“ field above the world map, the datasheet fields “Longitude“ and “Latitude“ will be updated for the corresponding location. Existing values will be overwritten. If you have multiple locations with the same address in the “Address“ column and want to update only some of them, select them in the table first. Caution: the address entered in the text field next to “Set“ has to be spelled in the same way as the term in the “Address“ field of the datasheet!
.. figure:: datasheet-screenshots/8-manual-search.png
:align: center
Fig. 8: Manual place and map selection
Another option is to drag the flag in the “Map selection“ box with the mouse, hereby the longitude and latitude can be determined with more precision. By zooming into the map, it’s possible to see streets more precisely. You can also search “manually“ for the places in the datasheet within the “Map selection“ box. But by searching locations via OSM or GeoNames in the “Map selection“ box, GettyIDs will not be given.
Another option is to drag the flag in the “Map selection“ box with the mouse in order to retrieve longitude and latitude with high precision. By zooming into the map, streets names can been viewed in detail. A manual address search by using TGN, OSM or GeoNames is also possible. When using TGN, you can even enter a GettyID into the search field. With OSM and Geonames, however, no GettyIDs are recognized or returned.
.. figure:: datasheet-screenshots/9-current-table-view.png
:align: center
......@@ -157,7 +162,7 @@ Another option is to drag the flag in the “Map selection“ box with the mouse
DARIAH-DE OwnStorage
^^^^^^^^^^^^^^^^^^^^
The datasets stored in the OwnStorage are accessible to you only at first. You can read, write, delete, and share each of your datasets.
Initially, the datasets stored in the OwnStorage are accessible only to you. You can read, write, delete, and share each of your datasets.
.. figure:: datasheet-screenshots/10-share-dataset.png
:align: center
......
......@@ -11,7 +11,7 @@ Datasheet EditorFAQ
.. topic:: Wieso finde ich mit der Geolocation Completion nicht die Orte, die ich in die Tabelle eingetragen habe?
Die Ortsnamen müssen (a) in die Spalte mit der Überschrift Address eingetragen sein und (b) sollten Sie auf Groß/Kleinschreibung achten. Momentan berücksichtigt die Suche nur korrekt groß geschriebene Ortsnamen (z. B. Mainz, Göttingen). Wenn Sie dies berücksichtigt haben und dennoch keine Treffer erhalten, ist der betreffende Ortsname möglicherweise nicht im Getty ausgezeichnet.
Die Ortsnamen müssen (a) in die Spalte mit der Überschrift Address eingetragen sein und (b) sollten Sie auf Groß-/Kleinschreibung achten. Momentan berücksichtigt die standardgemäß verwendete TGN-Suche nur korrekt groß geschriebene Ortsnamen (z. B. Mainz, Göttingen). Wenn Sie dies berücksichtigt haben und dennoch keine Treffer erhalten, ist der betreffende Ortsname möglicherweise nicht im Getty-Thesaurus verzeichnet. In diesem Fall können Sie im Dropdown-Menü unter „Place selection“ einen der beiden anderen verfügbaren Geocoder (OSM oder GeoNames) wählen und es damit erneut versuchen.
.. topic:: Meine Daten aus dem Datasheet Editor werden unvollständig im Geo-Browser dargestellt. Woran kann das liegen?
......@@ -19,9 +19,9 @@ Datasheet EditorFAQ
Einige HTML-Sonderzeihen wie z. B. das „&“ bringen die Darstellung im Geo-Browser durcheinander. Prüfen Sie bitte Ihre Eingaben in der Tabelle auf solche Sonderzeichen und ersetzen Sie z. B. das „&“ mit einem „&amp;“. Mehr Informationen hierzu siehe unter `Bug #14359 <https://projects.gwdg.de/issues/14359>`__ im Geo-Browser-Bugtracker.
.. topic:: Kann ich auch nur ausgewählte Ortsnamen mit den Set all places named-Button mit Koordinaten versehen?
.. topic:: Kann ich auch nur ausgewählte Ortsnamen über den Set-Button mit Koordinaten versehen?
Nein, das geht leider noch nicht. Dies ist jedoch als Feature vorgesehen für zukünftige Versionen (siehe `Feature #15318 <https://projects.gwdg.de/issues/15318>`__). Als Zwischenlösung könnte man alle Ortsnamen, die mit den gleichen Koordinaten versehen werden sollen, zeitweise umbenennen und dann nur diese neu setzen lassen. Wenn man also nur einige „Berlin“s mit anderen Koordinaten versehen lassen will, benenne man alle diese „Berlin“s um in z. B. „Berlin-tmp", oder nimmt gleich einen anderen treffenden Ortsnamen, und läßt alle diese Koordinaten neu setzen. Danach können alle „Berlin-tmp“s wieder in „Berlin“ umbenannt werden. Bei einer erneuten Bearbeitung der Ortsnamen im Datasheet Editor wäre die Prozedur zu wiederholen.
Ja, das ist nun möglich. Wenn Sie beispielsweise mehrere Einträge für die Adresse „Berlin“ haben und nur einigen davon andere Koordinaten zuweisen möchten, ziehen Sie mit der linken Maustaste einen Auswahlbereich (blau umrandet) über die betreffenden Zellen in der Tabelle. Stellen Sie dabei sicher, dass die „Address“-Felder Teil der Selektion sind, nicht nur die Latitude/Longitude/GettyID-Felder. Am einfachsten ist es, komplette Zeilen zu selektieren, indem Sie mit der linken Maustaste auf den grauen nummerierten Zeilenindex (1,2,...) klicken und durch Ziehen die Auswahl beliebig erweitern oder verringern. Einzelne Zeilen können durch Klick mit der linken Maustaste und gleichzeitiges Drücken der STRG-Taste der Auswahl hinzugefügt werden. Wenn Sie anschließend den „Set“-Button nutzen (oder den gesamten „Geolocation completion“-Prozess starten), werden nur die Orte im selektierten Bereich der Tabelle berücksichtigt.
.. topic:: Die automatisch mit Getty ID erzeugten geographischen Daten sind nur partiell korrekt, im Bereich „Map Selection“ bspw. wurde Stuttgart auf der Karte im Gebiet um Köngen zwischen Plochingen und Denkendorf angezeigt, was einer geographischen Verschiebung von ca. 40 km entspricht und somit ein unbrauchbares Ergebnis anzeigt. Solche Abweichungen können auch für weitere eingegebene Ortsnamen beobachtet werden. Woran liegt das?
......
......@@ -48,16 +48,18 @@ GUI Dokumentation
-----------------
Create or import your data
^^^^^^^^^^^^^^^^^^^^^^^^^^
Anlegen oder Importieren von Daten
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Die erste Option nach Aufruf der Seite ist entweder ein neues Datasheet zu erstellen oder ein vorhandenes Datasheet zu importieren. Mit Klick auf „Create an empty worksheet“ kann ein neues Dokument erstellt werden. Mit Klick auf „Datei auswählen“ kann eine CSV-Datei vom lokalen Speicher in ein Datasheet geladen werden.
Die erste Option nach Aufruf der Seite ist entweder ein neues Datasheet zu erstellen oder ein vorhandenes Datasheet zu importieren. Mit Klick auf „Create new datasheet“ kann ein neues Dokument erstellt werden. Mit Klick auf „Import local CSV or KML file“ kann eine CSV-Datei oder eine KML-Datei vom lokalen Speicher in ein Datasheet geladen werden.
CSV-Dateien können mithilfe von Microsoft Excel oder Open Office Calc erstellt werden. Unter Mac OS X können CSV-Dateien auch mit Numbers erstellt werden.
Nach Klick auf „Create a new datasheet“ or „Durchsuchen...“ / „Browse...“ werden Sie umgeleitet zum DARIAH-DE Login, zur DARIAH AAI (Authentication & Authorization Infrastructure).
KML-Daten müssen der `Spezifikation <https://geobrowser.de.dariah.eu/doc/_downloads/M3.3.2_eConnect_KML_Specification_v1.0_UGOE.pdf>`__ entsprechen, um korrekt eingelesen zu werden. KML-Files, die kein „Placemark“-Tag enthalten, können also nicht importiert werden! Wurde das KML-File korrekt eingelesen, wird es in eine CSV-Datei umgewandelt und auch als solche im OwnStorage gespeichert. Als CSV-File kann es nun um beliebige Tabelleninhalte (z.B. zusätzliche Spalten) ergänzt werden.
Sie können sich mit Ihrem DARIAH-Account oder mit jedem andern eduGAIN Föderations-Account einloggen.
Nach Klick auf „Create new datasheet“ or „Durchsuchen...“ / „Browse...“ werden Sie umgeleitet zum DARIAH-DE Login, zur DARIAH AAI (Authentication & Authorization Infrastructure).
Sie können sich mit Ihrem DARIAH-Account oder mit jedem anderen eduGAIN Föderations-Account einloggen.
.. figure:: ../datasheet-screenshots/1-datasheet-login.png
:align: center
......@@ -71,7 +73,7 @@ Sie können sich mit Ihrem DARIAH-Account oder mit jedem andern eduGAIN Föderat
Abb. 2: Einloggen in den Datasheet Editor mit Ihrem DARIAH-Account
Benutzen Sie Ihren DARIAH-Account zum allerersten mal, werden Sie zu Ihrer `Nutzerdaten-Seite des DARIAH AAI Self Service <https://auth.de.dariah.eu/cgi-bin/selfservice/ldapportal.pl?mode=modifyentry>`__ weitergeleitet. Bitte ergänzen Sie Ihren vollen Namen und lesen Sie die `DARIAH-DE Nutzungsbedingungen `<https://hdl.handle.net/21.11113/0000-000B-CB45-3@data>`__ und bestätigen Sie diese. Sie müssen dies nur einmalig tun.
Benutzen Sie Ihren DARIAH-Account zum allerersten Mal, werden Sie zu Ihrer `Nutzerdaten-Seite des DARIAH AAI Self Service <https://auth.de.dariah.eu/cgi-bin/selfservice/ldapportal.pl?mode=modifyentry>`__ weitergeleitet. Bitte ergänzen Sie Ihren vollen Namen und lesen Sie die `DARIAH-DE Nutzungsbedingungen <https://hdl.handle.net/21.11113/0000-000B-CB45-3@data>`__ und bestätigen Sie diese. Sie müssen dies nur einmalig tun.
.. figure:: ../datasheet-screenshots/2.1-datasheet-selfservice.png
:align: center
......@@ -108,18 +110,21 @@ Nach dem Einloggen erscheint ein Bestätigungsfenster mit dem Titel „New datas
Abb. 5: Ein neues Datasheet wurde erstellt
Durch Rechts-Klick in einer Zelle des Datasheets können Reihen oberhalb der aktuellen Zeile („Insert row above”) und unterhalb der aktuellen Zeile („Insert row below”) hinzugefügt werden. Spalten können sowohl links durch „Insert column on the left” als auch rechts („Insert column on the right”) beiderseits hinzugefügt werden. Reihen und Spalten können durch „Remove row” und durch „Remove column” entfernt werden. Außerdem ist es möglich, neue Kategorien im Datasheet anzulegen, um weiterführende Informationen über die zu beschreibenden Orte zu speichern.
Durch Rechts-Klick in einer Zelle des Datasheets können Zeilen oberhalb der aktuellen Zeile („Insert row above”) und unterhalb der aktuellen Zeile („Insert row below”) hinzugefügt werden. Spalten können sowohl links durch „Insert column left” als auch rechts („Insert column right”) beiderseits hinzugefügt werden, um weiterführende Informationen über die zu beschreibenden Orte zu speichern. Zeilen und Spalten können durch „Remove row” bzw. „Remove column” entfernt werden.
.. figure:: ../datasheet-screenshots/6-insert-column.png
:align: center
Abb. 6: Einfügen einer neuen Spalte
Wenn Sie mit der Maus auf eine Zelle klicken, wird diese blau umrandet und gilt somit als selektiert. Indem Sie die linke Maustaste gedrückt halten, können Sie den Auswahlbereich auf mehrere Zellen erweitern. Klicken Sie dann einmal mit der rechten Maustaste, um das Kontextmenü zu öffnen und eine gewünschte Aktion für die Zellen in diesem Bereich auszuführen. Alternativ können Sie dafür Tastenkombinationen verwenden, zum Beispiel STRG+C um die Inhalte im markierten Bereich zu kopieren, oder ENTF um die Inhalte zu löschen. Das Selektieren von Tabellenbereichen kann zudem für die Geokodierung verwendet werden, um anzugeben, welche Bereiche geokodiert werden sollen (siehe unten).
Sind in der Tabelle keine einzelnen Zellen selektiert (blau umrandet), gilt standardgemäß die gesamte Tabelle als selektiert. Eine Selektion kann aufgehoben werden, indem Sie entweder auf den Button „Clear selection“ oder einmal mit der linken Maustaste auf die weiße Fläche außerhalb der Tabelle klicken.
Finden der Koordinaten für die Orte im Datasheet
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Ermittlung der Koordinaten für die Orte im Datasheet
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Beim direkten Eintragen eines Ortes in den Editor ist es für eine Darstellung der Orte im Geo-Browser nötig, den Längen- und den Breitengrad zu kennen. Falls diese Daten nicht bekannt sind, gibt es dafür auf der Seite die Tools „Place selection“, „Add geocoordinates“ und „Map selection“, um diese zu ermitteln. Durch Klicken von „Geolocation completion“ im Bereich „Add geocoordinates“ werden automatisch die Felder „Longitude“, „Latitude“ and „GettyID“ für alle Orte im Feld „Address“ des Datasheets ermittelt und ergänzt. Diese Orte finden sich dann auch in der Box „Place selection“.
Um in den Editor eingetragene Orte im Geo-Browser darstellen zu können, müssen ihnen zunächst Längen- und Breitengrade zugewiesen werden. Falls diese Koordinaten nicht bekannt sind, kann das Tool „Geolocation completion“ mit den Verfeinerungsoptionen „Place Selection“, „Map selection“ und „Map search“ bei der Ermittlung helfen. Durch Klicken auf „Geolocation completion“ im Bereich „Add geocoordinates“ werden automatisch alle (bzw. alle zuvor ausgewählten) Felder in den Spalten „Longitude“, „Latitude“ und „GettyID“ für alle Orte in der Spalte „Address“ des Datasheets ermittelt und ergänzt. Die Box „Place selection“ zeigt Ihnen die automatisch prozessierten Orte an.
.. figure:: ../datasheet-screenshots/7-geolocation-completion.png
:align: center
......@@ -127,11 +132,13 @@ Beim direkten Eintragen eines Ortes in den Editor ist es für eine Darstellung d
Abb. 7: Nutzen der „Geolocation completion“
Für das automatisierten Ermitteln der Koordinaten wird zunächst der Getty Thesaurus of Geographic Names (TGN) genutzt. Bei dieser Suchoption werden größere Orte gefunden, kleinere Orte werden durch TGN nicht immer gefunden. Falls der ermittelte Ort nicht der gewünschte Ort ist, gibt es die Option, rechts neben dem eingetragenen Ortsnamen auf den Pfeil zu klicken, wodurch sich eine Liste an anderen (falls vorhanden) Orten mit dem gleichen Namen öffnet. Nachdem der gewünschte Ort aus der Liste gewählt wurde, können durch Klicken von „Set“ die Koordinaten und die Getty ID in das Datasheet übernommen werden.
Standardgemäß wird für das automatisierte Ermitteln von Adresskoordinaten („Geokodieren“) der Getty Thesaurus of Geographic Names (TGN) genutzt. Bei dieser Suchoption werden größere Orte gefunden, kleinere Orte werden durch TGN jedoch nicht immer gefunden. Als Alternative stehen im Dropdown-Menü unter „Place selection“ zwei weitere Geokodierer (Geocoder) zur Verfügung: GeoNames und der Geocoder von OpenStreetMap (OSM), Nominatim. OSM findet oft auch kleinere Orte, die im TGN nicht verzeichnet sind, außerdem findet man mit OSM auch Straßen und Hausnummern. Zusätzlich ist OSM bei der Suche nach großen Städten oft präziser, da der relevanteste Eintrag ausgewählt wird.
Bei der Nutzung von TGN haben Sie zudem die Wahl zwischen der Geokodierung auf Basis der „Address“-Spalte oder der „GettyID“-Spalte. Der Standardwert ist „Address“. OSM und GeoNames können grundsätzlich nur basierend auf „Address“ verwendet werden.
Für die Auswahl wird im Datasheet Editor die Funktion „exact-match“ des `DARIAH-DE Normdatendienstes <https://wiki.de.dariah.eu/display/publicde/DARIAH-DE+Normdatendienste#DARIAH-DENormdatendienste-ThesaurusofGographicalNames(Getty)>`_ genutzt, der auf den Thesaurus of Geographical Names (Getty) zugreift. Werden hier mehrere Einträge gefunden, werden jeweils die Koordinaten des ersten Treffers in die Tabelle eingetragen. Sollen nun die Koordinaten eines anderen Ortes aus der Liste in die Tabelle eingetragen werden, geschieht dies durch Wählen des Ortes und durch Klicken auf den „Set“ rechts neben dem Auswahlfeld. Es werden nun die Koordinaten des gewählten Ortes unter „Address“ in die Tabelle übernommen. Der Inhalt des „Address“-Feldes wird jedoch nicht geändert.
Falls der automatisch ermittelte Ort nicht der gewünschte Ort ist, gibt es die Option, unter „Place selection“ rechts neben dem eingetragenen Ortsnamen auf den Pfeil zu klicken, wodurch sich eine Liste an anderen Orten (falls vorhanden) mit dem gleichen Namen öffnet. Bei Verwendung des TGN wird beispielsweise die Funktion „exact-match“ des `DARIAH-DE Normdatendienstes <https://wiki.de.dariah.eu/display/publicde/DARIAH-DE+Normdatendienste#DARIAH-DENormdatendienste-ThesaurusofGographicalNames(Getty)>`_ genutzt, der auf den Thesaurus of Geographical Names zugreift. Werden hierbei mehrere Einträge gefunden, werden jeweils die Koordinaten des ersten Treffers in das Datasheet eingetragen. Bereits existierende Koordinaten werden dabei allerdings nicht automatisch überschrieben. Sind mehrere Treffer vorhanden, werden sie in der Dropdown-Liste vermerkt. Nachdem der gewünschte Ort manuell aus der Liste gewählt wurde, können durch Klicken von „Set“ die zugehörigen Latitude/Longitude-Koordinaten (und im Falle von TGN basierend auf „Address“ auch die GettyID) in das Datasheet übernommen werden. Duch Klick auf „Set“ werden existierende Koordinaten überschrieben. Der Inhalt des „Address“-Feldes selbst wird jedoch nicht verändert - mit der einzigen Ausnahme von TGN-Geokodierung basierend auf „GettyID“. In diesem Fall können Adressen automatisch in die Tabelle eingetragen werden, sofern gültige GettyIDs vorhanden sind und die zugehörigen „Address“-Felder noch leer sind.
Ist der gewünschte Ort nicht im der Liste aufgeführt, kann durch Klick auf „Map“ direkt daneben der Ort in die Karte der „Map selection“ übernommen werden. Unterhalb der Karte finden sich Suchoptionen für den Getty Thesaurus of Geographical Names (TGN), OpenStreetMap (OSM) und GeoNames. OSM findet oft auch kleinere Orte, die oft im Getty nicht verzeichnet sind, außerdem findet man mit OSM auch Straßen und Hausnummern. Durch Klicken auf „Set“ oberhalb der Karte werden die Koordinaten im Datasheet für den gewählten Ort aktualisiert. Vorsicht: Der Ortsname im Textfeld oberhalb der Karte muss exakt so geschrieben sein wie der Ort im Feld „Address“!
Ist der gewünschte Ort nicht in der Liste aufgeführt, kann durch Klick auf „Map“ direkt daneben der Ort in die Karte der „Map selection“ übernommen werden. Unterhalb der Karte gibt es die Möglichkeit, über den Getty Thesaurus of Geographical Names (TGN), OpenStreetMap (OSM) oder GeoNames nach der entsprechenden Addresse zu suchen. Durch Klicken auf „Set“ oberhalb der Karte werden die Koordinaten im Datasheet für den gewählten Ort aktualisiert (d.h. überschrieben, falls bereits vorhanden). Falls Sie mehrere Orte mit gleichem Namen im „Address“-Feld haben und nur bestimmte davon aktualisieren wollen, selektieren Sie die betreffenden Zeilen zunächst in der Tabelle. Vorsicht: Der Ortsname im Textfeld neben „Set“ muss exakt so geschrieben sein wie der Ort im Feld „Address“, für den die Koordinaten eingetragen werden sollen!
.. figure:: ../datasheet-screenshots/8-manual-search.png
:align: center
......@@ -139,7 +146,7 @@ Ist der gewünschte Ort nicht im der Liste aufgeführt, kann durch Klick auf „
Abb. 8: Manuelle Ort- und Kartenauswahl
Eine weitere Option ist es, die Flagge auf der Karte der „Map selection“ per Maus zu verschieben, so können die Koordinaten präzisiert werden. Durch Zoomen in der Karte ist es ebenfalls möglich, auch Straßennamen kleinerer Straßen zu erfassen. Eine manuelle Suche per Getty (TGN), OSM und GeoNames ist im Suchfeld unterhalb der Karte ebenfalls möglich, wobei jedoch per OSN und GeoNames keine Getty IDs vergeben werden können.
Eine weitere Option ist es, die Flagge auf der Karte der „Map selection“ per Maus zu verschieben, um die Koordinaten zu präzisieren. Durch Zoomen in der Karte ist es möglich, auch Straßennamen kleinerer Straßen zu erfassen. Eine manuelle Suche per TGN, OSM und GeoNames ist im Suchfeld unterhalb der Karte ebenfalls möglich. Bei Verwendung des TGN kann hier auch gezielt nach einer GettyID gesucht werden; mit OSM und GeoNames können jedoch keine GettyIDs erkannt oder zurückgeliefert werden.
.. figure:: ../datasheet-screenshots/9-current-table-view.png
:align: center
......@@ -174,7 +181,7 @@ Durch Klicken auf „Create new dataset“ im Table View kann ein neuer Datensat
Abb. 12: Erstellen eines neuen Datensatzes aus dem Table View
Access your data
Datenzugriff
^^^^^^^^^^^^^^^^
Sobald ein neues Worksheet erstellt wird, wird der Datei eine ID im DARIAH-Storage Service zugeteilt. Über die ID lässt sich das Worksheet wieder aufrufen.
......@@ -182,7 +189,7 @@ Sobald ein neues Worksheet erstellt wird, wird der Datei eine ID im DARIAH-Stora
.. figure:: ../datasheet-screenshots/14-search-for-local-csv-files.png
:align: center
Abb. 13: Importieren einer lokalen CSV-Datei
Abb. 13: Download- und Lösch-Optionen für eine lokale CSV-Datei
Beim Klick auf „Download CSV“ lässt sich die Datei als CSV-Datei herunterladen und im lokalen Speicher speichern. Außerdem wird die Storage ID angezeigt und die gesamte URL kann durch Klick auf den Button „Copy URL to clipboard“ in den Zwischenspeicher kopiert werden, zwecks direkter Adressierung der Datei im DARIAH-Storage.
......@@ -211,9 +218,9 @@ Sobald Sie Einträge in der Tabelle geändert haben, werden diese in Ihrem Datas
**Description** wird für die weitere Beschreibung und die Darstellung zusätzlicher Daten genutzt.
**Longitude** kann per „Geolocation completion“ or manuell ausgefüllt werden und nutzt dezimale geographische Koordinaten. Bereits eingetragene Koordinaten werden durch „Geolocation completion“ nicht überschrieben.
**Longitude** kann per „Geolocation completion“ oder manuell ausgefüllt werden und nutzt dezimale geographische Koordinaten. Bereits eingetragene Koordinaten werden durch „Geolocation completion“ nicht überschrieben.
**Latitude** kann per „Geolocation completion“ or manuell ausgefüllt werden und nutzt dezimale geographische Koordinaten. Bereits eingetragene Koordinaten werden durch „Geolocation completion“ nicht überschrieben.
**Latitude** kann per „Geolocation completion“ oder manuell ausgefüllt werden und nutzt dezimale geographische Koordinaten. Bereits eingetragene Koordinaten werden durch „Geolocation completion“ nicht überschrieben.
**TimeStamp** wird genutzt, um den Zeitpunkt eines Eintrags zu definieren. Einige Beispiele für dieses Feld wären etwa *1970*, *1970-12*, *1970-12-10*, and *1970-12-10T20:15:00*. Weitere Informationen über nutzbare Zeitformate finden Sie unter `xsd:date <http://books.xmlschemata.org/relaxng/ch19-77041.html>`__, `xsd:dateTime <http://books.xmlschemata.org/relaxng/ch19-77049.html>`__, `xsd:gYear <http://books.xmlschemata.org/relaxng/ch19-77127.html>`__ und `xsdGYearMonth <http://books.xmlschemata.org/relaxng/ch19-77135.html>`__.
......
#dataTable {
height: 30em;
overflow: scroll;
.dataTable {
height: 30em;
overflow: hidden;
}
#firstStartWizard {
......@@ -16,6 +16,15 @@
padding-bottom: 5px;
}
.console-large {
background-color: #fff;
color: #888;
font-size: 120%;
white-space: normal;
line-height: 130%;
padding-bottom: 5px;
}
.consoleNoBg {
color: #888;
font-size: 80%;
......@@ -33,22 +42,12 @@
max-width:none;
}
#osmMap {
.osmMap {
width: 100%;
height: 20em;
}
/* Overwrite: bigger font in handsontable */
.handsontable.dataTable td {
font-size: 110%;
.ol-attribution:not(.ol-collapsed) {
background: none;
}
.handsontable.dataTable th .small {
font-size: 110%;
}
/* Move OSM attribution to map bottom */
.olMap .olControlAttribution {
bottom: 0.5em;
right: 0.5em;
}
......@@ -12,8 +12,8 @@
<link rel="stylesheet" type="text/css" media="screen" href="https://res.de.dariah.eu/dhrep/css/bootstrap-customization.css" />
<link rel="stylesheet" type="text/css" media="screen" href="https://res.de.dariah.eu/dhrep/css/bootstrap-modal.css" />
<link rel="stylesheet" type="text/css" media="screen" href="https://res.de.dariah.eu/dhrep/css/font-awesome.css" />
<link rel="stylesheet" type="text/css" media="screen" href="./bower_components/handsontable/lib/jQuery-contextMenu/jquery.contextMenu.css" />
<link rel="stylesheet" type="text/css" media="screen" href="./bower_components/handsontable/jquery.handsontable.css" />
<link rel="stylesheet" media="screen" href="https://cdn.jsdelivr.net/npm/handsontable@9.0.1/dist/handsontable.full.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6.5.0/css/ol.css" type="text/css">
<link rel="stylesheet" href="https://dariah-de.github.io/status/dariah/embed.css">
<link rel="stylesheet" type="text/css" media="screen" href="./css/dariah.workflow.css" />
<link rel="shortcut icon" type="image/png" href="https://res.de.dariah.eu/dhrep/img/page_icon.png" />
......@@ -52,7 +52,7 @@
<i class="icon-wrench icon-white"></i> Actions <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a href="list.html">List OwnStorage files <span class="badge badge-warning">BETA</span></a></li>
<li><a href="list.html">List OwnStorage files &nbsp; <span class="badge badge-important">EXPERIMENTAL</span></a></li>
</ul>
</li>
<li>
......@@ -119,26 +119,45 @@
<div class="alert alert-info alert-block">
<p><strong><a href="https://geobrowser.de.dariah.eu/doc/datasheet.html" target="_blank">What's new in version 3.6?</a></strong> &nbsp; ...more: <strong><a href="https://geobrowser.de.dariah.eu/doc/datasheet.html#gui-documentation" target="_blank">GUI documentation – how does it work?</a></strong></p>
</div>
<div id="alertArea"></div>
<div id="alertArea">
<p>
<img id="importDataSpinner" class="hide" src="https://res.de.dariah.eu/dhrep/img/spinning-flower_slow.gif" alt="Importing data..." width="22" />
<span id="importMessage" class="console-large">&nbsp;</span>
</p>
</div>
<div id="sheetArea">
<div id="howtoArea"></div>
<button id="howtoButton" class="btn btn-small pull-right" onclick="toggleHowto();" title="Read a small howto to get help filling in the table data.">How to fill the table</button>
<button id="clearSelectionButton" class="btn btn-small pull-right" style="margin-right: 5px" onclick="clearTableSelection();" title="Clear selection of table cells.">Clear selection</button>
<br/>
<p>
<img id="spinningConsoleCompletionFlower" class="hide" src="https://res.de.dariah.eu/dhrep/img/spinning-flower_slow.gif" alt="Geolocation completion running" width="16" />
<img id="spinningConsoleCompletionFlower" class="hide" src="https://res.de.dariah.eu/dhrep/img/spinning-flower_slow.gif" alt="Data table loading..." width="16" />
<span id="console" class="console">&nbsp;</span>
</p>
<div id="dataTable" class="dataTable"></div>
<div id="dataTable" class="dataTable handsontable"></div>
</div>
</div>
</div>
</div>
<div class="row-fluid">
<div id = "geolocationArea" class="row-fluid">
<div id="content" class="primary-area">
<div id="tgnArea" class="well span6">
<h3>Place selection &nbsp; <img id="spinningGeolocationCompletionFlower" class="hide" src="https://res.de.dariah.eu/dhrep/img/spinning-flower_slow.gif" alt="Geolocation completion running" width="22" /></h3>
<p>The coordinates for the first place found in the TGN are automatically added to the sheet, you may have to adjust the places below!</p>
<p><i class="icon-pencil"></i>&nbsp; sets all places in the sheet with the highlighted address to the coordinates of the chosen place.<br/>
<label for="geolocationSource">Geolocation can be based either on the <i>Getty Thesaurus of Geographic Names (TGN)</i>, <i>OpenStreetMap (OSM)</i>, or <i>GeoNames</i>. Choose which geolocator to use: </label>
<select name="geolocationSource" id="geolocationSource" onchange="toggleTGNOptions()">
<option value="TGN">TGN</option>
<option value="OSM">OSM (Nominatim)</option>
<option value="GeoNames">GeoNames</option>
</select>
<div id = tgnOptions>
<label for="geolocationColumnSource">TGN search can be based on column <i>Address</i> or on column <i>GettyID</i> in your datasheet. Choose which one to use: </label>
<select name="geolocationColumnSource" id="geolocationColumnSource">
<option value="Address">Address</option>
<option value="GettyID">GettyID</option>
</select>
</div>
<p>The coordinates for the first place found are automatically added to the sheet if no existing entries are available. If there are multiple results, you may have to adjust the places manually!</p>
<p><i class="icon-pencil"></i>&nbsp; sets all places in the sheet with the highlighted address to the coordinates of the chosen place. This will overwrite existing entries!<br/>
<i class="icon-eye-open"></i>&nbsp; shows the chosen place in the <i>Map selection</i> and allows you to correct and refine coordinates or set unrecognized places.</p><br/>
<div id="tgnList"></div>
</div>
......@@ -152,10 +171,13 @@
</div>
<div class="input-append">
<input id="osmPlaceName" style="width:77%;" type="text" class="input-large" placeholder="Enter exact place name as in “Address“ field..."/>
<button id="setAllPlacesOSMButton" class="btn" style="width:18%;" onClick="setAllPlacesOSM()" title="Sets all places with this name to the chosen coordinates."><i class="icon-pencil"></i>&nbsp;Set</button>
<button id="setAllPlacesOSMButton" class="btn" style="width:18%;" onClick="setAllPlacesOSM()" title="Sets all places with this name to the chosen coordinates."><i id='setAllPlacesIcon' class="icon-pencil"></i>&nbsp;Set</button>
</div>
<br/>
<div id="osmMap" style="width:100%;"></div>
<div>
<i>Note: 'Set' will overwrite coordinates for <b>all</b> table rows matching this place unless you only select specific rows or cells first.</i>
<p></p>
</div>
<div id="editMap" class="osmMap"></div>
<br/>
<h3>Map search</h3>
<div class="consoleNoBg">Search the Getty Thesaurus of Geographical Names, OpenStreetMap, or GeoNames to fill your map selection:</div>
......@@ -179,7 +201,7 @@
</button>
<p></p>
<button id="importButton" class="btn btn-primary" style="width:100%;" onclick="toggleUploadButton()" title="Create a new datasheet by importing a local CSV file.">
<i class="icon-upload"></i> &nbsp;Import local CSV file</button>
<i class="icon-upload"></i> &nbsp;Import local CSV or KML file</button>
<form id="uploadButton" style="display:none;">
<input id="files" class="btn btn-small" type="file" name="files[]" style="width:91%;"/>
</form>
......@@ -212,7 +234,7 @@
<div class="primary-area main-content-wrapper">
<h3>Add geocoordinates</h3>
<p>Geocoordinates for places from the <strong>Address</strong> field can be added with the Getty Thesaurus Service.</p>
<button id="geolocationCompletionButton" class="btn" style="width:100%;" onClick="startTGN();" title="Have a look at the places the Address fields of your dataset do match. Please choose the ones that fit for your places.">
<button id="geolocationCompletionButton" class="btn" style="width:100%;" onClick="startGeocoding();" title="Have a look at the places the Address fields of your dataset do match. Please choose the ones that fit for your places.">
<i class="icon-globe"></i>
&nbsp;Geolocation completion
</button>
......@@ -231,7 +253,7 @@
</div> <!-- id="content-layout" -->
<div class="row-fluid">
<div class="span12 no-margin footer">
<span>Datasheet Editor version 3.6.7 &copy;2021 DARIAH-DE &nbsp; <a href="https://validator.w3.org/nu/?doc=https://geobrowser.de.dariah.eu/edit/index.html">&nbsp;</a></span>
<span>Datasheet Editor version 3.6.9 &copy;2021 DARIAH-DE &nbsp; <a href="https://validator.w3.org/nu/?doc=https://geobrowser.de.dariah.eu/edit/index.html">&nbsp;</a></span>
<ul class="pull-right inline">
<li><a href="https://de.dariah.eu/impressum">Imprint</a></li>
<li><a href="https://de.dariah.eu/privacy-policy">Privacy Policy</a></li>
......@@ -319,21 +341,14 @@
<!-- javascript
================================================== -->
<!-- placed at the end of the document so the pages load faster -->
<script src="./bower_components/jquery/jquery.js"></script>
<script src="./bower_components/underscore/underscore-min.js"></script>
<script src="./bower_components/bootstrap/docs/assets/js/bootstrap.min.js"></script>
<script src="./bower_components/handsontable/jquery.handsontable.js"></script>
<!-- if you need the context menu for handsontable -->
<script src="./bower_components/handsontable/lib/jQuery-contextMenu/jquery.contextMenu.js"></script>
<!-- if you need the context menu for handsontable -->
<script src="./bower_components/handsontable/lib/jQuery-contextMenu/jquery.ui.position.js"></script>
<!-- if you need the context menu for handsontable -->
<script src="./bower_components/handsontable/lib/bootstrap-typeahead.js"></script>
<!-- if you need the context menu for handsontable -->
<script src="./bower_components/handsontable/lib/jquery.autoresize.js"></script>
<script src="./js/lib/jquery.csv.js"></script>
<script src="./js/lib/jquery.query-2.1.7.js"></script>
<script src="./js/lib/OpenLayers.js"></script>
<script src="https://code.jquery.com/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery-csv@1.0.21/src/jquery.csv.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/underscore@1.13.1/underscore-umd-min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/handsontable@9.0.1/dist/handsontable.full.min.js"></script>
<script src="https://res.de.dariah.eu/dhrep/js/bootstrap.js"></script>
<!-- OpenLayers -->
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList"></script>
<script src="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6.5.0/build/ol.js"></script>
<!-- main logic and page init -->
<script src="./js/dariah.workflow.js"></script>
<!-- functions for checking dates -->
......
......@@ -24,6 +24,7 @@ function postToDariahStorage(postdata) {
// Disable create and import buttons to prevent double-clicking on them.
$('#newButton').addClass('disabled');
$('#importButton').addClass('disabled');
$(".fileImportError").alert('close');
// Create new file.
$.ajax({
url: storageURL,
......@@ -90,7 +91,7 @@ function loadFromDariahStorage(id) {
}
else if (!checkIfDatasheetEditorFile(firstLineOfData)) {
var title = 'File has not got the correct Datasheet Editor format!';
var message = '<p>The dataset with ID <i>' + id + ' (mimetype ' + responseMimetype + ') can not be loaded into the Datasheet Editor: The first line must at least contain one of the following titles: <strong>' + e4dHeader + '</strong>.</p><p>First line seems to be instead: <strong>' + firstLineOfData + '</strong></p>';
var message = '<p>The dataset with ID <i>' + id + ' (mimetype ' + responseMimetype + ') can not be loaded into the Datasheet Editor: The first line must at least contain one of the following titles: <strong>' + defaultColumnHeaders + '</strong>.</p><p>First line seems to be instead: <strong>' + firstLineOfData + '</strong></p>';
newAlert('error', title, message);
// Re-set storage ID.
dsid = "";
......@@ -460,8 +461,7 @@ function login(action) {
if (action) {
questionmark = '?' + action;
}
window.location = pdpURL + window.location.protocol + "//" + window.location.hostname + window.location.pathname + questionmark;
window.location = pdpURL + window.location.href + questionmark;
}
/**
......
......@@ -12,6 +12,9 @@ var numberOfHEADCallsCompleted; // Used to determine if pagniations can be enabl
*/
function loadOwnStorageFileList() {
// Assemble bearer token and logID.
if (!readToken() && window.location.hash) {
setTokenDSE();
}
var token = bearerPrefix + readToken();
var logID = logIDPrefix + (new Date()).getMilliseconds();
$.ajax({
......@@ -21,7 +24,8 @@ function loadOwnStorageFileList() {
success: function(data) {
ownStorageElementList = data;
// Get page from URL param, if existing.
var pageFromURL = $.query.get('page');
var searchParams = new URLSearchParams(window.location.search)
var pageFromURL = searchParams.get('page');
if (pageFromURL) {
pageLIST = pageFromURL;
}
......@@ -48,7 +52,6 @@ function loadOwnStorageFileList() {
*/
function createPaginationAndListElements(currentPage) {
// TODO Check again for auth here?
// Do some computations and saveguards.
var pages = Math.floor(ownStorageElementList.length / ownStorageElementListSize) + 1;
if (currentPage > pages) {
......
......@@ -6,7 +6,7 @@
* Dump things
*/
function dump() {
var arr = $('#dataTable').handsontable('getDataReference');
var arr = tableInstance.getData();
console.log(arr2csv(arr));
}
......@@ -17,20 +17,24 @@ function dump() {
* function http://www.filosophy.org/bitstream/2011/12/17/js_array_to_csv.html
*/
function arr2csv(arr){
var csv = '';
for(var row in arr){
for(var col in arr[row]){
var value = arr[row][col].replace(/"/g, '""');