{"id":275,"date":"2019-07-24T10:37:05","date_gmt":"2019-07-24T10:37:05","guid":{"rendered":"http:\/\/memnarch.bplaced.net\/blog\/?p=275"},"modified":"2019-07-24T10:37:05","modified_gmt":"2019-07-24T10:37:05","slug":"delphinus-upcoming-changes-to-the-publishing-steps-of-a-package","status":"publish","type":"post","link":"https:\/\/memnarch.bplaced.net\/blog\/2019\/07\/delphinus-upcoming-changes-to-the-publishing-steps-of-a-package\/","title":{"rendered":"Delphinus upcoming changes to the publishing steps of a package"},"content":{"rendered":"<p>For a while now, the publishing procedure of a package on Delphinus required Authors to add a keyword to their readme. At the time, this seemed to be the only way for me, to incorporate the Github-API for querying a list of available packages. However this came with an unforeseen disadvantage.<\/p>\n<p><!--more--><\/p>\n<p>While a Github-Query allows me to ignore forks of package-repositories, mirrored repositories are not filterable in an easy way. I quickly noticed, that some users, instead of using the &#8220;Fork&#8221; function on Github, would push a repository they previously cloned from someone else to a new repo on their account. Those mirrors have the keyword in the readme, and NO Fork-Flag for the Queries to filter them out. Therefore i had to add some manual filtering in the past, which requires to peek into those repos Delphinus.Info.json and check their id to look for duplicates. This means that search-results are not just bloated, and potentially require extra paging, adding costs to the API, i have to check several repos just for the sake of filtering and therefore creating even more calls\/costs to the APIs ratelimit. While improvements to the duplicate-detection is possible, the issue with bloated search-results remain.<\/p>\n<p>Luckily, Github has introduced a new feature, called Topics. Those are basically Tags. And a new preview-api for searching based on Topics is available as well. This gives me some advantages over the previous approach:<\/p>\n<ul>\n<li>You no longer have to clutter your readme with the keyword (Once Delphinus switches over to the new technique)<\/li>\n<li>If forked(which includes the Topics), it is still filtered out by Github<\/li>\n<li>If mirrored from a local git-repo, Topics are missing and therefore a repo will not show up in a search-result by accident.<\/li>\n<\/ul>\n<p>I&#8217;ll still have to keep the duplicate-check, but with a cleaner search-result, this will improve the overall performance and help Package-Authors.<br \/>\nDelphinus will <strong>NOT<\/strong> search by Topics as of now, therefore using the readme-keyword is still required. But everyone should update their repos for the future.<\/p>\n<p>The Topic you have to add is <strong>delphinuspackage<\/strong><br \/>\nAll lowercase. The <a href=\"https:\/\/github.com\/Memnarch\/Delphinus\/wiki\/Publishing-your-Project-for-Delphinus\">Wiki<\/a> has been updated accordingly.<br \/>\nTo check if you&#8217;ve made the correct changes to your topics, you can view all repos by a specific topic on Gitub: <a href=\"https:\/\/github.com\/topics\/delphinuspackage\">Repos by Topic: delphinuspackage<\/a><br \/>\nIf your repo appears in this list, you&#8217;re ready.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For a while now, the publishing procedure of a package on Delphinus required Authors to add a keyword to their readme. At the time, this seemed to be the only way for me, to incorporate the Github-API for querying a list of available packages. However this came with an unforeseen disadvantage.<\/p>\n","protected":false},"author":1,"featured_media":260,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6,17,3],"tags":[],"_links":{"self":[{"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/posts\/275"}],"collection":[{"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/comments?post=275"}],"version-history":[{"count":1,"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/posts\/275\/revisions"}],"predecessor-version":[{"id":276,"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/posts\/275\/revisions\/276"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/media\/260"}],"wp:attachment":[{"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/media?parent=275"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/categories?post=275"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/memnarch.bplaced.net\/blog\/wp-json\/wp\/v2\/tags?post=275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}