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

Reply via email to