← Back to team overview

mahara-contributors team mailing list archive

[Bug 1157543] Re: Record page editing history

 

Sorry for my slow response.

I'm working on full-on page versioning, and am trying to make it as
simple as possible.

My implementation plan is as follows:
 X Make tables to store incremental diffs between versions of the database row that stores the artefact/block/page (simply item ID, revision ID for item, mtime, diff; item ID + rev ID = Primary key).
 X Add lib/revision.php to do the work of calculating the diff and storing it (hooks into commit fns and called between generating the new version of a DB row and actually saving it).
- Modify existing database structures where possible so that all of the data related to a revision is in the row. At the moment, I'm reworking the code for storing block locations within a layout, putting them into a serialised array in a field in view, and adding a view_block table to implement what will now be a many-to-many relationship between views and blocks.
_ Design and add a UI for viewing past versions of a page and its components. Kristina was thinking of a slider at the bottom of the page.
_ Also provide support for deleting/merging old revisions, and cascade delete unneeded blocks/artefacts as required
_ Provide a UI for en/disabling revisions (sitewide and more granular)

Regards,

Nigel

-- 
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/1157543

Title:
  Record page editing history

Status in Mahara ePortfolio:
  In Progress

Bug description:
  I'd like to "dogfood" Mahara's developer documentation by moving it
  from Mediawiki to the Mahara platform itself, probably as group pages
  so it could still be edited by many people. One of the features that
  is lacking to make this feasible, though, is having an edit history.
  The wiki allows us to keep track of who made what edits, and to revert
  to older versions if necessary.

  So, I'd like to see Mahara gain the ability to keep track of a page's
  edit history. At a minimum it needs:

  1. Who made changes, at what time
  2. What the page looked like at each revision
  3. Ability to revert the page to a previous version

  Also good would be:

  4. Ability to "diff" versions and highlight what changed
  5. Comments that go in the history log
  6. "Publish" ability (including publishing at a later time/date)
  7. Versioning file attachments, see also https://bugs.launchpad.net/mahara/+bug/548195

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1157543/+subscriptions