ewilderj/doap

gitlab-to-doap generator just published, looking for feedback

Opened this issue · 2 comments

Hello! I've been building this tool over the past day or so and I think it's starting to take shape. I built in as part of a website redesign I'm working on, part of which I want to include machine-readable data of my projects. So I'd like to announce it here and see if you have any feedback.

It's a Ruby CLI application, installed from rubygems. The source code is available on my Gitlab instance.

$ gem install gitlab-to-doap
$ gitlab-to-doap nogweii/gitlab-to-doap

Running that produces the following XML:

<?xml version="1.0" encoding="UTF-8"?>
<Project xmlns="http://usefulinc.com/ns/doap#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/">
  <name>Gitlab to DOAP</name>
  <shortdesc>Given a gitlab personal token (https://docs.gitlab.com/ce/user/profile/personal_access_tokens.html) and a gitlab project, produce a DOAP (https://github.com/ewilderj/doap/wiki) XML
file.</shortdesc>
  <homepage rdf:resource="https://code.aether.earth/nogweii/gitlab-to-doap"/>
  <created>2020-12-31</created>
  <repository>
    <GitRepository>
      <location rdf:resource="https://code.aether.earth/nogweii/gitlab-to-doap.git"/>
      <browse rdf:resource="https://code.aether.earth/nogweii/gitlab-to-doap/-/tree/main"/>
    </GitRepository>
  </repository>
  <download-page rdf:resource="https://code.aether.earth/nogweii/gitlab-to-doap"/>
  <bug-database rdf:resource="https://code.aether.earth/nogweii/gitlab-to-doap/-/issues"/>
  <programming-language>Ruby</programming-language>
  <programming-language>Shell</programming-language>
  <license rdf:resource="http://www.apache.org/licenses/LICENSE-2.0.html"/>
  <maintainer>
    <foaf:Person>
      <foaf:name>nogweii</foaf:name>
      <foaf:homepage rdf:resource="https://code.aether.earth/nogweii"/>
    </foaf:Person>
  </maintainer>
</Project>

Namely, I'd like to ask for your feedback on the output. I think I understood the specification correctly, or did I miss something? (Sadly there aren't that many real world uses I could easily find, except for the Apache Software Foundation and GNOME project. I've mostly modeled the features on those.) Is there anything you would like to be added?

Presuming it passes muster, I'll add it to the Generators wiki page.

I think it looks good! The only thing I could think of is that it is nice to have the data type on dates, so somehow to add xsd:date to the created date is nice. I don't know the Ruby tool you are using, so I can't advice on how to do it practically.