<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
    <title>museum-digital:blog - Web-Standards</title>
    <subtitle>Ein Blog über museum-digital und die breitere Digitalisierung im Museumsbereich.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://blog.museum-digital.org/de/tags/web-standards/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://blog.museum-digital.org"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2020-06-05T00:00:00+00:00</updated>
    <id>https://blog.museum-digital.org/de/tags/web-standards/atom.xml</id>
    <entry xml:lang="de">
        <title>OpenSearch: museum-digital direkt aus der Browser-Leiste durchsuchen</title>
        <published>2020-06-05T00:00:00+00:00</published>
        <updated>2020-06-05T00:00:00+00:00</updated>


        
        <author>
          <name>Joshua Ramon Enslin</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.museum-digital.org/de/2020/06/05/opensearch-museum-digital-direkt-aus-der-browser-leiste-durchsuchen/"/>
        <id>https://blog.museum-digital.org/de/2020/06/05/opensearch-museum-digital-direkt-aus-der-browser-leiste-durchsuchen/</id>
        
        <content type="html" xml:base="https://blog.museum-digital.org/de/2020/06/05/opensearch-museum-digital-direkt-aus-der-browser-leiste-durchsuchen/">&lt;p&gt;OpenSearch ist ein offener Standard zur Beschreibung von Suchfunktionen auf Webseiten. Unterstützt eine Webseite OpenSearch, dann erkennen Browser das und bieten an, dass die Webseite als zusätzliche Suchmaschine installiert werden kann.&lt;/p&gt;
