<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>museum-digital:blog - Object selection (musdb)</title>
    <subtitle>A blog on museum-digital and the broader digitization of museum work.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://blog.museum-digital.org/tags/object-selection-musdb/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://blog.museum-digital.org"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2023-05-11T00:00:00+00:00</updated>
    <id>https://blog.museum-digital.org/tags/object-selection-musdb/atom.xml</id>
    <entry xml:lang="en">
        <title>Categorizing an object&#39;s tags</title>
        <published>2023-05-11T00:00:00+00:00</published>
        <updated>2023-05-11T00:00:00+00:00</updated>


        
        <author>
          <name>Joshua Ramon Enslin</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.museum-digital.org/2023/05/11/categorizing-an-objects-tags/"/>
        <id>https://blog.museum-digital.org/2023/05/11/categorizing-an-objects-tags/</id>
        
        <content type="html" xml:base="https://blog.museum-digital.org/2023/05/11/categorizing-an-objects-tags/">&lt;p&gt;… or “musdb finally supports materials, techniques, etc. from controlled vocabularies”.&lt;/p&gt;
&lt;p&gt;At museum-digital, there are four main centrally controlled vocabularies - actors, places, times, and tags. In more traditional collection management software however, the main field to control is usually the object type (is the object a helmet or a painting?). Simple tagging of the objects can serve as a rather good replacement for a controlled set of object types if one simply repeats the object type as a tag.&lt;/p&gt;
&lt;p&gt;As long as one only uses simple tagging, it can however do so only to some extend. If the object is a painting that displays a hammer, the object would feature the tags “painting” and “hammer”. If the object is a hammer with an engraving of a painting, it would feature the very same tags. Take the first example: If one wanted to be able to express that “painting” is the object type and “hammer” is something displayed on the object, one would either need to skip using tags again and use the dedicated fields again - or one needs to be able to categorize tags.&lt;/p&gt;
&lt;p&gt;We doubled down on tagging by implementing a categorization mechanism for object tags while streamlining the tagging process in musdb and making it faster and easier to use overall.&lt;/p&gt;
&lt;h2 id=&quot;the-new-tagging-overlay&quot;&gt;The new tagging overlay&lt;/h2&gt;
&lt;p&gt;When clicking the usual link for linking (new) tags with an object in musdb, one will now be presented with an overlay that replaces the previous page of the same functionality. The layout is rather similar to the previous page - new tags and simple links to actors, places, and times are usually be entered using input fields on the left of the overlay. By typing in the relevant input field, a drop-down list appears, from which entries to be linked can be selected. A new tag, actor, place or time entry can be entered by pressing the “enter” key after typing the name. A sidebar on the right of the overlay allows the simple repetition of the last 10 tags, actors, places, or times the user linked to objects.&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/2023/05/11/categorizing-an-objects-tags/./20230511_Screenshot-tag-categories-old-page-1024x426.webp&quot; alt=&quot;Screenshot&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;The old object tagging interface in musdb&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/2023/05/11/categorizing-an-objects-tags/./20230511_Screenshot-tag-categories-new-overlay-1024x656.webp&quot; alt=&quot;Screenshot&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;The new object tagging overlay.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;The differences between the old page and the new overlay play out on two levels. First, there is the simple fact of the new implementation moving a lot of the logic to the client side, i.e. your browser. If one only selects entries from the drop-down menus, this means that all communication with the server runs in the background. Page reloads are thus only necessary when one enters a new, thus far unknown, tags etc. As the overlay does not close after linking a tag, multiple pre-existing tags can be linked quickly one after the other. In effect, this amounts to a much smoother experience in tagging objects than before.&lt;/p&gt;
&lt;p&gt;On the other hand, the overlay unites the existing tagging-related functionalities in one. To do so, the currently linked tags, actors, places, and times are displayed in the overlay as small tiles and can be deleted from there using the trash can icon. Tiles for tags feature an additional select field for categorizing the relationship between object and tag. By default, the relationship is set to the generic “tag”. Alternative categorization options are currently:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Object type&lt;/li&gt;
&lt;li&gt;Material&lt;/li&gt;
&lt;li&gt;Technique&lt;/li&gt;
&lt;li&gt;Display subject&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By categorizing the tags in the appropriate way, one keeps all the advantages the controlled vocabulary for tags brings - multilinguality, links to norm data repositories, and findability using hierarchichal searches, while now being specific about the relationship.&lt;/p&gt;
&lt;p&gt;Additionally, another icon (the arrow downwards in a hexagon) offers narrowing down the tag to a more specific version. If an object has for example been tagged as a “portrait”, pressing on the icon will open a sidebar suggesting to replace that tag with “self-portrait”.&lt;/p&gt;
&lt;h2 id=&quot;effects-on-search&quot;&gt;Effects on search&lt;/h2&gt;
&lt;p&gt;Of course, categorizing the links helps little without the relevant search options. Hence, we added five new search fields in the extended search menu: Tags (object type), tags (material), etc.&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/2023/05/11/categorizing-an-objects-tags/./20230511_Screenshot-tag-categories-search-1024x653.webp&quot; alt=&quot;Screenshot&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;Screenshot: Searching by tag categorization.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&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/2023/05/11/categorizing-an-objects-tags/20230511_Screenshot-tag-categories-tag-categorization-tab.webp</url></post-thumbnail>
        
        
    </entry>
    <entry xml:lang="en">
        <title>New Features at museum-digital (November 2022)</title>
        <published>2023-01-02T00:00:00+00:00</published>
        <updated>2023-01-02T00:00:00+00:00</updated>


        
        <author>
          <name>Joshua Ramon Enslin</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.museum-digital.org/2023/01/02/new-features-at-museum-digital-november-2022/"/>
        <id>https://blog.museum-digital.org/2023/01/02/new-features-at-museum-digital-november-2022/</id>
        
        <content type="html" xml:base="https://blog.museum-digital.org/2023/01/02/new-features-at-museum-digital-november-2022/">&lt;p&gt;After trying a monthly change log once some month ago, we have unfortunately been rather lenient with notifying everyone of new features and updates in the last months. To approach betterment, here there is a list of the updates of November 2022 the form of screenshots. As a very large update is upcoming in the next days, a separate post on the updates of December 2022 will follow tonight.&lt;/p&gt;
