{"action":"created","issue":{"url":"https://api.github.com/repos/icaruseu/mom-ca/issues/245","labels_url":"https://api.github.com/repos/icaruseu/mom-ca/issues/245/labels{/name}","comments_url":"https://api.github.com/repos/icaruseu/mom-ca/issues/245/comments","events_url":"https://api.github.com/repos/icaruseu/mom-ca/issues/245/events","html_url":"https://github.com/icaruseu/mom-ca/issues/245","id":71577443,"number":245,"title":"Use cei:idno@id for atom:id if existing","user":{"login":"icarus-eu","id":6792937,"avatar_url":"https://avatars.githubusercontent.com/u/6792937?v=3","gravatar_id":"","url":"https://api.github.com/users/icarus-eu","html_url":"https://github.com/icarus-eu","followers_url":"https://api.github.com/users/icarus-eu/followers","following_url":"https://api.github.com/users/icarus-eu/following{/other_user}","gists_url":"https://api.github.com/users/icarus-eu/gists{/gist_id}","starred_url":"https://api.github.com/users/icarus-eu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/icarus-eu/subscriptions","organizations_url":"https://api.github.com/users/icarus-eu/orgs","repos_url":"https://api.github.com/users/icarus-eu/repos","events_url":"https://api.github.com/users/icarus-eu/events{/privacy}","received_events_url":"https://api.github.com/users/icarus-eu/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/icaruseu/mom-ca/labels/Active","name":"Active","color":"bfdadc"},{"url":"https://api.github.com/repos/icaruseu/mom-ca/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"StephanMa","id":6735556,"avatar_url":"https://avatars.githubusercontent.com/u/6735556?v=3","gravatar_id":"","url":"https://api.github.com/users/StephanMa","html_url":"https://github.com/StephanMa","followers_url":"https://api.github.com/users/StephanMa/followers","following_url":"https://api.github.com/users/StephanMa/following{/other_user}","gists_url":"https://api.github.com/users/StephanMa/gists{/gist_id}","starred_url":"https://api.github.com/users/StephanMa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/StephanMa/subscriptions","organizations_url":"https://api.github.com/users/StephanMa/orgs","repos_url":"https://api.github.com/users/StephanMa/repos","events_url":"https://api.github.com/users/StephanMa/events{/privacy}","received_events_url":"https://api.github.com/users/StephanMa/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/icaruseu/mom-ca/milestones/32","html_url":"https://github.com/icaruseu/mom-ca/milestones/Importumgebung-2015","labels_url":"https://api.github.com/repos/icaruseu/mom-ca/milestones/32/labels","id":1166202,"number":32,"title":"Importumgebung-2015","description":"","creator":{"login":"GVogeler","id":324006,"avatar_url":"https://avatars.githubusercontent.com/u/324006?v=3","gravatar_id":"","url":"https://api.github.com/users/GVogeler","html_url":"https://github.com/GVogeler","followers_url":"https://api.github.com/users/GVogeler/followers","following_url":"https://api.github.com/users/GVogeler/following{/other_user}","gists_url":"https://api.github.com/users/GVogeler/gists{/gist_id}","starred_url":"https://api.github.com/users/GVogeler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GVogeler/subscriptions","organizations_url":"https://api.github.com/users/GVogeler/orgs","repos_url":"https://api.github.com/users/GVogeler/repos","events_url":"https://api.github.com/users/GVogeler/events{/privacy}","received_events_url":"https://api.github.com/users/GVogeler/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":7,"state":"open","created_at":"2015-06-16T06:12:15Z","updated_at":"2015-07-01T15:46:51Z","due_on":"2015-10-30T23:00:00Z","closed_at":null},"comments":12,"created_at":"2015-04-28T12:33:16Z","updated_at":"2015-07-03T09:39:29Z","closed_at":null,"body":"To enable the use of an atom:id that is different from the charters' signature at import-time, the `cei:idno@id` attribute should be used as identifier for the database.\r\n\r\n-----\r\n\r\nCurrent status:\r\n\r\nThe `cei:idno@id` attribute is currently completely ignored in the import process. For example, the following elements \r\n\r\n* `<cei:idno>DL_4231</cei:idno>`\r\n* `<idno id=\"004401\">DL_4231</idno>`\r\n* `<cei:idno id=\"DL_4231\">DL_4231</cei:idno>`\r\n\r\nare all transformed to `<cei:idno id=\"DL_4231\">DL_4231</cei:idno>` during the import process.\r\n\r\n-----\r\n\r\nSuggested functionality: \r\n\r\n1. On import, every charter is checked for an existing `cei:idno@id` *attribute*. If it is present, the content is used as the identifier in the database\r\n2. If the attribute is missing, the *content* of the `cei:idno` element is used for this purpose, in addition of it functioning as \"signature\" of the charter (visible in the charter view).\r\n\r\n-----\r\n\r\nProblems:\r\n\r\n* Is there currently a check whether or not the used data is unique inside the current fond / collection? If not, should this check exist?\r\n* Is the `cei:idno@id` attribute used in some other function than solely as database identifier of the document?\r\n\r\n\r\n-----\r\n\r\nExample:\r\n\r\n      <?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n      <cei xmlns=\"http://www.monasterium.net/NS/cei\">\r\n         <teiHeader>\r\n            <fileDesc>\r\n               <titleStmt>\r\n                  <title/>\r\n               </titleStmt>\r\n               <sourceDesc>\r\n                  <p/>\r\n               </sourceDesc>\r\n            </fileDesc>\r\n         </teiHeader>\r\n         <text>\r\n            <front>\r\n               <div>\r\n                  <head/>\r\n                  <p/>\r\n               </div>\r\n            </front>\r\n            <group>\r\n               <text type=\"charter\">\r\n                  <body>\r\n                     <!-- The idno element is the archival signature of the charter. The id element signifies the \"technical\" signature to be used as atom:id and filename in eXist. If the id element is missing, the element content is to be used.-->\r\n                     <idno id=\"039400\">DL_39250</idno>\r\n                     <chDesc>\r\n                        <issued>\r\n                           <date value=\"12029999\">1202</date>\r\n                        </issued>\r\n                        <witnessOrig>\r\n                           <archIdentifier>\r\n                              <arch>MNL</arch>\r\n                           </archIdentifier>\r\n                        </witnessOrig>\r\n                     </chDesc>\r\n                  </body>\r\n                  <back/>\r\n               </text>\r\n               <text type=\"charter\">\r\n                  <body>\r\n                     <idno id=\"004400\">DL_4230</idno>\r\n                     <chDesc>\r\n                        <issued>\r\n                           <date value=\"12229999\">1222</date>\r\n                        </issued>\r\n                        <witnessOrig>\r\n                           <archIdentifier>\r\n                              <arch>MNL</arch>\r\n                           </archIdentifier>\r\n                        </witnessOrig>\r\n                     </chDesc>\r\n                  </body>\r\n                  <back/>\r\n               </text>\r\n            </group>\r\n         </text>\r\n      </cei>"},"comment":{"url":"https://api.github.com/repos/icaruseu/mom-ca/issues/comments/118298754","html_url":"https://github.com/icaruseu/mom-ca/issues/245#issuecomment-118298754","issue_url":"https://api.github.com/repos/icaruseu/mom-ca/issues/245","id":118298754,"user":{"login":"GVogeler","id":324006,"avatar_url":"https://avatars.githubusercontent.com/u/324006?v=3","gravatar_id":"","url":"https://api.github.com/users/GVogeler","html_url":"https://github.com/GVogeler","followers_url":"https://api.github.com/users/GVogeler/followers","following_url":"https://api.github.com/users/GVogeler/following{/other_user}","gists_url":"https://api.github.com/users/GVogeler/gists{/gist_id}","starred_url":"https://api.github.com/users/GVogeler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GVogeler/subscriptions","organizations_url":"https://api.github.com/users/GVogeler/orgs","repos_url":"https://api.github.com/users/GVogeler/repos","events_url":"https://api.github.com/users/GVogeler/events{/privacy}","received_events_url":"https://api.github.com/users/GVogeler/received_events","type":"User","site_admin":false},"created_at":"2015-07-03T09:39:29Z","updated_at":"2015-07-03T09:39:29Z","body":"Ich glaube die theoretischen Überlegungen sind gar nicht mehr nötig:\n\n@StephanMa, Daniel hat eine Urkunde mit `idno@id` != `idno/text()` \nimportiert und dabei ist \nhttp://dev.monasterium.net/mom/HU-MFL/DLCLBC/15144_%0A__________/imported-charter \nherausgekommen. Also das Problem 1 dieses Threads.\n\n@icaru-eu (=Daniel), kannst Du dem Stephan einfach mal die CEI-Quelle \ndieses Ingests zur Verfügung stellen, damit er überprüfen kann, warum \ngenau dabei die komische atom:id entstanden ist?\n\nViele Grüße\n\nG\n\n\nAm 03.07.2015 um 11:27 schrieb ICARUS Admin:\n> Hier meine Gedanken zum Thema. Erst nochmal die Hintergründe, dann die konkreten Überlegungen.\n>\n> ---\n>\n> Der abstrahierte Grund für diese Änderungen ist ja, dass Archiv-Signaturen (also Hilfswissenschaftlich gesprochen) nicht direkt als eindeutiges Identifizierungskriterium herangezogen werden können, da sie oft nicht nur für ein Objekt in unserem Sinne stehen, sondern für etwas, das letztlich im Archiv historisch gewachsen ist. Im Ungarischen Nationalarchiv (aber z.B. auch bei der Allgemeinen Urkundenreihe im Österreichischen Staatsarchiv) steht eine Signatur gelegentlich für mehrere Dokumente, die bei uns als jeweils separate Urkunden gelten.\n>\n> Die Ungarn haben nun für sich die Lösung gewählt, zusätzlich zur Signatur (in CEI das `cei:idno` Element) eine eindeutige Nummer (die sogenannte _ISIS-Nummer_) zu vergeben, die individuelle Urkunden nach dem gängigen Begriff identifiziert. Diese wird in ihrer Datenbank verwendet, um die URIs für die Urkunden zu generieren. Nach außen hin für Benutzer relevant ist aber weiter ausschließlich die in den 1870er Jahren entstandene Signatur, in Ungarn _DL/DF-Nummer_ genannt.\n>\n> Die ISIS-Nummer scheint im Gegensatz zur DL/DF-Nummer nirgends auf, die Ungarn haben, anders als MOM-CA, keine sprechende URI, mit dem die Urkunden identifiziert werden.\n>\n> Das Problem für MOM-CA war jetzt, dass üblicherweise (also wenn unter direktem Einfluss von ICARUS digitalisiert wurde), im Fall von nicht eindeutigen Signaturen einfach eine \"gebastelt\" wurde, zum Beispiel indem ein Buchstabe angehängt wurde (z.B. 1234-A, 1234-B). Dies ist etwa in Klöstern, in denen bis dato nur analoge Findmittel vorhanden waren bzw. zusätzliche Zählungsweisen in Urkundeneditionen wie etwa einem Niederösterreichischen Urkundenbuch geläufig sind, kein großes Problem. Die Ungarn haben sich aber spezifisch gewünscht, dass als Signatur die unveränderte DL/DF-Nummer verwendet wird, was die bisherige Lösung verunmöglicht hat.\n>\n> -----\n>\n> Konkret bedeutet das für mich:\n>\n> `atom:id` ist ein technisches, `cei:idno` und `cei:idno/@id` aufgrund der Zugehörigkeit zum CEI-Schmea ein hilfswissenschaftliches Identifikationsmerkmal. Die Benutzer interessiert vor allem letzteres. Trotzdem wollten wir aber die atom:id sprechend haben, deshalb ergab die Verknüpfung mit cei:idno Sinn. Es wäre wohl vernünftig gewesen, die atom:id so zu gestalten, dass sie die cei:idno unmodifiziert übernehmen kann und trotzdem eindeutig bleibt (etwa so mithilfe einer Unix Epoch: `tag:www.monasterium.net,2011:/charter/AT-OeSta-HHStA/AUR/234/1435914728`). Dafür ist es aber wohl zu spät.\n>\n> Es gibt nun in meinen Augen (für die Zukunft) zwei Möglichkeiten:\n>\n> 1. Atom:id wird völlig von cei:idno und cei:idno/@id entkoppelt und kann lauten wie auch immer er will. Hier würde ich letztlich die Archive entscheiden lassen, wie im Fall der Ungarn. cei:idno und cei:idno/@id blieben hier identisch.\n>\n> 2. atom:id und cei:idno/@id bleiben aneinander gekoppelt und cei:idno spielt nur mehr die Rolle der Signatur für Benutzer (sortieren, listen etc.). Beim Import müsste dann bei nicht Eindeutigkeiten zuerst cei:idno/@id generiert werden, z.B. einfach mit dem Nummerieren aller Vorkommnisse, also _234-1_, _234-2_ etc. In Kombination mit Archiv und Bestand wäre das ja dann eindeutig. Trotzdem bliebe die atom:id sprechend.\n>\n> Beide Lösungen haben zur Konsequenz, dass der Code dahingehend modifiziert werden muss, dass er nur mehr die betreffenden Elemente dort verwendet, wo sie angebracht sind, vor allem also nie mehr cei:idno wo die Urkunde im System identifiziert werden muss.\n>\n> Was meint ihr?\n>\n> ---\n> Reply to this email directly or view it on GitHub:\n> https://github.com/icaruseu/mom-ca/issues/245#issuecomment-118291114\n>\n"}}