Question
I recently upgraded to TWiki 4.1.2 from TWiki 4.0 and ran into a 'non-minor' change in functionality.
I had the code:
* [[Foo/Bar][Foo Bar]]
Where
Bar was a subweb. However, after upgrading, TWiki tells me that topic does not exist, and won't link to it.
My questions are:
- Is there a setting I am missing? One that might restore the old functionality?
- Where was this change documented? I looked through the supplied TWiki 04x01 release notes and didn't see anything.
- What is the correct way to link to a subweb? In searching for 'link subwebs' in the Documentation web doesn't give anything. I would like to use the 'official' way, to avoid this in the future.
- Is this a bug or a 'feature'? Previous changes to how scoping worked were classified as a 'security feature', is this the same?
The only way I found to fix it was by doing:
* [[Foo/Bar/][Foo Bar]]
* [[Foo/Bar.WebHome][Foo Bar]]
Which seems simple, but again, I don't want everything to break because of a 'minor' update (per the TWiki release statement regarding the changes from 4.0 to 4.1). Going through and fixing hundreds of links and explaining to people we didn't loose their data? Not a good use of time.
Its tiring to have TWiki pull the rug out from under us when upgrading to a new version. It was a rude surprise to find that local web links were looking globally instead of locally after going from T3 to T4. Now this.
Environment
--
EricHanson - 16 May 2007
Answer
If you answer a question - or someone answered one of your questions - please remember to edit the page and set the status to answered. The status selector is below the edit box.
This was the subject of extended discussion, see
Bugs:Item3243
. The change was driven by a desire to revert TWiki4.x behaviour to be consistent with TWiki3.0. As you know subwebs were a new feature in TWiki-4, and this issue I'm afraid classes as "teething trouble".
Do you really have "hundreds of links"? If your links follow a consistent pattern (e.g.
[[.*/webname][.*]]) then it should be fairly straightforward to use
GlobalReplacePlugin to perform a change-once.
BTW this sort of error/change process arises because people don't engage with the development to ensure the spec of "next versions" meets their expectations. The more feedback the development gets, the less likely this sort of problem is.
--
CrawfordCurrie - 18 May 2007
So, do you know how
GlobalReplacePlugin will dectect if the pattern is
*/webname or
*/topicname? Because, we are getting our asses chewed out by our users, when we upgraded this 'minor' TWiki change, to have the latest security patches.
No, I don't really have "hundreds of links", I just have nothing better to do that whine at you guys. Let me ask, do you really have 'extended discussion' or do you guys just figure it doesn't break your stuff and go ahead with it?
BTW, this issue isn't 'teething trouble' its TWiki NOT DOCUMENTING important changes to its system. The more developers stop doing things the 'easy' way and instead do them the right way, the less likely this problem is going to happen.
Can you address these question?
- Why was this change undocumented?
- Why is there no documentation on the correct/official way to link to a subweb to avoid this issue?
Lastly, since subwebs are a new feature, not in T4, the behavior isn't consistant with how T3 worked, since they are not equitable. T3 didn't ignore subwebs, it simply didn't have the feature.
It made sense that TWiki would do the right thing and link to subweb or topic, from its POV does it really care? If people need to make a topic with the same name as an existing subweb, they can always manually create one, right? I mean, if they don't have the '?' link, its not the end of the world is it?
And since TWiki doesn't have a declared way to link to subwebs vs topic, it shouldn't care if its linking to one or the other.
--
EricHanson - 18 May 2007
Bug or feature, that is the question. Personally I find that TWiki 4's behaviour of
[[Foo/Bar][Foo Bar]] pointing to Foo/Bar.WebHome is a bug. It was never documented as such, and it is not consistent with Cairo. Both,
TWiki04.GoBox and
TWiki04.GoBox document that
Main. (with dot) specifies a link to the home of the Main web. As a logical extension,
Main/Sub. (with dot) specifies a link to the home of a subweb.
TWiki has extensive documentation, but more work needs to be done. I invite all users of TWiki to participate in doc writing. If you feel that something is not well documented please help improve it, or please add a note in the dicussion section of a
DistributionDocument. For example, the
WikiWord doc should explicitly document subweb links and
Web. (with dot) links.
I also invite users to get involved in the vetting process of new features. The more participation we have, the more stable TWiki gets. See
TWikiRelease04x01Process. If inclined please join the customer advocate team.
--
PeterThoeny - 18 May 2007
Gotta say Eric, I'm sorry that we don't have enough people to make TWiki just the way you want. We've been doing our best, discussing, implementing, testing and documenting, but seriously, there are only a small number of people working on these things.
--
SvenDowideit - 18 May 2007