&lt;h2 id=&quot;musdb&quot;&gt;musdb&lt;/h2&gt;
&lt;h3 id=&quot;new-fields&quot;&gt;New fields&lt;/h3&gt;
&lt;figure class=&quot;wp-block-image size-large&quot;&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.museum-digital.org/2023/01/02/new-features-at-museum-digital-november-2022/./20230102_Screenshot_musdb_object_Periods-1024x674.webp&quot; alt=&quot;Screenshot&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;New section for time limits on administration tab of object pages. Special mention should go to the fields “Freeze period” and “Publish object at”. Filling out these fields enables some automation: A “frozen” object cannot be published before the entered date has been reached. This may e.g. be useful with archival material that cannot be published before a given date. The “Publish object at” field offers a counterpart to this. If a date has been entered into this field and the date is reached, the object will be published automatically by the system.&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/2023/01/02/new-features-at-museum-digital-november-2022/./20230102_Screenshot_musdb_object_closer_location-1024x674.webp&quot; alt=&quot;Screenshot&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;A non-public closer location for an object (which may e.g. be necessary with archeological findings, whose finding spots have no name and are not to be published to not give information to grave robbers) can now be set using a map on the addendum tab.&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/2023/01/02/new-features-at-museum-digital-november-2022/./20230102_musdb_object_remarks-1024x674.webp&quot; alt=&quot;Screenshot&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;A number of new fields for noting conditions on how the object should best be displayed in exhibitions, among others, have been added on the “remarks” tab of object pages in musdb.&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/2023/01/02/new-features-at-museum-digital-november-2022/./20230102_musdb_object_conservations-1024x673.webp&quot; alt=&quot;Screenshot&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;On the “restoration” tab of object pages, generic fields can be entered with the name of the described feature and the value. Because of the flexible subject of these fields however, they make searching in the fields much harder. Hence, new fields that are applicable to almost all museum objects have been added as easily searchable, “static” properties of an object: Minimum and maximum viable temperature, minimum and maximum viable humidity, and the maximum lux an object may be exposed to.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;h3 id=&quot;other-page&quot;&gt;Other page&lt;/h3&gt;
&lt;figure class=&quot;wp-block-image size-large&quot;&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.museum-digital.org/2023/01/02/new-features-at-museum-digital-november-2022/./20230102_musdb_open_in_new_tab-1024x673.webp&quot; alt=&quot;Screenshot&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;It is quite common for users of musdb to only use the same some event types all the time, while not needing many of the other available event types. People working at archeological museums will likely need the “found” event type all the time, while barely ever using the event type “copied by hand”. To directly access those often used types, one can now click the “star” symbols at the end of a line for an event type when accessing the page for selecting the event type of a new event. Favorited event types will then be listed in a bottom sheet on the page.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;h3 id=&quot;batch-updating-object-information&quot;&gt;Batch updating object information&lt;/h3&gt;
&lt;figure class=&quot;wp-block-image size-large&quot;&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.museum-digital.org/2023/01/02/new-features-at-museum-digital-november-2022/./20230102_musdb_batch_visibility-1024x674.webp&quot; alt=&quot;Screenshot&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;The batch update menu for objects’ visibility can now also be used to set the visibility of publishable fields that are publishable on a field level.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;figure class=&quot;wp-block-image size-large is-resized&quot;&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.museum-digital.org/2023/01/02/new-features-at-museum-digital-november-2022/./20230102_musdb_batch_assignment-1024x674.webp&quot; alt=&quot;Screenshot&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;The “batch assignment” menu can now be used to assign spaces, owners, linked loans, and full events (e.g. the creation of objects by a given artist at a given time) to all objects of a search results list.&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/2023/01/02/new-features-at-museum-digital-november-2022/./20230102_musdb_batch_open_in_new_tab-1024x674.webp&quot; alt=&quot;Screenshot&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;A “smaller” way of batch updating objects can be used in the object overview by selecting an object by clicking and dragging an object. Now, objects can be selected and updated in bulk. The menu for doing these updates (visible here at the top of the screenshot) now comes with an additional option: “Open in new tab”. By clicking on this menu option, all selected objects are opened in new tabs. As browsers often prevent the opening of multiple tabs in bulk, one may have to allow the opening of pop-ups for musdb in the browser to use this functionality.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;h3 id=&quot;instituion-wide-settings-and-adding-new-objects&quot;&gt;Instituion-wide settings and adding new objects&lt;/h3&gt;
&lt;figure class=&quot;wp-block-image size-large&quot;&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.museum-digital.org/2023/01/02/new-features-at-museum-digital-november-2022/./20230102_musdb_institution_settings_bulk_downloads-1024x674.webp&quot; alt=&quot;Screenshot&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;The download button for images in the frontend has been repurposed to enable bulk downloading of all images of an object. While the images are downloaded, the users see an overlay where the museum may display a message (e.g. on how to use the images, or for asking the users to notify the museum about the images being reused in print). The message can be set in the institution-wide settings (available for users of the role “museum director” by hovering over the academy symbol in the navigation in musdb and then selecting the menu option “settings”).&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/2023/01/02/new-features-at-museum-digital-november-2022/./20230102_musdb_institution_settings_1-1024x674.webp&quot; alt=&quot;Screenshot&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;The instituion-wide settings page now also comes with two other new features. On the one hand, users can now be required to select a tag for the object type when adding new objects. On the other, the inventory number suggestion when adding new objects has been improved. It is now possible to generate inventory numbers with variable length numerical components (e.g. ABC-9; followed by ABC-10).&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;h3 id=&quot;notifications&quot;&gt;Notifications&lt;/h3&gt;
&lt;figure class=&quot;wp-block-image size-large&quot;&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.museum-digital.org/2023/01/02/new-features-at-museum-digital-november-2022/./20230102_musdb_notification_settings-1024x673.webp&quot; alt=&quot;Screenshot&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;The notification framework in musdb has been fully rewritten. Along with that comes the option to specifically subscribe to email notifications only for some types of notifications. To do so, one can navigate to one’s personal settings. A new tab “notifications” on this page allows setting the primary route of notification and a fallback. If the primary route is set to “email” for upcoming ends to loans, the user will immediately receive a mail once the system recognizes an upcoming end to a loan. If the primary route here is set to “Internal” and “Email” is set to be the fallback route, the user will only see a notification on the upcoming loan in the notification overlay within musdb for a week. If the notification has not been marked as read after a week, a mail will be sent.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;h3 id=&quot;in-other-news&quot;&gt;In other news&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The calendar feature (accessible under the puzzle symbol in the main navigation) can now display tasks or make them subscribable via WebCal (thus implementing a “reminder” as had often been requested)&lt;/li&gt;
&lt;li&gt;PDF of all linked information is now in A4 and uses a two-column layout&lt;/li&gt;
&lt;li&gt;Ukrainian translation&lt;/li&gt;
&lt;li&gt;“Simple A5 PDF” now covers inventorization fields on rear side&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;md-term&quot;&gt;md:term&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;If two actors have been joined and one has an old links to the page of the actor now deleted, one is now referred onwards to the new, single actor entry. The same works with transferrals between vocabularies (an actor that was transformed into a tag, etc.).&lt;/li&gt;
&lt;li&gt;Ukrainian Translation&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;wp-block-image size-large&quot;&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.museum-digital.org/2023/01/02/new-features-at-museum-digital-november-2022/./20230102_mdterm_ukrainian-1024x673.webp&quot; alt=&quot;Screenshot&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;md:term is now available in Ukrainian!&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;h3 id=&quot;frontend&quot;&gt;Frontend&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ukrainian Translation&lt;/li&gt;
&lt;li&gt;JSON-based settings for specific institution pages have been removed&lt;/li&gt;
&lt;li&gt;Bulk download of object images
&lt;ul&gt;
&lt;li&gt;An overlay with a message from the museum can be displayed during batch downloads (see above)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;csvxml&quot;&gt;CSVXML&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Almost completely rewritten&lt;/li&gt;
&lt;li&gt;The served page now is completely static and all checks and conversions run directly in the browser. This way, no uploads actually happen and the application is completely uncritical to the server’s security. On the other hand, this allows for installing CSVXML as a &lt;em&gt;progressive web app&lt;/em&gt; and using it offline.&lt;/li&gt;
&lt;li&gt;We also added some explanatory texts did small updates to the design of the page. A footer now links to the source code and offers to refresh all cached contents of the page (this may be useful when visiting the page after a long time, as the whole application is cached in the browser for offline use).&lt;/li&gt;
&lt;li&gt;A new check also checks for the file encoding. A warning is provided if the data does not appear to be UTF-8-encoded.&lt;/li&gt;
&lt;li&gt;CSVXML is now released open source under the AGPL.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;wp-block-image size-large&quot;&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.museum-digital.org/2023/01/02/new-features-at-museum-digital-november-2022/./20230102_csvxml-1024x631.webp&quot; alt=&quot;Screenshot&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;CSVXML has been (almost) completely rewritten).&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;h3 id=&quot;importer&quot;&gt;Importer&lt;/h3&gt;
&lt;p&gt;While the individual parsers for the different export formats are updated very often, the core scripts of the importer are very stable. November 2022 however came with a large update to these core sections, as more categories of data that had not before been covered by the importer (many of them new) can now be imported:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Contact information (e.g. for object owners; loan partner institution)&lt;/li&gt;
&lt;li&gt;Object’s movement log&lt;/li&gt;
&lt;li&gt;Minimum and maximum temperature, humidity, and lux of an object&lt;/li&gt;
&lt;li&gt;Loans&lt;/li&gt;
&lt;li&gt;Events / Appointments&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In terms of the parsers, we extended the LIDO parser to cover the new fields suggested by the upcoming &lt;a rel=&quot;external&quot; href=&quot;https://cidoc.mini.icom.museum/working-groups/documentation-standards/eodem-home/&quot;&gt;EODEM&lt;/a&gt; standard for exchanging loan object information.&lt;/p&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>

        
        
        
    </entry>
    <entry xml:lang="en">
        <title>Managing object information using the musdb API</title>
        <published>2022-06-20T00:00:00+00:00</published>
        <updated>2022-06-20T00:00:00+00:00</updated>


        
        <author>
          <name>Joshua Ramon Enslin</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.museum-digital.org/2022/06/20/managing-object-information-using-the-musdb-api/"/>
        <id>https://blog.museum-digital.org/2022/06/20/managing-object-information-using-the-musdb-api/</id>
        
        <content type="html" xml:base="https://blog.museum-digital.org/2022/06/20/managing-object-information-using-the-musdb-api/">&lt;p&gt;The public API of the &lt;a rel=&quot;external&quot; href=&quot;https://en.about.museum-digital.org/software/frontend&quot;&gt;frontend&lt;/a&gt; of museum-digital has long been in use - for example for embedding objects directly from museum-digital in a given museum’s website. The API is stable and well-established.&lt;/p&gt;
