create new tag
, view all tags

How do we encourage/enable sites to upgrade.

Sites using Cairo are presumably doing so for one of the following reasons:

  1. It's working fine and they're happy with it.
  2. They can't.
    1. They don't have someone who knows enough to do it any more.
    2. Necessary plugins haven't been upgraded.
    3. ???
  3. They haven't gotten around to it.
  4. The steps involved in upgrading are too difficult or daunting.

Clearly case 1 is fine, although one hopes that they know that they're using a discontinued product. Other than those cases, it's in both the users' and developers' interest for people to upgrade to Dakar (and beyond, once there is a beyond).

-- Contributors: MeredithLesly


We keep being "encouraged" to continue to support Cairo, even though it's going on two years old now. If those sites are happy with what they've got, I have no problem with them sticking with that. But development can't keep being hamstrung with Cairo-compatibility. Not to mention that casual plugin developers aren't likely to want to support more than one version, and it's more important that they upgrade to Dakar than abandon the plugins altogether.

If we can leave Cairo support where it is, including plugins -- except in the case when the author wants to continue to support Cairo -- then I don't care. But I also don't want the theoretical necessity of maintaining Cairo-compatiblity thrown at the developers all the time. If sites aren't going to upgrade, then Cairo compatibility doesn't matter. If they are, we (for some value of "we") have to make it easier so that Cairo can be left behind.

How? I don't know. The Cairo=>Dakar upgrade method, as detailed in Kenneth's meticulous topic, is excruciating to read, not to mention that it makes TWiki look really bad as a product. Thank heavens I started just before Dakar shipped.

-- MeredithLesly - 22 Jun 2006

"Custom extensions that require effort to port." See HelpUpgradingCustomizedTwiki. Seriously, do we have any easy way to change the attachment backend. I'm pretty sure that it's possible in Dakar, but I don't know where to start.

-- PankajPant - 22 Jun 2006


I'm with Meredith on this one: her cases 2-4 are valid and merit consideration.

Some people get frustrated when I say I'll update my plugins from Cairo on my customer's schedule (but, yes, those people are welcome to become paying customers) or that my Dakar plugins "should" be made backward-compatible with Cairo.

Sure I'll consider stuff to help the community, but the easier it is to do the more I can accomplish in the time I have available. Further, the easier it is the more I'll believe that others will be motivated to do the same.

-- MartinCleaver - 23 Jun 2006

Codev.EncouragingUpgrading?rev1=10;rev2=9. Appears as if my last comment was taken seriously, I was simply amazed of all the "you's" used in the comments. Please focus on my mentioning that a two year timeframe is not much in an enterprise setting - and that some enterprises will indeed "skip a version" on some of their software from time to time.

-- SteffenPoulsen - 23 Jun 2006

How do we enable sites to upgrade? The good old TWikiMission.

  • Maintain 100% topic compatibility. You cannot upgrade if you cannot carry over the topics. That is THE most important part.
  • Maintain the API so that plugins that are 100% API compliant will work
  • Fix the other plugins. This is a huge task. And we cannot in practical go and upgrade maybe 150 plugins where half are from Athens or Beijing, never really worked and need 100s of hours of work to make them work. So we must take then on an adhoc basic as people request them. And we need to make it easy for people to join as Plugin developers.

Not easy when at the same time you want to add features and try to do something about the performance. But necessary.

For Pankaj's case. When you customize your TWiki to an extend that it is a rewrite of the code. And the rewrite is not shared as plugin or contrib - then I cannot see how we can ever prevent this from happening again. Sharing plugins or addons is no guarantee but it can often mean that others pick up the contribution and improve it further. And then there is also a chance that it gets upgraded for next TWiki release.

-- KennethLavrsen - 23 Jun 2006

Citing the TWikiMission is simplistic and doesn't address the obstacles facing existing sites. The alleged 100% topic compatibility with Dakar apparently isn't enough. Having a solid API and good API policies -- which have been fought against and derided from the oddest of quarters -- may help with Edinburgh, but is essentially irrelevant to upgrading from Cairo=>Dakar. Finally, the vast majority of number of plugins that don't work with Dakar are unlikely to be upgraded unless the authors have upgraded their own sites to Dakar, with the situation made even worse by pressuring them to maintain two versions.

So time for some new answers.

-- MeredithLesly - 24 Jun 2006

Kenneth, I'm not asking one of the core developers to port the changes we made to Dakar. We realize that we should have done it in a more portable manner, and we are willing to do it better this time and contribute it back to the community.

At this point, all I'm asking for is some documentation that essentially answers the question: "If you want to replace the Store backend with a completely different implementstions, here's how you go about it ...". I have read that this is not too difficult in Dakar, but I'm yet to see a howto. I shouldn't have to download the release and read the code to figure out how to do it, should I?

