happybeing / safepress

SAFE Network website creator - CMS / blog. A SAFE Web App that creates websites/web apps on SAFE
GNU General Public License v3.0
25 stars 4 forks source link

Decentralised CMS structure #3

Open joshuef opened 9 years ago

joshuef commented 9 years ago

How are we going to manage logging in to another user's site for creating posts / commenting etc? This issue is solely for discussion of this setup.

If the SAFEpress app is effectively a CMS, it needs to be able to access a site's info and posts, and this should be possible on SAFE by accessing the content / a manifest in some form from any number of contributors SAFE space.

With the intent being that whatever you write on a safepress site is yours and resides with you, only the site could co-ordinate and collate this. Either at site load (probably slow), or via static file generation (which would require some server/listening instance to be dynamic). I don't see this as being mutually exclusive, perhaps it's comes down to individual choice / seeing how the network performs.

Either way, I'm beginning to think a site OWNER would create, via SAFEpress, a site manifest:

"site": {
    "siteName": "SAFEpress",
    "siteURL": "safe:safepress.com",
    "contributors": ["array", "of", "contributors"],
    "posts": [ "array of SAFEuri to post manifests"]
}

So from each post we'd know where to ping SAFE to get info for each post, which would have a similar JSON structure, including content etc, which the app could access.

With this setup, anyone could point a SAFEpress instance to this manifest, and as an authorised contributor, gain access to the post list etc, and update the manifest with any new posts they create.

Questions raised:

happybeing commented 9 years ago

I haven't fleshed out the ownership and operations yet so I'm not 100% on the solution, but as I mentioned in discussions on the forum, I think we are allowed to give the site owner / admins overall control of the content on the site.

This means that while an author may contribute, they do not control the content on the site. So authoring would be:

At this point the author can do what they like to their content, because it is not yet part of the site. Next, site owner / admins can:

Now the content is published, but the author cannot unilaterally delete it. They can though either send a request it be deleted, or edit it and send a request it be updated, following which the owner/admins can again review and either ok or reject the request.

This is the difference between WordPress / website (centralised curation) model, and a decentralised social network such as facebook/twitter/YouTube where individuals would have the right to arbitrarily edit or remove content they own.

Blindsite2k was arguing for SAFEpress to follow the latter model on the forum, but I rejected this for two reasons: 1) I don't think it is true that all SAFE website/apps should decentralise curation, and 2) I haven't figured out a way to implement decentralised curation with the system as it stands.

I think by handling curation in the way I've described, we can achieve a fully operational CMS without the need to fudge updating of the manifest by a pseudo-server process. It happens when the owner/admins review the submission messages, and accept or reject those submissions.

EDIT: BTW This is all in the Outline Design!

PhilosopherRex commented 9 years ago

Just to stretch the imagination here ... with current blogging we often share our posts on multiple blogs. If authors could submit their posts to multiple sites (where they've already been given permission as authors) ... then that would be a huge time-saver. Perhaps this would require a separate app for authors though.

joshuef commented 9 years ago

I think that would be wholly possible and not particularly complex (maybe the UI... but functionally, not too bad).

In this paradigm, you'd be saving your content yourself, you'd just need to notify the relevant SAFEblogs about it, and then they can grab your content and work with that.