Actually federate license #259

Closed
opened 2018-10-04 12:25:28 +00:00 by elegaanz · 1 comment
elegaanz commented 2018-10-04 12:25:28 +00:00 (Migrated from github.com)

We currently fallback to the default license for remote articles, but it should be federated. I think Peertube federates it, we should see how it is done there.

Plume version (and/or commit): 0.2.0

We currently fallback to the default license for remote articles, but it should be federated. I think Peertube federates it, we should see how it is done there. Plume version (and/or commit): 0.2.0

I checked a bit Peertube's code (oh god typescript is better than js), and here are a few thing that we might replicate from them (all of the below vars goes into the object part of an activity):

  • license is federated via a licence tag, which is a

    struct Licence {
        identifier: String,
        name: String,
    }
    

    I assume identifier is an id and name the actual license name, however I haven't time to check yet
    Edit: Peertube support a limited number of licenses, with id from 1 to 7 :

    const VIDEO_LICENCES = {
      1: 'Attribution',
      2: 'Attribution - Share Alike',
      3: 'Attribution - No Derivatives',
      4: 'Attribution - Non Commercial',
      5: 'Attribution - Non Commercial - Share Alike',
      6: 'Attribution - Non Commercial - No Derivatives',
      7: 'Public Domain Dedication'
    }
    
  • comments are disabled via a commentsEnabled: bool (see #270)

  • there is an updated: Date field, which we might want to use too as we support post update

  • icon are federated via a icon tag (see #236), which is a

    struct Icon {
      type: String, //"Image"
      url: String
      mediaType: String, // "image/jpeg"
      width: u32,
      height: u32,
    }
    
I checked a bit Peertube's code (oh god typescript is better than js), and here are a few thing that we might replicate from them (all of the below vars goes into the `object` part of an activity): - license is federated via a `licence` tag, which is a ```rust struct Licence { identifier: String, name: String, } ``` I assume identifier is an id and name the actual license name, however I haven't time to check yet Edit: Peertube support a limited number of licenses, with id from 1 to 7 : ```typescript const VIDEO_LICENCES = { 1: 'Attribution', 2: 'Attribution - Share Alike', 3: 'Attribution - No Derivatives', 4: 'Attribution - Non Commercial', 5: 'Attribution - Non Commercial - Share Alike', 6: 'Attribution - Non Commercial - No Derivatives', 7: 'Public Domain Dedication' } ``` - comments are disabled via a `commentsEnabled: bool` (see #270) - there is an `updated: Date` field, which we might want to use too as we support post update - icon are federated via a `icon` tag (see #236), which is a ```rust struct Icon { type: String, //"Image" url: String mediaType: String, // "image/jpeg" width: u32, height: u32, } ```
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Plume/Plume#259
No description provided.