create new tag
, view all tags

YetAnotherXpTrackerPluginDev Discussion: Page for developer collaboration, enhancement requests, patches and improved versions on YetAnotherXpTrackerPlugin contributed by the TWikiCommunity.
• Please let us know what you think of this extension.
• For support, check the existing questions, or ask a new support question in the Support web!
• Please report bugs below

Discussion of YetAnotherXpTrackerPlugin

ALERT! 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... smile

-- 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 smile 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? wink

-- 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


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

Edit | Attach | Watch | Print version | History: r30 < r29 < r28 < r27 < r26 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r30 - 2008-08-06 - MartinCleaver
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.