-- PankajPant - 24 Jun 2006

On the thought of being encouraged to upgrade. I've not yet upgraded for all of the reasons 1 - 4 and I would also add a number 5.

I'm one of those twiki admins who is always trying to keep up with the twiki community. And especially now that I don't have as much time to dedicate as I did in the past, these reasons for not upgrading are all the more real :

  1. My twiki is finally working correctly, and I don't want to mess it up
  2. I can't upgrade to Dakar right now because I have more than 20 plugins installed
    • Certain, important, plugins literally make my twiki site what it is today. And if those plugins aren't ready for Dakar, then my twiki isn't ready for Dakar. For example both the KoalaSkinDev and TouchGraphPluginDev have questions about Dakar and without those two my twiki just isn't the same and I don't want to go forward without them.
    • I haven't even looked at the other 18 plugins yet
  3. Were all of these other reasons still not true, "I haven't gotten around to it yet" would still be a valid reason
  4. Even though I performed my own upgrade from Beijing to Cairo (or perhaps because I performed my own upgrade) just the thought of getting that deep into a complicated wiki mess is daunting
  5. As I've been an administrator of complex systems for years now, I always wait for some time after a new version is available before I attempt the upgrade. I do this to allow time for bugs to surface and notes to be written about the peculiarities of the new version. And I also give time for the security concerns to stabalize.
    • For example, unless I absolutely required a certain functionality that's included in the upgrade, I would wait for another couple of months to see if any other problems such as the SecurityAlertTWiki4PrivilegeElevation were to surface.

So while I would love to upgrade, there's a lot involved and I think it's only natural that I haven't done so. I hope this helps to put some perspective on why a twiki site "end-user" may not have jumped into Dakar yet.

-- KeithHelfrich - 25 Jun 2006

It is nice to get good feedback from our admins. Especially those that we do not hear from every day.

I truely understand where you come from. And especially upgrading between major releases is a huge work that can take a full working week for an admin. When a userbase of TWiki wants to upgrade it should mainly be because the new major release has some features that adds a lot of value.

I keep on saying that the most important thing is to maintain topic compatibility. And plugins is a vital part of this. Not only does the plugins have to behave like they did in the previous release. They also have to work the day you upgrade. You cannot live without them while you wait for someone to have mercy on you and upgrade them.

The strategy to upgrade late is wise. But if everyone does that - the new release generation never matures. So there is a balance. TWiki is free as in beer. I do not program much. The way I chose to "pay back" to the community that created this great project was to become involved as a tester and documenter. And fix an occational easy bug now and then.

The contribution of trying the new releases and feeding back bug reports and other experiences have a very high value.

A way to do this for an admin without making his users suffer, is to install the new release as a test installation and put the existing webs on it and ask some hardcore users to play with it and report bugs back.

What you describes confirms by previous statements.

  • Plugin API must be stable so that old plugins also work in next release
  • Developers need to focus on making old plugins work - also those that violate API and have lost their original maintainer.
  • Since so many plugins uses non-API Twiki functions (this is what makes plugins fails when you upgrade TWiki) there is an obvious need to extend the API in the next releases so that plugin writers has a chance to write plugins with API functions only.

Keith. Some questions to you.

  • How important is it to you that plugins that you download work both in previous version (Cairo) and current (TWiki4)?
  • Does it cause you any confusion or discomfort if you arrive to a plugin topic and there is both a Cairo version and a TWiki4 version?
  • As a Cairo user that has a stable installation - how likely is it that you will install additional plugins on your Cairo installation? Should developers focus on fixing bugs in old Plugins so they still work in Cairo - and add enhancements to them? Or is it better that they focus on making plugins work on TWiki4?
  • If you knew that all your 20 plugins worked on TWiki4 and that all your existing topics would work on TWiki4, would you upgrade? If yes - which features in TWiki4 attracts you to update?

Questions for plugin developers that are not core code developers:

  • Plugin developers are continuously encouraged to update their plugins so they work in TWiki4 and so the same download package also works on Cairo. Does any of you see this requirement as an obstacle that makes it harder or impossible to take the task and code the upgrade for your plugin for TWiki4 compatibility?
  • Is the reason for you not to code the upgrade for TWiki4 that your local production installation still runs Cairo?
  • What kind of help would you need from core developers to be able to update your plugins?
    • Remove the pressure to code for TWiki4 as well as Cairo compatibility?
    • Extend the API?
    • Document API better?
    • Document how to transform code that calls Cairo internal non-API functions into stable API function calls?
    • Do you feel you have a place to request API enhancements from the core developers?
    • Does the use of SVN for plugin development prevent you from doing plugin development? Does it help?
    • Other proposals that can help?