&lt;p&gt;Besonders schön dabei ist, dass OpenSearch sich in nur wenigen Zeilen Code implementieren lässt. Dazu mehr weiter unten im Text. Zuerst die gute Nachricht: Die Ausgabe von museum-digital und musdb unterstützen OpenSearch jetzt für ihre jeweiligen Objekt-Suchfunktionen. Beide lassen sich jetzt also direkt aus der Browser-Such-Leiste heraus durchsuchen, genauso wie es Standardmäßig für Google und Wikipedia möglich ist.&lt;/p&gt;
&lt;figure class=&quot;wp-block-gallery has-nested-images columns-default is-cropped&quot;&gt;&lt;figure class=&quot;wp-block-image size-large&quot;&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.museum-digital.org/de/2020/06/05/opensearch-museum-digital-direkt-aus-der-browser-leiste-durchsuchen/./OpenSearch-md-Frontend-1024x558.png&quot; alt=&quot;&quot; /&gt;&lt;figcaption&gt;Oben rechts erscheint ein grünes “+”-Symbol neben der Lupe der Browser-Suchfunktion.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;figure class=&quot;wp-block-image size-large&quot;&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.museum-digital.org/de/2020/06/05/opensearch-museum-digital-direkt-aus-der-browser-leiste-durchsuchen/./OpenSearch-md-Frontend-Focus.png&quot; alt=&quot;&quot; /&gt;&lt;figcaption&gt;Damit lässt sich die jeweilige Instanz von museum-digital als zusätzliche Suchmaschine im Browser installieren.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;/figure&gt;
&lt;p&gt;Weil musdb keine “einfache” Suche nach einen unqualifizierten, nicht näher beschriebenen Suchbegriff unterstützt, wird dort die Volltextsuche verwendet.&lt;/p&gt;
&lt;h2 id=&quot;opensearch-implementieren&quot;&gt;OpenSearch implementieren&lt;/h2&gt;
&lt;p&gt;Für die Implementation von OpenSearch braucht es nur zwei Bausteine. Einerseits eine einfache XML-Datei, die Informationen zur zu beschreibenden Suchfunktion in kurzer und knapper Form erhält. Hier wird etwa die Suche der weltweiten Instanz von museum-digital beschrieben:&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#000000, #E6EDF3); background-color: light-dark(#FFFFFF, #0D1117);&quot; &gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;OpenSearchDescription xmlns=&amp;quot;http://a9.com/-/spec/opensearch/1.1/&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;ShortName&amp;gt;md:global&amp;lt;/ShortName&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;Description&amp;gt;Search museum-digital: global&amp;lt;/Description&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;Tags&amp;gt;museums collections objects exhibitions&amp;lt;/Tags&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;Url type=&amp;quot;application/rss+xml&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;       template=&amp;quot;https://global.museum-digital.org/search.php?navlang=en&amp;amp;sv={searchTerms}&amp;amp;output=rss&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;Url type=&amp;quot;text/html&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;       template=&amp;quot;https://global.museum-digital.org/search.php?navlang=en&amp;amp;sv={searchTerms}&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;LongName&amp;gt;museum-digital&amp;lt;/LongName&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;Image height=&amp;quot;64&amp;quot; width=&amp;quot;64&amp;quot; type=&amp;quot;image/jpeg&amp;quot;&amp;gt;https://global.museum-digital.org/db_images_gestaltung/mdlogo-64px.png&amp;lt;/Image&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;Image height=&amp;quot;16&amp;quot; width=&amp;quot;16&amp;quot; type=&amp;quot;image/vnd.microsoft.icon&amp;quot;&amp;gt;https://global.museum-digital.org/favicon.ico&amp;lt;/Image&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;Query role=&amp;quot;example&amp;quot; searchTerms=&amp;quot;Tag&amp;quot; /&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;Developer&amp;gt;museum-digital&amp;lt;/Developer&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;SyndicationRight&amp;gt;open&amp;lt;/SyndicationRight&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;AdultContent&amp;gt;false&amp;lt;/AdultContent&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;OutputEncoding&amp;gt;UTF-8&amp;lt;/OutputEncoding&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;InputEncoding&amp;gt;UTF-8&amp;lt;/InputEncoding&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;/OpenSearchDescription&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Die wirklich interessanten Felder beschränken sich auf &lt;code&gt;ShortName&lt;/code&gt;, &lt;code&gt;Url&lt;/code&gt;, und &lt;code&gt;Image&lt;/code&gt;, die jeweils für die entsprechende Instanz angepasst werden mussten. Ein Problem stellt dabei die Vorgabe dar, dass der &lt;code&gt;ShortName&lt;/code&gt; nicht länger als 16 Buchstaben sein darf, sodass wir für den Anfang auf ein fest im Code stehendes “md” statt “museum-digital” zurückfallen mussten.&lt;/p&gt;
&lt;p&gt;Ist die XML-Beschreibung der Suchfunktion einmal fertig geschrieben und aus dem Netz erreichbar, müssen nur noch alle Seiten auf die Suchfunktion verweisen. Ist, wie bei museum-digital, die Erstellung der Seiten-Metadaten für verschiedene Seiten in einer Funktion zusammengefasst, lässt sich das mit dem Einfügen einer einzigen Zeile erreichen:&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#000000, #E6EDF3); background-color: light-dark(#FFFFFF, #0D1117);&quot; &gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;link rel=&amp;quot;search&amp;quot; type=&amp;quot;application/opensearchdescription+xml&amp;quot; href=&amp;quot;https://global.museum-digital.org/opensearch/objects.xml&amp;quot; title=&amp;quot;md:global&amp;quot; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Zu beachten ist dabei, dass das &lt;code&gt;title&lt;/code&gt;-Attribut denselben Wert haben muss, wie der vorhin im XML eingetragene &lt;code&gt;ShortName&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&quot;links&quot;&gt;Links&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;external&quot; href=&quot;https://github.com/dewitt/opensearch&quot;&gt;OpenSearch-Spezifikation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel=&quot;external&quot; href=&quot;https://developer.mozilla.org/en-US/docs/Web/OpenSearch&quot;&gt;OpenSearch bei Mozilla MDN&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: var(--admonition-info);&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(icons/info.svg);&quot;
    &gt;
      info
    &lt;/div&gt;
    &lt;span&gt;&lt;strong&gt;License&lt;/strong&gt;&lt;/span&gt;
  &lt;/div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;p&gt;This content is licensed under a &lt;a rel=&quot;external&quot; href=&quot;https://creativecommons.org/licenses/by/4.0/&quot;&gt;Creative Commons Attribution 4.0 International license&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
</content>

        
        
        <post-thumbnail><url>https://blog.museum-digital.org/de/2020/06/05/opensearch-museum-digital-direkt-aus-der-browser-leiste-durchsuchen/Opernglas-mit-schwarz-weißem-Perlmutter.jpg</url></post-thumbnail>
        
        
    </entry>
</feed>
