August 10th, 2015 17:44

Using EtherPad in place of the Context Box

Danyl Strype
Danyl Strype Public Seen by 1323

In the Pirates group we often find ourselves using a PiratePad (implementation of EtherPad run by the German Pirates) instead of the Context Box, for drafting documents. There are a number of benefits to this over using the Context Box including:
* realtime editing by multiple users
* colour-coded tracking of what has been changed by who
* timeline functions which makes it super-easy to navigate through various versions in the history and see what has changed

The downside of this is that at times people put material into the Pad that really ought to be a comment in the Loomio discussion (or both), so you end up with two diverging discussions, and because the contents of the Pad is not on the same page (literally and figuratively) as the Loomio discussion, people can end up talking at cross-purposes because one person hasn't read what the other one has been adding to the Pad. Another downside is that the Pad doesn't know about the privacy settings, or group membership, of the discussion it is attached to.

I imagine it would be a lot of work to reimplement EtherPad functionality within Loomio. But would it be possible to run an Etherpad server in parallel with a Loomio server, and have the pad appear where the Context Box currently appears? Is it possible to make it only visible to users with read access to that group, and only editable by those with write access? It is possible to set it up so that whenever a new discussion is created in the Loomio group, a new pad is also created to be associated with it as just described?

I guess this would be done through a plug-ins architecture? The Context Box would still be the default feature, but if Loomio hosts decided to run an Etherpad, and install the plug-in, the behaviour described above would replace the Context Box on that instance.


fauno August 10th, 2015 18:37

etherpad-lite can be embedded and contents consumed via api (there're several non-functioning plugins for mediawiki...), no idea about piratepad.

at consenso pirata we were planning on adding etherpad-lite support too, since we also use it a lot, but not as a context box but as a working place.

the easiest way to do it would be to add a link button to a pad url with the same discussion id, so you can go back and forth and it's easy to guess to which discussion a pad belongs.

we also discussed detecting changes and showing them as events on the comment+vote stream, but that's clearly more work :)

Rob Guthrie

Rob Guthrie August 10th, 2015 21:35

Sounds super exciting. I'd love to see Loomio Etherpad integrations.


fauno August 14th, 2015 05:51

we have something working, it's basically a button on the context box that links to a configurable etherpad url and shares the discussion key :P


Jon Richter

Jon Richter October 31st, 2015 13:49

Please also be aware of http://prosemirror.net/.

Danyl Strype

Danyl Strype November 3rd, 2015 09:55

Thanks @jonrichter . Would this be something that could be incorporated into the Loomio Context Box to allow for realtime editing and the other missing functionality I mentioned in the discussion starter?

Jon Richter

Jon Richter November 7th, 2015 01:37

Yes. Just to get an idea.

Jacob Gadikian

Jacob Gadikian November 8th, 2015 10:08

I proposed something like this almost a year ago maybe more. I am all for it. Collaborative editing allows for incredible consensus building.

Greg Cassel

Greg Cassel November 8th, 2015 19:25

Collaborative editing allows for incredible consensus building.

Agreed, but it can turn into a total mess if more than a small group of relatively 'like-minded' people have editing permissions at the same time. It can become competitive, and the loudest and most persistent voices may outcompete the possible emergence of collective intelligence.

(Collaborative authorship tools can and will evolve further.)

Danyl Strype

Danyl Strype November 9th, 2015 01:25

This is an important caveat @gregorycassel, but in the context of a Loomio group, none of the features work (comments, proposals etc) if the group isn't at least trying to be somewhat like-minded. I think a more collaborative use of Context Boxen would be an improvement on both the tendency to leave the original discussion starter to go stale as the discussion moves on, and the use of external tools (whether EtherPad, GoogleDocs or something else) as discussed in the OP.

Jacob Gadikian

Jacob Gadikian November 9th, 2015 05:25

Any way we can leverage apache wave concepts? I am just tossing out ideas re: evolution of collaborative editing tools-- there are enough out there that we must be able to find a suitor, I think.

Jacob GadikianE-mail: faddat@gmail.com ( faddat@gmail.com )
SKYPE: faddat
Phone/SMS: +84 167 789 6421

Danyl Strype

Danyl Strype November 14th, 2017 09:52

Apache Wave is the reference implementation of the Wave Federation Protocol, a set of extensions to XMPP (originally developed by Google then handed over to the Apache Foundation). Wave may (or may not) be useful for federating two or more Loomio servers, but I'm not sure how it would be used to add Etherpad-like features for collaborative editing.


fauno November 14th, 2017 14:42

at https://consenso.partidopirata.com.ar we just put an extra button next to the context box linking to a pad called the same as the thread :P

Danyl Strype

Danyl Strype November 15th, 2017 02:07

That's a great start, but I would love to either have the pad embedded in place of the context box, OR, have the current text of the pad auto-imported into the context box, with history.


fauno November 24th, 2017 14:28

embedding etherpad-lite may sound simple but in my experience trying to
make it integrate with mediawiki, most plugins that promise to do it are
half baked and don't even work. maybe things have changed. also, ep
history is huge because it saves every key stroke so i'd say it would be
best just to save the starred revisions.

Danyl Strype

Danyl Strype March 31st, 2018 19:14

More on protocols. From recent reading, it seems that one of the main headaches in using XMPP for web apps is that it's concepts and vocabulary don't fit well with those of the web standards. Matrix is an attempt to do the same things XMPP does using web-native protocols. I'm guessing the Wave protocol was an attempt to hack XMPP into a more web-centric form (the folks working on Wave at Google were well ahead of their time IMHO).

ActivityPub has recently been formalized as a W3C standard for federation of social media apps. It's being used to federate microblogging apps like Mastodon and Hubzilla, as well as media hosting apps like MediaGoblin and PeerTube, and file storage apps like NextCloud. I wonder if AP would be useful in handling interactions between a Loomio server and an Etherpad server?

Danyl Strype

Danyl Strype April 6th, 2018 11:12

Thanks to the good folks at Disroot.og, I just discovered CryptPad, which might be a better choice for this use case than Etherpad.

It encrypts edits to pads using ChainPad allowing them to be visible and editable only by authenticated users. It's licensed AGPL, like Loomio, so high chance of shared values. FYI they use an intriguing CLA called the Commons Management Agreement.

EDIT: fixed typo

Rob Guthrie

Rob Guthrie April 6th, 2018 22:17

Wow. Looks cool!