Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#1 2020-06-30 11:51:13

jayrope
Plugin Author
From: Berlin
Registered: 2006-07-06
Posts: 687
Website Mastodon

Mergely integration

Is there an existing (or possible) integration of Mergely or similar open source service, which would allow for versioning articles, editing with multiple authors etc.?
In some cases I don’t want to use Google Docs, and a Textpattern integration of such an idea would greatly expand the concept. Beyond the scope of TXP?
Thank you for any insights.

Last edited by jayrope (2020-06-30 11:52:12)


A hole turned upside down is a dome, when there’s also gravity.

Offline

#2 2020-06-30 12:56:36

Bloke
Developer
From: Leeds, UK
Registered: 2006-01-29
Posts: 11,250
Website GitHub

Re: Mergely integration

Version control only can be done by rah_post_versions.

As for concurrent collaboration, looking at Mergely aside from its page weight of adding over 230KB of components from codemirror and so forth, it seems trivial to add as a plugin to the Write panel. But I’m not entirely sure how you would use it.

It only seems to support two editors: left-hand side and right-hand side. And even then I’m not sure how you would ‘connect’ two remote Textpattern instances so it would know to mirror the changes. I suppose you’re technically both editing a single source so it’s not beyond the realms of possibility to associate the first person to open it as ‘LHS’ and then other as ‘RHS’. I’d have to delve into the docs.

We also have the issue that if two people are editing the same document and commit changes, Txp complains and gives you the option to not save in case you clobber the other edits. That would either need disabling in the plugin or a workaround made.

Short answer: it’s possible. Long answer: there’s nothing I know of right now, but if the right diff engine came along then it’d be interesting to create a plugin that sets up a listener on each Txp instance based on the article ID. If the same listener is instantiated (i.e. the same article ID in use by many) then with every keypress/every few keypresses/every second/etc the changes could be transmitted to any listeners around the globe and the changes highlighted.

Not sure how well that’d work – and it would make sense to limit it to, say, 3 participants or the merging gets incredibly complex. An interesting project for sure.


The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.

Txp Builders – finely-crafted code, design and Txp

Offline

Board footer

Powered by FluxBB