Fwd: [GMG-Devel] Federation, table setup, and permissions

folks working on GNU MediaGoblin also flex their brains trying to federate :)

--- Begin forwarded message from Christopher Allan Webber ---
From: Christopher Allan Webber <cwebber@dustycloud.org>
To: devel <devel@mediagoblin.org>
Date: Mon, 01 Jul 2013 15:25:33 +0000
Subject: [GMG-Devel] Federation, table setup, and permissions

Heya all,

So Jessica Tallon is about to start some work on federation stuff, and
there's some overlap with other things, especially the permission stuff
that Natalie (tilly-q) is working on and the authentication stuff
rodney757 is working on.

Some questions:

 - How to handle remote representations of things (especially in the
   database)?
   - What things need to be remote?
     - Users
     - MediaEntries
     - Collections?
     - Comments?
   - What will it be like to represent remote things?
   - What about database constraints?

     Things like slugs don't apply if it's a remote media entry
     so doing "user + slug" on media entries doesn't make sense

   - Behavior

     Media entries that are remote and media entries locally don't
     really behave the same probably.  Ones that are remote "do a lot
     less"... we probably have captured their thumbnail, but we might
     not know a lot more about them.

   - Options for modeling things
     
     - Different tables: MediaEntry/User vs MediaEntryRemote/UserRemote
       
       Gets around the fact that restrictions are different depending
       on whether something is local or not
       
       Adds new restrictions though.

     - We could have a single table for things like MediaEntry and
       User but have a boolean for "local" (or "remote")
       
       This would be easier to query.  It would mean a messier model
       though.  It would also mean that some of our constraints might
       not be so easy anymore.
       
   - I'm assuming that the single table thing is the right solution.

   - How does StatusNet implement this?

 - Permissions
   - Currently tilly-q is working on permissions; they are pretty
     simple at present, just groups and with users in groups.
     https://gitorious.org/~npigeon/mediagoblin/npigeons-mediagoblin/blobs/OPW-Moderation-Update/mediagoblin/db/models.py#line562
   - What about remote users though?  How does this tie into
     permissions?  Does it tie in at all?

It would be great if we could have a meeting about this all soonish.
I wonder if sometime over the next few days is particularly good?

 - Chris
--- End forwarded message ---

Received on Monday, 1 July 2013 23:24:46 UTC