On Tue, Jun 26, 2012 at 10:41 AM, Vincent Massol <vincent(a)massol.net> wrote:
Hi Caty,
On Jun 25, 2012, at 10:08 PM, Ecaterina Moraru (Valica) wrote:
Hi,
Over my time spent in XWiki I have had several discussions with Sergiu,
Marta, Marius, Eduard about making the editing process more collaborative
and rewarding for the contributors.
I finally made a proposal that encapsulated the following use cases:
- UC1: *Concurrent Editing *
- Allow multiple users to edit a page at the same time with local
versions and propose to merge any eventual conflicts after pressing
save
- UC2: *Viewing History Versions*
- When viewing the page history, be able to distinguish also the
magnitude of the contribution brought by the version
- UC3: *Viewing History Statistics*
- Be able to quickly scan how the content changed over time, how
much
content each contributor invested and each
contributor's role
(editor,
commentator, attacher)
- UC4: *Viewing History Content Overview*
- Be able to blame someone for a certain portion of the content and
also visually scan the contribution's magnitude of each contributor
Although the discussions also contained more elaborate/fun topics (like
reputation mechanisms for contributors, achievements, etc.) this proposal
covers just the mentioned use cases.
You can view the proposal at:
http://incubator.myxwiki.org/xwiki/bin/view/Improvements/CollaborativeEditi…
Feedback or other suggestion that match the purpose ("By rewarding
participation, the contributors will feel appreciated and will want to
contribute more.") of this proposal are welcomed.
This is great. I'm very much in favor in bringing some "fun" in xwiki
because I fully believe in gaming for enterprise products. I agree it can
stimulate the collaboration.
Some quick remarks/questions:
Hi Vincent,
Thanks for all your comments.
Details1.png:
* I'd put the version 53.1 on top right a bit less visible in view mode.
I'd put just before the "Last modified by Eduard…" as in "Version 53.1
last
modified by Eduard…" using the same color but keeping the dropdown.
This is a nice solution.
* Does it mean the tabs at the bottom of pages are
removed now? i.e. that
users need to click on the icons in the edit bar to get
comments/attachments/page info/history/etc?
* I'm not sure why you have put History next to View and Edit buttons. IMO
History is not more important than say, comments or attachments to I'd put
it on the right with the rest in order to have an edit bar as light as
possible.
The skin structure is not complete. The menus are not final and I didn't
even started the comments, page info, etc. zones. The current structure is
made in order to have at least a position for the menus and for me to
imagine the minimum interaction. I will make a separate proposal with this
purpose when they are finished.
* Imagine editor1 save the page and gets the conflict
resolution UI. Now
image editor2 does the same while the conflict resolution UI is not closed
by the 1st editor. What happens? How do we handle this?
Well, editor1 will handle 2 conflict resolutions in a row (if the editor2
is quicker than him and resolves it faster). There will be 2 conflict
resolutions only if by chance editor2 edited exactly the same line,
otherwise the changes will be merged automatically.
Also we could have just like gmail a notify feature (like when you are
editing the mail and you are notified that a new response has arrived) that
notifies you that a new version of the document has been created (as in
editor2 managed to save the content) + an option to refresh the areas not
affected by editor1 edits (but this could take the content out of the
version's context). Also this behavior (lots of notifications) could be
stressful for the editor and the row conflict resolutions is better (I will
resolve one conflict from editor0 and me and then a conflict between me and
editor2).
If there are other users that make versions, instead of editor2 conflict
will be the latest conflict after I resolve the first.
The notify feature is already displayed when a new editor opens the
document in edit mode
http://incubator.myxwiki.org/xwiki/bin/download/Improvements/CollaborativeE…
Details2.png:
* Very nice, perfect. How does it scale with users? Imagine 10 users edit
the page, how do you do the merge or present the current active users?
Well, the bottom part is separated in two (left, right). The editors zone
will have room to dilate until 50% of the page on any number of rows it
wants. Regarding the representation of the editors, if we have just 1-3 we
can display also the name of the editor, if they are more we could show
just the photo.
If an user has the page open it is considered active. They could be
enumerated in alphabetical order or in the order of arrival. We could have
a title on hovering the photo stating since when the user is editing the
page.
Details3.png:
* The Rollback button is strange because you don't know what you're
rolling back since there are 2 versions selected
When I imagined the UI I was talking out loud like:
- Compare from v15.2 to 15.3 (or reverse)
- Delete from v15.2 to 15.3 (or reverse)
- Rollback from current (15.3) to desired (12.0), but yes it has sense if
the start version is the current one.
I'll think more about the history actions interaction.
* Lines diff is cool
Details4.png:
* Very nice.
* I wouldn't put stats as a subitem of History. IMO it's better to be at
the level of Page Info or even on its own in a new Stats button contributed
by the stats app
Details5.png:
* I really like Content Overview (equivalent of Annotate or Blame view on
Subversion/Git)
* Colors are at the level of the character or line? BTW is the diff at the
level of the line only or char?
Well for the contributions it will need to be at char level, because users
can change just punctuation, etc. For example, line 21 from
http://incubator.myxwiki.org/xwiki/bin/download/Improvements/CollaborativeE….
I'm not sure how hard this is from a technical pov.
Nice work!
Thanks,
Caty
Thanks
-Vincent
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs