What's important I think is that you talk to Laurent Lunati since he's
a designer and is good at ergonomics too.
-Vincent
On Oct 16, 2007, at 3:04 PM, Marius Dumitru Florea wrote:
Guillaume, I'm glad you think this way. If
you're not into technical
details then perhaps you could tell me what's your opinion on the ui
improvements, from the perspective of a xwiki user. Here's what I
propose:
The Stats page could initially contain the following panels:
+----------------------------------------------+
| Most viewed pages |
+----------------------------------------------+
| Space: [combobox] |
| Period: alltime | year | month | week | day |
| xxx: <<Previous | Now | Next >> |
| |
| 1. aPage (2262) |
| 2. bPage (1180) |
| ... |
| 10. jPage (320) |
+----------------------------------------------+
+----------------------------------------------+
| Most edited pages |
+----------------------------------------------+
| ... |
+----------------------------------------------+
+----------------------------------------------+
| Best contributors |
+----------------------------------------------+
| Space: [combobox] |
| Period: alltime | year | month | week | day |
| xxx: <<Previous | Now | Next >> |
| |
| 1. aUser |
| 2. bUser |
| ... |
| 10. jUser |
+----------------------------------------------+
+----------------------------------------------+
| Activity |
+----------------------------------------------+
| Space: [combobox] Page: [combobox] |
| Period: alltime | year | month | week |
| xxx: <<Previous | Now | Next >> |
| |
| [chart: page/space/wiki views vs. edits ] |
| [see last chart from
http://www.xwiki.org/xwiki/bin/view/Code/ChartingSamples] |
+----------------------------------------------+
Vincent pointed me to
http://confluence.atlassian.com/display/DOC/Viewing+Space+Activity
so my
inspiration comes from there. If any of you has a better idea please
speak
up!
Regards,
Marius
> No idea at all about the technical details, but an improved
> Statistics
> page would be a great tool -> that's a great way to graphically
> demonstrate the activity of a given wiki.
>
> Guillaume
>
> On 16/10/2007, Marius Dumitru Florea <mariusdumitru.florea(a)xwiki.com>
> wrote:
>> Hi all,
>>
>> The statistics page needs improvement. See
>>
http://jira.xwiki.org/jira/browse/XE-37 for a brief introduction. I
>> propose we take the following steps:
>>
>> 1) Extend the xwiki core api with:
>>
>> package com.xpn.xwiki.api;
>>
>> /**
>> * Statistics api
>> */
>> public class StatsService extends Api{
>> /**
>> * Retrieve all-time statistics for top pages
>> *
>> * @param action Can be "view", "save", etc.
>> * @param space The space from which to consider pages. If space
>> is the
>> empty string or null then the whole wiki is considered.
>> * @param count The number of page stats to retrieve.
>> *
>> * @return a list of document stats
>> */
>> List<DocumentStats> getTopPages(String action, String space, int
>> count){}
>> List<DocumentStats> getMonthTopPages(String action, String space,
>> Date
>> month, int count){}
>> List<DocumentStats> getDayTopPages(String action, String space, Date
>> day,
>> int count){}
>>
>> /**
>> * Retrieve all-time statistics for top contributors
>> *
>> * @param space The space in which to look for contributions. If
>> space
>> is
>> the empty string or null then the whole wiki is considered. NOTE:
>> currently the database stores statistics regarding only the whole
>> wiki
>> (e.g. the number of saves a user has made in the entire wiki, but
>> not at
>> space level). To implement space-level contributor statistics I
>> need to
>> consider page history, which is time-consuming (e.g. for each page
>> in
>> space, for each history entry ...). I go for offering (at least
>> for the
>> moment) user stats only at wiki level by removing this parameter.
>> * @param count The number of user stats to retrieve
>> *
>> * @return The list of user stats
>> */
>> List<VisitStats> getTopContributors(String space, int count){}
>> List<VisitStats> getMonthTopContributors(String space, Date month,
>> int
>> count){}
>> List<VisitStats> getDayTopContributors(String space, Date day, int
>> count){}
>>
>> /**
>> * Retrieve the evolution of the specified activity over a period of
>> time
>> *
>> * @param action Can be "view", "save", etc.
>> * @param docOrSpace The (full)name of a document or space or the
>> empty
>> string / null for the whole wiki
>> * @param startDay The start date
>> * @param endDay The end date
>> * @param dayInterval The sample rate (e.g. at every 2 days)
>> *
>> * @return A map of (date, action count) pairs.
>> */
>> Map<Date, Integer> getActivityPerDay(String action, String
>> docOrSpace,
>> Date startDay, Date endDay, int dayInterval){}
>> Map<Date, Integer> getActivityPerMonth(String action, String
>> docOrSpace,
>> Date startMonth, Date endMonth, int monthInterval){}
>> Map<Date, Integer> getActivityPerYear(String action, String
>> docOrSpace,
>> Date startYear, Date endYear, int yearInterval){}
>> }
>>
>> 2) Add in the com.xpn.xwiki.api.XWiki the following method:
>>
>> public StatsService getStatsService(){}
>>
>> 3) Extend the com.xpn.xwiki.stats.api.XWikiStatsService with:
>>
>> List<DocumentStats> getTopPages(String action, String space, int
>> count,
>> XWikiContext context){}
>>
>> List<DocumentStats> getMonthTopPages(String action, String space,
>> Date
>> month, int count, XWikiContext context){}
>>
>> List<DocumentStats> getDayTopPages(String action, String space, Date
>> day,
>> int count, XWikiContext context){}
>>
>> List<VisitStats> getTopContributors(String space, int count,
>> XWikiContext
>> context){}
>>
>> List<VisitStats> getMonthTopContributors(String space, Date month,
>> int
>> count, XWikiContext context){}
>>
>> List<VisitStats> getDayTopContributors(String space, Date day, int
>> count,
>> XWikiContext context){}
>>
>> Map<Date, Integer> getActivityPerDay(String action, String
>> docOrSpace,
>> Date startDay, Date endDay, int dayInterval, XWikiContext context){}
>>
>> Map<Date, Integer> getActivityPerMonth(String action, String
>> docOrSpace,
>> Date startMonth, Date endMonth, int monthInterval, XWikiContext
>> context){}
>>
>> Map<Date, Integer> getActivityPerYear(String action, String
>> docOrSpace,
>> Date startYear, Date endYear, int yearInterval, XWikiContext
>> context){}
>>
>> 4) Adjust the com.xpn.xwiki.stats.impl.XWikiStatsServiceImpl
>>
>> 5) In com.xpn.xwiki.api.XWiki there are 2 methods related to
>> statistics:
>>
>> * getCurrentMonthXWikiStats
>> * getRefererText
>>
>> We could duplicate this methods in the StatsService and deprecate
>> them
>> in
>> XWiki.
>>
>> 6) Currently the xwiki chart macro doesn't support hidden (aka not
>> visible
>> in page) data sources. This is how the char macro is used now:
>>
>> {chart:type=time|source=type:table;table_number:4;...}
>>
>> I propose to extend the macro to allow the following usage:
>>
>> {chart:type=time|source=type:table;...}
>> {table}
>> | Series1 | Series2
>> 2001-2 | 181.8 | 129.6
>> 2001-3 | 167.3 | 123.2
>> 2001-4 | 153.8 | 117.2
>> {table}
>> {chart}
>>
>> This extension consists in:
>> * add chart macro's content to the parameters map given to the data
>> source
>> * adjust the TableDataSource to use this content when no
>> table_number is
>> specified
>>
>> 7) Create the xwiki-platform-applications/statistics application
>> to host
>> the statistics related pages. Different stats will be displayed
>> using
>> special panels that can be inserted into a page (see
>>
http://llunati.xwiki.com/xwiki/bin/view/Albatross/PanelInPage for a
>> sample). I propose to use the Panels space for this pages (e.g use
>> the
>> path src/main/resources/Panels). Vincent could help me with this.
>>
>> 8) Create the Stats page (aka the UI). The Stats page is now in the
>> XWiki
>> space, meaning it is not accessible for the regular user (event
>> when the
>> statistics module is enabled). I don't really like this. I like
>> more how
>>
jira.xwiki.org shows me its stats even when I'm not logged in. In
>> the
>> future, I think it would be great if the users could see page/
>> space/wiki
>> stats much the same they see now the xwiki code of the page (e.g.
>> Show >
>> Stats). For the moment I propose to make only a single stats page
>> (XWiki.Stats).
>>
>> That's all. WDYT?
>> -Marius
>>