[xwiki-devs] [Statistics][Proposal] Improve the statistics page
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
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@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
_______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
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@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
_______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- http://wikibc.blogspot.com/ _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
Hi all, Vincent advised me to use Jode-Time framework for the xwiki's statistics instead of the standard java.util.Date and java.util.Calendar from the jdk. The fact that: * "Joda-Time provides a quality replacement for the Java date and time classes" * "JSR 310 has now been launched. It aims to build upon Joda-Time and include it in the JDK" * it seems easy to use, after a quick overview made me believe that adding Joda-Time library to xwiki is a good idea. You should take a look at http://joda-time.sourceforge.net/ and then tell me your opinion. Version 1.4 is already in the central maven repo at http://repo1.maven.org/maven2/joda-time/joda-time/1.4/ and it weights only 500K. I just have to add the dependency in the xwiki-core/pom.xml. Regards, Marius
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@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
Hi Marius, Note: I've discussed all of the points below with Marius on Skype so I'm summarizing for everyone's benefit. See below On Oct 16, 2007, at 1:16 PM, Marius Dumitru Florea 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:
[snip] Sounds good to me. Make sure you use JDK 1.4 and not 1.5 for now since XWiki core is supposed to run on 1.4.
2) Add in the com.xpn.xwiki.api.XWiki the following method:
public StatsService getStatsService(){}
+1
3) Extend the com.xpn.xwiki.stats.api.XWikiStatsService with:
[snip] +1
4) Adjust the com.xpn.xwiki.stats.impl.XWikiStatsServiceImpl
+1
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.
+1 Since you've finished points 1 through 5 please send a patch now in JIRA. The idea is to include it in 1.2M2 and to leave the UI (i.e. points 7 and 8 below) for later (we could release it as a separate application to start with or decide to add it in 1.2RC1 if we want to bend the RC rule or do a 1.2M3 with limited changes).
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
Since the chart macro supports taking source from other documents let's use that feature. It'll also allow to have detailed data for each type of stats.
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.
I propose to use a Statistics space instead and to make that space viewable by Admins only by default (since stats are off by default and since it's possible admins want to restrict stats to themselves - they can also change the rights to make them visible for everyone).
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).
See above. Thanks and sorry again for the lag in my answer. -Vincent
2007/11/6, Vincent Massol <vincent@massol.net>:
Hi Marius,
Note: I've discussed all of the points below with Marius on Skype so I'm summarizing for everyone's benefit.
See below
On Oct 16, 2007, at 1:16 PM, Marius Dumitru Florea 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:
[snip]
Sounds good to me. Make sure you use JDK 1.4 and not 1.5 for now since XWiki core is supposed to run on 1.4.
2) Add in the com.xpn.xwiki.api.XWiki the following method:
public StatsService getStatsService(){}
+1
3) Extend the com.xpn.xwiki.stats.api.XWikiStatsService with:
[snip]
+1
4) Adjust the com.xpn.xwiki.stats.impl.XWikiStatsServiceImpl
+1
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.
+1
Since you've finished points 1 through 5 please send a patch now in JIRA. The idea is to include it in 1.2M2 and to leave the UI (i.e. points 7 and 8 below) for later (we could release it as a separate application to start with or decide to add it in 1.2RC1 if we want to bend the RC rule or do a 1.2M3 with limited changes).
XEM will also need to have it in the 1.1 branch of Platform/XE.
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
Since the chart macro supports taking source from other documents let's use that feature. It'll also allow to have detailed data for each type of stats.
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.
I propose to use a Statistics space instead and to make that space viewable by Admins only by default (since stats are off by default and since it's possible admins want to restrict stats to themselves - they can also change the rights to make them visible for everyone).
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).
See above.
Thanks and sorry again for the lag in my answer. -Vincent _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
On Nov 6, 2007, at 12:30 PM, Thomas Mortagne wrote: [snip]
Since you've finished points 1 through 5 please send a patch now in JIRA. The idea is to include it in 1.2M2 and to leave the UI (i.e. points 7 and 8 below) for later (we could release it as a separate application to start with or decide to add it in 1.2RC1 if we want to bend the RC rule or do a 1.2M3 with limited changes).
XEM will also need to have it in the 1.1 branch of Platform/XE.
Could that be in 1.1.3? Or would you rather have it in 1.1.2? Thanks -Vincent
If think it is better to plane it for 1.1.3 with XEM 1.0M3 for example. 2007/11/6, Vincent Massol <vincent@massol.net>:
On Nov 6, 2007, at 12:30 PM, Thomas Mortagne wrote:
[snip]
Since you've finished points 1 through 5 please send a patch now in JIRA. The idea is to include it in 1.2M2 and to leave the UI (i.e. points 7 and 8 below) for later (we could release it as a separate application to start with or decide to add it in 1.2RC1 if we want to bend the RC rule or do a 1.2M3 with limited changes).
XEM will also need to have it in the 1.1 branch of Platform/XE.
Could that be in 1.1.3? Or would you rather have it in 1.1.2?
Thanks -Vincent
_______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
I've done the patch for the Java part of the Statistics Application. Comments are welcome (http://jira.xwiki.org/jira/browse/XE-140). Thanks! -Marius
Laurent just gave me this link http://haveamint.com/about/feature_highlights and it triggered some new ideas. Right now the Statistics Application has the ability to display the following data, using the API I've made: 1. Most viewed/edited pages within a space or the whole wiki 2. Best contributors per space or per entire wiki 3. Activity (views/edits) per year/month/week/day I could add the following functionality: 4. Best referrers per space or per entire wiki 5. Most used user agents I have this info in the database, but there is no API for it. One day would be enough. So wdyt? -Marius
On Nov 8, 2007, at 12:52 PM, Marius Dumitru Florea wrote:
Laurent just gave me this link http://haveamint.com/about/feature_highlights and it triggered some new ideas. Right now the Statistics Application has the ability to display the following data, using the API I've made:
1. Most viewed/edited pages within a space or the whole wiki 2. Best contributors per space or per entire wiki 3. Activity (views/edits) per year/month/week/day
I could add the following functionality:
4. Best referrers per space or per entire wiki 5. Most used user agents
I have this info in the database, but there is no API for it. One day would be enough. So wdyt?
ok for me, provided it doesn't make the page too complex to read. Otherwise it could be on different pages. Do you have a mock up UI of how it would fit? Thanks -Vincent
On Nov 8, 2007, at 12:52 PM, Marius Dumitru Florea wrote:
Laurent just gave me this link http://haveamint.com/about/feature_highlights and it triggered some new ideas. Right now the Statistics Application has the ability to display the following data, using the API I've made:
1. Most viewed/edited pages within a space or the whole wiki 2. Best contributors per space or per entire wiki 3. Activity (views/edits) per year/month/week/day
I could add the following functionality:
4. Best referrers per space or per entire wiki 5. Most used user agents
I have this info in the database, but there is no API for it. One day would be enough. So wdyt?
ok for me, provided it doesn't make the page too complex to read. Otherwise it could be on different pages.
Do you have a mock up UI of how it would fit?
Not yet, but very soon. Next week for sure. The deadline is still November 15th.
Thanks -Vincent _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
On Nov 9, 2007, at 9:19 AM, Marius Dumitru Florea wrote:
On Nov 8, 2007, at 12:52 PM, Marius Dumitru Florea wrote:
Laurent just gave me this link http://haveamint.com/about/feature_highlights and it triggered some new ideas. Right now the Statistics Application has the ability to display the following data, using the API I've made:
1. Most viewed/edited pages within a space or the whole wiki 2. Best contributors per space or per entire wiki 3. Activity (views/edits) per year/month/week/day
I could add the following functionality:
4. Best referrers per space or per entire wiki 5. Most used user agents
I have this info in the database, but there is no API for it. One day would be enough. So wdyt?
ok for me, provided it doesn't make the page too complex to read. Otherwise it could be on different pages.
Do you have a mock up UI of how it would fit?
Not yet, but very soon. Next week for sure. The deadline is still November 15th.
The deadline is for finished work, i.e. everyone has seen it, tested it, agreed on it... So if you want to be sure we all agree you'll need to send something way before the target date :) I'm talking about mock up, not finished UI. If you want to finish by 15th I think you need to send the mock up right now, even if it's a scanned sheet of paper. Thanks Marius -Vincent
I've attached to the jira issue http://jira.xwiki.org/jira/browse/XE-37 three screenshots for you to have a first glimpse of Statistics' UI. The first includes all the stats in one single page, while the second and the third are a result of Vincent's concern that the last three panels (Referrers, User Agents and Operating Systems) might offer different infos than the others, therefore requiring a split. Any thoughts? Thanks Vincent -Marius
On Nov 9, 2007, at 9:19 AM, Marius Dumitru Florea wrote:
On Nov 8, 2007, at 12:52 PM, Marius Dumitru Florea wrote:
Laurent just gave me this link http://haveamint.com/about/feature_highlights and it triggered some new ideas. Right now the Statistics Application has the ability to display the following data, using the API I've made:
1. Most viewed/edited pages within a space or the whole wiki 2. Best contributors per space or per entire wiki 3. Activity (views/edits) per year/month/week/day
I could add the following functionality:
4. Best referrers per space or per entire wiki 5. Most used user agents
I have this info in the database, but there is no API for it. One day would be enough. So wdyt?
ok for me, provided it doesn't make the page too complex to read. Otherwise it could be on different pages.
Do you have a mock up UI of how it would fit?
Not yet, but very soon. Next week for sure. The deadline is still November 15th.
The deadline is for finished work, i.e. everyone has seen it, tested it, agreed on it... So if you want to be sure we all agree you'll need to send something way before the target date :)
I'm talking about mock up, not finished UI. If you want to finish by 15th I think you need to send the mock up right now, even if it's a scanned sheet of paper.
Thanks Marius -Vincent
_______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
On Nov 12, 2007, at 8:34 AM, Marius Dumitru Florea wrote:
I've attached to the jira issue http://jira.xwiki.org/jira/browse/ XE-37 three screenshots for you to have a first glimpse of Statistics' UI. The first includes all the stats in one single page, while the second and the third are a result of Vincent's concern that the last three panels (Referrers, User Agents and Operating Systems) might offer different infos than the others, therefore requiring a split. Any thoughts?
I've answered in JIRA. I'd like to know what others think about the split and whether it's a good thing to split or not. Of course another option (but too complex for now IMO) is to offer a Panel Wizard like feature for letting the admin choose what stat panels too display on the page... Thanks -Vincent
On Nov 9, 2007, at 9:19 AM, Marius Dumitru Florea wrote:
On Nov 8, 2007, at 12:52 PM, Marius Dumitru Florea wrote:
Laurent just gave me this link http://haveamint.com/about/feature_highlights and it triggered some new ideas. Right now the Statistics Application has the ability to display the following data, using the API I've made:
1. Most viewed/edited pages within a space or the whole wiki 2. Best contributors per space or per entire wiki 3. Activity (views/edits) per year/month/week/day
I could add the following functionality:
4. Best referrers per space or per entire wiki 5. Most used user agents
I have this info in the database, but there is no API for it. One day would be enough. So wdyt?
ok for me, provided it doesn't make the page too complex to read. Otherwise it could be on different pages.
Do you have a mock up UI of how it would fit?
Not yet, but very soon. Next week for sure. The deadline is still November 15th.
The deadline is for finished work, i.e. everyone has seen it, tested it, agreed on it... So if you want to be sure we all agree you'll need to send something way before the target date :)
I'm talking about mock up, not finished UI. If you want to finish by 15th I think you need to send the mock up right now, even if it's a scanned sheet of paper.
Thanks Marius -Vincent
Vincent, now the split is more obvious to me. I agree with focusing on the panels from splitLayoutA. Regarding the CSS I'll talk with Laurent to see how can we improve it. There's one more thing. I need to make this panels more dynamic. For instance it would be nice to be able to select the space for which to see the most edited pages, updating only that panel (using AJAX). WDYT? Thanks! -Marius
On Nov 12, 2007, at 8:34 AM, Marius Dumitru Florea wrote:
I've attached to the jira issue http://jira.xwiki.org/jira/browse/ XE-37 three screenshots for you to have a first glimpse of Statistics' UI. The first includes all the stats in one single page, while the second and the third are a result of Vincent's concern that the last three panels (Referrers, User Agents and Operating Systems) might offer different infos than the others, therefore requiring a split. Any thoughts?
I've answered in JIRA.
I'd like to know what others think about the split and whether it's a good thing to split or not.
Of course another option (but too complex for now IMO) is to offer a Panel Wizard like feature for letting the admin choose what stat panels too display on the page...
Thanks -Vincent
On Nov 9, 2007, at 9:19 AM, Marius Dumitru Florea wrote:
On Nov 8, 2007, at 12:52 PM, Marius Dumitru Florea wrote:
Laurent just gave me this link http://haveamint.com/about/feature_highlights and it triggered some new ideas. Right now the Statistics Application has the ability to display the following data, using the API I've made:
1. Most viewed/edited pages within a space or the whole wiki 2. Best contributors per space or per entire wiki 3. Activity (views/edits) per year/month/week/day
I could add the following functionality:
4. Best referrers per space or per entire wiki 5. Most used user agents
I have this info in the database, but there is no API for it. One day would be enough. So wdyt?
ok for me, provided it doesn't make the page too complex to read. Otherwise it could be on different pages.
Do you have a mock up UI of how it would fit?
Not yet, but very soon. Next week for sure. The deadline is still November 15th.
The deadline is for finished work, i.e. everyone has seen it, tested it, agreed on it... So if you want to be sure we all agree you'll need to send something way before the target date :)
I'm talking about mock up, not finished UI. If you want to finish by 15th I think you need to send the mock up right now, even if it's a scanned sheet of paper.
Thanks Marius -Vincent
devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
On Nov 12, 2007, at 9:30 AM, Marius Dumitru Florea wrote:
Vincent, now the split is more obvious to me. I agree with focusing on the panels from splitLayoutA. Regarding the CSS I'll talk with Laurent to see how can we improve it. There's one more thing. I need to make this panels more dynamic. For instance it would be nice to be able to select the space for which to see the most edited pages, updating only that panel (using AJAX). WDYT?
Oh yes, that's in your initial proposal I think (I remember seeing it there). We need that flexibility I think. Same for the graphs, it would be nice to be able to choose the period. You might even go as far as talking to Thomas M. to see if you cannot also include virtual wikis (for the best contrib, most edited pages, etc) when xwiki is configured in virtual mode ($xwiki.isVirtual()). This would allow to have only one set of statistics panels shared between XE and XEM. I know Thomas has worked on this already so he can probably work with you on it. WDYT? The only constraint is that whatever you end up doing should be finished and committed for the 15th of Nov. Thanks -Vincent
On Nov 12, 2007, at 8:34 AM, Marius Dumitru Florea wrote:
I've attached to the jira issue http://jira.xwiki.org/jira/browse/ XE-37 three screenshots for you to have a first glimpse of Statistics' UI. The first includes all the stats in one single page, while the second and the third are a result of Vincent's concern that the last three panels (Referrers, User Agents and Operating Systems) might offer different infos than the others, therefore requiring a split. Any thoughts?
I've answered in JIRA.
I'd like to know what others think about the split and whether it's a good thing to split or not.
Of course another option (but too complex for now IMO) is to offer a Panel Wizard like feature for letting the admin choose what stat panels too display on the page...
Thanks -Vincent
On Nov 9, 2007, at 9:19 AM, Marius Dumitru Florea wrote:
On Nov 8, 2007, at 12:52 PM, Marius Dumitru Florea wrote:
> Laurent just gave me this link > http://haveamint.com/about/feature_highlights and it triggered > some > new > ideas. Right now the Statistics Application has the ability to > display the > following data, using the API I've made: > > 1. Most viewed/edited pages within a space or the whole wiki > 2. Best contributors per space or per entire wiki > 3. Activity (views/edits) per year/month/week/day > > I could add the following functionality: > > 4. Best referrers per space or per entire wiki > 5. Most used user agents > > I have this info in the database, but there is no API for it. > One > day > would be enough. So wdyt?
ok for me, provided it doesn't make the page too complex to read. Otherwise it could be on different pages.
Do you have a mock up UI of how it would fit?
Not yet, but very soon. Next week for sure. The deadline is still November 15th.
The deadline is for finished work, i.e. everyone has seen it, tested it, agreed on it... So if you want to be sure we all agree you'll need to send something way before the target date :)
I'm talking about mock up, not finished UI. If you want to finish by 15th I think you need to send the mock up right now, even if it's a scanned sheet of paper.
Thanks Marius -Vincent
Hi Marius, I'm agree with Vincent, it would be great to add the multiwiki concept directly in statistics, it would be easier to integrate with XEM or any product with more than one wiki. As Vincent said I already worked with cross contexts between wikis so I guess I can help you on this :) 2007/11/12, Vincent Massol <vincent@massol.net>:
On Nov 12, 2007, at 9:30 AM, Marius Dumitru Florea wrote:
Vincent, now the split is more obvious to me. I agree with focusing on the panels from splitLayoutA. Regarding the CSS I'll talk with Laurent to see how can we improve it. There's one more thing. I need to make this panels more dynamic. For instance it would be nice to be able to select the space for which to see the most edited pages, updating only that panel (using AJAX). WDYT?
Oh yes, that's in your initial proposal I think (I remember seeing it there).
We need that flexibility I think.
Same for the graphs, it would be nice to be able to choose the period.
You might even go as far as talking to Thomas M. to see if you cannot also include virtual wikis (for the best contrib, most edited pages, etc) when xwiki is configured in virtual mode ($xwiki.isVirtual()). This would allow to have only one set of statistics panels shared between XE and XEM. I know Thomas has worked on this already so he can probably work with you on it. WDYT?
The only constraint is that whatever you end up doing should be finished and committed for the 15th of Nov.
Thanks -Vincent
On Nov 12, 2007, at 8:34 AM, Marius Dumitru Florea wrote:
I've attached to the jira issue http://jira.xwiki.org/jira/browse/ XE-37 three screenshots for you to have a first glimpse of Statistics' UI. The first includes all the stats in one single page, while the second and the third are a result of Vincent's concern that the last three panels (Referrers, User Agents and Operating Systems) might offer different infos than the others, therefore requiring a split. Any thoughts?
I've answered in JIRA.
I'd like to know what others think about the split and whether it's a good thing to split or not.
Of course another option (but too complex for now IMO) is to offer a Panel Wizard like feature for letting the admin choose what stat panels too display on the page...
Thanks -Vincent
On Nov 9, 2007, at 9:19 AM, Marius Dumitru Florea wrote:
> > On Nov 8, 2007, at 12:52 PM, Marius Dumitru Florea wrote: > >> Laurent just gave me this link >> http://haveamint.com/about/feature_highlights and it triggered >> some >> new >> ideas. Right now the Statistics Application has the ability to >> display the >> following data, using the API I've made: >> >> 1. Most viewed/edited pages within a space or the whole wiki >> 2. Best contributors per space or per entire wiki >> 3. Activity (views/edits) per year/month/week/day >> >> I could add the following functionality: >> >> 4. Best referrers per space or per entire wiki >> 5. Most used user agents >> >> I have this info in the database, but there is no API for it. >> One >> day >> would be enough. So wdyt? > > ok for me, provided it doesn't make the page too complex to read. > Otherwise it could be on different pages. > > Do you have a mock up UI of how it would fit?
Not yet, but very soon. Next week for sure. The deadline is still November 15th.
The deadline is for finished work, i.e. everyone has seen it, tested it, agreed on it... So if you want to be sure we all agree you'll need to send something way before the target date :)
I'm talking about mock up, not finished UI. If you want to finish by 15th I think you need to send the mock up right now, even if it's a scanned sheet of paper.
Thanks Marius -Vincent
devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
Since I won't have the time to make the Statistics UI more dynamic because I have to continue with the WYSIWYG Editor, I'm proposing a list of stats panels from which we should choose some to be available by default: 1. Document Statistics 1.1 [Most|Least] [viewed|edited] pages, all-time in [wiki|Main] 1.2 [Most|Least] [viewed|edited] pages, current [day|week|month|year] in [wiki|Main] 1.5 [Most|Least] [viewed|edited] spaces, all-time 1.6 [Most|Least] [viewed|edited] spaces, current [day|week|month|year] 2. Visit Statistics 2.1 [Best|Worse] contributors, all-time in [wiki|Main] 2.2 [Best|Worse] contributors, current [day|week|month|year] in [wiki|Main] 3. Action Statistics 3.1 Views vs. Edits Chart, all-time in [wiki|Main] 3.2 Views vs. Edits Chart, current [week|month|year] in [wiki|Main] 4. Referrer Statistics 4.1 [Best|Worse] referrers, all-time 4.2 [Best|Worse] referrers, current [day|week|month|year] 5. User-agent Statistics 5.1 [Best|Worse] user-agents, all-time 5.2 [Best|Worse] user-agents, current [day|week|month|year] 6. Operating System Statistics 6.1 [Best|Worse] OSs, all-time 6.2 [Best|Worse] OSs, current [day|week|month|year] Regards -Marius
participants (4)
-
Guillaume Lerouge -
Marius Dumitru Florea -
Thomas Mortagne -
Vincent Massol