Giter Club home page Giter Club logo

pia-backlog's People

Contributors

julsraemy avatar thgie avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

00mjk

pia-backlog's Issues

Virtual reconstruction of an archive shelf

Description

As a user, I would like to virtually explore the Ernst Brunner collection as it is preserved in the SGV Photo Archive.

Proposed Solutions

Sketch to mimic the shelf:
Screenshot 2021-05-28 at 13 48 20

Some of the tasks:

  • Making sure that the keywords created by Ernst Brunner are available for each resource
  • Extracting the relevant metadata field values in oldnr
  • TBD...

Additional Background

Advanced search

Derived from #12

Description

As a user, I would like to directly filter the information I'm looking for by using the advanced search.

Process

  • Add/Remove Filters: Markus wählt Filter innerhalb der Sammlung Kreis für den Ort Giessbach und die Zeitspanne zwischen 1900 und 1930 aus.

Proposed Solutions

  • Add Filters for Location, either via Search by String or by marking Area on Map
  • Add Filters for date, either specific or range
  • Search by Tag

Search and Curate Process

Description

As a user, I would like to access the photographic collections from a single access point.

Markus Ringer ist Archivar des Grand Hotel Giessbach und auf der Suche nach Bildmaterial welches das Hotel und seine Gäste zu Beginn des 19 Jhr. dokumentiert.

  • Text Search: Markus sucht nach den Begriffen «Brienz», «Giessbach» und «Grand Hotel». Er findet unter anderem das Bild SGV_10P_02124 welches die Familie Kreis vor dem Hotel Giessbach zeigt.
  • Select Collection: Markus wählt die Sammlung Kreis für die weitere Suche.
  • Add/Remove Filters: Markus wählt Filter innerhalb der Sammlung Kreis für den Ort Giessbach und die Zeitspanne zwischen 1900 und 1930 aus.
  • Similarity Search: Markus lädt ein Bild des Grand Hotel Giessbach hoch und startet eine visuelle/formale Ähnlichkeitssuche.
  • Select Image: Markus wählt Bilder aus die in interessieren.
  • Save Selection: Markus speichert seine Auswahl an Bildern lokal/im Browser/seinem Profil um später darauf zurückgreifen zu können.
  • Edit Selection: Markus entfernt gewisse Bilder der Auswahl.
  • Review Usage Rights: Markus navigiert zu “Nutzungsrechte” und liest diese durch.
  • Print Selection: Markus druckt alle Bilder und die zugehörigen Informationen aus.
  • Download Selection: Markus lädt seine finale Auswahl als einen Ordner herunter.
  • IIIF: Markus erstellt eine IIIF-Collection auf Basis der digitalen Objekte, die ihn interessieren, so dass er sie in jedem IIIF-kompatiblen Viewer (z.B. Mirador, Universal Viewer) betrachten kann.

Variation(s)

  • Advanced search #13

Proposed Solutions

  • Simple search box
  • Search engine
  • Filter(s)
  • (...)

Creation of IIIF resources (Manifests/Collections)

Description

The creation of IIIF resource types such as Manifests and Collections. SIPI takes care of the IIIF Image API 3.0, but we will still need to create IIIF resources compatible with the IIIF Presentation API 3.0.

