{"found":629,"hits":[{"document":{"authors":[{"affiliation":[{"name":"Front Matter"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>The science blogging archive <a href=\"https://rogue-scholar.org\" rel=\"noreferrer\">Rogue Scholar</a> launched a new feature this week: author profile pages. This feature is similar to functionality common to blogging platforms, but integrates all blog posts by a given author that were archived in Rogue Scholar. </p><p>The functionality depends on an ORCID assigned to the blog post author (currently <a href=\"https://rogue-scholar.org/search?q=&amp;f=author_identifiers:orcid&amp;l=list&amp;p=1&amp;s=10&amp;sort=newest\" rel=\"noreferrer\">34%</a> of all Rogue Scholar posts), and uses information from the authors public profile page, including given and family names, affiliations with start dates, and the optional biography. Below this information you find some basic numbers similar to what Rogue Scholar blog communities show, and a searchable listing of all blog posts by that author.</p><figure class=\"kg-card kg-image-card\"><img src=\"https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/2026/06/Bildschirmfoto-2026-06-15-um-12.14.56-1.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1260\" srcset=\"https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/size/w600/2026/06/Bildschirmfoto-2026-06-15-um-12.14.56-1.png 600w, https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/size/w1000/2026/06/Bildschirmfoto-2026-06-15-um-12.14.56-1.png 1000w, https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/size/w1600/2026/06/Bildschirmfoto-2026-06-15-um-12.14.56-1.png 1600w, https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/2026/06/Bildschirmfoto-2026-06-15-um-12.14.56-1.png 2308w\" sizes=\"(min-width: 720px) 720px\"></figure><p>Given and family names are important because blog feeds (Atom, RSS or JSONFeed, used by Rogue Scholar to extract blog post metadata) only know full names, but some Rogue Scholar authors have <a href=\"https://doi.org/10.53731/r5fw0-tdd11\" rel=\"noreferrer\">more complex names</a>, including multiple given and/or family names.</p><p>The affiliation with start dates is important to assign an affiliation to a blog post author, as this depends on the public date and affiliations may change over time. My <a href=\"https://rogue-scholar.org/people/0000-0003-1419-2405\" rel=\"noreferrer\">Rogue Scholar profile</a> lists my four affiliations since starting blogging in 2007 and allows filtering of blog posts by affiliation. Multiple affiliations in parallel are currently not supported by Rogue Scholar, but luckily that is currently uncommon. This feature uses the ROR affiliation identifier, and this affiliation information is included in all blog posts archived in Rogue Scholar and registered with Crossref. ROR unfortunately doesn't assigned identifiers to single-person organizations such as Front Matter, I hope to address this in the future (either ROR relaxes its policy and/or I am able to hire more Front Matter staff).</p><p>The biography field in ORCID metadata is a nice way to have a brief publicly available summary that you can share, but this field is currently not widely used - maybe Rogue Scholar can change this for blog authors.</p><p>Author names and affiliations are functionalities that have been built-in into the Rogue Scholar backend for a while, but have now been made available to the new Rogue Scholar profiles as part of a larger ongoing refactoring effort. </p><p>Author metadata are the biggest metadata pain point when working with science blog posts in Rogue Scholar. My hope is that these new Rogue Scholar author profiles not only help increase the visibility of science blog authors, but also help with metadata quality, including more authors providing their ORCIDs. One continuing challenge is a mismatch of author names in the blog feed with what is published in the blog web page. The three main reasons are lack of support for multiple authors in RSS feeds and WordPress (without using plugins), and blogs using group authors as a proxy. While group authorship may sometimes makes sense, it is often blurring authorship, in particular when artificial intelligence increasingly is generating content instead of humans. </p><p>For these reasons Rogue Scholar is strongly encouraging individual authorship, and can help science blogs support that. In this context Rogue Scholar is also <a href=\"https://doi.org/10.53731/9t6xx-kht30\" rel=\"noreferrer\">supporting contributor roles</a> \u2013 which Crossref will support in its next metadata schema update \u2013 which might be helpful for multi-author content. In the future Rogue Scholar might stop supporting group authorship for the same reasons.</p><p>Author profile pages are of course not limited to science blogs, but make sense for many digital researcher platforms. For <a href=\"https://doi.org/10.53731/r79r7fh-97aq74v-ag4m5\" rel=\"noreferrer\">DataCite Commons</a> I helped implement similar functionality in 2020, and in 2011 (before ORCID was launched) I implemented <a href=\"https://doi.org/10.53731/r294649-6f79289-8cw62\" rel=\"noreferrer\">ScienceCard</a> as a author-focussed fork of the PLOS Article-Level Metrics service.</p><p>The Rogue Scholar author profile pages are a customization of the InvenioRDM repository platform and may also be of interest to other <a href=\"https://inveniosoftware.org/showcase/\" rel=\"noreferrer\">InvenioRDM instances</a>. Currently the profile pages use a semi-manual workflow with author metadata obtained from ORCID and stored in a yaml vocabulary, in the future this should be automated to better keep author information in sync, ideally with ORCID more consistently using ROR affiliation metadata in its profile pages.</p><h2 id=\"references\">References</h2><ol><li>Fenner, M. (2025, May 6). Personal names in science blogs. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/r5fw0-tdd11\">https://doi.org/10.53731/r5fw0-tdd11</a></li><li>Fenner, M. (2025, October 27). Supporting blog contributions beyond authorship. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/9t6xx-kht30\">https://doi.org/10.53731/9t6xx-kht30</a></li><li>Fenner, M. (2020, October 29). DataCite Commons at your service. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/r79r7fh-97aq74v-ag4m5\">https://doi.org/10.53731/r79r7fh-97aq74v-ag4m5</a></li><li>Fenner, M. (2011, November 20). ScienceCard named Finalist in Mendeley/PLoS API Binary Battle. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/r294649-6f79289-8cw62\">https://doi.org/10.53731/r294649-6f79289-8cw62</a></li></ol>","doi":"https://doi.org/10.53731/204cn-q6m42","guid":"https://doi.org/10.53731/204cn-q6m42","image":"https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/2026/06/Bildschirmfoto-2026-06-15-um-12.14.56.png","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1781481600,"reference":[{"id":"https://doi.org/10.53731/r5fw0-tdd11","unstructured":"Fenner, M. (2025, May 6). Personal names in science blogs. <i>Front Matter</i>."},{"id":"https://doi.org/10.53731/9t6xx-kht30","unstructured":"Fenner, M. (2025, October 27). Supporting blog contributions beyond authorship. <i>Front Matter</i>."},{"id":"https://doi.org/10.53731/r79r7fh-97aq74v-ag4m5","unstructured":"Fenner, M. (2020, October 29). DataCite Commons at your service. <i>Front Matter</i>."},{"id":"https://doi.org/10.53731/r294649-6f79289-8cw62","unstructured":"Fenner, M. (2011, November 20). ScienceCard named Finalist in Mendeley/PLoS API Binary Battle. <i>Front Matter</i>."}],"rid":"vf0af-gzy05","summary":"The science blogging archive Rogue Scholar launched a new feature this week: author profile pages. This feature is similar to functionality common to blogging platforms, but integrates all blog posts by a given author that were archived in Rogue Scholar.","tags":["Rogue Scholar"],"title":"Rogue Scholar launched author profiles this week","updated_at":1781522785,"url":"https://blog.front-matter.de/posts/rogue-scholar-launched-author-profiles-this-week/","version":"v1"}},{"document":{"authors":[{"affiliation":[{"id":"https://ror.org/00f2yqf98","name":"Hannover Medical School"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>The best and quickest discussions of a scientific paper now sometimes happen in science blogs rather than in the peer-reviewed literature. Whereas we have a number of scholarly databases that track citations between papers, we don't have the same tools for science blogs. Following all science blogs manually has simply become impossible (unless your first name is <a href=\"https://web.archive.org/web/20120525235200/http://coturnix.org/\">Bora</a>). This makes it difficult to find all blog posts about a particular paper  - either for <a href=\"https://doi.org/10.53731/r294649-6f79289-8cw59\">proper discussion</a> of an article or for doing automated <a href=\"https://doi.org/10.53731/r294649-6f79289-8cw36\">article-level metrics</a>.</p><h3 id=\"aggregation\">Aggregation</h3><p>Aggregation can help solve this problem. <a href=\"https://web.archive.org/web/20120525235200/http://www.researchblogging.org/\">ResearchBlogging</a> aggregates blog posts about peer-reviewed research. <a href=\"https://web.archive.org/web/20120525235200/http://scienceseeker.org/\">ScienceSeeker</a> aggregates all science blog posts (currently aggregating over 400 blogs) and was <a href=\"https://web.archive.org/web/20120525235200/http://scienceblogging.org/2011/01/15/introducing-scienceseeker/\">announced</a> in February. <a href=\"https://web.archive.org/web/20120525235200/http://blogs.nature.com/\">Nature Blogs</a> also aggregates science blogs but doesn't seem to be up-to-date.</p><h3 id=\"microformats\">Microformats</h3><p>Microformats are an alternative \u2013 but of course complimentary \u2013 strategy. Microformats are small snippets of HTML that represent commonly published things. A good example is <a href=\"https://web.archive.org/web/20120525235200/http://microformats.org/wiki/rel-license\">Rel-License</a>, a microformat indicating licensed content:</p><pre><code>&lt;a href=\"http://creativecommons.org/licenses/by/2.0/\" rel=\"license\"&gt;cc by 2.0&lt;/a&gt;</code></pre><p>In February Google <a href=\"https://web.archive.org/web/20120525235200/http://microformats.org/2011/02/24/google-launches-microformat-powered-recipe-search\">launched</a> a new Recipe view feature based on the <a href=\"https://web.archive.org/web/20120525235200/http://microformats.org/wiki/hrecipe\">hRecipe</a> microformat, demonstrating how microformats can help discover content. There is currently no <a href=\"https://web.archive.org/web/20120525235200/http://blogs.ch.cam.ac.uk/pmr/2011/03/14/scholarly-html-%E2%80%93-major-progress/\">standard microformat for scholarly citations</a>. The simplest format would again use the <strong>rel</strong> tag \u2013 together with the Citation Typing Ontology (<a href=\"https://web.archive.org/web/20120525235200/http://blogs.plos.org/mfenner/2011/02/14/how-to-use-citation-typing-ontology-cito-in-your-blog-posts/\">CiTO</a>):</p><pre><code>&lt;a href=\"http://dx.doi.org/10.1126/science.1197258\" rel=\"cito:discusses\"&gt;this paper&lt;/a&gt;</code></pre><p>There are <a href=\"https://doi.org/10.1186/2041-1480-1-S1-S6\">more than 20</a> CiTO tags for describing what we think about a particular paper or science blog post \u2013 many science bloggers would probably have used <em>cito:critiques</em> for the above paper. I suggest <em>cito:discusses</em> as the standard CiTO relationship for most papers and blog posts. You can add this tag manually, or use a tool such as the <a href=\"https://web.archive.org/web/20120525235200/http://wordpress.org/extend/plugins/link-to-link/\">Link to Link</a> WordPress plugin (I added <em>cito:discusses</em> to version 1.1.2).</p><h3 id=\"references\">References</h3><ol><li>Fenner M. Supplementary Information: should I stay or should I go? Published online August 27, 2010. doi:<a href=\"https://doi.org/10.53731/r294649-6f79289-8cw59\">10.53731/r294649-6f79289-8cw59</a></li><li>Fenner M. PLoS One: Interview with Peter Binfield. Published online August 15, 2009. doi:<a href=\"https://doi.org/10.53731/r294649-6f79289-8cw36\">10.53731/r294649-6f79289-8cw36</a></li><li>Shotton D. CiTO, the Citation Typing Ontology. <em>J Biomed Sem</em>. 2010;1(Suppl 1):S6. doi:<a href=\"https://doi.org/10.1186/2041-1480-1-S1-S6\">10.1186/2041-1480-1-S1-S6</a></li></ol>","doi":"https://doi.org/10.53731/r294649-6f79289-8cw70","guid":"https://doi.org/10.53731/r294649-6f79289-8cw70","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1300147200,"reference":[{"id":"https://doi.org/10.53731/r294649-6f79289-8cw59","unstructured":"Fenner M. Supplementary Information: should I stay or should I go? Published online August 27, 2010."},{"id":"https://doi.org/10.53731/r294649-6f79289-8cw36","unstructured":"Fenner M. PLoS One: Interview with Peter Binfield. Published online August 15, 2009."},{"id":"https://doi.org/10.1186/2041-1480-1-s1-s6","unstructured":"Shotton D. CiTO, the Citation Typing Ontology. J Biomed Sem. 2010;1(Suppl 1):S6. https://doi.org/10.1186/2041-1480-1-S1-S6"}],"rid":"qefwy-1q053","summary":"The best and quickest discussions of a scientific paper now sometimes happen in science blogs rather than in the peer-reviewed literature. Whereas we have a number of scholarly databases that track citations between papers, we don't have the same tools for science blogs.","tags":["Feature"],"title":"Discussing science with microformats","updated_at":1781426890,"url":"https://blog.front-matter.de/posts/discussing-science-with-microformats/","version":"v1"}},{"document":{"authors":[{"contributor_roles":[],"family":"Ooms","given":"Jeroen","url":"https://orcid.org/0000-0002-4035-0289"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>We refactored the R-universe CI workflows to make it possible to run the exact same workflow from your own GitHub repository. This allows you to test or debug the build and check process on your R package, exactly as it will happen on R-universe, but without actually deploying to <a href=\"https://r-universe.dev\">https://r-universe.dev</a>.</p><p>The instructions on <a href=\"https://github.com/r-universe-org/workflows\">r-universe-org/workflows</a> explain how it works: simply create a file <code>/.github/workflows/r-universe-test.yml</code> in your R package git repo with the following config:</p><div class=\"highlight\"><pre class=\"chroma\" tabindex=\"0\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">name</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"l\">Test R-universe</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">on</span><span class=\"p\">:</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\">  </span><span class=\"nt\">push</span><span class=\"p\">:</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\">  </span><span class=\"nt\">pull_request</span><span class=\"p\">:</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">jobs</span><span class=\"p\">:</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\">  </span><span class=\"nt\">build</span><span class=\"p\">:</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\">    </span><span class=\"nt\">name</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"l\">R-universe testing</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\">    </span><span class=\"nt\">uses</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"l\">r-universe-org/workflows/.github/workflows/build.yml@v3</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\">    </span><span class=\"nt\">with</span><span class=\"p\">:</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\">      </span><span class=\"nt\">universe</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"l\">${{ github.repository_owner }}</span><span class=\"w\"></span></span></span></code></pre></div><p>That is everything. The workflow will use the fully automated R-universe setup to build and check the package on a range of R versions on Linux, Windows, and MacOS configurations very similar to CRAN.</p><p>It is possible to use this workflow in your R package for pushes and/or pull requests alongside those from <a href=\"https://github.com/r-lib/actions\">r-lib/actions</a>. Both will check your R package, but note that the purpose is very different: workflows from <a href=\"https://github.com/r-lib/actions\">r-lib/actions</a> are highly configurable and can test R packages using countless options and environments. The R-universe workflow on the other hand is, just like CRAN, not customizable at all: it uses the exact setup and process as it happens on R-universe, nothing else.</p><p>The ability to test-run the build workflow has been recurring feature request, and I hope that it will indeed help package maintainers with debugging problems. I also hope the refactoring might make it a little bit easier to understand the R-universe build process, and enable the community to hack on the workflows and actions to contribute improvements.</p>","doi":"https://doi.org/10.53731/gvb08-7kc16","guid":"https://doi.org/","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1767398400,"rid":"ysr3r-7dq70","summary":"We refactored the R-universe CI workflows to make it possible to run the exact same workflow from your own GitHub repository. This allows you to test or debug the build and check process on your R package, exactly as it will happen on R-universe, but without actually deploying to https://r-universe.dev.","tags":["R-universe","Infrastructure"],"title":"Testing the R-universe build workflow from your own GitHub repository","updated_at":1780984847,"url":"https://ropensci.org/blog/2026/01/03/r-universe-workflows/","version":"v1"}},{"document":{"authors":[{"affiliation":[{"name":"Front Matter"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>Personal names remain among the hardest scholarly metadata to capture properly, including for science blog posts. This week, the <a href=\"https://rogue-scholar.org\" rel=\"noreferrer\">Rogue Scholar science blog archive</a> therefore changed how it stores blog post author names: no longer as <strong>name</strong>, which is the standard in RSS, Atom, and JSON Feeds, but as <strong>name</strong> only for an organizational author, and as <strong>given</strong> and <strong>family</strong> name for personal authors.</p><p>This follows the best practices established by ORCID, Crossref, and the Citation Style Language. DataCite and InvenioRDM (the repository platform powering Rogue Scholar and based on the DataCite metadata model) use an implementation that was good for transitioning from names to given and family names (keeping the name field for personal names), but created confusion \u2013 personal names should be stored as <strong>family name</strong>, <strong>given name </strong>(Doe, John) in the <strong>name</strong> field, but that is not trivial to enforce and led to many organizations still submitting DataCite metadata with <strong>given name family name</strong> (e.g. John Doe) as name. For this reason, Rogue Scholar is following the Crossref model and is dropping <strong>name</strong> for personal names, even if it is a breaking change.</p><p>Extracting the given and family name from a name can not be fully automated, as there are important edge cases: a) organization names that look like personal names (Alfred P. Sloan Foundation) and b) personal names with multiple family names (Bastian Greshake Tsovaras) vs. multiple given names (Martin Paul Eve) vs. names with propositions (Wilma van Weezenbeck). More background info and additional edge cases (e.g. given name without family name) can be found in a <a href=\"https://www.w3.org/International/questions/qa-personal-names.en\" rel=\"noreferrer\">2011 W3C document</a>.</p><p>To handle these special cases, Rogue Scholar has started a curated list of author names that fall into one of these categories and can correctly split names into given and family names, or not split the name as it is an organizational name. The transition of the more than 40K blog posts into the new format will take some time, but is only urgent for the edge cases mentioned above.</p><p>There are further issues with personal names and metadata for scholarly blogs, including handling multiple authors (which not all blogging platforms support), author identifiers (ORCID, etc.), and author affiliations (using identifiers such as ROR, etc., affiliation changes over time) \u2013 but that is material for another blog post.</p><h2 id=\"references\">References</h2><ol><li><em>Personal names around the world</em>. (n.d.). Retrieved May 6, 2025, from <a href=\"https://www.w3.org/International/questions/qa-personal-names.en\">https://www.w3.org/International/questions/qa-personal-names.en</a></li></ol>","doi":"https://doi.org/10.53731/r5fw0-tdd11","guid":"https://doi.org/10.53731/r5fw0-tdd11","image":"https://images.unsplash.com/photo-1550347305-3004e936f2c5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDEwfHxuYW1lfGVufDB8fHx8MTc0NjUyODQwMHww&ixlib=rb-4.1.0&q=80&w=2000","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1746489600,"reference":[{"id":"https://www.w3.org/International/questions/qa-personal-names.en","unstructured":"Personal names around the world. (n.d.). Retrieved May 6, 2025, from"}],"rid":"96yvv-pxj80","summary":"Personal names remain among the hardest scholarly metadata to capture properly, including for science blog posts. This week, the Rogue Scholar science blog archive therefore changed how it stores blog post author names: no longer as name, which is the standard in RSS, Atom, and JSON Feeds, but as name only for an organizational author, and as given and family name for personal authors.","tags":["Rogue Scholar"],"title":"Personal names in science blogs","updated_at":1780857149,"url":"https://blog.front-matter.de/posts/personal-names-in-science-blogs/","version":"v1"}},{"document":{"authors":[{"affiliation":[{"name":"Front Matter"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p><a href=\"https://rogue-scholar.org\" rel=\"noreferrer\">Rogue Scholar</a> archives the content of currently more than 150 science blogs with more than 40,000 blog posts. In this blog post, I want to clarify the guidelines that Rogue Scholar tries to follow regarding authorship.</p><p>Rogue Scholar blog posts are scholarly content and thus follow the same <a href=\"https://doi.org/10.1073/pnas.1715374115\" rel=\"noreferrer\">basic guidelines</a> as other scholarly outputs, such as journal articles, preprints, or book chapters.</p><h3 id=\"authorship\">Authorship</h3><p>All authors are expected to have made substantial contributions to the submitted work and to be accountable for the work both before and after publication.&nbsp;Those who&nbsp;contributed to the work but do not meet the criteria for authorship can be mentioned in the Acknowledgments.&nbsp;</p><h3 id=\"artificial-intelligence-ai\">Artificial Intelligence (AI)</h3><p>AI tools cannot meet the requirements for authorship, as <a href=\"https://doi.org/10.24318/cCVRZBms\" rel=\"noreferrer\">explained</a> by the Committee on Publication Ethics (COPE):</p><blockquote>AI tools cannot meet the requirements for authorship as they cannot take responsibility for the submitted work. As non-legal entities, they cannot assert the presence or absence of conflicts of interest nor manage copyright and license agreements.</blockquote><p>And COPE recommends that:</p><blockquote>Authors who use AI tools in the writing of a manuscript, production of images or graphical elements of the paper, or in the collection and analysis of data, must be transparent in disclosing in the Materials and Methods (or similar section) of the paper how the AI tool was used and which tool was used.&nbsp;</blockquote><p>Rogue Scholar blogger Mark Dingemanse recently made a strong case for <a href=\"https://doi.org/10.59350/63b1y-1js90\" rel=\"noreferrer\">why synthetic text is incompatible with science blogging</a>.</p><h3 id=\"contributor-roles\">Contributor Roles</h3><p>For blog posts with multiple authors, Rogue Scholar plans to add support for the Contributor Role Taxonomy (<a href=\"https://credit.niso.org/\" rel=\"noreferrer\">CRediT</a>). And for blog posts handled by an editor or <a href=\"https://doi.org/10.54900/bymaz-4fw37\" rel=\"noreferrer\">undergoing peer review</a>, Rogue Scholar also wants to add those roles.</p><h3 id=\"possible-actions\">Possible Actions</h3><p>Rogue Scholar is an archive of science blog posts, the content is originally published elsewhere, and the decision for publication was taken by the blog authors. In rare cases, blog authors might retract a blog post or post a correction, and that information should also be communicated by Rogue Scholar and via the DOI metadata. When blog posts don't follow the above guidelines, e.g. when inappropriately using AI Tools, Rogue Scholar staff, after consultation with the Rogue Scholar Advisory Board, will decide on appropriate actions, including retraction.</p><h2 id=\"references\">References</h2><ol><li>McNutt, M. K., Bradford, M., Drazen, J. M., Hanson, B., Howard, B., Jamieson, K. H., Kiermer, V., Marcus, E., Pope, B. K., Schekman, R., Swaminathan, S., Stang, P. J., &amp; Verma, I. M. (2018). Transparency in authors' contributions and responsibilities to promote integrity in scientific publication. <em>Proceedings of the National Academy of Sciences</em>, <em>115</em>(11), 2557\u20132560. <a href=\"https://doi.org/10.1073/pnas.1715374115\">https://doi.org/10.1073/pnas.1715374115</a></li><li><em>Authorship and AI tools</em>. (2024). Committee on Publication Ethics. <a href=\"https://doi.org/10.24318/cCVRZBms\">https://doi.org/10.24318/cCVRZBms</a></li><li>Holcombe, A. O. (2019). Contributorship, Not Authorship: Use CRediT to Indicate Who Did What. <em>Publications</em>, <em>7</em>(3), 48. <a href=\"https://doi.org/10.3390/publications7030048\">https://doi.org/10.3390/publications7030048</a></li><li>Marcum, C. S. (2025, April 8). Peer-Review for a Blog Post? My Experience with MetaROR. <em>Front Matter</em>. <a href=\"https://doi.org/10.54900/bymaz-4fw37\">https://doi.org/10.54900/bymaz-4fw37</a></li><li>Dingemanse, M. (2025, May 2). Why synthetic text is incompatible with science blogging. <em>Front Matter</em>. <a href=\"https://doi.org/10.59350/63b1y-1js90\">https://doi.org/10.59350/63b1y-1js90</a></li></ol>","doi":"https://doi.org/10.53731/fnv8b-qfy78","guid":"https://doi.org/10.53731/fnv8b-qfy78","image":"https://images.unsplash.com/photo-1616711642010-f7822e169fb5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDMzfHxhdXRob3J8ZW58MHx8fHwxNzQ3MzI2Mzc5fDA&ixlib=rb-4.1.0&q=80&w=2000","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1747267200,"reference":[{"id":"https://doi.org/10.1073/pnas.1715374115","unstructured":"McNutt, M. K., Bradford, M., Drazen, J. M., Hanson, B., Howard, B., Jamieson, K. H., Kiermer, V., Marcus, E., Pope, B. K., Schekman, R., Swaminathan, S., Stang, P. J., &amp; Verma, I. M. (2018). Transparency in authors' contributions and responsibilities to promote integrity in scientific publication. <i>Proceedings of the National Academy of Sciences</i>, <i>115</i>(11), 2557\u20132560."},{"id":"https://doi.org/10.24318/ccvrzbms","unstructured":"Authorship and AI tools. (2024). Committee on Publication Ethics. https://doi.org/10.24318/cCVRZBms"},{"id":"https://doi.org/10.3390/publications7030048","unstructured":"Holcombe, A. O. (2019). Contributorship, Not Authorship: Use CRediT to Indicate Who Did What. <i>Publications</i>, <i>7</i>(3), 48."},{"id":"https://doi.org/10.54900/bymaz-4fw37","unstructured":"Marcum, C. S. (2025, April 8). Peer-Review for a Blog Post? My Experience with MetaROR. <i>Upstream</i>."},{"id":"https://doi.org/10.59350/63b1y-1js90","unstructured":"Dingemanse, M. (2025, May 2). Why synthetic text is incompatible with science blogging. <i>The Ideophone</i>."}],"rid":"xbp4z-0kd31","summary":"Rogue Scholar archives the content of currently more than 150 science blogs with more than 40,000 blog posts. In this blog post, I want to clarify the guidelines that Rogue Scholar tries to follow regarding authorship. Rogue Scholar blog posts are scholarly content and thus follow the same basic guidelines as other scholarly outputs, such as journal articles, preprints, or book chapters.","title":"Rogue Scholar Authorship Guidelines","updated_at":1780857147,"url":"https://blog.front-matter.de/posts/rogue-scholar-authorship-guidelines/","version":"v1"}},{"document":{"authors":[{"affiliation":[{"name":"Front Matter"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>Last week I released updated <a href=\"https://doi.org/10.5281/ZENODO.15465786\" rel=\"noreferrer\">Python</a>, and <a href=\"https://doi.org/10.5281/ZENODO.15461402\" rel=\"noreferrer\">Go</a> versions of the <a href=\"https://docs.commonmeta.org/\" rel=\"noreferrer\">commonmeta</a> library that can now read metadata from <a href=\"https://openalex.org/\" rel=\"noreferrer\">OpenAlex</a>. OpenAlex is an open index of over 250 million scholarly works from 250k sources. OpenAlex uses its own identifier for works, people, organizations, sources, and concepts, but also understands common identifiers for works (e.g. DOI or PMID), people (e.g. ORCID), or organizations, including funders (e.g. ROR). Commonmeta can now fetch metadata from the OpenAlex API and convert them into the commonmeta or any other supported format. </p><p>An example command-line call would look like this:</p><pre><code class=\"language-`\n\">commonmeta convert https://pubmed.ncbi.nlm.nih.gov/17160063 --from openalex</code></pre><p>Or you could fetch a random sample of 100 preprints:</p><pre><code class=\"language-`\n\">commonmeta list --sample --type preprint -n 100 --from openalex</code></pre><p>OpenAlex is an impressive service for the scholarly community, launched three years ago when the Microsoft Academic Graph database stopped being updated. I particularly like the following features:</p><ul><li>coverage of a large number of text publications, including content registered via Crossref and DataCite,</li><li>links to legal copies of full-text versions of publications,</li><li>enrichment of metadata with persistent identifiers, e.g. affiliation information,</li><li>rich automated subject area classification into <a href=\"https://docs.openalex.org/api-entities/topics\" rel=\"noreferrer\">4500 topics</a>.</li></ul><p>When working on integrating OpenAlex into commonmeta, I noticed some areas where the service (still only three years old) could be improved upon:</p><ul><li>personal names are not treated as a combination of given and family names. This can cause problems in cases of unusual names and formatted citations, which typically split personal names into given and family names, </li><li>Metadata enrichment should not be done with personal names, as this is very difficult and may have privacy implications. My OpenAlex <a href=\"https://openalex.org/authors/a5069389160\" rel=\"noreferrer\">profile</a> \u2013 which covers publications over 30 years in different research areas (mainly basic and clinical cancer research and scholarly infrastructure) \u2013 contains most of my publications but also publications not written by me, including several papers published before I finished high school in 1983,</li><li>license information uses a simple schema that aligns with Creative Commons licenses, but for example doesn't consider different versions (e.g. <a href=\"https://creativecommons.org/licenses/by/3.0/deed.en\" rel=\"noreferrer\">CC-BY 3.0</a> vs. <a href=\"https://creativecommons.org/licenses/by/4.0/deed.en\" rel=\"noreferrer\">CC-BY 4.0</a>). Commonmeta supports the <a href=\"https://spdx.org/licenses/\" rel=\"noreferrer\">SPDX license list</a> that includes all Creative Commons license versions but also many software licenses.</li></ul><p>The initial OpenAlex support in commonmeta is the result of a wonderful pull request for the Python version. I mainly added test coverage and added the same functionality to the Go version. Please provide feedback via <a href=\"mailto:info@front-matter.io\" rel=\"noreferrer\">email</a>, <a href=\"https://join.slack.com/t/rogue-scholar/shared_invite/zt-2ylpq1yoy-o~TkxDarfz5LSMhGSCYtiA\" rel=\"noreferrer\">Slack</a>, or <a href=\"https://github.com/front-matter\" rel=\"noreferrer\">GitHub</a> if you discover bugs or missing functionality of the OpenAlex support in commonmeta.</p><h2 id=\"references\">References</h2><ol><li>Fenner, M. (2025). <em>Commonmeta-py</em> (Version 0.107) [Computer software]. Zenodo. <a href=\"https://doi.org/10.5281/ZENODO.15465786\">https://doi.org/10.5281/ZENODO.15465786</a></li><li>Martin Fenner. (2025). <em>front-matter/commonmeta: V0.25.0</em> (Version v0.25.0) [Computer software]. Zenodo. <a href=\"https://doi.org/10.5281/ZENODO.15461402\">https://doi.org/10.5281/ZENODO.15461402</a></li></ol>","doi":"https://doi.org/10.53731/sq5vs-mvv29","guid":"https://doi.org/10.53731/sq5vs-mvv29","image":"https://images.unsplash.com/photo-1521920592574-49e0b121c964?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDQ3fHxsaWJyYXJ5fGVufDB8fHx8MTc0NzY2OTcxOXww&ixlib=rb-4.1.0&q=80&w=2000","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1747612800,"reference":[{"id":"https://doi.org/10.5281/zenodo.15465786","unstructured":"Fenner, M. (2025). <i>commonmeta-py</i> (0.107) [Computer software]. Zenodo."},{"id":"https://doi.org/10.5281/zenodo.15461402","unstructured":"Martin Fenner. (2025). <i>front-matter/commonmeta: v0.25.0</i> (v0.25.0) [Computer software]. Zenodo."}],"rid":"fzgg6-ata09","summary":"Last week I released updated Python, and Go versions of the commonmeta library that can now read metadata from OpenAlex. OpenAlex is an open index of over 250 million scholarly works from 250k sources.","tags":["Open Infrastructure","Metadata"],"title":"Commonmeta understands OpenAlex","updated_at":1780857145,"url":"https://blog.front-matter.de/posts/commonmeta-understands-openalex/","version":"v1"}},{"document":{"authors":[{"affiliation":[{"name":"Front Matter"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>Today I released a new version of the <a href=\"https://doi.org/10.5281/ZENODO.15524711\" rel=\"noreferrer\">commonmeta-py</a> Python library with major improvements in Crossref DOI registration, including refactoring to use the Python marshmallow library, XML schema validation, and API calls to Crossref and InvenioRDM instances via the commonmeta-py command-line interface.</p><h3 id=\"using-the-marshmallow-library\">Using the marshmallow library</h3><p><a href=\"https://github.com/marshmallow-code/marshmallow\" rel=\"noreferrer\">Marshmallow</a> is a popular Python library for converting complex objects to and from simple Python datatypes. The <a href=\"https://inveniordm.docs.cern.ch/\" rel=\"noreferrer\">InvenioRDM</a> repository software heavily uses marshmallow to convert metadata from and to JSON. Marshmallow is not specific to JSON, and writing Crossref metadata in XML requires an additional serialization step. commonmeta-py uses <a href=\"https://github.com/martinblech/xmltodict\" rel=\"noreferrer\">xmltodict</a> to convert XML to Python data structures, and now also uses xmltodict for writing XML. This replaces <a href=\"https://github.com/lxml/lxml\" rel=\"noreferrer\">lxml</a> and the ElementTree API for XML writing. This worked well but didn't integrate with the rest of commonmeta-py, as the Crossref XML writer is the only place where commonmeta-py currently writes XML. More importantly, this change will make integrating commonmeta-py into InvenioRDM easier for Crossref DOI registration.</p><h3 id=\"xml-schema-validation\">XML schema validation</h3><p>Crossref metadata are fairly complex and have different requirements depending on content type, e.g. International Standard Serial Numbers (ISSN) are only supported for some content types, or the order of metadata elements might be different. For this reason, XML schema validation before submission is critical, and commonmeta-py now supports this, using the <a href=\"https://doi.org/10.13003/325070\" rel=\"noreferrer\">recently released schema 5.4.0</a>. A large part of the work for this update was generating and validating XML for the various Crossref content types. I could not cover all use cases, so feedback is appreciated, e.g., by sending me DOIs registered with Crossref but not validating in commonmeta-py.</p><p>Commonmeta (both the Python and Go versions) relies heavily on JSON schema validation, which I greatly prefer over XML Schema Definition (XSD) validation. But until Crossref allows content registration via JSON metadata (similarly to the change DataCite made a few years ago), XML schema validation remains important. The commonmeta Go library does not yet use XML schema validation.</p><h3 id=\"api-calls-via-the-cli\">API calls via the CLI</h3><p>The <a href=\"https://rogue-scholar.org\" rel=\"noreferrer\">Rogue Scholar</a> science blogging archive switched to the InvenioRDM repository platform in October 2024 and uses the commonmeta Go library and GitHub Actions for Crossref DOI registration. GitHub Actions are wonderful, but for more complex workflows it is easier to have the logic built into the application running in the GitHub Action. Since May 2024 that was the commonmeta Go library, and commonmeta-py now has similar functionality, including calling the Crossref and InvenioRDM APIs directly.</p><p>Starting today, the GitHub Actions for Rogue Scholar DOI registrations and updates use commonmeta-py instead of the commonmeta Go library. The next two weeks I will carefully monitor them for any issues that might have escaped testing.</p><p>The next major milestone is integrating Crossref DOI registration directly into InvenioRDM. This will not only simplify the workflows for Rogue Scholar, but makes InvenioRDM a more interesting option for repositories with original textual content, e.g. preprints, reports or dissertations.</p><h2 id=\"references\">References</h2><ol><li>Fenner, M. (2025). <em>Commonmeta-py</em> (Version 0.113) [Computer software]. Zenodo. <a href=\"https://doi.org/10.5281/ZENODO.15524711\">https://doi.org/10.5281/ZENODO.15524711</a></li><li>Feeney, P. (2025, March 19). Version 5.4.0 metadata schema update now available. <em>Crossref Blog</em>. <a href=\"https://doi.org/10.13003/325070\">https://doi.org/10.13003/325070</a></li></ol>","doi":"https://doi.org/10.53731/69k7z-w7030","guid":"https://doi.org/10.53731/69k7z-w7030","image":"https://images.unsplash.com/photo-1615746360032-1ecf87f250fb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDM0fHx1cGRhdGV8ZW58MHx8fHwxNzQ4MzMwNTQ2fDA&ixlib=rb-4.1.0&q=80&w=2000","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1748304000,"reference":[{"id":"https://doi.org/10.5281/zenodo.15524711","unstructured":"Fenner, M. (2025). <i>commonmeta-py</i> (0.113) [Computer software]. Zenodo."},{"id":"https://doi.org/10.13003/325070","unstructured":"Feeney, P. (2025). Version 5.4.0 metadata schema update now available. In <i>Crossref Blog</i> (Version v1). Crossref."}],"rid":"9ehta-24f79","summary":"Today I released a new version of the commonmeta-py Python library with major improvements in Crossref DOI registration, including refactoring to use the Python marshmallow library, XML schema validation, and API calls to Crossref and InvenioRDM instances via the commonmeta-py command-line interface. Using the marshmallow library Marshmallow is a popular Python library for converting complex objects to and from simple Python datatypes.","tags":["Metadata","Rogue Scholar"],"title":"Major update on Commonmeta Crossref DOI registration","updated_at":1780857144,"url":"https://blog.front-matter.de/posts/major-update-on-commonmeta-crossref-doi-registration/","version":"v1"}},{"document":{"authors":[{"affiliation":[{"name":"Front Matter"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>This is the May issue of the monthly newsletter from the Rogue Scholar&nbsp;<a href=\"https://rogue-scholar.org/\" rel=\"noreferrer\">science blog archive</a>. The newsletter reports on new blogs that have joined the platform, important technical updates in Rogue Scholar infrastructure, community updates, and other news relevant to Rogue Scholar users.</p><h2 id=\"blogs-added-to-rogue-scholar\">Blogs added to Rogue Scholar</h2><p>No new blogs were added in May, but the processing of two blog submissions is being worked on.</p><h2 id=\"technical-updates\">Technical Updates</h2><p>On May 6, the Rogue Scholar registration workflow <a href=\"https://doi.org/10.53731/r5fw0-tdd11\" rel=\"noreferrer\">received a major update</a> in how personal names are handled to better accommodate edge cases such as multiple family names.</p><p>Starting on May 15, new DOI registrations for all WordPress blogs use a new scheme for the DOI suffix, using the Rogue Scholar <em>blog identifier</em> and WordPress <em>post_id</em>, e.g. <a href=\"https://doi.org/10.59350/rzepa.28773\">https://doi.org/10.59350/rzepa.28773</a> for the latest post on Henry Rzepa's Blog. This allows WordPress blog authors to know the DOI for their blog posts before publication.</p><p>On May 27, Rogue Scholar <a href=\"https://doi.org/10.53731/69k7z-w7030\" rel=\"noreferrer\">switched the DOI registration workflow</a> to the <a href=\"https://doi.org/10.5281/ZENODO.15524711\" rel=\"noreferrer\">commonmeta-py</a> Python library. This was an important step towards integrating Crossref DOI registration directly into the <a href=\"https://inveniordm.docs.cern.ch/\" rel=\"noreferrer\">InvenioRDM</a> repository platform. Since that switch, several smaller issues have been fixed, and in June, the work on Crossref DOI registration in InvenioRDM can begin.</p><h3 id=\"community-update\">Community Update</h3><p>On May 15, I published the <a href=\"https://doi.org/10.53731/fnv8b-qfy78\" rel=\"noreferrer\">Rogue Scholar authorship guidelines</a> to clarify the rights and responsibilities of Rogue Scholar blog post authors, following the same&nbsp;<a href=\"https://doi.org/10.1073/pnas.1715374115\" rel=\"noreferrer\">basic guidelines</a>&nbsp;that apply to other scholarly outputs. One particular focus was on the limitations and transparency in reporting when using the help of Artificial Intelligence in writing scholarly blog posts.</p><p>Please use <a href=\"https://join.slack.com/t/rogue-scholar/shared_invite/zt-2ylpq1yoy-o~TkxDarfz5LSMhGSCYtiA\" rel=\"noreferrer\">Slack</a>, <a href=\"mailto:info@rogue-scholar.org\" rel=\"noreferrer\">email</a>, <a href=\"https://wisskomm.social/@rogue_scholar\" rel=\"noreferrer\">Mastodon</a>, or&nbsp;<a href=\"https://bsky.app/profile/rogue-scholar.bsky.social\" rel=\"noreferrer\">Bluesky</a> if you have any questions or comments regarding this monthly newsletter.</p><div class=\"kg-card kg-callout-card kg-callout-card-blue\"><div class=\"kg-callout-text\">Rogue Scholar is a scholarly infrastructure that is free for all authors and readers. You can support Rogue Scholar with a one-time or recurring&nbsp;<a href=\"https://ko-fi.com/rogue_scholar\" rel=\"noreferrer\">donation</a> or by becoming a sponsor.</div></div><h2 id=\"references\">References</h2><ol><li>Fenner, M. (2025, May 6). Personal names in science blogs. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/r5fw0-tdd11\">https://doi.org/10.53731/r5fw0-tdd11</a></li><li>Fenner, M. (2025, May 27). Major update on Commonmeta Crossref DOI registration. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/69k7z-w7030\">https://doi.org/10.53731/69k7z-w7030</a></li><li>Fenner, M. (2025). <em>Commonmeta-py</em> (Version 0.113) [Computer software]. Zenodo. <a href=\"https://doi.org/10.5281/ZENODO.15524711\">https://doi.org/10.5281/ZENODO.15524711</a></li><li>Fenner, M. (2025, May 15). Rogue Scholar Authorship Guidelines. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/fnv8b-qfy78\">https://doi.org/10.53731/fnv8b-qfy78</a></li><li>McNutt, M. K., Bradford, M., Drazen, J. M., Hanson, B., Howard, B., Jamieson, K. H., Kiermer, V., Marcus, E., Pope, B. K., Schekman, R., Swaminathan, S., Stang, P. J., &amp; Verma, I. M. (2018). Transparency in authors' contributions and responsibilities to promote integrity in scientific publication. <em>Proceedings of the National Academy of Sciences</em>, <em>115</em>(11), 2557\u20132560. <a href=\"https://doi.org/10.1073/pnas.1715374115\">https://doi.org/10.1073/pnas.1715374115</a></li></ol>","doi":"https://doi.org/10.53731/xxm2e-9f976","guid":"https://doi.org/10.53731/xxm2e-9f976","image":"https://images.unsplash.com/photo-1566146991569-696da38bb775?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDN8fG1lYWRvd3xlbnwwfHx8fDE3NDg4NjQ1NjV8MA&ixlib=rb-4.1.0&q=80&w=2000","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1748822400,"reference":[{"id":"https://doi.org/10.53731/r5fw0-tdd11","unstructured":"Fenner, M. (2025, May 6). Personal names in science blogs. <i>Front Matter</i>."},{"id":"https://doi.org/10.53731/69k7z-w7030","unstructured":"Fenner, M. (2025, May 27). Major update on Commonmeta Crossref DOI registration. <i>Front Matter</i>."},{"id":"https://doi.org/10.5281/zenodo.15524711","unstructured":"Fenner, M. (2025). <i>commonmeta-py</i> (0.113) [Computer software]. Zenodo."},{"id":"https://doi.org/10.53731/fnv8b-qfy78","unstructured":"Fenner, M. (2025, May 15). Rogue Scholar Authorship Guidelines. <i>Front Matter</i>."},{"id":"https://doi.org/10.1073/pnas.1715374115","unstructured":"McNutt, M. K., Bradford, M., Drazen, J. M., Hanson, B., Howard, B., Jamieson, K. H., Kiermer, V., Marcus, E., Pope, B. K., Schekman, R., Swaminathan, S., Stang, P. J., &amp; Verma, I. M. (2018). Transparency in authors' contributions and responsibilities to promote integrity in scientific publication. <i>Proceedings of the National Academy of Sciences</i>, <i>115</i>(11), 2557\u20132560."}],"rid":"0p2tz-5t391","summary":"This is the May issue of the monthly newsletter from the Rogue Scholar\u00a0science blog archive. The newsletter reports on new blogs that have joined the platform, important technical updates in Rogue Scholar infrastructure, community updates, and other news relevant to Rogue Scholar users.","tags":["Rogue Scholar"],"title":"Rogue Scholar Newsletter May 2025","updated_at":1780857142,"url":"https://blog.front-matter.de/posts/rogue-scholar-newsletter-may-2025/","version":"v1"}},{"document":{"authors":[{"affiliation":[{"name":"Front Matter"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>This week the <a href=\"https://rogue-scholar.org\" rel=\"noreferrer\">Rogue Scholar science blog archive</a> experienced major upgrade pains, and Rogue Scholar search became unavailable from Tuesday until Thursday. I tried to upgrade to a pre-release version (<a href=\"https://pypi.org/project/invenio-app-rdm/13.0.0b4.dev0/\" rel=\"noreferrer\">13.0.0b4.dev0</a>) of the InvenioRDM repository software, and ran into multiple issues. Going back to the previously installed v12.1.0 took longer than anticipated, mainly because of issues with the Opensearch index.</p><p>This morning Rogue Scholar is almost working normally again, except for the blog communities, which will take until Monday to be fixed.</p><p>The primary reason for upgrading the InvenioRDM software was so that I could integrate Crossref DOI registration, based on work I <a href=\"https://doi.org/10.53731/69k7z-w7030\" rel=\"noreferrer\">completed last week</a>. The experience with installing a pre-release version of InvenioRDM told me a few things:</p><ul><li>install InvenioRDM to production only after extensive testing (as I did last September/October),</li><li>service stability is more important than new features, and I am adjusting my deployment strategy and tooling,</li><li><a href=\"https://grafana.com/products/cloud/\" rel=\"noreferrer\">observability</a> is critical when running infrastructure, and this can be improved for Rogue Scholar.</li></ul><h3 id=\"postpone-upgrading-to-inveniordm-v130\">Postpone upgrading to InvenioRDM v13.0</h3><p>Integrating Crossref DOI registration into InvenioRDM requires a current development version of InvenioRDM, which is currently v13.x, ahead of the last <a href=\"https://pypi.org/project/invenio-app-rdm/12.1.0/\" rel=\"noreferrer\">released version v12.1</a>. As InvenioRDM v13.0 will be released in a few weeks, I will wait with that work until v13.0 is released and Rogue Scholar is updated to that version. There is additional DOI registration work needed, as Rogue Scholar not only registers DOIs with Crossref, but uses multiple DOI prefixes (not yet supported in InvenioRDM) and also accepts blog posts with DOIs registered externally with DataCite.</p><h3 id=\"upgrade-rogue-scholar-infrastructure\">Upgrade Rogue Scholar Infrastructure</h3><p>After growing to more than 40,000 blog posts in recent months, the Rogue Scholar infrastructure, particularly the Opensearch search index, needs a hardware upgrade. I will take this opportunity to also change my deployment strategy and tooling, and will start to use <a href=\"https://kamal-deploy.org/\" rel=\"noreferrer\">Kamal</a> to deploy the InvenioRDM software to a dedicated server (provided by <a href=\"https://www.hetzner.com/\" rel=\"noreferrer\">Hetzner</a>).</p><h3 id=\"improve-observability\">Improve Observability</h3><p>Rogue Scholar uses metrics and logging provided by <a href=\"https://grafana.com/\" rel=\"noreferrer\">Prometheus/Grafana</a> and error reporting provided by <a href=\"https://sentry.io\" rel=\"noreferrer\">Sentry</a>. More work is needed to improve this observability to better handle incidents such as this week's upgrade issues.</p><h2 id=\"references\">References</h2><p>Fenner, M. (2025, May 27). Major update on Commonmeta Crossref DOI registration. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/69k7z-w7030\">https://doi.org/10.53731/69k7z-w7030</a></p>","doi":"https://doi.org/10.53731/9nam9-w9k29","guid":"https://doi.org/10.53731/9nam9-w9k29","image":"https://images.unsplash.com/photo-1695345132969-172357b69b87?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHN0b255JTIwcGF0aHxlbnwwfHx8fDE3NDkyMDMwNDV8MA&ixlib=rb-4.1.0&q=80&w=2000","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1749168000,"reference":[{"id":"https://doi.org/10.53731/69k7z-w7030","unstructured":"Fenner, M. (2025, May 27). Major update on Commonmeta Crossref DOI registration. <i>Front Matter</i>."}],"rid":"at4y3-vg902","summary":"This week the Rogue Scholar science blog archive experienced major upgrade pains, and Rogue Scholar search became unavailable from Tuesday until Thursday. I tried to upgrade to a pre-release version (13.0.0b4.dev0) of the InvenioRDM repository software, and ran into multiple issues. Going back to the previously installed v12.1.0 took longer than anticipated, mainly because of issues with the Opensearch index.","tags":["Rogue Scholar"],"title":"Rogue Scholar upgrade pains","updated_at":1780857141,"url":"https://blog.front-matter.de/posts/rogue-scholar-upgrade-pains/","version":"v1"}},{"document":{"authors":[{"affiliation":[{"name":"Front Matter"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>InvenioRDM is the open source turn-key research data management platform, with detailed documentation available <a href=\"https://inveniordm.docs.cern.ch\" rel=\"noreferrer\">here</a>. <a href=\"https://starter.front-matter.io\" rel=\"noreferrer\">InvenioRDM Starter</a> facilitates deployment and configuration of InvenioRDM, allowing you to run InvenioRDM on your local computer within 15 min. This is achieved by providing a) a prebuilt Invenio-App-RDM Docker image, and b) a Docker Compose configuration file with sensible defaults. </p><p>Starting this week, InvenioRDM starter can also be used to deploy InvenioRDM to production, using the <a href=\"https://kamal-deploy.org/\" rel=\"noreferrer\">Kamal</a> tool. Kamal is similar to Docker Compose, but adds important functionality, including automatic remote builds, zero-downtime deployments, and deployments to multiple servers. Kamal is a command-line utility with a YAML configuration file, and much simpler to use than Kubernetes or commercial Docker container orchestration services such as Amazon Elastic Container Service (Amazon ECS). </p><p>Kamal can deploy InvenioRDM to your hardware or to a virtual machine provided by your organization or a cloud provider. Whereas Kubernetes is a good option for large InvenioRDM installations, smaller InvenioRDM instances benefit from simpler deployment tools both in terms of cost and required maintenance.</p><p>The science blog archive <a href=\"https://rogue-scholar.org\" rel=\"noreferrer\">Rogue Scholar</a> managed by Front Matter is a good example of an InvenioRDM repository that can benefit from simpler deployment options. As the next major release of InvenioRDM (v13.0) will happen in the next few weeks, Rogue Scholar needs to prepare for the upgrade, and I have this week launched a Rogue Scholar staging instance at <a href=\"https://staging.rogue-scholar.org\" rel=\"noreferrer\">https://staging.rogue-scholar.org</a> using Kamal and a virtual machine provisioned by <a href=\"https://www.hetzner.com/\" rel=\"noreferrer\">Hetzner</a> and located in Germany.</p><p>The setup was mostly straightforward, except for the integration with the Kamal proxy server, which turned out to be very painful. In the end I had to set the InvenioRDM<code>APP_ALLOWED_HOSTS</code> ENV variable to <code>None</code> and patch the REST API cross site request forgery (CRSF) check to not check the request host. This needs more discussion but appears safe, as all requests must go through the Kamal proxy, where the host header is already checked.</p><p>More work is needed on the staging server, including regular automatic backups of the database, and setting up monitoring (logs and metrics). The instance is running the latest stable release (v12.1.0), but I will soon be able to install the latest v13 release candidate \u2013 <a href=\"https://pypi.org/project/invenio-app-rdm/13.0.0rc2/\" rel=\"noreferrer\">v13.0.0rc2</a> was released three days ago.</p><p>Kamal was <a href=\"https://world.hey.com/dhh/introducing-kamal-9330a267\" rel=\"noreferrer\">released in 2023</a> by 37signals, the company behind the Basecamp and Hey services, and one of the major contributors to the Rails platform. Kamal is installed as a Ruby gem, but is not specific to Rails or Ruby. Kamal can be seen as the successor to the <a href=\"https://capistranorb.com/\" rel=\"noreferrer\">Capistrano</a> deployment tool, also originally written by 37signals, but Kamal is working with Docker containers. When I <a href=\"https://doi.org/10.53731/r294649-6f79289-8cvzn\" rel=\"noreferrer\">was the technical lead of the Article Level Metrics project</a> at the publisher PLOS 2012-2015 (at the time Docker was not yet adopted for production deployments), I made heavy use of Capistrano.</p><p><a href=\"https://starter.front-matter.io\" rel=\"noreferrer\">InvenioRDM Starter</a> now includes a Kamal configuration option, and I deployed an InvenioRDM instance to <a href=\"https://demo.front-matter.io\" rel=\"noreferrer\">https://demo.front-matter.io</a> using Kamal. </p><figure class=\"kg-card kg-image-card\"><img src=\"https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/2025/06/Bildschirmfoto-2025-06-27-um-17.49.37.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1134\" srcset=\"https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/size/w600/2025/06/Bildschirmfoto-2025-06-27-um-17.49.37.png 600w, https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/size/w1000/2025/06/Bildschirmfoto-2025-06-27-um-17.49.37.png 1000w, https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/size/w1600/2025/06/Bildschirmfoto-2025-06-27-um-17.49.37.png 1600w, https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/size/w2400/2025/06/Bildschirmfoto-2025-06-27-um-17.49.37.png 2400w\" sizes=\"(min-width: 720px) 720px\"></figure><p>Feel free to play around, but only admin accounts can create records \u2013 use the official InvenioRDM <a href=\"http://inveniordm.web.cern.ch/\" rel=\"noreferrer\">demo</a> instance (also linked in the footer) if you want to create and/or update records. I will spend the next few weeks refining the Kamal setup and documentation, so that InvenioRDM Starter is ready for Kamal deployments when InvenioRDM v13.0 is officially released.</p><h2 id=\"references\">References</h2><ol><li>Fenner, M. (2024, June 17). Announcing InvenioRDM Starter Beta. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/jxecm-0me48\">https://doi.org/10.53731/jxecm-0me48</a></li><li>Fenner, M. (2015, July 29). Thank you PLOS. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/r294649-6f79289-8cvzn\">https://doi.org/10.53731/r294649-6f79289-8cvzn</a></li></ol>","doi":"https://doi.org/10.53731/m7gng-jmm19","guid":"https://doi.org/10.53731/m7gng-jmm19","image":"https://images.unsplash.com/photo-1634638026221-4c1c4cf9f881?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDU1fHxzaGlwJTIwY29udGFpbmVyfGVufDB8fHx8MTc1MTAzNDgzN3ww&ixlib=rb-4.1.0&q=80&w=2000","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1750982400,"reference":[{"id":"https://doi.org/10.53731/jxecm-0me48","unstructured":"Fenner, M. (2024, June 17). Announcing InvenioRDM Starter Beta. <i>Front Matter</i>."},{"id":"https://doi.org/10.53731/r294649-6f79289-8cvzn","unstructured":"Fenner, M. (2015, July 29). Thank you PLOS. <i>Front Matter</i>."}],"rid":"a9awy-52h48","summary":"InvenioRDM is the open source turn-key research data management platform, with detailed documentation available here. InvenioRDM Starter facilitates deployment and configuration of InvenioRDM, allowing you to run InvenioRDM on your local computer within 15 min. This is achieved by providing a) a prebuilt Invenio-App-RDM Docker image, and b) a Docker Compose configuration file with sensible defaults.","tags":["Rogue Scholar","Open Infrastructure"],"title":"Kamal deploys InvenioRDM Starter to production","updated_at":1780857139,"url":"https://blog.front-matter.de/posts/kamal-deploys-inveniordm-starter-to-production/","version":"v1"}}],"items":[{"authors":[{"affiliation":[{"name":"Front Matter"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>The science blogging archive <a href=\"https://rogue-scholar.org\" rel=\"noreferrer\">Rogue Scholar</a> launched a new feature this week: author profile pages. This feature is similar to functionality common to blogging platforms, but integrates all blog posts by a given author that were archived in Rogue Scholar. </p><p>The functionality depends on an ORCID assigned to the blog post author (currently <a href=\"https://rogue-scholar.org/search?q=&amp;f=author_identifiers:orcid&amp;l=list&amp;p=1&amp;s=10&amp;sort=newest\" rel=\"noreferrer\">34%</a> of all Rogue Scholar posts), and uses information from the authors public profile page, including given and family names, affiliations with start dates, and the optional biography. Below this information you find some basic numbers similar to what Rogue Scholar blog communities show, and a searchable listing of all blog posts by that author.</p><figure class=\"kg-card kg-image-card\"><img src=\"https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/2026/06/Bildschirmfoto-2026-06-15-um-12.14.56-1.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1260\" srcset=\"https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/size/w600/2026/06/Bildschirmfoto-2026-06-15-um-12.14.56-1.png 600w, https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/size/w1000/2026/06/Bildschirmfoto-2026-06-15-um-12.14.56-1.png 1000w, https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/size/w1600/2026/06/Bildschirmfoto-2026-06-15-um-12.14.56-1.png 1600w, https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/2026/06/Bildschirmfoto-2026-06-15-um-12.14.56-1.png 2308w\" sizes=\"(min-width: 720px) 720px\"></figure><p>Given and family names are important because blog feeds (Atom, RSS or JSONFeed, used by Rogue Scholar to extract blog post metadata) only know full names, but some Rogue Scholar authors have <a href=\"https://doi.org/10.53731/r5fw0-tdd11\" rel=\"noreferrer\">more complex names</a>, including multiple given and/or family names.</p><p>The affiliation with start dates is important to assign an affiliation to a blog post author, as this depends on the public date and affiliations may change over time. My <a href=\"https://rogue-scholar.org/people/0000-0003-1419-2405\" rel=\"noreferrer\">Rogue Scholar profile</a> lists my four affiliations since starting blogging in 2007 and allows filtering of blog posts by affiliation. Multiple affiliations in parallel are currently not supported by Rogue Scholar, but luckily that is currently uncommon. This feature uses the ROR affiliation identifier, and this affiliation information is included in all blog posts archived in Rogue Scholar and registered with Crossref. ROR unfortunately doesn't assigned identifiers to single-person organizations such as Front Matter, I hope to address this in the future (either ROR relaxes its policy and/or I am able to hire more Front Matter staff).</p><p>The biography field in ORCID metadata is a nice way to have a brief publicly available summary that you can share, but this field is currently not widely used - maybe Rogue Scholar can change this for blog authors.</p><p>Author names and affiliations are functionalities that have been built-in into the Rogue Scholar backend for a while, but have now been made available to the new Rogue Scholar profiles as part of a larger ongoing refactoring effort. </p><p>Author metadata are the biggest metadata pain point when working with science blog posts in Rogue Scholar. My hope is that these new Rogue Scholar author profiles not only help increase the visibility of science blog authors, but also help with metadata quality, including more authors providing their ORCIDs. One continuing challenge is a mismatch of author names in the blog feed with what is published in the blog web page. The three main reasons are lack of support for multiple authors in RSS feeds and WordPress (without using plugins), and blogs using group authors as a proxy. While group authorship may sometimes makes sense, it is often blurring authorship, in particular when artificial intelligence increasingly is generating content instead of humans. </p><p>For these reasons Rogue Scholar is strongly encouraging individual authorship, and can help science blogs support that. In this context Rogue Scholar is also <a href=\"https://doi.org/10.53731/9t6xx-kht30\" rel=\"noreferrer\">supporting contributor roles</a> \u2013 which Crossref will support in its next metadata schema update \u2013 which might be helpful for multi-author content. In the future Rogue Scholar might stop supporting group authorship for the same reasons.</p><p>Author profile pages are of course not limited to science blogs, but make sense for many digital researcher platforms. For <a href=\"https://doi.org/10.53731/r79r7fh-97aq74v-ag4m5\" rel=\"noreferrer\">DataCite Commons</a> I helped implement similar functionality in 2020, and in 2011 (before ORCID was launched) I implemented <a href=\"https://doi.org/10.53731/r294649-6f79289-8cw62\" rel=\"noreferrer\">ScienceCard</a> as a author-focussed fork of the PLOS Article-Level Metrics service.</p><p>The Rogue Scholar author profile pages are a customization of the InvenioRDM repository platform and may also be of interest to other <a href=\"https://inveniosoftware.org/showcase/\" rel=\"noreferrer\">InvenioRDM instances</a>. Currently the profile pages use a semi-manual workflow with author metadata obtained from ORCID and stored in a yaml vocabulary, in the future this should be automated to better keep author information in sync, ideally with ORCID more consistently using ROR affiliation metadata in its profile pages.</p><h2 id=\"references\">References</h2><ol><li>Fenner, M. (2025, May 6). Personal names in science blogs. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/r5fw0-tdd11\">https://doi.org/10.53731/r5fw0-tdd11</a></li><li>Fenner, M. (2025, October 27). Supporting blog contributions beyond authorship. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/9t6xx-kht30\">https://doi.org/10.53731/9t6xx-kht30</a></li><li>Fenner, M. (2020, October 29). DataCite Commons at your service. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/r79r7fh-97aq74v-ag4m5\">https://doi.org/10.53731/r79r7fh-97aq74v-ag4m5</a></li><li>Fenner, M. (2011, November 20). ScienceCard named Finalist in Mendeley/PLoS API Binary Battle. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/r294649-6f79289-8cw62\">https://doi.org/10.53731/r294649-6f79289-8cw62</a></li></ol>","doi":"https://doi.org/10.53731/204cn-q6m42","guid":"https://doi.org/10.53731/204cn-q6m42","image":"https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/2026/06/Bildschirmfoto-2026-06-15-um-12.14.56.png","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1781481600,"reference":[{"id":"https://doi.org/10.53731/r5fw0-tdd11","unstructured":"Fenner, M. (2025, May 6). Personal names in science blogs. <i>Front Matter</i>."},{"id":"https://doi.org/10.53731/9t6xx-kht30","unstructured":"Fenner, M. (2025, October 27). Supporting blog contributions beyond authorship. <i>Front Matter</i>."},{"id":"https://doi.org/10.53731/r79r7fh-97aq74v-ag4m5","unstructured":"Fenner, M. (2020, October 29). DataCite Commons at your service. <i>Front Matter</i>."},{"id":"https://doi.org/10.53731/r294649-6f79289-8cw62","unstructured":"Fenner, M. (2011, November 20). ScienceCard named Finalist in Mendeley/PLoS API Binary Battle. <i>Front Matter</i>."}],"rid":"vf0af-gzy05","summary":"The science blogging archive Rogue Scholar launched a new feature this week: author profile pages. This feature is similar to functionality common to blogging platforms, but integrates all blog posts by a given author that were archived in Rogue Scholar.","tags":["Rogue Scholar"],"title":"Rogue Scholar launched author profiles this week","updated_at":1781522785,"url":"https://blog.front-matter.de/posts/rogue-scholar-launched-author-profiles-this-week/","version":"v1"},{"authors":[{"affiliation":[{"id":"https://ror.org/00f2yqf98","name":"Hannover Medical School"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>The best and quickest discussions of a scientific paper now sometimes happen in science blogs rather than in the peer-reviewed literature. Whereas we have a number of scholarly databases that track citations between papers, we don't have the same tools for science blogs. Following all science blogs manually has simply become impossible (unless your first name is <a href=\"https://web.archive.org/web/20120525235200/http://coturnix.org/\">Bora</a>). This makes it difficult to find all blog posts about a particular paper  - either for <a href=\"https://doi.org/10.53731/r294649-6f79289-8cw59\">proper discussion</a> of an article or for doing automated <a href=\"https://doi.org/10.53731/r294649-6f79289-8cw36\">article-level metrics</a>.</p><h3 id=\"aggregation\">Aggregation</h3><p>Aggregation can help solve this problem. <a href=\"https://web.archive.org/web/20120525235200/http://www.researchblogging.org/\">ResearchBlogging</a> aggregates blog posts about peer-reviewed research. <a href=\"https://web.archive.org/web/20120525235200/http://scienceseeker.org/\">ScienceSeeker</a> aggregates all science blog posts (currently aggregating over 400 blogs) and was <a href=\"https://web.archive.org/web/20120525235200/http://scienceblogging.org/2011/01/15/introducing-scienceseeker/\">announced</a> in February. <a href=\"https://web.archive.org/web/20120525235200/http://blogs.nature.com/\">Nature Blogs</a> also aggregates science blogs but doesn't seem to be up-to-date.</p><h3 id=\"microformats\">Microformats</h3><p>Microformats are an alternative \u2013 but of course complimentary \u2013 strategy. Microformats are small snippets of HTML that represent commonly published things. A good example is <a href=\"https://web.archive.org/web/20120525235200/http://microformats.org/wiki/rel-license\">Rel-License</a>, a microformat indicating licensed content:</p><pre><code>&lt;a href=\"http://creativecommons.org/licenses/by/2.0/\" rel=\"license\"&gt;cc by 2.0&lt;/a&gt;</code></pre><p>In February Google <a href=\"https://web.archive.org/web/20120525235200/http://microformats.org/2011/02/24/google-launches-microformat-powered-recipe-search\">launched</a> a new Recipe view feature based on the <a href=\"https://web.archive.org/web/20120525235200/http://microformats.org/wiki/hrecipe\">hRecipe</a> microformat, demonstrating how microformats can help discover content. There is currently no <a href=\"https://web.archive.org/web/20120525235200/http://blogs.ch.cam.ac.uk/pmr/2011/03/14/scholarly-html-%E2%80%93-major-progress/\">standard microformat for scholarly citations</a>. The simplest format would again use the <strong>rel</strong> tag \u2013 together with the Citation Typing Ontology (<a href=\"https://web.archive.org/web/20120525235200/http://blogs.plos.org/mfenner/2011/02/14/how-to-use-citation-typing-ontology-cito-in-your-blog-posts/\">CiTO</a>):</p><pre><code>&lt;a href=\"http://dx.doi.org/10.1126/science.1197258\" rel=\"cito:discusses\"&gt;this paper&lt;/a&gt;</code></pre><p>There are <a href=\"https://doi.org/10.1186/2041-1480-1-S1-S6\">more than 20</a> CiTO tags for describing what we think about a particular paper or science blog post \u2013 many science bloggers would probably have used <em>cito:critiques</em> for the above paper. I suggest <em>cito:discusses</em> as the standard CiTO relationship for most papers and blog posts. You can add this tag manually, or use a tool such as the <a href=\"https://web.archive.org/web/20120525235200/http://wordpress.org/extend/plugins/link-to-link/\">Link to Link</a> WordPress plugin (I added <em>cito:discusses</em> to version 1.1.2).</p><h3 id=\"references\">References</h3><ol><li>Fenner M. Supplementary Information: should I stay or should I go? Published online August 27, 2010. doi:<a href=\"https://doi.org/10.53731/r294649-6f79289-8cw59\">10.53731/r294649-6f79289-8cw59</a></li><li>Fenner M. PLoS One: Interview with Peter Binfield. Published online August 15, 2009. doi:<a href=\"https://doi.org/10.53731/r294649-6f79289-8cw36\">10.53731/r294649-6f79289-8cw36</a></li><li>Shotton D. CiTO, the Citation Typing Ontology. <em>J Biomed Sem</em>. 2010;1(Suppl 1):S6. doi:<a href=\"https://doi.org/10.1186/2041-1480-1-S1-S6\">10.1186/2041-1480-1-S1-S6</a></li></ol>","doi":"https://doi.org/10.53731/r294649-6f79289-8cw70","guid":"https://doi.org/10.53731/r294649-6f79289-8cw70","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1300147200,"reference":[{"id":"https://doi.org/10.53731/r294649-6f79289-8cw59","unstructured":"Fenner M. Supplementary Information: should I stay or should I go? Published online August 27, 2010."},{"id":"https://doi.org/10.53731/r294649-6f79289-8cw36","unstructured":"Fenner M. PLoS One: Interview with Peter Binfield. Published online August 15, 2009."},{"id":"https://doi.org/10.1186/2041-1480-1-s1-s6","unstructured":"Shotton D. CiTO, the Citation Typing Ontology. J Biomed Sem. 2010;1(Suppl 1):S6. https://doi.org/10.1186/2041-1480-1-S1-S6"}],"rid":"qefwy-1q053","summary":"The best and quickest discussions of a scientific paper now sometimes happen in science blogs rather than in the peer-reviewed literature. Whereas we have a number of scholarly databases that track citations between papers, we don't have the same tools for science blogs.","tags":["Feature"],"title":"Discussing science with microformats","updated_at":1781426890,"url":"https://blog.front-matter.de/posts/discussing-science-with-microformats/","version":"v1"},{"authors":[{"contributor_roles":[],"family":"Ooms","given":"Jeroen","url":"https://orcid.org/0000-0002-4035-0289"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>We refactored the R-universe CI workflows to make it possible to run the exact same workflow from your own GitHub repository. This allows you to test or debug the build and check process on your R package, exactly as it will happen on R-universe, but without actually deploying to <a href=\"https://r-universe.dev\">https://r-universe.dev</a>.</p><p>The instructions on <a href=\"https://github.com/r-universe-org/workflows\">r-universe-org/workflows</a> explain how it works: simply create a file <code>/.github/workflows/r-universe-test.yml</code> in your R package git repo with the following config:</p><div class=\"highlight\"><pre class=\"chroma\" tabindex=\"0\"><code class=\"language-yaml\" data-lang=\"yaml\"><span class=\"line\"><span class=\"cl\"><span class=\"nt\">name</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"l\">Test R-universe</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">on</span><span class=\"p\">:</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\">  </span><span class=\"nt\">push</span><span class=\"p\">:</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\">  </span><span class=\"nt\">pull_request</span><span class=\"p\">:</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">jobs</span><span class=\"p\">:</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\">  </span><span class=\"nt\">build</span><span class=\"p\">:</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\">    </span><span class=\"nt\">name</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"l\">R-universe testing</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\">    </span><span class=\"nt\">uses</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"l\">r-universe-org/workflows/.github/workflows/build.yml@v3</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\">    </span><span class=\"nt\">with</span><span class=\"p\">:</span><span class=\"w\"></span></span></span><span class=\"line\"><span class=\"cl\"><span class=\"w\">      </span><span class=\"nt\">universe</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"l\">${{ github.repository_owner }}</span><span class=\"w\"></span></span></span></code></pre></div><p>That is everything. The workflow will use the fully automated R-universe setup to build and check the package on a range of R versions on Linux, Windows, and MacOS configurations very similar to CRAN.</p><p>It is possible to use this workflow in your R package for pushes and/or pull requests alongside those from <a href=\"https://github.com/r-lib/actions\">r-lib/actions</a>. Both will check your R package, but note that the purpose is very different: workflows from <a href=\"https://github.com/r-lib/actions\">r-lib/actions</a> are highly configurable and can test R packages using countless options and environments. The R-universe workflow on the other hand is, just like CRAN, not customizable at all: it uses the exact setup and process as it happens on R-universe, nothing else.</p><p>The ability to test-run the build workflow has been recurring feature request, and I hope that it will indeed help package maintainers with debugging problems. I also hope the refactoring might make it a little bit easier to understand the R-universe build process, and enable the community to hack on the workflows and actions to contribute improvements.</p>","doi":"https://doi.org/10.53731/gvb08-7kc16","guid":"https://doi.org/","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1767398400,"rid":"ysr3r-7dq70","summary":"We refactored the R-universe CI workflows to make it possible to run the exact same workflow from your own GitHub repository. This allows you to test or debug the build and check process on your R package, exactly as it will happen on R-universe, but without actually deploying to https://r-universe.dev.","tags":["R-universe","Infrastructure"],"title":"Testing the R-universe build workflow from your own GitHub repository","updated_at":1780984847,"url":"https://ropensci.org/blog/2026/01/03/r-universe-workflows/","version":"v1"},{"authors":[{"affiliation":[{"name":"Front Matter"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>Personal names remain among the hardest scholarly metadata to capture properly, including for science blog posts. This week, the <a href=\"https://rogue-scholar.org\" rel=\"noreferrer\">Rogue Scholar science blog archive</a> therefore changed how it stores blog post author names: no longer as <strong>name</strong>, which is the standard in RSS, Atom, and JSON Feeds, but as <strong>name</strong> only for an organizational author, and as <strong>given</strong> and <strong>family</strong> name for personal authors.</p><p>This follows the best practices established by ORCID, Crossref, and the Citation Style Language. DataCite and InvenioRDM (the repository platform powering Rogue Scholar and based on the DataCite metadata model) use an implementation that was good for transitioning from names to given and family names (keeping the name field for personal names), but created confusion \u2013 personal names should be stored as <strong>family name</strong>, <strong>given name </strong>(Doe, John) in the <strong>name</strong> field, but that is not trivial to enforce and led to many organizations still submitting DataCite metadata with <strong>given name family name</strong> (e.g. John Doe) as name. For this reason, Rogue Scholar is following the Crossref model and is dropping <strong>name</strong> for personal names, even if it is a breaking change.</p><p>Extracting the given and family name from a name can not be fully automated, as there are important edge cases: a) organization names that look like personal names (Alfred P. Sloan Foundation) and b) personal names with multiple family names (Bastian Greshake Tsovaras) vs. multiple given names (Martin Paul Eve) vs. names with propositions (Wilma van Weezenbeck). More background info and additional edge cases (e.g. given name without family name) can be found in a <a href=\"https://www.w3.org/International/questions/qa-personal-names.en\" rel=\"noreferrer\">2011 W3C document</a>.</p><p>To handle these special cases, Rogue Scholar has started a curated list of author names that fall into one of these categories and can correctly split names into given and family names, or not split the name as it is an organizational name. The transition of the more than 40K blog posts into the new format will take some time, but is only urgent for the edge cases mentioned above.</p><p>There are further issues with personal names and metadata for scholarly blogs, including handling multiple authors (which not all blogging platforms support), author identifiers (ORCID, etc.), and author affiliations (using identifiers such as ROR, etc., affiliation changes over time) \u2013 but that is material for another blog post.</p><h2 id=\"references\">References</h2><ol><li><em>Personal names around the world</em>. (n.d.). Retrieved May 6, 2025, from <a href=\"https://www.w3.org/International/questions/qa-personal-names.en\">https://www.w3.org/International/questions/qa-personal-names.en</a></li></ol>","doi":"https://doi.org/10.53731/r5fw0-tdd11","guid":"https://doi.org/10.53731/r5fw0-tdd11","image":"https://images.unsplash.com/photo-1550347305-3004e936f2c5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDEwfHxuYW1lfGVufDB8fHx8MTc0NjUyODQwMHww&ixlib=rb-4.1.0&q=80&w=2000","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1746489600,"reference":[{"id":"https://www.w3.org/International/questions/qa-personal-names.en","unstructured":"Personal names around the world. (n.d.). Retrieved May 6, 2025, from"}],"rid":"96yvv-pxj80","summary":"Personal names remain among the hardest scholarly metadata to capture properly, including for science blog posts. This week, the Rogue Scholar science blog archive therefore changed how it stores blog post author names: no longer as name, which is the standard in RSS, Atom, and JSON Feeds, but as name only for an organizational author, and as given and family name for personal authors.","tags":["Rogue Scholar"],"title":"Personal names in science blogs","updated_at":1780857149,"url":"https://blog.front-matter.de/posts/personal-names-in-science-blogs/","version":"v1"},{"authors":[{"affiliation":[{"name":"Front Matter"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p><a href=\"https://rogue-scholar.org\" rel=\"noreferrer\">Rogue Scholar</a> archives the content of currently more than 150 science blogs with more than 40,000 blog posts. In this blog post, I want to clarify the guidelines that Rogue Scholar tries to follow regarding authorship.</p><p>Rogue Scholar blog posts are scholarly content and thus follow the same <a href=\"https://doi.org/10.1073/pnas.1715374115\" rel=\"noreferrer\">basic guidelines</a> as other scholarly outputs, such as journal articles, preprints, or book chapters.</p><h3 id=\"authorship\">Authorship</h3><p>All authors are expected to have made substantial contributions to the submitted work and to be accountable for the work both before and after publication.&nbsp;Those who&nbsp;contributed to the work but do not meet the criteria for authorship can be mentioned in the Acknowledgments.&nbsp;</p><h3 id=\"artificial-intelligence-ai\">Artificial Intelligence (AI)</h3><p>AI tools cannot meet the requirements for authorship, as <a href=\"https://doi.org/10.24318/cCVRZBms\" rel=\"noreferrer\">explained</a> by the Committee on Publication Ethics (COPE):</p><blockquote>AI tools cannot meet the requirements for authorship as they cannot take responsibility for the submitted work. As non-legal entities, they cannot assert the presence or absence of conflicts of interest nor manage copyright and license agreements.</blockquote><p>And COPE recommends that:</p><blockquote>Authors who use AI tools in the writing of a manuscript, production of images or graphical elements of the paper, or in the collection and analysis of data, must be transparent in disclosing in the Materials and Methods (or similar section) of the paper how the AI tool was used and which tool was used.&nbsp;</blockquote><p>Rogue Scholar blogger Mark Dingemanse recently made a strong case for <a href=\"https://doi.org/10.59350/63b1y-1js90\" rel=\"noreferrer\">why synthetic text is incompatible with science blogging</a>.</p><h3 id=\"contributor-roles\">Contributor Roles</h3><p>For blog posts with multiple authors, Rogue Scholar plans to add support for the Contributor Role Taxonomy (<a href=\"https://credit.niso.org/\" rel=\"noreferrer\">CRediT</a>). And for blog posts handled by an editor or <a href=\"https://doi.org/10.54900/bymaz-4fw37\" rel=\"noreferrer\">undergoing peer review</a>, Rogue Scholar also wants to add those roles.</p><h3 id=\"possible-actions\">Possible Actions</h3><p>Rogue Scholar is an archive of science blog posts, the content is originally published elsewhere, and the decision for publication was taken by the blog authors. In rare cases, blog authors might retract a blog post or post a correction, and that information should also be communicated by Rogue Scholar and via the DOI metadata. When blog posts don't follow the above guidelines, e.g. when inappropriately using AI Tools, Rogue Scholar staff, after consultation with the Rogue Scholar Advisory Board, will decide on appropriate actions, including retraction.</p><h2 id=\"references\">References</h2><ol><li>McNutt, M. K., Bradford, M., Drazen, J. M., Hanson, B., Howard, B., Jamieson, K. H., Kiermer, V., Marcus, E., Pope, B. K., Schekman, R., Swaminathan, S., Stang, P. J., &amp; Verma, I. M. (2018). Transparency in authors' contributions and responsibilities to promote integrity in scientific publication. <em>Proceedings of the National Academy of Sciences</em>, <em>115</em>(11), 2557\u20132560. <a href=\"https://doi.org/10.1073/pnas.1715374115\">https://doi.org/10.1073/pnas.1715374115</a></li><li><em>Authorship and AI tools</em>. (2024). Committee on Publication Ethics. <a href=\"https://doi.org/10.24318/cCVRZBms\">https://doi.org/10.24318/cCVRZBms</a></li><li>Holcombe, A. O. (2019). Contributorship, Not Authorship: Use CRediT to Indicate Who Did What. <em>Publications</em>, <em>7</em>(3), 48. <a href=\"https://doi.org/10.3390/publications7030048\">https://doi.org/10.3390/publications7030048</a></li><li>Marcum, C. S. (2025, April 8). Peer-Review for a Blog Post? My Experience with MetaROR. <em>Front Matter</em>. <a href=\"https://doi.org/10.54900/bymaz-4fw37\">https://doi.org/10.54900/bymaz-4fw37</a></li><li>Dingemanse, M. (2025, May 2). Why synthetic text is incompatible with science blogging. <em>Front Matter</em>. <a href=\"https://doi.org/10.59350/63b1y-1js90\">https://doi.org/10.59350/63b1y-1js90</a></li></ol>","doi":"https://doi.org/10.53731/fnv8b-qfy78","guid":"https://doi.org/10.53731/fnv8b-qfy78","image":"https://images.unsplash.com/photo-1616711642010-f7822e169fb5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDMzfHxhdXRob3J8ZW58MHx8fHwxNzQ3MzI2Mzc5fDA&ixlib=rb-4.1.0&q=80&w=2000","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1747267200,"reference":[{"id":"https://doi.org/10.1073/pnas.1715374115","unstructured":"McNutt, M. K., Bradford, M., Drazen, J. M., Hanson, B., Howard, B., Jamieson, K. H., Kiermer, V., Marcus, E., Pope, B. K., Schekman, R., Swaminathan, S., Stang, P. J., &amp; Verma, I. M. (2018). Transparency in authors' contributions and responsibilities to promote integrity in scientific publication. <i>Proceedings of the National Academy of Sciences</i>, <i>115</i>(11), 2557\u20132560."},{"id":"https://doi.org/10.24318/ccvrzbms","unstructured":"Authorship and AI tools. (2024). Committee on Publication Ethics. https://doi.org/10.24318/cCVRZBms"},{"id":"https://doi.org/10.3390/publications7030048","unstructured":"Holcombe, A. O. (2019). Contributorship, Not Authorship: Use CRediT to Indicate Who Did What. <i>Publications</i>, <i>7</i>(3), 48."},{"id":"https://doi.org/10.54900/bymaz-4fw37","unstructured":"Marcum, C. S. (2025, April 8). Peer-Review for a Blog Post? My Experience with MetaROR. <i>Upstream</i>."},{"id":"https://doi.org/10.59350/63b1y-1js90","unstructured":"Dingemanse, M. (2025, May 2). Why synthetic text is incompatible with science blogging. <i>The Ideophone</i>."}],"rid":"xbp4z-0kd31","summary":"Rogue Scholar archives the content of currently more than 150 science blogs with more than 40,000 blog posts. In this blog post, I want to clarify the guidelines that Rogue Scholar tries to follow regarding authorship. Rogue Scholar blog posts are scholarly content and thus follow the same basic guidelines as other scholarly outputs, such as journal articles, preprints, or book chapters.","title":"Rogue Scholar Authorship Guidelines","updated_at":1780857147,"url":"https://blog.front-matter.de/posts/rogue-scholar-authorship-guidelines/","version":"v1"},{"authors":[{"affiliation":[{"name":"Front Matter"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>Last week I released updated <a href=\"https://doi.org/10.5281/ZENODO.15465786\" rel=\"noreferrer\">Python</a>, and <a href=\"https://doi.org/10.5281/ZENODO.15461402\" rel=\"noreferrer\">Go</a> versions of the <a href=\"https://docs.commonmeta.org/\" rel=\"noreferrer\">commonmeta</a> library that can now read metadata from <a href=\"https://openalex.org/\" rel=\"noreferrer\">OpenAlex</a>. OpenAlex is an open index of over 250 million scholarly works from 250k sources. OpenAlex uses its own identifier for works, people, organizations, sources, and concepts, but also understands common identifiers for works (e.g. DOI or PMID), people (e.g. ORCID), or organizations, including funders (e.g. ROR). Commonmeta can now fetch metadata from the OpenAlex API and convert them into the commonmeta or any other supported format. </p><p>An example command-line call would look like this:</p><pre><code class=\"language-`\n\">commonmeta convert https://pubmed.ncbi.nlm.nih.gov/17160063 --from openalex</code></pre><p>Or you could fetch a random sample of 100 preprints:</p><pre><code class=\"language-`\n\">commonmeta list --sample --type preprint -n 100 --from openalex</code></pre><p>OpenAlex is an impressive service for the scholarly community, launched three years ago when the Microsoft Academic Graph database stopped being updated. I particularly like the following features:</p><ul><li>coverage of a large number of text publications, including content registered via Crossref and DataCite,</li><li>links to legal copies of full-text versions of publications,</li><li>enrichment of metadata with persistent identifiers, e.g. affiliation information,</li><li>rich automated subject area classification into <a href=\"https://docs.openalex.org/api-entities/topics\" rel=\"noreferrer\">4500 topics</a>.</li></ul><p>When working on integrating OpenAlex into commonmeta, I noticed some areas where the service (still only three years old) could be improved upon:</p><ul><li>personal names are not treated as a combination of given and family names. This can cause problems in cases of unusual names and formatted citations, which typically split personal names into given and family names, </li><li>Metadata enrichment should not be done with personal names, as this is very difficult and may have privacy implications. My OpenAlex <a href=\"https://openalex.org/authors/a5069389160\" rel=\"noreferrer\">profile</a> \u2013 which covers publications over 30 years in different research areas (mainly basic and clinical cancer research and scholarly infrastructure) \u2013 contains most of my publications but also publications not written by me, including several papers published before I finished high school in 1983,</li><li>license information uses a simple schema that aligns with Creative Commons licenses, but for example doesn't consider different versions (e.g. <a href=\"https://creativecommons.org/licenses/by/3.0/deed.en\" rel=\"noreferrer\">CC-BY 3.0</a> vs. <a href=\"https://creativecommons.org/licenses/by/4.0/deed.en\" rel=\"noreferrer\">CC-BY 4.0</a>). Commonmeta supports the <a href=\"https://spdx.org/licenses/\" rel=\"noreferrer\">SPDX license list</a> that includes all Creative Commons license versions but also many software licenses.</li></ul><p>The initial OpenAlex support in commonmeta is the result of a wonderful pull request for the Python version. I mainly added test coverage and added the same functionality to the Go version. Please provide feedback via <a href=\"mailto:info@front-matter.io\" rel=\"noreferrer\">email</a>, <a href=\"https://join.slack.com/t/rogue-scholar/shared_invite/zt-2ylpq1yoy-o~TkxDarfz5LSMhGSCYtiA\" rel=\"noreferrer\">Slack</a>, or <a href=\"https://github.com/front-matter\" rel=\"noreferrer\">GitHub</a> if you discover bugs or missing functionality of the OpenAlex support in commonmeta.</p><h2 id=\"references\">References</h2><ol><li>Fenner, M. (2025). <em>Commonmeta-py</em> (Version 0.107) [Computer software]. Zenodo. <a href=\"https://doi.org/10.5281/ZENODO.15465786\">https://doi.org/10.5281/ZENODO.15465786</a></li><li>Martin Fenner. (2025). <em>front-matter/commonmeta: V0.25.0</em> (Version v0.25.0) [Computer software]. Zenodo. <a href=\"https://doi.org/10.5281/ZENODO.15461402\">https://doi.org/10.5281/ZENODO.15461402</a></li></ol>","doi":"https://doi.org/10.53731/sq5vs-mvv29","guid":"https://doi.org/10.53731/sq5vs-mvv29","image":"https://images.unsplash.com/photo-1521920592574-49e0b121c964?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDQ3fHxsaWJyYXJ5fGVufDB8fHx8MTc0NzY2OTcxOXww&ixlib=rb-4.1.0&q=80&w=2000","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1747612800,"reference":[{"id":"https://doi.org/10.5281/zenodo.15465786","unstructured":"Fenner, M. (2025). <i>commonmeta-py</i> (0.107) [Computer software]. Zenodo."},{"id":"https://doi.org/10.5281/zenodo.15461402","unstructured":"Martin Fenner. (2025). <i>front-matter/commonmeta: v0.25.0</i> (v0.25.0) [Computer software]. Zenodo."}],"rid":"fzgg6-ata09","summary":"Last week I released updated Python, and Go versions of the commonmeta library that can now read metadata from OpenAlex. OpenAlex is an open index of over 250 million scholarly works from 250k sources.","tags":["Open Infrastructure","Metadata"],"title":"Commonmeta understands OpenAlex","updated_at":1780857145,"url":"https://blog.front-matter.de/posts/commonmeta-understands-openalex/","version":"v1"},{"authors":[{"affiliation":[{"name":"Front Matter"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>Today I released a new version of the <a href=\"https://doi.org/10.5281/ZENODO.15524711\" rel=\"noreferrer\">commonmeta-py</a> Python library with major improvements in Crossref DOI registration, including refactoring to use the Python marshmallow library, XML schema validation, and API calls to Crossref and InvenioRDM instances via the commonmeta-py command-line interface.</p><h3 id=\"using-the-marshmallow-library\">Using the marshmallow library</h3><p><a href=\"https://github.com/marshmallow-code/marshmallow\" rel=\"noreferrer\">Marshmallow</a> is a popular Python library for converting complex objects to and from simple Python datatypes. The <a href=\"https://inveniordm.docs.cern.ch/\" rel=\"noreferrer\">InvenioRDM</a> repository software heavily uses marshmallow to convert metadata from and to JSON. Marshmallow is not specific to JSON, and writing Crossref metadata in XML requires an additional serialization step. commonmeta-py uses <a href=\"https://github.com/martinblech/xmltodict\" rel=\"noreferrer\">xmltodict</a> to convert XML to Python data structures, and now also uses xmltodict for writing XML. This replaces <a href=\"https://github.com/lxml/lxml\" rel=\"noreferrer\">lxml</a> and the ElementTree API for XML writing. This worked well but didn't integrate with the rest of commonmeta-py, as the Crossref XML writer is the only place where commonmeta-py currently writes XML. More importantly, this change will make integrating commonmeta-py into InvenioRDM easier for Crossref DOI registration.</p><h3 id=\"xml-schema-validation\">XML schema validation</h3><p>Crossref metadata are fairly complex and have different requirements depending on content type, e.g. International Standard Serial Numbers (ISSN) are only supported for some content types, or the order of metadata elements might be different. For this reason, XML schema validation before submission is critical, and commonmeta-py now supports this, using the <a href=\"https://doi.org/10.13003/325070\" rel=\"noreferrer\">recently released schema 5.4.0</a>. A large part of the work for this update was generating and validating XML for the various Crossref content types. I could not cover all use cases, so feedback is appreciated, e.g., by sending me DOIs registered with Crossref but not validating in commonmeta-py.</p><p>Commonmeta (both the Python and Go versions) relies heavily on JSON schema validation, which I greatly prefer over XML Schema Definition (XSD) validation. But until Crossref allows content registration via JSON metadata (similarly to the change DataCite made a few years ago), XML schema validation remains important. The commonmeta Go library does not yet use XML schema validation.</p><h3 id=\"api-calls-via-the-cli\">API calls via the CLI</h3><p>The <a href=\"https://rogue-scholar.org\" rel=\"noreferrer\">Rogue Scholar</a> science blogging archive switched to the InvenioRDM repository platform in October 2024 and uses the commonmeta Go library and GitHub Actions for Crossref DOI registration. GitHub Actions are wonderful, but for more complex workflows it is easier to have the logic built into the application running in the GitHub Action. Since May 2024 that was the commonmeta Go library, and commonmeta-py now has similar functionality, including calling the Crossref and InvenioRDM APIs directly.</p><p>Starting today, the GitHub Actions for Rogue Scholar DOI registrations and updates use commonmeta-py instead of the commonmeta Go library. The next two weeks I will carefully monitor them for any issues that might have escaped testing.</p><p>The next major milestone is integrating Crossref DOI registration directly into InvenioRDM. This will not only simplify the workflows for Rogue Scholar, but makes InvenioRDM a more interesting option for repositories with original textual content, e.g. preprints, reports or dissertations.</p><h2 id=\"references\">References</h2><ol><li>Fenner, M. (2025). <em>Commonmeta-py</em> (Version 0.113) [Computer software]. Zenodo. <a href=\"https://doi.org/10.5281/ZENODO.15524711\">https://doi.org/10.5281/ZENODO.15524711</a></li><li>Feeney, P. (2025, March 19). Version 5.4.0 metadata schema update now available. <em>Crossref Blog</em>. <a href=\"https://doi.org/10.13003/325070\">https://doi.org/10.13003/325070</a></li></ol>","doi":"https://doi.org/10.53731/69k7z-w7030","guid":"https://doi.org/10.53731/69k7z-w7030","image":"https://images.unsplash.com/photo-1615746360032-1ecf87f250fb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDM0fHx1cGRhdGV8ZW58MHx8fHwxNzQ4MzMwNTQ2fDA&ixlib=rb-4.1.0&q=80&w=2000","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1748304000,"reference":[{"id":"https://doi.org/10.5281/zenodo.15524711","unstructured":"Fenner, M. (2025). <i>commonmeta-py</i> (0.113) [Computer software]. Zenodo."},{"id":"https://doi.org/10.13003/325070","unstructured":"Feeney, P. (2025). Version 5.4.0 metadata schema update now available. In <i>Crossref Blog</i> (Version v1). Crossref."}],"rid":"9ehta-24f79","summary":"Today I released a new version of the commonmeta-py Python library with major improvements in Crossref DOI registration, including refactoring to use the Python marshmallow library, XML schema validation, and API calls to Crossref and InvenioRDM instances via the commonmeta-py command-line interface. Using the marshmallow library Marshmallow is a popular Python library for converting complex objects to and from simple Python datatypes.","tags":["Metadata","Rogue Scholar"],"title":"Major update on Commonmeta Crossref DOI registration","updated_at":1780857144,"url":"https://blog.front-matter.de/posts/major-update-on-commonmeta-crossref-doi-registration/","version":"v1"},{"authors":[{"affiliation":[{"name":"Front Matter"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>This is the May issue of the monthly newsletter from the Rogue Scholar&nbsp;<a href=\"https://rogue-scholar.org/\" rel=\"noreferrer\">science blog archive</a>. The newsletter reports on new blogs that have joined the platform, important technical updates in Rogue Scholar infrastructure, community updates, and other news relevant to Rogue Scholar users.</p><h2 id=\"blogs-added-to-rogue-scholar\">Blogs added to Rogue Scholar</h2><p>No new blogs were added in May, but the processing of two blog submissions is being worked on.</p><h2 id=\"technical-updates\">Technical Updates</h2><p>On May 6, the Rogue Scholar registration workflow <a href=\"https://doi.org/10.53731/r5fw0-tdd11\" rel=\"noreferrer\">received a major update</a> in how personal names are handled to better accommodate edge cases such as multiple family names.</p><p>Starting on May 15, new DOI registrations for all WordPress blogs use a new scheme for the DOI suffix, using the Rogue Scholar <em>blog identifier</em> and WordPress <em>post_id</em>, e.g. <a href=\"https://doi.org/10.59350/rzepa.28773\">https://doi.org/10.59350/rzepa.28773</a> for the latest post on Henry Rzepa's Blog. This allows WordPress blog authors to know the DOI for their blog posts before publication.</p><p>On May 27, Rogue Scholar <a href=\"https://doi.org/10.53731/69k7z-w7030\" rel=\"noreferrer\">switched the DOI registration workflow</a> to the <a href=\"https://doi.org/10.5281/ZENODO.15524711\" rel=\"noreferrer\">commonmeta-py</a> Python library. This was an important step towards integrating Crossref DOI registration directly into the <a href=\"https://inveniordm.docs.cern.ch/\" rel=\"noreferrer\">InvenioRDM</a> repository platform. Since that switch, several smaller issues have been fixed, and in June, the work on Crossref DOI registration in InvenioRDM can begin.</p><h3 id=\"community-update\">Community Update</h3><p>On May 15, I published the <a href=\"https://doi.org/10.53731/fnv8b-qfy78\" rel=\"noreferrer\">Rogue Scholar authorship guidelines</a> to clarify the rights and responsibilities of Rogue Scholar blog post authors, following the same&nbsp;<a href=\"https://doi.org/10.1073/pnas.1715374115\" rel=\"noreferrer\">basic guidelines</a>&nbsp;that apply to other scholarly outputs. One particular focus was on the limitations and transparency in reporting when using the help of Artificial Intelligence in writing scholarly blog posts.</p><p>Please use <a href=\"https://join.slack.com/t/rogue-scholar/shared_invite/zt-2ylpq1yoy-o~TkxDarfz5LSMhGSCYtiA\" rel=\"noreferrer\">Slack</a>, <a href=\"mailto:info@rogue-scholar.org\" rel=\"noreferrer\">email</a>, <a href=\"https://wisskomm.social/@rogue_scholar\" rel=\"noreferrer\">Mastodon</a>, or&nbsp;<a href=\"https://bsky.app/profile/rogue-scholar.bsky.social\" rel=\"noreferrer\">Bluesky</a> if you have any questions or comments regarding this monthly newsletter.</p><div class=\"kg-card kg-callout-card kg-callout-card-blue\"><div class=\"kg-callout-text\">Rogue Scholar is a scholarly infrastructure that is free for all authors and readers. You can support Rogue Scholar with a one-time or recurring&nbsp;<a href=\"https://ko-fi.com/rogue_scholar\" rel=\"noreferrer\">donation</a> or by becoming a sponsor.</div></div><h2 id=\"references\">References</h2><ol><li>Fenner, M. (2025, May 6). Personal names in science blogs. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/r5fw0-tdd11\">https://doi.org/10.53731/r5fw0-tdd11</a></li><li>Fenner, M. (2025, May 27). Major update on Commonmeta Crossref DOI registration. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/69k7z-w7030\">https://doi.org/10.53731/69k7z-w7030</a></li><li>Fenner, M. (2025). <em>Commonmeta-py</em> (Version 0.113) [Computer software]. Zenodo. <a href=\"https://doi.org/10.5281/ZENODO.15524711\">https://doi.org/10.5281/ZENODO.15524711</a></li><li>Fenner, M. (2025, May 15). Rogue Scholar Authorship Guidelines. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/fnv8b-qfy78\">https://doi.org/10.53731/fnv8b-qfy78</a></li><li>McNutt, M. K., Bradford, M., Drazen, J. M., Hanson, B., Howard, B., Jamieson, K. H., Kiermer, V., Marcus, E., Pope, B. K., Schekman, R., Swaminathan, S., Stang, P. J., &amp; Verma, I. M. (2018). Transparency in authors' contributions and responsibilities to promote integrity in scientific publication. <em>Proceedings of the National Academy of Sciences</em>, <em>115</em>(11), 2557\u20132560. <a href=\"https://doi.org/10.1073/pnas.1715374115\">https://doi.org/10.1073/pnas.1715374115</a></li></ol>","doi":"https://doi.org/10.53731/xxm2e-9f976","guid":"https://doi.org/10.53731/xxm2e-9f976","image":"https://images.unsplash.com/photo-1566146991569-696da38bb775?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDN8fG1lYWRvd3xlbnwwfHx8fDE3NDg4NjQ1NjV8MA&ixlib=rb-4.1.0&q=80&w=2000","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1748822400,"reference":[{"id":"https://doi.org/10.53731/r5fw0-tdd11","unstructured":"Fenner, M. (2025, May 6). Personal names in science blogs. <i>Front Matter</i>."},{"id":"https://doi.org/10.53731/69k7z-w7030","unstructured":"Fenner, M. (2025, May 27). Major update on Commonmeta Crossref DOI registration. <i>Front Matter</i>."},{"id":"https://doi.org/10.5281/zenodo.15524711","unstructured":"Fenner, M. (2025). <i>commonmeta-py</i> (0.113) [Computer software]. Zenodo."},{"id":"https://doi.org/10.53731/fnv8b-qfy78","unstructured":"Fenner, M. (2025, May 15). Rogue Scholar Authorship Guidelines. <i>Front Matter</i>."},{"id":"https://doi.org/10.1073/pnas.1715374115","unstructured":"McNutt, M. K., Bradford, M., Drazen, J. M., Hanson, B., Howard, B., Jamieson, K. H., Kiermer, V., Marcus, E., Pope, B. K., Schekman, R., Swaminathan, S., Stang, P. J., &amp; Verma, I. M. (2018). Transparency in authors' contributions and responsibilities to promote integrity in scientific publication. <i>Proceedings of the National Academy of Sciences</i>, <i>115</i>(11), 2557\u20132560."}],"rid":"0p2tz-5t391","summary":"This is the May issue of the monthly newsletter from the Rogue Scholar\u00a0science blog archive. The newsletter reports on new blogs that have joined the platform, important technical updates in Rogue Scholar infrastructure, community updates, and other news relevant to Rogue Scholar users.","tags":["Rogue Scholar"],"title":"Rogue Scholar Newsletter May 2025","updated_at":1780857142,"url":"https://blog.front-matter.de/posts/rogue-scholar-newsletter-may-2025/","version":"v1"},{"authors":[{"affiliation":[{"name":"Front Matter"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>This week the <a href=\"https://rogue-scholar.org\" rel=\"noreferrer\">Rogue Scholar science blog archive</a> experienced major upgrade pains, and Rogue Scholar search became unavailable from Tuesday until Thursday. I tried to upgrade to a pre-release version (<a href=\"https://pypi.org/project/invenio-app-rdm/13.0.0b4.dev0/\" rel=\"noreferrer\">13.0.0b4.dev0</a>) of the InvenioRDM repository software, and ran into multiple issues. Going back to the previously installed v12.1.0 took longer than anticipated, mainly because of issues with the Opensearch index.</p><p>This morning Rogue Scholar is almost working normally again, except for the blog communities, which will take until Monday to be fixed.</p><p>The primary reason for upgrading the InvenioRDM software was so that I could integrate Crossref DOI registration, based on work I <a href=\"https://doi.org/10.53731/69k7z-w7030\" rel=\"noreferrer\">completed last week</a>. The experience with installing a pre-release version of InvenioRDM told me a few things:</p><ul><li>install InvenioRDM to production only after extensive testing (as I did last September/October),</li><li>service stability is more important than new features, and I am adjusting my deployment strategy and tooling,</li><li><a href=\"https://grafana.com/products/cloud/\" rel=\"noreferrer\">observability</a> is critical when running infrastructure, and this can be improved for Rogue Scholar.</li></ul><h3 id=\"postpone-upgrading-to-inveniordm-v130\">Postpone upgrading to InvenioRDM v13.0</h3><p>Integrating Crossref DOI registration into InvenioRDM requires a current development version of InvenioRDM, which is currently v13.x, ahead of the last <a href=\"https://pypi.org/project/invenio-app-rdm/12.1.0/\" rel=\"noreferrer\">released version v12.1</a>. As InvenioRDM v13.0 will be released in a few weeks, I will wait with that work until v13.0 is released and Rogue Scholar is updated to that version. There is additional DOI registration work needed, as Rogue Scholar not only registers DOIs with Crossref, but uses multiple DOI prefixes (not yet supported in InvenioRDM) and also accepts blog posts with DOIs registered externally with DataCite.</p><h3 id=\"upgrade-rogue-scholar-infrastructure\">Upgrade Rogue Scholar Infrastructure</h3><p>After growing to more than 40,000 blog posts in recent months, the Rogue Scholar infrastructure, particularly the Opensearch search index, needs a hardware upgrade. I will take this opportunity to also change my deployment strategy and tooling, and will start to use <a href=\"https://kamal-deploy.org/\" rel=\"noreferrer\">Kamal</a> to deploy the InvenioRDM software to a dedicated server (provided by <a href=\"https://www.hetzner.com/\" rel=\"noreferrer\">Hetzner</a>).</p><h3 id=\"improve-observability\">Improve Observability</h3><p>Rogue Scholar uses metrics and logging provided by <a href=\"https://grafana.com/\" rel=\"noreferrer\">Prometheus/Grafana</a> and error reporting provided by <a href=\"https://sentry.io\" rel=\"noreferrer\">Sentry</a>. More work is needed to improve this observability to better handle incidents such as this week's upgrade issues.</p><h2 id=\"references\">References</h2><p>Fenner, M. (2025, May 27). Major update on Commonmeta Crossref DOI registration. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/69k7z-w7030\">https://doi.org/10.53731/69k7z-w7030</a></p>","doi":"https://doi.org/10.53731/9nam9-w9k29","guid":"https://doi.org/10.53731/9nam9-w9k29","image":"https://images.unsplash.com/photo-1695345132969-172357b69b87?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHN0b255JTIwcGF0aHxlbnwwfHx8fDE3NDkyMDMwNDV8MA&ixlib=rb-4.1.0&q=80&w=2000","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1749168000,"reference":[{"id":"https://doi.org/10.53731/69k7z-w7030","unstructured":"Fenner, M. (2025, May 27). Major update on Commonmeta Crossref DOI registration. <i>Front Matter</i>."}],"rid":"at4y3-vg902","summary":"This week the Rogue Scholar science blog archive experienced major upgrade pains, and Rogue Scholar search became unavailable from Tuesday until Thursday. I tried to upgrade to a pre-release version (13.0.0b4.dev0) of the InvenioRDM repository software, and ran into multiple issues. Going back to the previously installed v12.1.0 took longer than anticipated, mainly because of issues with the Opensearch index.","tags":["Rogue Scholar"],"title":"Rogue Scholar upgrade pains","updated_at":1780857141,"url":"https://blog.front-matter.de/posts/rogue-scholar-upgrade-pains/","version":"v1"},{"authors":[{"affiliation":[{"name":"Front Matter"}],"contributor_roles":[],"family":"Fenner","given":"Martin","url":"https://orcid.org/0000-0003-1419-2405"}],"blog":{"authors":[{"name":"Martin Fenner","url":"https://orcid.org/0000-0003-1419-2405"}],"community_id":"15a362ea-8138-42b8-917f-1840a92addf8","created":1672531200,"current_feed_url":null,"description":"The Front Matter Blog covers the intersection of science and technology since 2007.","favicon":"https://rogue-scholar.org/api/communities/15a362ea-8138-42b8-917f-1840a92addf8/logo","feed_format":"application/atom+xml","feed_url":"https://blog.front-matter.de/atom","filter":null,"generator":"Ghost","home_page_url":"https://blog.front-matter.de/","issn":"2749-9952","language":"eng","license":"https://creativecommons.org/licenses/by/4.0/legalcode","prefix":"10.53731","relative_url":null,"secure":true,"slug":"front_matter","status":"active","subfield":"1710","title":"Front Matter","updated":1783171960,"use_api":true},"blog_name":"Front Matter","blog_slug":"front_matter","content_html":"<p>InvenioRDM is the open source turn-key research data management platform, with detailed documentation available <a href=\"https://inveniordm.docs.cern.ch\" rel=\"noreferrer\">here</a>. <a href=\"https://starter.front-matter.io\" rel=\"noreferrer\">InvenioRDM Starter</a> facilitates deployment and configuration of InvenioRDM, allowing you to run InvenioRDM on your local computer within 15 min. This is achieved by providing a) a prebuilt Invenio-App-RDM Docker image, and b) a Docker Compose configuration file with sensible defaults. </p><p>Starting this week, InvenioRDM starter can also be used to deploy InvenioRDM to production, using the <a href=\"https://kamal-deploy.org/\" rel=\"noreferrer\">Kamal</a> tool. Kamal is similar to Docker Compose, but adds important functionality, including automatic remote builds, zero-downtime deployments, and deployments to multiple servers. Kamal is a command-line utility with a YAML configuration file, and much simpler to use than Kubernetes or commercial Docker container orchestration services such as Amazon Elastic Container Service (Amazon ECS). </p><p>Kamal can deploy InvenioRDM to your hardware or to a virtual machine provided by your organization or a cloud provider. Whereas Kubernetes is a good option for large InvenioRDM installations, smaller InvenioRDM instances benefit from simpler deployment tools both in terms of cost and required maintenance.</p><p>The science blog archive <a href=\"https://rogue-scholar.org\" rel=\"noreferrer\">Rogue Scholar</a> managed by Front Matter is a good example of an InvenioRDM repository that can benefit from simpler deployment options. As the next major release of InvenioRDM (v13.0) will happen in the next few weeks, Rogue Scholar needs to prepare for the upgrade, and I have this week launched a Rogue Scholar staging instance at <a href=\"https://staging.rogue-scholar.org\" rel=\"noreferrer\">https://staging.rogue-scholar.org</a> using Kamal and a virtual machine provisioned by <a href=\"https://www.hetzner.com/\" rel=\"noreferrer\">Hetzner</a> and located in Germany.</p><p>The setup was mostly straightforward, except for the integration with the Kamal proxy server, which turned out to be very painful. In the end I had to set the InvenioRDM<code>APP_ALLOWED_HOSTS</code> ENV variable to <code>None</code> and patch the REST API cross site request forgery (CRSF) check to not check the request host. This needs more discussion but appears safe, as all requests must go through the Kamal proxy, where the host header is already checked.</p><p>More work is needed on the staging server, including regular automatic backups of the database, and setting up monitoring (logs and metrics). The instance is running the latest stable release (v12.1.0), but I will soon be able to install the latest v13 release candidate \u2013 <a href=\"https://pypi.org/project/invenio-app-rdm/13.0.0rc2/\" rel=\"noreferrer\">v13.0.0rc2</a> was released three days ago.</p><p>Kamal was <a href=\"https://world.hey.com/dhh/introducing-kamal-9330a267\" rel=\"noreferrer\">released in 2023</a> by 37signals, the company behind the Basecamp and Hey services, and one of the major contributors to the Rails platform. Kamal is installed as a Ruby gem, but is not specific to Rails or Ruby. Kamal can be seen as the successor to the <a href=\"https://capistranorb.com/\" rel=\"noreferrer\">Capistrano</a> deployment tool, also originally written by 37signals, but Kamal is working with Docker containers. When I <a href=\"https://doi.org/10.53731/r294649-6f79289-8cvzn\" rel=\"noreferrer\">was the technical lead of the Article Level Metrics project</a> at the publisher PLOS 2012-2015 (at the time Docker was not yet adopted for production deployments), I made heavy use of Capistrano.</p><p><a href=\"https://starter.front-matter.io\" rel=\"noreferrer\">InvenioRDM Starter</a> now includes a Kamal configuration option, and I deployed an InvenioRDM instance to <a href=\"https://demo.front-matter.io\" rel=\"noreferrer\">https://demo.front-matter.io</a> using Kamal. </p><figure class=\"kg-card kg-image-card\"><img src=\"https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/2025/06/Bildschirmfoto-2025-06-27-um-17.49.37.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"2000\" height=\"1134\" srcset=\"https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/size/w600/2025/06/Bildschirmfoto-2025-06-27-um-17.49.37.png 600w, https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/size/w1000/2025/06/Bildschirmfoto-2025-06-27-um-17.49.37.png 1000w, https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/size/w1600/2025/06/Bildschirmfoto-2025-06-27-um-17.49.37.png 1600w, https://storage.ghost.io/c/c5/33/c533c955-b5f3-4ff1-ae2d-6b52a212e602/content/images/size/w2400/2025/06/Bildschirmfoto-2025-06-27-um-17.49.37.png 2400w\" sizes=\"(min-width: 720px) 720px\"></figure><p>Feel free to play around, but only admin accounts can create records \u2013 use the official InvenioRDM <a href=\"http://inveniordm.web.cern.ch/\" rel=\"noreferrer\">demo</a> instance (also linked in the footer) if you want to create and/or update records. I will spend the next few weeks refining the Kamal setup and documentation, so that InvenioRDM Starter is ready for Kamal deployments when InvenioRDM v13.0 is officially released.</p><h2 id=\"references\">References</h2><ol><li>Fenner, M. (2024, June 17). Announcing InvenioRDM Starter Beta. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/jxecm-0me48\">https://doi.org/10.53731/jxecm-0me48</a></li><li>Fenner, M. (2015, July 29). Thank you PLOS. <em>Front Matter</em>. <a href=\"https://doi.org/10.53731/r294649-6f79289-8cvzn\">https://doi.org/10.53731/r294649-6f79289-8cvzn</a></li></ol>","doi":"https://doi.org/10.53731/m7gng-jmm19","guid":"https://doi.org/10.53731/m7gng-jmm19","image":"https://images.unsplash.com/photo-1634638026221-4c1c4cf9f881?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8c2VhcmNofDU1fHxzaGlwJTIwY29udGFpbmVyfGVufDB8fHx8MTc1MTAzNDgzN3ww&ixlib=rb-4.1.0&q=80&w=2000","language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","published_at":1750982400,"reference":[{"id":"https://doi.org/10.53731/jxecm-0me48","unstructured":"Fenner, M. (2024, June 17). Announcing InvenioRDM Starter Beta. <i>Front Matter</i>."},{"id":"https://doi.org/10.53731/r294649-6f79289-8cvzn","unstructured":"Fenner, M. (2015, July 29). Thank you PLOS. <i>Front Matter</i>."}],"rid":"a9awy-52h48","summary":"InvenioRDM is the open source turn-key research data management platform, with detailed documentation available here. InvenioRDM Starter facilitates deployment and configuration of InvenioRDM, allowing you to run InvenioRDM on your local computer within 15 min. This is achieved by providing a) a prebuilt Invenio-App-RDM Docker image, and b) a Docker Compose configuration file with sensible defaults.","tags":["Rogue Scholar","Open Infrastructure"],"title":"Kamal deploys InvenioRDM Starter to production","updated_at":1780857139,"url":"https://blog.front-matter.de/posts/kamal-deploys-inveniordm-starter-to-production/","version":"v1"}],"out_of":629,"page":1,"per_page":10,"total-results":629}
