create new tag
, view all tags

Feature Proposal: Bring TopicVars into Core


I am proposing to add Plugins.TopicVarsPlugin's functionality to the Core. While building TWikiApplications I've worked with pleasure calling variables from one topic (and web) into another, and I've even come to rely on it. It is a great help in creating usable interfaces.

Although some plugins share similar ideas, I haven't found this pure functionality elsewhere. It seems so natural that I have wondered why this is not part of the TWiki codebase. It would be an easy fit with other TWikiVariables.

-- ArthurClemens - 15 Jul 2005


I agree.

-- MartinCleaver - 15 Jul 2005

I can see how that makes sense.

Perhaps you could also illustrate some applicaitons using this. Examples are always good!

-- AntonAylward - 15 Jul 2005

One example I can give is an extranet where each client has his own restricted web area (a good example of webs!). The web name is just a web name: soe sort of WikiWord, so nut useful because it heavily mutates the client's names. A client like GSK doesn't want their name written as Gsk in each and every window title or in the breadcrumb. TPG Post TNT wouldn't want their name as Tpgposttnt or as TpgPostTnt.

So I use WebPreferences to set a few variables, one of them is the client's name. Now I can use %WEBPREFSTOPIC%.%CLIENTNAME% to write the name in the window title. And I use it with site wide search to create a list of all clients. I link to each WebHome, but the link label is each client's name.

Each client can have one or more projects. So with the same idea I create project sub-sites. Each project has a decent name of course to use in window title, breadcrumb and project listings.

The same goes for client logos (CLIENTLOGO variable). On an admin page I can create an overview of all client logos so I can see which logos still have to be uploaded, and if the sizes match.

I also create admin pages with custom .htaccess texts created for each client, to help the system adminstrator secure the site. Of course you can select clients using a dropdown box, with the proper names in there.

As you can see, the topic vars syntax just blends with the TWiki variables syntax. Very intuitive to use. Its like OOP programming.

-- ArthurClemens - 15 Jul 2005

It looks like it is related to ContentAccessSyntax, which is a major enhancement I'd like to see in DakarRelease.

-- PeterThoeny - 16 Jul 2005

It would indeed be nice to have this in Dakar. This has to be designed carefully, and implemented even more carefully.

On the syntax front, there needs to be a generic variable access syntax, which is extendable inthe future to support concepts such as access to containers (arrays, hashes). On the implementation front, it could be hacked in easily enough, but it would probably foul up the code architecture even more that I already have done wink

I was reluctant to move forward with ContentAccessSyntax until we have the TopicObjectModel in place. We're getting closer to that, but there is still a way to go. For example, preferences are still handled completely separately from topic text, which is handled separately from meta-data. These concepts all need to be rationalised to be able to do this sensibly (without just hacking it in).

I'm not saying it can't be done; I'm just saying I question whether it is appropriate for DakarRelease, as it would delay that release even further to do this properly. And after all the effort I have put into cleaning up the code, I am very keen that it should be done properly.

Having said that, design a good generic, clean, unambigous syntax, and we can probably address at least a subset of it in DakarRelease.

-- CrawfordCurrie - 16 Jul 2005

Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r8 - 2005-07-16 - FranzJosefSilli
  • 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.