Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
Rate Macro

...

Wiki Markup
{rate}
{status:implemented|4.4

...

} [Soft Locking|http://documentation.magnolia-cms.com/modules/soft-locking.html] module provides concurrent editing capabilities.
Status

Page locking alerts you if someone else is already editing a page you wish to edit.
See MGNLSLOCK-1@jira (was formerly MAGNOLIA-88@jira)

Problems

  • Magnolia has no explicit moment when you enter or leave the edit mode

Potential Solution

  • We should not use jcr locking but a soft locks
  • We could to use the preview button to toggle locking or unlocking
  • The pages are always opened in preview mode and pressing the edit button toggles to edit mode (lock).
  • The page polls then (by using ajax requests) and as soon no request reaches the server the the page is unlocked (no user action)
  • If a page is locked you still see the edit button but with a warning. If a user wants to he can none the less enter the edit mode.

Variations

A) lock only if you open a dialog

Scenarios

  • user A edits page x
  • user B edits page x
    • user B gets a warning about A editing the same page
    • does user A get a warning about B editing the same page?
  • user A is done with editing and saves page x
    • does user B gets a warning about A having savd the page?
  • user A clicks on preview
    • does user B gets a message about A releasing the lock?

Questions

...

 {status}

Page locking alerts you if someone else is already editing a page you wish to edit.
See [MGNLSLOCK-1@jira] (was formerly [MAGNOLIA-88@jira])

h3. Problems

* Magnolia has no explicit moment when you enter or leave the edit mode

h3. Potential Solution

* We should not use jcr locking but a soft locks
* We could to use the preview button to toggle locking or unlocking
* The pages are always opened in preview mode and pressing the edit button toggles to edit mode (lock).
* The page polls then (by using ajax requests) and as soon no request reaches the server the the page is unlocked (no user action)
* If a page is locked you still see the edit button but with a warning. If a user wants to he can none the less enter the edit mode.

h4. Variations

A) lock only if you open a dialog

h4. Scenarios

* user A edits page x
* user B edits page x
** user B gets a warning about A editing the same page
** does user A get a warning about B editing the same page?

* user A is done with editing and saves page x
** does user B gets a warning about A having savd the page?

* user A clicks on preview
** does user B gets a message about A releasing the lock?

h4. Questions

* Should this feature be a separate module or be integrated in core magnolia?
* for polling the server do we want to use
** an existing lib such as [http://github.com/RobertFischer/JQuery-PeriodicalUpdater/

...

] ?
** if so, what about deps on a js framework such as jQuery?

...


** cook up something ourselves, e.g. [http://ajaxpatterns.org/Periodic_Refresh] ?