mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #39101
[Bug 1441422] Re: Realtime collaborative page editing
** Changed in: mahara
Milestone: 16.10.1 => 17.04.0
--
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1441422
Title:
Realtime collaborative page editing
Status in Mahara:
Confirmed
Bug description:
People would like to be able to collaboratively edit Mahara pages in
realtime. I was discussing this with Robert and it actually might not
be that hard to do, at least for group pages (which are already
collaboratively editable). You'd just have to take things at a block-
by-block basis.
1. When you're editing a group page, we use Ajax to periodically poll
the server to determine if someone else is also editing the page.
2. If someone else is editing the page, we show them listed at the top
of the page as a collaborative editor. (Maybe some kind of chat system
to go along side this?) You also poll more frequently.
3. When there are updates to the page, made by someone else, we load
them onto the page immediately.
4. If someone else is editing a block, we "lock" that block. (In the
long run we could have a flag for some types of blocks to be multi-
user collaborative.)
The tricky part here is that you need to be able to track and update (or lock) all the ways that a page can be updated:
- reloading block contents
- adding blocks
- deleting blocks
- moving blocks
And also page metadata...
- changing page layout
- changing page title/description/collection/sharing/tags...
It would probably be easiest to lock the page metadata while someone
is editing the page. Also, what if someone opens a block for editing,
and then they close their window, or their browser crashes? We need
the block to automatically unlock. Perhaps a "keepalive" ping once per
minute.
To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1441422/+subscriptions
References