[Typo3-dev] Accessibility/ObjectTS - soon to be released

dan frost dan at danfrost.co.uk
Tue Nov 25 13:22:48 CET 2003


Dear all,

[ Note - if you're interested in helping me with this development by 
running your TypoScripts through it, please say so - I want to get the 
major bugs out asap. ]

Some of you might know that i've been working on a more "Object 
Oriented" way of implementing TypoScript and the Typo3 rendering 
functions. When I first suggested this - some 5 months ago - I was met 
with a mixture of interest and scepticism.

Well, I've nearly got there and plan to release Object-TypoScript as an 
extension (and possibly a manually-applied patch) in the next couple of 
weeks. I've just got it working for few TypoScript datatypes, and it 
(nearly) works perfectly - rendering exactly the same as old TypoScript.

Here's what Object-TypoScript will be/do/contain (if not in this 
version, then soon):
- tslib_content - this c5000 line class has been split into 5 or 6 
smaller classes. Some of these are used in the same way as the div:: 
library of functions.

- "datatype" functions if tslib_content - e.g. TEXT and IMAGE - will all 
be replaced by "Object TypoScript classes" (see next).

- Object TypoScript classes - are child-classes of the parent (abstract) 
classes ts_object. This classes implements all functions (e.g. stdWrap 
etc) so *all functions are usable anywhere*. (Note: all ObTS classes 
have the filename structure: tso_datatype.php)

- Extensible datatype system - The datatypes are created by creating 
classes. Soon, datatypes won't be selected by the (current) switch 
statement (in tslib_content) but by their class name - e.g. tso_text is 
called for TEXT; tso_image is called for image; and tso_newdatatype is 
called for NEWDATATYPE.

- Extensible TypoScript-function system - TypoScript functions _are_ php 
functions. The API is strictly defined, meaning that to add a new 
TypoScript (to _all_ parts of TypoScript) one has only to create a new 
PHP function.

- A backdoor - to the html configuration of what's rendered. This will 
allow TypoScripters to change which bits of data are used in the 
rendered html, and how the html is configured.

- Globals ObTS on/off - in something like $GLOBALS['OBTS']

- Rendering abstraction layer - html is never hard-coded, but is 
rendered through a class called mu_object (mark-up object). This class 
builds tags, adds attributes and content by *checking against the DTD" 
(via a PHP array). Therefore, the system should soon render xhtml all 
the time.

- And more little things...

Comments...?

Regards,
dan





More information about the TYPO3-dev mailing list