stale_content1Add my vote for this tag create new tag
, view all tags
I've done a bit of analysis of the code changes for TWikiReleaseSpring2001 since last production release.

Attached in an Excel document, plus html rendering.

In summary:

  • Overall size has doubled to 13 thousand lines of code (templates not included)
  • Store.pm has increased in size by nearly 400% to 1,500 lines
  • TWiki.pm by about 75% to 2,000 lines
  • New modules account for 20% of current code base

Looking a bit more at Store.pm since it has grown so much. About 160 lines came from wiki.pm, breakdown by functionality area:

Area Lines code Comment
Save 505 Lots of RCS complexity, including repetitive error handling
Info 320 Revision info, diffs
Read 223 Deal with specific versions ...
Move 177 Some of this should be elsewhere
Other 175 Filename gen, debug, header text
Meta 79  
Test 50 erase sub
Total 1529  

My conclusions (changes for post TWikiReleaseSpring2001):

  • Store and TWiki are both rather large, breaking them up should be considered. The most obvious being to seperate out the save part of Store and Info/Read parts of Store.
  • Consider moving some code to Plugins, to keep the overall size and complexity of TWiki down - see TWikiMission.
  • Lots of testing is needed!
  • I think there's a lot of room for re-factoring to deal with common and poorly written (probably by me) code.

-- JohnTalintyre - 12 Jul 2001

A very big increase indeed, lots of contributions from you John! Thanks for the statistics.

Yes, stability is a big concern for me. So, extensive testing is needed. I can't take the new code base into WindRiver unless it is very stable and all UI and security details are ironed out (i.e. only admin can rename pages). TWiki grew into a mission critial application within the company (with almost 600 registered users and 4000 page updates per month), so a flawless platform is an absolute must.

My goal is to refactor the code evolutionaly after the release.

-- PeterThoeny - 12 Jul 2001

I'm not a contributor to the code, but please let me voice a serious concern I now have -- if TWiki has entered a form of "mission criticality" within Wind River (which is a good thing for WR, since it means it's been institutionalized), would that mean that you, Peter, are more reluctant to introduce changes that might give you fears that the code is unstable? Seems like what's needed is a fourth kind of "release" of TWiki -- one that has unit test scripts associated with each module and can be run within corporations that require independent testing/certification before installing open-source software. Maybe that's even a kind of TWiki that is sold (a la Red hat).

My real point here is that I fear that the internal pressures within Wind River might have undue influence on future release schedules for TWiki. Is my concern unrealistic?

-- DavidWeller - 15 Jul 2001

I think a reluctance to introduce radically changes into stable branchs is a good thing rather than bad. Maybe what we should look at is the unit tests you suggest, but also a more 'correct' style of version management for the code base. With the HEAD branch being the unstable development code and stable cvs branches created to track pre-release and stable versions during their life span.

At the moment I think its a little too easy to introduce changes in the HEAD that implicitly have to be considered for "pre-release on the path to stable" code.

-- NicholasLee - 16 Jul 2001

Untested bells and whistles are fine for home use, but not for the targeted audience of TWiki. I just took WindRiver as an example, what I stated applies to all large TWiki deployments in the corporate world, like SAP, Motorola and Sun Microsystems. TWiki is targeting this field (see TWikiMission), so a very stable platform and a flawless operation is a must. Please do not misunderstand that future release schedules for TWiki are driven by WindRiver's needs, they are driven by the target audience of TWiki, e.g. stability needs.

And yes, good unit testing does increase the stability of TWiki. JohnTalintyre made a good start. We will move more into this direction after the pending release.

-- PeterThoeny - 16 Jul 2001

I totally agree with Peter. What we need are very stable production releases. But I don't see this has stopped fairly radical changes to TWiki; I've found Peter and the other developers very welcoming and very patient with my code changes.

-- JohnTalintyre - 17 Jul 2001

Considering the high number of current changes to the HEAD of TWiki, is the current schedule still on-target for release on Aug 1st? Seems that there is still supposed to be another beta release with some decent user testing. As my kids are fond of saying in my car: Are we there yet? smile

-- DavidWeller - 30 Jul 2001

Getting close, but still a little way to go.

-- JohnTalintyre - 30 Jul 2001

Topic attachments
I Attachment History Action Size Date Who Comment
Microsoft Excel Spreadsheetxls analtwiki.xls   manage 20.5 K 2001-07-12 - 12:15 JohnTalintyre Counts and comments
HTMLhtm twiki.htm   manage 34.4 K 2001-07-12 - 12:19 JohnTalintyre Main analysis info from Excel sheet
Edit | Attach | Watch | Print version | History: r10 < r9 < r8 < r7 < r6 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r10 - 2008-08-25 - TWikiJanitor
  • 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-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.