&lt;p&gt;In &lt;a rel=&quot;external&quot; href=&quot;https://en.about.museum-digital.org/software/musdb&quot;&gt;musdb&lt;/a&gt;, our inventorization and museum management tool, however, the situation is more complicated. On the one hand, musdb is simply much larger in terms of the offered functionality. Many features have no public equivalent, while the whole question of updating the database is not present in the frontend. The tab-based user interface and the unfortunately often still rather tight coupling between user interface and loading of data from the database has been hindering the development of an API for musdb. A simple API design like the one in the frontend, where you can just add &amp;amp;output=json (or ?output=json) to a page’s URL to retrieve the page’s information in a machine-readable format is made largely impossible by that very architecture. Just adding &amp;amp;output=json to a URL in musdb provides that machine-readable information in an astonishingly high number of cases, but often it is incomplete or otherwise of limited use.&lt;/p&gt;
&lt;p&gt;Finally, it is especially musdb where a well-designed API may become interesting to have in the future. It would be great if museums could use their inventory app of choice besides musdb - and any update to public objects would automatically be mirrored in musdb and the frontend of museum-digital in the background. Currently, the same objective can almost be reached using &lt;a href=&quot;https://blog.museum-digital.org/2022/06/04/imports-can-now-be-triggered-by-users/&quot;&gt;imports&lt;/a&gt;, but imports are limited to updates of the same type and do not happen in real-time.&lt;/p&gt;
&lt;h2 id=&quot;off-to-a-good-start-updating-object-information-using-musdb-s-api&quot;&gt;Off to a Good Start: Updating Object Information Using musdb’s API&lt;/h2&gt;
&lt;p&gt;A first step towards a dedicated API for musdb has now been taken. For the start, all fields directly relevant to the management of objects have been made available using a new public (though obviously authenticated) API for musdb. Further functionalities will be added when the need arises.&lt;/p&gt;
&lt;p&gt;Obviously, starting over and writing a whole new API offers a chance to implement things cleanly. Adding the new API required us to refactor the code considerably - and that in turn provided a good opportunity to write unit tests for all functions relevant to the API. The API is thus ensured to stay stable for the foreseeable future (extensions notwithstanding).&lt;/p&gt;
&lt;p&gt;In designing and documenting the new API, we took the opportunity to write the documentation using the OpenAPI standard. A desciption of the API in machine-readable JSON can be accessed at /musdb/api in each instance, e.g. at &lt;a rel=&quot;external&quot; href=&quot;https://hessen.museum-digital.de/musdb/api&quot;&gt;https://hessen.museum-digital.de/musdb/api&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Using OpenAPI also opens the way to all those tools that build on OpenAPI in general. Hence, a human-readable interface for reading about and testing the API could be generated using &lt;a rel=&quot;external&quot; href=&quot;https://swagger.io/&quot;&gt;Swagger UI&lt;/a&gt; (thanks!) and is linked in the &lt;a rel=&quot;external&quot; href=&quot;https://de.handbook.museum-digital.info/musdb/API/&quot;&gt;German-language handbook&lt;/a&gt;. Since each musdb API is linked to its respective regional instance, the “try out” buttons do not work in the handbook, but working Swagger UI instances describing the musdb API can be found linked in the “tools” menu of the navigation of musdb.&lt;/p&gt;
&lt;h2 id=&quot;next-steps&quot;&gt;Next Steps&lt;/h2&gt;
&lt;p&gt;Even though object information can now be read and updated using the musdb API, there are a lot of features not yet covered. Even a simple task like listing the collections available to the API user is still missing. As this hinders the finding of IDs for linking with objects, it is a natural next step for implementation.&lt;/p&gt;
&lt;p&gt;Working with OpenAPI on the other hand has been a pleasure. We are looking forward to eventually (hopefully sooner than later) being able to provide an OpenAPI description of the frontend API as well.&lt;/p&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/2022/06/20/managing-object-information-using-the-musdb-api/Screenshot-OpenAPI-Musdb.jpg</url></post-thumbnail>
        
        
    </entry>
    <entry xml:lang="en">
        <title>&quot;Smarter&quot; Entry of Links to Vocabularies in musdb</title>
        <published>2020-09-21T00:00:00+00:00</published>
        <updated>2020-09-21T00:00:00+00:00</updated>


        
        <author>
          <name>Joshua Ramon Enslin</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.museum-digital.org/2020/09/21/smarter-entry-of-links-to-vocabularies-in-musdb/"/>
        <id>https://blog.museum-digital.org/2020/09/21/smarter-entry-of-links-to-vocabularies-in-musdb/</id>
        
        <content type="html" xml:base="https://blog.museum-digital.org/2020/09/21/smarter-entry-of-links-to-vocabularies-in-musdb/">&lt;p&gt;Many imports of data confront us with Places like “Berlin ?” and times like “ca. 1328” konfrontiert. The import tool of museum-digital has been able to handle such entries for quite a time: “Berlin ?” is recognized to mean that the place is actually “Berlin”, but that the entry is not made with complete certainty.&lt;/p&gt;
