Tags:
create new tag
view all tags
Well, I've read the topic CommonHeaderFooterTemplate and now propose still MoreCommonHeaderFooterTemplate.

As I mentioned in NationalCharTokenClash, I'm currently working on Korean version of TWiki. For that, I must make HTTP header say "charset=euc-kr" in /bin/* executables and substitute "charset=us-ascii" into "charset=euc-kr" in the HTML head section of many template files. I'm not sure if both these changes are necessary, but at least, the second is inevitable for 2-byte charset users. Plus that, I added stylesheet tags into HTML head section. That will be easier with head section defined in twiki.tmpl and other templates just include TMPL:p{"htmlheadsection"} or something like that.

I hope I can contribute to TWiki with my own enhancement, not only words, someday. (Not now, though:)

-- JikhanJung - 02 Nov 2001

This would help building TWikiSkins as well.

-- MattWilkie - 02 Nov 2001

One solution is to redfine what a skin is allowed to do rather than make a series of pathes.

What I'm working on with my OO model is to have a skin not be a set of files but an object that describes how the topic is to be rendered.

The charset should not be a part of the skin but of the overall system configuration. So the rendering object asks the skin object:

  • I have a topic of this type amd this language, are there any style sheets I need to put in the header?
  • I have a topic of this type and this language, are there any more META statements that I need to put in the header?
  • I have a topic of this type and this language, are there any pieces of script I need to include?
  • I have a topic of this type and this lanuage, can I please have the body template.

... and a few more things like that.

If you review the various templates, you will see that many of them are lacking - they have only a "view" or only a "view" + "edit". Some, such as WinXPSkin, are pure HTML and don't follow the TWiki mode at all.

What a skin should be, and this is my motivcation in the OO redesign, is a specification. In this is it better as something like a YAML. This way a skin-spec can point to comon features and the awkward macro language becomes more manageable.

Note in the the above I mentioned the type of the topic. How a skin responds to a topic with TWiki-markup will have to be different to how it responds to a topic with Cunningham-markup or PDF or POD. How we render depends on the topic type and not just on the skin, but the skin should supply the "look and feel".

Right now the skin builds the header. This is WRONG.

Skin builders shouldn't need to kow how to build the header, shouldn't need to know about DTD, charset, all the ins and outs of META and the other elements of a correctly formated header.

Skin builders should be concerned with what goes between <body> and </body>, if and only if the topic is of a type that can be rendered as HTML.

SKin builders shouldn't have to face that awkward macro language either.

But then issuing the "Content-Type:" shouldn't be part of the job of the skin either!

Working in terms of a specification such as a YAML would also lead to more complete skins. A template can have the stanzas for all the needed skin parts - view, edit, attach, create, preview, rdiff, printable, changes, move and of course the full set of OOPs. This would lead the skin writer to ensure a more complete skin.

My thoughts on this have been inspired the way skins (themes) are implemented in KDE and Gnome.

-- AntonAylward - 30 May 2003

I agree completely. When I started my skin, I was unpleasantly surprised by each Yet Another Template file to copy and modify.

What I'm working on with my OO model is to have a skin not be a set of files but an object that describes how the topic is to be rendered.
Can you expand on this?

-- ArthurClemens - 30 May 2003

This might be the wrong place to mention it, but the OOPS templates seem awfully redundant, too. Shouldn't there be just one OOPS template which reads various TWiki Topics depending on the condition? Some of the OOPS templates already grab TWiki Topics. Why not go the extra mile and get rid of most of the OOPS templates completely?

-- TomKagan - 30 May 2003

Can I expand on this? Yes, and I hope to.

However there are some things that are like .... a bundle of sticks. You can snap each stick seperately. Nind them together like the 'Eagle' or standard of the old Roman Legions which were supported by a tightly bound bundle of sticks. The legionaires were taught that if the stuck togehter like that bundle they were unbreakable.

A design is like that too. If I were just to post about the Skin Object it would contribute little. I'd need to post about all the object and their relationships and interactions for it to make sense and for it to represent a coherent whole.

I have that vision of all this in my head and in UML and relationship diagrams and I'm writing it up and illustrating it. (I beamon that RRose can't generate Perl!) In due course I'll post it here. Its a lot. I'm already well over 200k of .txt and only about 1/3 of the way through the write-up. Plus there are diagrams and charts and illustrative code.

I was brought up to work a design out thoroughly before coding. That's my discipline and its proven very sucessful for me in the past. I'll discuss bits here and there. Many of the ideas and suggestions in this forum, the "demands" - light and heavy - for improvements and the critique of design limitations have been considered. Compatability with the exisiting topic base will be a requirement of the inital version, but there will be presure to upgrade in order to benefit from the performance enhancements and to allow the additional features to be realized.

Since posting all I will have will swamp Codev, I hope Peter will allow me to set up a new web, some "The Next Generation" theme in keeping with my Star Trek and "The Stars My Destination" comments elsewhere.

-- AntonAylward - 30 May 2003

It would be interesting to see if the interface efforts (PatternSkinCodeChanges) and your OO set up can make a match in the near future.

-- ArthurClemens - 30 May 2003

Anton, I don't think compatibility with the existing topic base is all that important as long as migration tools are factored into the design. Compatibility makes migration easier and, most likely, can be achieved. But, I have no problem breaking it for the sake of a much improved product. Problems with incompatibility only start when the migration tools are lacking and/or the "new and improved" product is not implemented well.

-- TomKagan - 02 Jun 2003

Edit | Attach | Watch | Print version | History: r9 < r8 < r7 < r6 < r5 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r9 - 2003-06-02 - TomKagan
 
  • 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-2026 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.