Proposed Solutions

  • This could be done on the back-end where every image of the three SGV collections could have their own IIIF Manifest and also via the front-end for the creations of "stories" (cf. Participatory-Image-Archives/pia-data-model#11) and thus new digital objects or collections.
  • All images uploaded (cf. Participatory-Image-Archives/pia-data-model#7) by end users could also be incorporated into a IIIF Manifest (but not all individual private images would not necessarily need to have their own IIIF Manifest, it depends what is a digital object - with associated metadata)

Additional Background

URI schema

In conjunction with #30 for accessing our resources, we also need a consistent URI schema. For instance:

Type URI example
Digital representation of an object (with content negotiation) https://participatory-archives.ch/entity/<ID>
PIA central API https://data.participatory-archives.ch/entity/<ID>
Linked Art API https://linkedart.participatory-archives.ch/entity/<ID>
IIIF Image API https://iiif.participatory-archives.ch/<ID>/info.json
IIIF Presentation API (Manifest/Collection) https://iiif.participatory-archives.ch/<ID>/manifest.json
Controlled Vocabularies https://vocab.participatory-archives.ch/vocabulary/<ID>
Project Website https://project.participatory-archives.ch/

Cf. #35

Stories

Description

As a user, I would like to create a story by uploading my own images, linking them to similar ones and providing context (metadata enrichment, annotation).

Fabian Fürst, pensionierter Historiker, folgt einem Aufruf der SGV persönliche Geschichten aus Bergdörfern zu veröffentlichen. Er veröffentlichte vor kurzem einen Lebensbericht über die Jugend seines Vaters in Simplon und möchte seine Ergebnisse nun veröffentlichen.

  • Search & Filter: Fabian sucht nach dem Ort «Simplon» innerhalb der Zeitspanne 1945–1960.
  • Select: Fabian wählt passende Bilder aus.
  • Upload: Fabian möchte einige persönliche Bilder in die Geschichte einfügen.
  • Write: Fabian schreibt seine Geschichte.
  • Link: Fabian verlinkt einzelne Bilder an bestimmten Stellen im Text.
  • Versioning: Fabian speichert mehrere Versionen seiner Geschichte.
  • Reposition: Fabian ändert die Reihenfolge der Bilder.
  • Captioning: Fabian fügt bei einigen Bildern eine Bildunterschrift hinzu.
  • Proofread: Fabian lässt den Text auf Rechtschreibfehler prüfen.
  • Preview: Fabian sieht sich an wie seine Story im Frontend erscheinen wird.
  • Submit for Review: Als ehemaliger Historiker ist es Fabian wichtig das die SGV seine Geschichte prüft.
  • Edit: Fabian korrigiert einen Fehler der im Aufgefallen ist.
  • Save / Publish: Fabian veröffentlicht seine Geschichte.
  • Export: Fabian Export die Geschichte um sie Lokal ablegen zu können.
  • Share: Fabian teilt seine Geschichte via URL.
  • Delete: Fabian hat sich dazu entschieden seine Geschichte zu löschen.

Variation(s)

Related to:

  • #7 - Upload of user's images
  • #4 - Image Similarity
  • #5 and #6 - Crowdsourcing (Metadata and Annotation)

Proposed Solutions

Sketch:
Screenshot 2021-06-03 at 10 03 25

Cf. https://miro.com/app/board/o9J_l_66_DQ=/?moveToWidget=3074457360041543481&cot=14

Process:

  • Upload
  • Collecting
  • Linking
  • Work process
  • Caching (Zwischenspeicherung)
  • Etc.

Needs:

  • Upload: to look at similar pictures
  • Upload: to create a story with similar images
  • Linking images visible to other users as a result
  • Caching images for other users to be visible

Checklist:

  • Team B prepares images of the selected topics via rough nav, so that Team C can better specify topics at the workshop
  • Metadata/story/curating flow to be modelled by Julien
  • Adrian clarifies Unsplash API

Additional Background

Creation of an object that only contains metadata

Description

Sometimes, we don't have yet the digitised picture available, or only the analogue format could be available, or the digital image was deleted but we want to keep the metadata.

Proposed Solutions

Like bibliographic records, it should be possible to have objects without an attached resource (image, audio, video).

Crowdsourcing - Annotation

Description

As a user, I would like to contribute to the PIA project by annotating the (digital) objects.

Annotation scenarios:

  1. Annotations can be distinguished by user (human or machine) - for instance colours/shapes/etc - but all annotations are kept, even if it means that they are duplicated.
  2. Annotations can be distinguished by their validation status and can be modified by others (with a log journal), for instance with different colours: red for the ones that are unchecked, green for those that have been assessed.

Wish list:

  • Import/export annotations
  • Save annotations
  • Ability fo search annotations
  • Ability to filter annotations
  • Various shapes/colours to highlight annotations
  • Different annotation formats (textual, audio, video)
  • Ability to link annotations between them

Variation(s)

Related to #5 (Crowdsourcing - Enriching the metadata)

Proposed Solutions

Process

PIA Data Flows and Outputs - Annotation _ Transcription

Cf. https://miro.com/app/board/o9J_l_66_DQ=/?moveToWidget=3074457361936106910&cot=14 for the updated version

Components/things to keep in mind

  • Leveraging Mirador 3 with specific plug-ins
  • Deploying an Annotation Store
  • Updating IIIF Manifests with associated Annotations
  • Deploying a Search Service
  • Deploying an Assessment module

Additional Background

Mirador 3

Mirador 2

Object citation

Description

Having the possibility to cite a resource on the PIA platform.

Proposed Solutions

  • Copy and paste the citation in known styles (APA, MLA, Harvard, Chicago)
  • Export functionality in various formats (such as BibTex and RIS)
  • Exposing bibliographic metadata within HTML for tools like Zotero (Schema.org or Dublin Core in the <meta> tags should suffice) - cf. https://www.zotero.org/support/dev/exposing_metadata

Upload of users' images

Description

As a user, I would like to upload my own images on the PIA platform, either from a smartphone or from a desktop.

Anna Wuetrich ist Fotografiestudentin im Bachelor und hat über Instagram von der neuen Ähnlichkeitssuche des SGV Archivs erfahren. Sie möchte einige ihrer eigenen Bilder hochladen um zu sehen was passiert.

Das Archiv erreicht durch diesen Schritt, dass, ausgehend von den persönlichen Bildern der Nutzenden, personenspezifische Zugänge in verschiedene Sammlungen entstehen. Einen Zugang den herkömmliche Archive nicht gewähren können, da stets das historische Material als Einstiegspunkt dient.

For instance:

  • Select Upload Image: Anna wählt Bilder von ihrem Smartphone aus.
  • Upload: Anna lädt eines der Bilder hoch.
  • Review: Anna verschafft sich einen Überblick über die Resultate und entscheidet ob diese interessant sind.
  • Repeat: Anna wiederholt die obigen Tasks mit einem anderen Bild.
  • History Navigation: Anna wechselt zwischen den Resultaten ihrer verschiedenen Suchanfragen hin und her.
  • Compare: Anna vergleicht die Resultate der beiden Ähnlichkeitssuchen. --> #4

Proposed Solutions

  • Clear all rights issues and attribute CC licence
  • Authentication Layer?
  • Image resolution
  • IIIF (SIPI Upload Capabilities through a Lua script)
  • Metadata
  • (...)

Additional Background

Similarity Search

Derived from #12

  • Similarity Search: Markus lädt ein Bild des Grand Hotel Giessbach hoch und startet eine visuelle/formale Ähnlichkeitssuche.

Crowdsourcing - Enriching/Correcting the metadata

Description

As a user, I would like to contribute to the PIA project by enriching or correcting the metadata.

Paula Steinhauser hat über den SAC von einem Aufruf der SGV zur Komplettierung von Metadaten der Sammlung Brunner erfahren.

  • Select Subgroup: Paula wählt eine Gruppe von 50 Bildern aus die Tags benötigen.
  • Overview: Paula verschafft sich einen Überblick über die 50 Bilder und die bereits vorhandenen Tags.
  • Add/Remove Tags: Paule fügt bei einzelnen Bilder Tags hinzu/entfernt diese.
  • Save: Paula speichert ihre Arbeit ab um am nächsten Tag weiterarbeiten zu können.
  • Submit: Paula reicht die 50 Bilder mit den neuen Tags bei der SGV zur Prüfung ein.
  • Feedback: Paula gibt ein Feedback zum User Interface und möglichen Verbesserungen.
  • Explore: Paula prüft ob die Bilder über die neuen Tags gefunden werden.

Variations

Cf. #6 - Crowdsourcing - Annotation

Proposed Solutions

Process

PIA Data Flows and Outputs - Metadata correction _ enrichment
Cf. https://miro.com/app/board/o9J_l_66_DQ=/?moveToWidget=3074457362496486047&cot=14 for the updated version

Components/things to keep in mind

  • Defining the tasks
  • Authentication layer
  • Deploying a client/viewer so the users can correct/add metadata (Mirador?)
  • TBD (...)

Additional Background

Simple Search

Derived from #12

  • Text Search: Markus sucht nach den Begriffen «Brienz», «Giessbach» und «Grand Hotel». Er findet unter anderem das Bild SGV_10P_02124 welches die Familie Kreis vor dem Hotel Giessbach zeigt.
  • Select Collection: Markus wählt die Sammlung Kreis für die weitere Suche.

Sorting images per date on a timeline

Description

As a user, I would like to be able to view the photos, digital or analogue, on a timeline.

Variation(s)

Sorting images per given metadata field (subject, location, format, etc.)

Proposed Solutions

A request was made by Team C to be able to arrange and display on a timeline images by year or decade during the workshop, especially for the SGV_12 Ernst Brunner collection which is fully digitised. For this particular collection, about 47,800 images were digitised and according to Salsah, ca. 38,850 of those records contain a date (within the hasDate property) .

However, it is not possible to get a chronologically ordered list of all the images without looking up the database. A given downloaded resource do indeed contain (in its header by searching for the appropriate XMP metadata fields) the date when it was digitised but not when it was taken by the photographer (if known).

Exporting all metadata from Salsah

Team B has been in the process of extracting all metadata and data related to the PIA project (SGV_05, SGV_10 and SGV_12) from Salsah and is in collaboration with the DaSCH that manages the virtual research environment. Lukas Rosenthaler created a Python script - that we've slightly modified - and with the following command, we can extract all images in TIFF and their associated metadata in XML:

python3 salsah2xml.py -P sgv -s 4102 --start 0 --nrows -1 --filter sgv:in_collection={ID} --download --write-metadata --restype sgv:image {username} {password} https://www.salsah.org

If we've been able to extract all the images from the SGV_12, we are still in the process of extracting only the metadata as the batch process sometimes encounters invalid characters (such as backspaces) and makes the script breaks and unable to write XML.

Extracting date-based metadata

Once we will have all the associated metadata in XML, we can extract the name of the file (equivalent to its SGV Signature) and the date by using the XML2 utility to a CSV file (very useful for extracting non-repeatable XML tags, attributes and values) rather than waiting for a specific script that will be done for exporting all metadata to a dedicated PIA database.

  • Homebrew Formula:brew install xml2
  • Command: xml2 < input.xml | 2csv resource @id @label date > output.csv

Amending XMP metadata fields

For adding or modifying metadata in the header of a given image, we can use ExifTool. The XMP metadata fields that we could potentially change are:

  • xmp:MetadataDate or;
  • xmp:ModifyDate(slightly better than xmp:MetadataDate as according to the XMP specification, it should be the same or more recent than xmp:ModifyDate)

The entries must comply with the W3C datetime practice (which is basically based on ISO 8601). For instance, we can enter a year (YYYY), a year and month (YYYY-MM), a complete date (YYYY-MM-DD) and even something more precise with hours, minutes and seconds. What we can't do is enter a range such as a decade or a rough guess like "19XX", "between 1920 and 1930" or "1985?", something that is a common practice within bibliographical and archival records.

  • Homebrew Formula:brew install exiftool
  • Command to display the technical metadata (File, XMP, ICC): exiftool -s -G {name}.{format}
  • Command to modify a metadata value (e.g. xmp:ModifyDate): exiftool -ModifyDate={newdate} {name.format}

Creating a routine to embed dates in all image headers

A batch associating the metadata extracted from the Salsah export by embedding it in the image headers via one or more ExifTool commands will need to be developed to automate the process.

Limitations

  • We need to run all the above process where the images will be stored.
  • Some dates are not very precise and we will need to make a decision on which value to put in the file.
  • Not every software can sort images with XMP metadata, we will need a bespoken programme like Adobe Lightroom (https://www.organizingphotos.net/date-taken-date-created-date-modified-photo-time-stamps/). It is possible to create new tags by modifying the ExifTool configuration, but this solution could be risky because a third party program might not recognise the values being added and could not sort them in this fashion.

Additional Background

Story Branch via image similarity access point

Description

As a user, I would like to be able to search in an exploratory manner using a story branch based on the image similarity access point.

Variation(s)

A complex use case that is related to:

  • #3 (Knowledge graphs)
  • #4 (Image Similarity)
  • #5 and #6 (Crowdsourcing)
  • #7 (Upload of images)

Proposed Solutions

Sketch:
Screenshot 2021-05-28 at 10 39 21

TBD

Additional Background

Access point through interconnection

Description

As a user, I would like to access the ASV resources by visualising all its components.

  • Focus on the interlinking/referencing of the different source materials.
  • Visualisation of the knowledge generation process (Visualisierung der Prozesse der Wissensgenerierung)

Variation(s)

Rather than seeing a (knowledge) graph, we could imagine tables or hierarchical representations.

Proposed Solutions

Graph navigation. Sketch:
Screenshot 2021-05-26 at 17 22 12

  • Enhancing the existing data model (event-based models such as Linked Art or EDM may help)
  • Adding/Extracting relevant metadata
  • Deploying a client that can display RDF-like graph

Additional Background

Access point by topic

Description

As a user, I would like to have an access point covering the main topics of the ASV.

Some interesting topics:

  • Culinary arts (Kulinarik)
  • clothing/fashion (Kleidung/Mode)
  • work (Arbeit)
  • sport and leisure (Sport und Freizeit)
  • festivals and customs (Feste und Brauchtum)

Variation(s)

Access point by identified people, place

Proposed Solutions

Sketch:
Screenshot 2021-05-26 at 16 33 19

  • Adding relevant tags to the ASV objects through dct:subject (perhaps and preferably with a controlled vocabulary)
  • Linking ASV objects internally through dct:isPartOf or schema:isSimilarTo or with similar tags contained in dct:subject (or even created automatically with ML)
  • Finding relevant external resources (library catalogues, open data platforms such as Europeana or Trove, dictionaries, etc.)
  • Linking ASV objects externally (the right properties have still to be found)
  • Being able to relevant thumbnails of the associated images via the IIIF Image API

Persistent identifiers (PIDs)

Our URIs, and especially those related to the digital objects, should be persistent. I suggest to assign Archival Resource Keys (ARKs) as they can be easily used in conjunction with the IIIF URI syntax:

Syntax URI
ARK [https://NMA/]ark:NAAN/Name[Qualifier]
IIIF Image Request {scheme}://{server}{/prefix}/{identifier}/{region}/{size}/{rotation}/{quality}.{format}
IIIF Image Information {scheme}://{server}{/prefix}/{identifier}/info.json
IIIF Resource (Manifest) {scheme}://{host}/{prefix}/{identifier}/manifest
ARK+IIIF Example 1 a https://iiif.participatory-archives.ch/ark:NAAN/<imageID>/full/max/0/default.jpg
ARK+IIIF Example 1 b https://iiif.participatory-archives.ch/ark:NAAN/<imageID>/info.json
ARK+IIIF Example 2 https://iiif.participatory-archives.ch/ark:NAAN/<objectID>/manifest.json

Existing implementations that use IIIF in conjunction with ARK identifiers:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.