&lt;p&gt;In a similar fashion, the vocabulary control tool of museum-digital, &lt;a rel=&quot;external&quot; href=&quot;https://en.about.museum-digital.org/software/term_nodac&quot;&gt;nodac&lt;/a&gt;, has been able to parse and normalize time names for some times. While the canonical formulation of e.g. a single day is the German date format DD.MM.YYYY, similar times like “15. Januar 1920” (German) or “1920. január 15” (Hungarian) are entered often. These would have been transformed into 15.01.1920 upon the push of a button and then translated to many languages upon the push of another.&lt;/p&gt;
&lt;p&gt;In line with some larger imports, we have now improved these and moved them into a dedicated module, that are now also used in the general input tool, &lt;a rel=&quot;external&quot; href=&quot;https://en.about.museum-digital.org/software/musdb&quot;&gt;musdb&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;recognizing-uncertainty-and-normalizing-times-in-musdb&quot;&gt;Recognizing Uncertainty and Normalizing Times in musdb&lt;/h2&gt;
&lt;p&gt;musdb can thus recognize uncertainty based on a given list of indicators of uncertainty. In the case of times, these are e.g. “um “ (“about” in German), “wohl um “ (“likely about”), “circa “, “ca. “ oder “ca “ in the beginning of an entered time term and “(?)” oder “?” at its end. If one of these indicators is present, the time name is freed of the indicator and the entry is saved as uncertain. The same works with links between events and actors and places.&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/2020/09/21/smarter-entry-of-links-to-vocabularies-in-musdb/./Screenshot-Ungewisse-Orte-1.png&quot; alt=&quot;&quot; /&gt;&lt;figcaption&gt;Entering a place with an indicator of uncertainty …&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/2020/09/21/smarter-entry-of-links-to-vocabularies-in-musdb/./Screenshot-Ungewisse-Orte-2.png&quot; alt=&quot;&quot; /&gt;&lt;figcaption&gt;… the indicator is stripped off the entry and translated into uncertainty of the reference.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;In a similar fashion, many entered times can be automatically normalized and cleaned. Thus far, entries in German and Hungarian for single days and months (15. January 1920 and January 1920) can thus be automatically parsed and cleaned.&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/2020/09/21/smarter-entry-of-links-to-vocabularies-in-musdb/./Screenshot-Ungewisse-Zeiten1.png&quot; alt=&quot;&quot; /&gt;&lt;figcaption&gt;Entering a normalizable and uncertain time ….&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/2020/09/21/smarter-entry-of-links-to-vocabularies-in-musdb/./Screenshot-Ungewisse-Zeiten2.png&quot; alt=&quot;&quot; /&gt;&lt;figcaption&gt;… results in a normalized entry. The reference to the event is stored as uncertain.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;Together with normalizing the time term, the entries can in many cases be automatically translated. This is especially important for times before 1000 CE, where an indication of whether they are BCE or CE is often necessary for a quick understanding. This is thus far implemented for time spans before 1000 CE: “312 - 315” is automatically translated to “312-315 n. Chr” in German, “312-315 CE” in English and “西暦312年から315年” in Japanese.&lt;/p&gt;
&lt;h2 id=&quot;batch-publishing-or-hiding-by-object-selection&quot;&gt;Batch Publishing or Hiding by Object Selection&lt;/h2&gt;
&lt;p&gt;A small improvement on a sidenote, we have now added batch publishing and hiding of objects to the options available through the object selection tool in musdb. To use it, the objects to be manipulated can be selected by first dragging one with the mouse and then clicking on the others. Finally, the respective menu option at the top of the page (red in the screenshot can be pressed).&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/2020/09/21/smarter-entry-of-links-to-vocabularies-in-musdb/./Screenshot-Stapelveroeffentlichung-1024x631.png&quot; alt=&quot;&quot; /&gt;&lt;figcaption&gt;Menu options for batch hiding or publishing can be found at the top right (in red borders).&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&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>

        
        
        
    </entry>
    <entry xml:lang="en">
        <title>&quot;Select all&quot; in Object Selection Mode in musdb</title>
        <published>2020-02-12T00:00:00+00:00</published>
        <updated>2020-02-12T00:00:00+00:00</updated>


        
        <author>
          <name>Joshua Ramon Enslin</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.museum-digital.org/2020/02/12/select-all-in-object-selection-mode-in-musdb/"/>
        <id>https://blog.museum-digital.org/2020/02/12/select-all-in-object-selection-mode-in-musdb/</id>
        
        <content type="html" xml:base="https://blog.museum-digital.org/2020/02/12/select-all-in-object-selection-mode-in-musdb/">&lt;p&gt;While most of the weekend had us preoccupied with doing a long-thought-over plan, we managed to squeeze in a minor improvement of the object selection mode in musdb: A “select all” option similar to how - for example - all files are selected in the Windows Explorer. To use it, press &lt;code&gt;&amp;lt;CTRL+a&amp;gt;&lt;/code&gt; while in the object selection mode in musdb.&lt;/p&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>

        
        
        
    </entry>
</feed>
