<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Lin on UBLabs</title>
    <link>https://labs.ub.uni-frankfurt.de/projects/lin/</link>
    <description>Recent content in Lin on UBLabs</description>
    <generator>Hugo</generator>
    <language>en</language>
    <managingEditor>labs@ub.uni-frankfurt.de (UBLabs)</managingEditor>
    <webMaster>labs@ub.uni-frankfurt.de (UBLabs)</webMaster>
    <copyright>Universitätsbibliothek Frankfurt am Main</copyright>
    <lastBuildDate>Thu, 29 Jun 2023 00:00:00 +0200</lastBuildDate>
    <atom:link href="https://labs.ub.uni-frankfurt.de/projects/lin/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Common engineering strategies in luigi</title>
      <link>https://labs.ub.uni-frankfurt.de/post/common-engineering-strategies-in-luigi/</link>
      <pubDate>Thu, 29 Jun 2023 14:00:00 +0200</pubDate><author>labs@ub.uni-frankfurt.de (UBLabs)</author>
      <guid>https://labs.ub.uni-frankfurt.de/post/common-engineering-strategies-in-luigi/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;&#xA;&lt;p&gt;For many automated data processing tasks within the context of the Specialised Information Services (FID) at the University Library Frankfurt, we use the Python package &lt;a href=&#34;https://luigi.readthedocs.io/en/stable/&#34;&gt;&lt;code&gt;luigi&lt;/code&gt;&lt;/a&gt;. This package proves especially useful when a task (e.g. the loading of data into a database) depends on the work of other tasks that have to run successfully, before the next task starts (e.g. first you need to download the data). &lt;code&gt;luigi&lt;/code&gt; orchestrates all required tasks and their respective required task(s) and then processes everything for you. This approach makes the maintenance of tasks very easy, since you only have to add or remove required tasks from any task and &lt;code&gt;luigi&lt;/code&gt; handles the rest for you, while you don&amp;rsquo;t have to worry about the &lt;a href=&#34;https://en.wikipedia.org/wiki/Directed_acyclic_graph&#34;&gt;computer science behind it&lt;/a&gt; too much. But although &lt;code&gt;luigi&lt;/code&gt; takes a lot of mental load off of you, it also requires strategies to handle common situations that you may find yourself in.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Upgrading OJS with the ojs_updater</title>
      <link>https://labs.ub.uni-frankfurt.de/post/upgrading-ojs-with-the-ojs-updater/</link>
      <pubDate>Wed, 21 Dec 2022 12:07:00 +0000</pubDate><author>labs@ub.uni-frankfurt.de (UBLabs)</author>
      <guid>https://labs.ub.uni-frankfurt.de/post/upgrading-ojs-with-the-ojs-updater/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;&#xA;&lt;p&gt;At the University Library Frankfurt, &lt;a href=&#34;https://www.ub.uni-frankfurt.de/publizieren/ojs.html&#34;&gt;we currently host 21 OJS journals&lt;/a&gt;, with more to come. Since we apply a strategy that runs only a single journal within an &lt;a href=&#34;https://pkp.sfu.ca/ojs/&#34;&gt;OJS&lt;/a&gt; instance, we have to maintain 21 different OJS instances. In order to maintain and manage this multiplicity, we found it important to come up with structures on the server and helper tools.&lt;/p&gt;&#xA;&lt;p&gt;Especially the process of updating a journal instance can be quite tedious, since it involves multiple manual steps and can cause problems when forgetting something in the process. Due to these manual steps, the upgrade of a single OJS instance can take up to 20 minutes – and longer, if something doesn&amp;rsquo;t go according to plan.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Selecting subject specific records from the Bielefeld Academic Search Engine (Part 1)</title>
      <link>https://labs.ub.uni-frankfurt.de/post/selecting-subject-specific-records-from-the-bielefeld-academic-search-engine-part-1/</link>
      <pubDate>Fri, 10 Jun 2022 00:00:00 +0100</pubDate><author>labs@ub.uni-frankfurt.de (UBLabs)</author>
      <guid>https://labs.ub.uni-frankfurt.de/post/selecting-subject-specific-records-from-the-bielefeld-academic-search-engine-part-1/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;&#xA;&lt;p&gt;Since 2004, the &lt;a href=&#34;https://www.base-search.net&#34;&gt;Bielefeld Academic Search Engine&lt;/a&gt;&#xA;(BASE) offers an aggregated metadata search over scientific publications. By&#xA;indexing well over 300 million records (60% of which are open access&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;)&#xA;from almost 10,000 international repositories, it provides researchers with an&#xA;invaluable access to publications. In addition to offering a &lt;a href=&#34;https://vufind.org&#34;&gt;VuFind&lt;/a&gt; based discovery&#xA;system, the aggregated data is also available via both a &lt;a href=&#34;https://api.base-search.net/&#34;&gt;live search API&lt;/a&gt; and an&#xA;&lt;a href=&#34;http://oai.base-search.net/&#34;&gt;OAI-PMH interface&lt;/a&gt; to enable re-use by 3rd party&#xA;services.&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; As a general search engine for scientific documents, the indexed publications are&#xA;not restricted to any academic discipline or field of research. And while BASE retains&#xA;available subject terms and – to some extent – even tries to automatically assign&#xA;&lt;a href=&#34;https://en.wikipedia.org/wiki/Dewey_Decimal_Classification&#34;&gt;Dewey Decimal Classification&lt;/a&gt; to a subset, it&amp;rsquo;s not always straight forward to find&#xA;resources that pertain to a specific field. That&amp;rsquo;s where 3rd party services can come&#xA;into play and try to cater to the needs of specific areas of research. To provide&#xA;such a service, however, a method of selecting a subject specific subset is required.&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
