Librehosters / librehost api

v0.0.1

'data': {
    'name': 'Sample LibreHoster',
    'tagLine': 'Centralize discussion, decentralize operations',
    'homeUrl': 'https://librehoster.example.net',
    'logoUrl': 'https://librehoster.example.net/logo',
    'statusUrl': 'https://status.librehoster.example.net',
    'contactUrl': 'https://librehoster.example.net/contact',
    'donationsUrl': 'https://librehoster.example.net/donate',
    'privacyUrl': 'https://librehoster.example.net/policy/privacy',
    'tosUrl': 'https://librehoster.example.net/policy/terms-of-service'
    'languages': ['en', 'fr', 'nl'],
    'admins': [
    ],
    'services': [
    ],
    'meta': {
        'arbitrary json': true
    }
    'version': '0.0.1'
}
3 Likes

The directory is now deployed every 5 minutes from git, from the repository https://lab.libreho.st/librehosters/directory . Its available at https://libreho.st/directory.json

2 Likes

Fun Fact:

Organization name, Logo and other attributes like that can be sent on SAML also, not sure if it’s useful just yet but might allow for some interesting uses during authentication federation.

Just an FYI for the near future :slight_smile:

And also, I don’t know if you fully understood the json-ld but it allows better SEO too :wink:

https://developers.google.com/search/docs/guides/intro-structured-data

I think we should clarify “foundingDate”, do we want a year or a exact date (YYYY-MM-DD)?

I think exact date is best, for those who do not know they can put jan 01

See: foundingDate, a JSON-LD property, so it’s already defined as a date value in ISO 8601 date format. Same goes for dateCreated and dateModified.

homeUrl should be simply url (a property of Organization). logoUrl should be logo. languages should be a repetition of availableLanguage (?)… Other fields are not present in schema.org and it’s not entirely clear to me how to represent specific URLs that are not defined for an Organization, does that mean we should create a libreho.st JSON-LD schema to represent a LibreHoster, @pierreozoux?

Without mentioning meta object to insert an arbitrary JSON object for future extensions and local additions.

@how yes this is messy at the moment.
I try to get involved on the schemaorg github repo to try to better understand.
I don’t think we need a LibreHoster schema, but maybe we will, who knows :wink:

Is /librehost.json path mandatory?

I noticed that @kate put the JSON file for WebArchitects.Coop at /librehost-api/librehost.json instead of /librehost.json.

If this is OK, then we should modify the documentation and eventually come up with a /.well-known/ solution to dereference the URL to the right file. IMO it’s overkill and we should stick to /librehost.json unless there’s a good reason not to.

1 Like

Im not sure it matters as long as the right url is in the directory. Its probably only for discovery that it would be an issue.

What was my understanding of the dates:

foundingDate:

  • to be read by humans
  • currently “YYYY” (it was based on the hello-matrix ‘Since’ column). Changing to “YYYY-MM-DD” is the same for me as the consumer of the json can still decide what to display. Both are ISO 8601 date format.

dateCreated and dateModified:

  • to be read by machines
  • reflects to the timestamp of the json file itself

Heyo, following https://lab.libreho.st/librehosters/librehost-api/issues/4, I started to play around with building a tool yesterday and it’s available to play with (warning: pre-alpha). It can help to manage things with the schema and also explore the network (via each member’s schema). Check the documentation at:

https://librehosters-cli.readthedocs.io

Happily accepting feedback here and on the issue tracker.

By using the tool, I discovered that both libreops.cc and linux.pizza are using a version 0.0.2 of the schema but we seem to have not updated the ‘latest’ version at https://lab.libreho.st/librehosters/librehost-api/blob/master/librehost.json (still on 0.0.1)? Is there some agreement for increasing the version number?

1 Like

Thank you @decentral1se for taking this up!

There’s no version 0.0.2 of the schema yet. I suppose they have updated their entries and bumped the version. It’s not so clear this version is the schema version.

I opened the first issue :wink:

1 Like
( how )% libreh schema -s ~/src/www/lesoiseaux.io/ps/librehost.json
/home/how/src/www/lesoiseaux.io/ps/librehost.json validated successfully!

:slight_smile:

1 Like

This is not urgent, but maybe could spark some interesting discussion about the Librehosters API.

During Online Meeting May 2020, it was mentioned that

two other hosting federations (the tildeverse.org and chatons.org) who each have their own JSON format to store info about member hosts
https://framagit.org/chatons/entraide/-/blob/master/src/data/chatons-services.json <-- used for entraide.chatons.org
http://protocol.club/~datagrok/beta-wiki/tdp.html

should we try to talk with the other two federations to see if there is interest in unifying the format ?