-- KennethLavrsen - 26 Jun 2006

There is one "pain" that we keep forgeting: Skins. I bet that most of the Corporate installation has custom skins, most likely based on bundled skins (like pattern). If the custom skin changes, then upgrade is impossible unless the custom skin is updated.

I know, it happened to me yesterday. And I only added a derived view template to add a javascript and a css based menu. It worked with an old Dakar beta. Today, the view script gives me a blank page. Thanksfully, I can just copy the old "pattern" skin from my backups and everything will be fine, but that prevents me from upgrading it.

And I wonder if with the current template mechanism this will continue to happen in the future...

-- RafaelAlvarez - 27 Jun 2006

Hello Kenneth, to answer your questions :

  • How important is it to you that plugins that you download work both in previous version (Cairo) and current (TWiki4)?
    • I agree that progress should continue marching forward, and with developers often working unpaid it is difficult to motivate support of multiple code bases.
    • That said, it is not very important to me that the plugins I have working on Cairo be maintained further. For me, as long as they continue to work AS-IS, that is enough.

  • Does it cause you any confusion or discomfort if you arrive to a plugin topic and there is both a Cairo version and a TWiki4 version?
    • No, that is not confusing at all and actually helps to keep things clear.

  • As a Cairo user that has a stable installation - how likely is it that you will install additional plugins on your Cairo installation? Should developers focus on fixing bugs in old Plugins so they still work in Cairo - and add enhancements to them? Or is it better that they focus on making plugins work on TWiki4?
    • Knowing that an upgrade is available and pending, I won't add any additional plugins to my Cairo release. If any effort were given to changing or improving the functionality, the first effort would be to upgrade.
    • So my current Cairo footprint is pretty much frozen except for small tweaks until after the upgrade (whenever that will be)

  • If you knew that all your 20 plugins worked on TWiki4 and that all your existing topics would work on TWiki4, would you upgrade? If yes - which features in TWiki4 attracts you to update?
    • YES ! I do want to upgrade. If all (or most) of my plugins were confirmed to be TWiki4 ready, then the impulse to upgrade would be a lot stronger.
    • The TWiki4 feature that most motivates an upgrade is WYSIWYG. Most of my folks are still intimidated by TWiki ML and lack of WYSIWYG is the biggest inhibitor to adoption.

Rafael's comment is also quite true. Without being able to keep your skin, then the upgrade is moot. As far as the users are concerned, the skin is the wiki. If the skin changes drastically as a result of the upgrade, then total confusion erupts, so it's very important that the skins can make the transition.

-- KeithHelfrich - 30 Jun 2006

A follow-up on this discussion. I lied smile As it turns out, my CairoRelease twiki is being used heavily for a project due in September. So I've found myself installing a number of new plugins on Cairo, even though I had wanted to stay frozen and concentrate on the upgrade.

So just a view into the mind of a TWiki Admin : the upgrade is such a hurdle that I especially don't want to do it while the site is being used for a big project. So it's easier to stay on Cairo for a while longer and install new plugins as needed (where possible).

-- KeithHelfrich - 25 Jul 2006

There are still many Cairo releases in production use, we are now 9 month after TWiki 4 release. The TWiki at my previous workplace is still on Cairo. For one reason or the other, it is not always feasible to upgrade in a timely manner. See for example recent discussion in InterwikiPluginDev.

Going forward, I think we are in a better position with the new TWikiRelease04x01Process since more eyes are watching core changes, such as API changes.

-- PeterThoeny - 09 Nov 2006

Yep, five months after this converation began & I'm still on CairoRelease (and certainly, I'm not the only one). Never-the-less, my original suggestion still stands: folks should upgrade and if plugins are only available for Dakar, then so-be-it !!

As it was five months ago, my basic approach to plugins (and my entire TWikiSite in general) is to wait for the KoalaSkin and then undergo a MAJOR overhaul when upgrading to DakarRelease. Hopefully, many of the other plugins I'm using will also be ready by then. And I'm especially hoping MultipleSitesSameCodebase will be ready.

In the meantime, I'm keeping up with the WebNotify messages from Codev and Plugins webs and flirting with new modifications to my CairoRelease as necessary. What is it that's holding me back from the upgrade ? Can't even think about going forward without the skin.

-- KeithHelfrich - 10 Nov 2006

TopicClassification TWikiDeployment
TopicSummary Upgrading to Dakar is in the interests of most developers and many sites
InterestedParties TWikiCommunity
RelatedTopics TWikiUpgradeGuide
Edit | Attach | Watch | Print version | History: r26 < r25 < r24 < r23 < r22 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r26 - 2006-11-10 - KeithHelfrich
  • 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.