Hi Sergiu,
Well grouping them by document isn't good either, as it does not account
for an actual activity that would have had multiple changes at once
(example: generating a documentation, importing a xar or else). It also
fails the chronology (an older change is grouped into the latest change)
which is one of the reason for the performance issue we have on the current
activity stream and also will make it impossible to add to your stream with
new data as the result would be different than a reload.
If there are too many you need some sort of grouping which gives you a
sense of the activity in that wiki. Then you can expand to see the details.
You can click inside the 5 minutes groups to get more details about the
actual activities that were performed in those 5 minutes.
If there are many many changes you could go minute by minute first and
then expand again, either until you get to something that is not
interesting to you or to an individual change.
At that point you can display more information like the comment if it was a
comment, or more details about the change itself. You could provide an
actionable item.
The detailed information that you give all depends on the amount of
information you get in your 5 minute range. If you have sufficienly little
changes you can give more details. If not you invite to expand.
What is interesting is the ability to manage both low usage wikis and high
usage wikis. In the case of high usage, it's useless anyway to look at all
changes one by one. You need to force a grouping that will reduce the
amount of information initially displayed.
I've updated the demo to give it a better look.
On 06/03/2013 05:15 AM, Ludovic Dubost wrote:
Hi,
While working on the mobile application I needed a notification system
that
would send enough but not to many notifications
of changes in a wiki.
Also
I needed the message to be short.
In the end I looked at changes every five minutes and I constructed a
short
message depending on the amount of changes (if
only one page is added
then
send the page title, if multiple pages are
changes in one wiki send the
wiki names and the number of changes, etc..)
After using this for a while on my mobile I found the result quite
interesting and I thought this could also apply to the activity stream.
Here comes an activity stream experiment based on this method:
http://www.xwiki.org/xwiki/bin/view/Main/ActivityStreamDemo (on a multi
wiki)
http://incubator.xwiki.org/xwiki/bin/view/Main/ActivityStreamDemo (on a
single wiki)
Additionally this method allows to implement it quite efficiently, as you
can see at the bottom of the page. It was possible to make this display
with only 2 queries (plus loading of documents for the security checks,
which could in the end be the most costly). One queries finds the
intervals
of 5 (or more) minutes in which there are data.
From there we know how
much
data we need from the activity stream and can
retrieve all that data in
one
query. Finally group by group we construct the
message display. The fact
that you can run this in 2 queries is very important as it means you can
have steady performance both for very active wikis but also for wikis
that
have much less or much older activity. One of the
big problems of
activity
stream displays is that you never initially know
how much data you need
to
display results.
By clicking on the group you can load in ajax the details of the changes.
You can also change the group delay and the number of groups displayed.
Here 60 minutes showing 40 groups
http://www.xwiki.org/xwiki/bin/view/Main/ActivityStreamDemo?max=40&dela…
What is interesting with this system is that the use could decide the
delay
so that he gets a general view of the activity
over a long period of
time.
You could display a couple weeks with a 24 delay
and if you click on the
day you show by groups of 30 minutes. This opens a lot of possibilities.
You could also get into the details of the last hour, then be less
detailed
for the less recent changes.
Food for thoughts for the redesign of the activity stream.
Ludovic
Hi Ludo,
Timeboxing the changes isn't right, since on a wiki with moderate to
high activity it will just be useless: it doesn't say anything about the
documents that were modified unless the groups are expanded. This is
especially true in a workspace environment: all it will say is:
5 minutes ago: X changes in Y wikis
10 minutes ago: X changes in Y wikis
15 minutes ago: X changes in Y wikis
...
--
Sergiu Dumitriu
http://purl.org/net/sergiu
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs