My apologies to the authors of XpTrackerPlugin. Our organization has leveraged this plugin to great succes and made, over the years, many enhancements to this plugin. Unfortunately, we remained on Athens due to reasons not important here, and thus we are vastly out of synch with the current version. I have now moved our version to Dakar and wanted to share these enhancements with the community. My hope is that this plugin can eventually merge back into XpTrackerPlugin. |
--
ThomasWeigert - 24 Nov 2006
High level summary of differences to XpTrackerPlugin
Here is a list of some of the changes made to make our engineers use these important tracking tools...
- Project hierarchy is configurable
- We use "Team" -> "Project" -> "Iteration" -> "Story"
- Hides the task table from edit via template and uses EditHiddenTablePlugin to edit tasks.
- Additional fields to be shown in the story summary can be configured.
- Additional fields to be stored for the task table can be configured.
- Generates a "time sheet" for developers to fill in the time they spent on all their tasks in one go.
- This was very important to our developers as they work on many tasks at once and do not enjoy clicking through many stories to update their time spent.
- Generates an "estimate work sheet" for developers to fill in the estimates for assigned tasks.
- This was very important to our developers as they work on many tasks at once and do not enjoy clicking through many stories to enter their estimates (in fact, without this we had a hard time getting anybody to fill in estimates).
- Easy way of dealing with overhead activities, such as training, meetings, etc., which should be accounted for but are not strictly part of any normal project.
- These are kept as special projects which do not show up as part of the loading computation and never "finish"
- Selectable templates when creating stories, projects, etc.
- This allows default information (such as default tasks already entered in the task table) to be provided when creating the story, etc.
- Uses view and edit templates to slightly change appearance of the topics.
There may be more, but it is late...
--
ThomasWeigert - 24 Nov 2006
I'd like to still change the appearance of many tables to fit closer to the
PatternSkin as right now there is a mixture between TWiki tables and HTML tables, which is not very attractive looking (similar to
XpTrackerPlugin).
I am also thinking of pushing much more of the page layout into topic templates so that the user does not see any of that and just fills in form fields.
--
ThomasWeigert - 24 Nov 2006
Thomas, this looks great

If I ever have TWiki time again (or if I manage to convince my company to hire a perl developer to maintain our twiki) I'll try to merge your changes back into
XpTrackerPlugin.
I really like this feature set.
--
RafaelAlvarez - 24 Nov 2006
Would it be possible to generate those tables in TWiki format?
--
ArthurClemens - 24 Nov 2006
That may be difficult due to the incremental construction of the table, but I might be able to put CSS classes on it....
--
ThomasWeigert - 25 Nov 2006
Hm, this depends on the
ControlPlugin? What does that plugin do and where can I download it?
--
FranzJosefSilli - 26 Nov 2006
Sorry, this should be
ControlsPlugin. It generates HTML form elements. It is used here to help generate the new topic creation form. It finds all the template files that are relevant here presents them as a drop down menu for selection.
--
ThomasWeigert - 26 Nov 2006
Uploaded a corrected package. Some further updates are in the zip, albeit I did not bump the version number.
Replaced all the HTML tables with TWiki tables. There is one item that is not great but I am not an HTML expert: sometimes I am trying to change the background at one cell of a table. I put a <div> with a different background style, but unfortunately, this does not extend all the way to the edge of the cell, leaving some of the containing cell surrounding it. Any ideas?
--
ThomasWeigert - 26 Nov 2006
Thomas, thanks for contributing yet another plugin! Yes, it is good to merge the the XP tracker plugins back into one.
- I made some mods to the plugin topic (diff, raw diff), please feel free to roll that back into the next release.
- I tagged the plugin topic so that it is easier to find. Please help on tag votes.
- For easier maintenance and better chance of surviving future TWiki upgrades, possibly remove the additional script and handle everything in the plugin code? You can borrow ideas from the EditTablePlugin and CommentPlugin.
- Please consider measuring and documenting the PluginBenchmarks numbers.
--
PeterThoeny - 27 Nov 2006
This plugin does much analysis on existing topics, sometimes loading a large number of topics to do its work. I performed an experiment to see whether there would be a win in replacing the existing cache and these topic loads by relying on
DBCacheContrib.
I am thinking about plugging
DBCacheContrib in albeit the results are not unanimous (note that I am using
DBCacheContrib in managed mode, i.e.,
XpTrackerPlugin manages when topics need to be reloaded due to changes in the web).
Test results
| Test |
xpache |
DBCacheContrib |
Ratio |
| req/sec |
req ms |
req/sec |
req ms |
| SdaTeam |
0.08 |
11999.20 |
0.16 |
6178.80 |
0.515 |
| SdaTeamDetail |
0.04 |
24351.00 |
0.08 |
12005.20 |
0.493 |
| CodeGenServicesProject |
0.27 |
3699.20 |
0.23 |
4274.00 |
1.155 |
| MousetrapSecurityProject |
0.29 |
3474.80 |
0.24 |
4204.00 |
1.21 |
| MtRel025700 |
0.18 |
5614.00 |
0.17 |
5962.40 |
1.062 |
| MtRel030100 |
0.24 |
4111.80 |
0.20 |
5503.80 |
1.339 |
| InternalToolsOverheadIteration |
0.25 |
3997.60 |
0.20 |
5027.20 |
1.258 |
| ToolMaintenanceDeveloper |
0.07 |
14184.20 |
0.16 |
6387.00 |
0.45 |
| SdaCq5728Story |
0.25 |
4033.80 |
0.28 |
3581.00 |
0.888 |
| TrainingOverhead2006Story |
0.29 |
3483.00 |
0.29 |
3503.00 |
1.006 |
Summary
As the table shows, the results do not uniformly favor one or the other approach. Some highlights are
- A topic that does not involve either cache (Main.WebHome), can nevertheless be affected due to plugin handlers being invoked. The DBCacheContrib has no impact, while the
xpcache adds a slight performance hit.
- For topics where much analysis is done and many topics have to be read in order to generate the results, the DBCacheContrib is a clear winner, generally by a large margin.
- For topics that do not involve additional topic reads, the need to read the rather large cache file (2,673,246 bytes) for DBCacheContrib imposes a performance penalty of roughly 30%.
Project characteristics
The tests were performed over a reasonably sized data base. The web contained
| Projects |
2 |
| Teams |
8 |
| Iterations |
111 |
| Stories |
1137 |
The sample topics selected had the following characteristics:
| Topic |
Characteristics |
| SdaTeam |
Uses XPSHOWPROJECTTEAMS, XPSHOWPROJECTITERATIONS, XPSHOWLOAD. Involves 15 developers and 30 active iterations. |
| SdaTeamDetail |
Uses XPSHOWPROJECTCOMPLETIONBYSTORIES, XPSHOWPROJECTCOMPLETIONBYTASKS, XPSHOWPROJECTSTORIES. Involves 100 total iterations, 1104 stories (219 not started, 70 in progress, and 815 completed), 2421 tasks (472 not started, 70 in progress, and 1879 completed). |
| CodeGenServicesProject |
Uses XPSHOWTEAMITERATIONS. Large project, involves 74 Iterations, of which 6 are still in progress. |
| MousetrapSecurityProject |
Uses XPSHOWTEAMITERATIONS. Small project, involves 2 Iterations, all of which are still in progress. |
| MtRel025700 |
Uses XPSHOWITERATIONTERSE, XPSHOWITERATION, XPVELOCITIES, XPCOQ. Large iteration, involves 86 stories, all completed. 10 developers. |
| MtRel030100 |
Medium iteration, involves 19 stories, all in progress. 5 developers. |
| InternalToolsOverheadIteration |
Uses XPSHOWITERATIONTERSE, XPSHOWITERATION, XPVELOCITIES, XPCOQ. Small iteration, involves 10 stories, most of them ongoing stories (more tasks per story than average). 11 developers. |
| ToolMaintenanceDeveloper |
Uses XPSHOWDEVELOPERTIMESHEET, XPSHOWDEVELOPERESTIMATE, XPSHOWLOAD (for this developer only). 67 rows in timesheet, 62 rows in estimate table, involved in 5 iterations. |
| SdaCq5728Story |
Uses XPSHOWTASKTABLE. Normal sized story, 2 tasks. |
| TrainingOverhead2006Story |
Uses XPSHOWTASKTABLE. Overhead story, 11 tasks. |
More discussions on caching can be found at
YetAnotherDBCacheContribDev.
--
ThomasWeigert - 02 Dec 2006
My developers wanted the integration of
DBCacheContrib as they like the big performance improvements on some topics and don't mind the smaller degredation on other topics, so I will be going with that.
--
ThomasWeigert - 09 Dec 2006
Uploaded a new version which is leveraging
YetAnotherDBCacheContrib to speed up performance with complex queries. There is a small penalty on simple topics, but not for story topics.
--
ThomasWeigert - 18 Dec 2006
This looks real nice, but I'm having some problems getting it to work. I think I've sorted out all of the dependencies (though, I am a newbie to this twiki stuff).
Context: twiki 4.1.0 (with all required prerequisites)
Issue: I get following error message...
| 01 Feb 2007 - 11:48 | (TWiki::Contrib::DBCacheContrib) DBCache: Cache read failed: Can't locate object method "fastget" via package "TWiki::Contrib::DBCacheContrib::Array" at /var/www/html/twiki/lib/TWiki/Contrib/DBCacheContrib.pm line 401.
Yet, when I look at /var/www/html/twiki/lib/TWiki/Contrib/DBCacheContrib/Array.pm I see there is no "fastget", rather "fastget" is defined in Map.pm.
The visible (beyond log files) effect is that the attempted creation of a new "team" never results in the team being listed by "%XPSHOWALLTEAMS%."
--
GregBuzzard - 01 Feb 2007
Greg, a couple of things...
I will take a look at this soon, but please be patient for a few weeks...
--
ThomasWeigert - 02 Feb 2007
Is there a way that the magic behind
%XPPIVOTBYFIELD% could be used to more generally
SupportPivotTables based on any twiki table data ?
--
KeithHelfrich - 17 Feb 2007
I am having the same issue as Greg above, though we're using twiki 4.0.5. Here's some more information, in case it's helpful. Some parts of the plugin work, but as mentioned by Greg, there are some items that don't seem to be connected properly, e.g. the team page remains empty no matter how many iterations, stories or tasks are created. Also, the %XPSHOWALLPROJECTS% produces a heading of "All s", then a table with no headings and rows, one for each project, that say TWiki::Contrib::DBCacheContrib::Map=HASH(0x8e5345c). The following section has the heading "Create New" and a text box, check box and a dropdown with no templates in it. %XPCREATETOPIC{"Project" prompt="Enter project name"}% does appear correctly with template and it does create a project page with content. We have set the TEAMLABEL and PROJECTLABEL to Team and Project, respectively.
I'm looking forward to using this plugin, and thanks for any help!
--
LaurieSpencer - 13 Mar 2007
In reference to there being no templates listed in the dropdown menus, I found that creating the header's by adding bracketing asterisks in each of the table columns of the SomeTemplateOptions (ie ProjectTemplateOptions) will resolve the issue. I do have the same issue with the cache not working correctly in TWiki 4.1.2 with the same type of error "TWiki::Contrib::DBCacheContrib::Map=HASH(
****)" displayed for the %XPSHOWALLPROJECTS%. This has forced me to use the Dec 1 version which doesn't seem to have the same cache problems.
--
TimBurleson - 24 Apr 2007
One the problem with the missing templates... As
TimBurleson correctly poinnted out, the bracketing asterisk in the title line of the table need to be added for all nnnTemplateOptions topics. This was a change in the recent TWiki; before tables were not required to have bold title lines.
--
ThomasWeigert - 23 Sep 2007
I have fixed these problems and will upload a new version shortly.
--
ThomasWeigert - 28 Sep 2007
Can we have a
XpTrackerConsolidationDiscussion ?
--
MartinCleaver - 06 Aug 2008