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 <[EMAIL PROTECTED]>
> 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
>>
>> _______________________________________________
>> devs mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/devs
>>
>
>
> --
> http://wikibc.blogspot.com/
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>


_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to