← Back to team overview

mahara-contributors team mailing list archive

[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