Loomio

Plugin architecture

Ilya Kuchaev PublicSeen by 32

I've fount the old roadmap https://www.loomio.org/d/n7k1WMGl/2013-roadmap with this option. However I didn't find any implementation in sources. It will be really helpful feature!

Richard D. Bartlett

Hey @ilyakuchaev :)

A big part of the work we're currently doing for "Loomio 1.0" is to build an API that allows the new app to talk to the old one. Once that API has stabilised, we'll be able to give other people access to it, which is a key precursor to developing plugins and other integrations.

Personally I think plugins are of critical importance to this project: the core app can be extremely simple and accessible so anyone can use it, and then the plugins can provide more functionality and options for people that have specific needs. The first plugin I have in mind is for different decision types, switching out the proposal for a poll, for instance.

Ilya Kuchaev

My "must have" functionality is an easy implementation of Omniauth strategies. The other - some kind of CMS for static pages (groups landing pages, projects descriptions, etc.).

Richard D. Bartlett

Oh yeah I am so so so enthusiastic about a CMS.

Basically we are focussed on making the core user experience as absolutely straightforward and engaging as possible, and then we will get to explore lots of exciting ideas slightly off to the side :)

Richard D. Bartlett

That's it for now Steve. If you have a specific use case in mind, it would be great if you could share it on that github thread. We're going to be giving the api more attention over the next few weeks, so it is good to pull in lots of different needs and we can figure out what makes sense to build.

Charlie DeTar

I'm extremely interested in some sort of outbound federated auth for loomio. What I mean by that: I want other developers to be able to write new apps (hosted elsewhere) that allow people to "sign in with loomio". The neat opportunity here would be to have signing in with loomio carry group models with it -- so users of other new apps don't have to re-define and re-invite their groups just to try out a new interaction. This could be done fairly straight-forwardly by making loomio an oauth provider for authentication and group definitions.

Has there been any work on this sort of thing? I have time and interest to contribute code to this over the next couple of months, but want to make sure I'm not duplicating another effort that exists on this front.

Steve Phillips / @elimisteve

Hi Charlie,

I sign into Loomio with Persona and therefore don't need to create a new account. Is this problematic for you? Works great for me :-). It's seamless! Though I already had a Persona account, which by the way provides something very similar to the federated login which you seek.

I'm not sure how difficult it is for apps to sign in with Persona compared to OAuth, though.

Charlie DeTar

Persona's great. But if you sign in to another app with persona, the other app knows nothing about your loomio groups.

Suppose you wanted to have a group calendar, or a group shared document, or a group file repository, or any number of other things beyond loomio's scope but which still belong to the same group. Could you have those things without having to set up your whole group structure, inviting all the members etc. in the new app? And what happens if someone leaves the group -- do you have to remember all the places where you've granted them access, and revoke access one by one?

You're right that just "Sign in with Loomio" for a single user doesn't add much. But if it can bring the whole group with it, it adds a whole lot!

Steve Phillips / @elimisteve

Ah, I see. That would be cool, though very challenging to implement from scratch. However, there is a project that provides such functionality, which I currently use.

The protocol is called Tent and you can read about it at http://tent.io. So far they've created a Twitter clone with the protocol, but much more sophisticated applications are in the works. You can join this minimalist social network at http://cupcake.io, where my username is "elimisteve" :-).

Maybe Loomio can use Tent once each project is a bit more mature!

Simon Tegg

@charliedetar you should talk to @ahdinosaur.