[Typo3-dev] Newbie (plugin developer) questions...

Bernhard Kraft kraftb at kraftb.at
Tue Jun 21 20:32:03 CEST 2005


Maidment, Paul wrote:
> Hi All,
> 
> My organisation (the National Health Service in Scotland) uses Typo3 for a
> number of its websites and we would like to look into the development of
> plugins, as a precursor to this, I have been asked to investigate the
> options.

You have only one option: Read, Read, Read :)


> I am thinking of writing an advanced workflow plugin, before proceeding, I
> need to know if

Currently there is going work on, on a new workflow module because the current
one is kind of to simple (To compete with the rest of Typo3 :)

> 1: There is a method of development through which I can ensure compatibility
> with future versions of Typo3 (as a main concern is maintainability of the
> code.)

Use the API as much as you can. Don't reinvent the wheel. T3 is a CMF (Content
Management Framework) and supplies a lot of high-level methods.
List/Array methods
Session-Storage methods
User-handling
Cache-handling
Database abstraction
longlist etc.

A good place to look for helping functions is t3lib/class.t3lib_div.php

> 2: What are the best standards to stick to when writing plugins, what
> conventions and best practices do you recommend?

There are "TYPO3 Coding Guidelines" (CGL)[1] which describe in which way you should
format your code and other basic programming principles (Don't use functions.)

> 3: Where can I get a good tutorial on writing a plugin (something quite
> straightforward and simple to start with) .... I already know how to code in
> PHP so I would be looking for a good source of Typo3 API tutorial material.

There is the "TYPO3 Core API"[2] document. And for all your need to TypoScript (TS)
the powerful "page/content-configuration language" there is "TSref"[3].

As you want to write an BackEnd (BE=Editing interface) module, which a workflow is, you will need
to read "Backend Programming"[4].

When you like to use TYPO3 in your company for normal websited you will need to
write FrontEnd (FE=Visible Website) plugins. For this purpose read
"Creating a basic extension"[5]

  4: Once a plugin is written, what can I do to publish the plugin to the
> Typo3 community? so many people have contributed, it would be good to give
> something back, and also healthy for future development.

You can publish it in TYPO3 Extension Repository (TER) which will make your extension
directly installable out of TYPO3 via the Extension Manager (EM).

 > 5: Are there any other handy hints / tips / caveats / points of constructive
 > critiscism that you can think of?

You should start to make 2-3 webpages using T3 before you start to write an complex
plugin as an Workflow ... You can't know what needs to be done when you haven't done
it yourself.
To start of read the "Modern Template Building (MTB)"[6] tutorial which explains how
to create weppages using TYPO3 in the old-fashioned (but still actual) way. Or read
"Futuristic Template Building (FTB)"[7] which explains how new TemplaVoila (TV) works.

As soon as you start to write an extension you should also start or at least think about
the documentation. To write an extension which can get published online on typo3.org like
all the other documentation i referd to, you will have to use the OpenOffice .sxw Template
"My Extension"[8]. Just use the .sxw icon link at the bottom to download the source file
for OpenOffice.

 > I appreciate you taking the time to read this and hope to get some
 >interesting leads to follow...

You can all find documenation in the "Typo3 Documentation Matrix"[9].

The links:

[1] TYPO3 Coding Guidelines
http://typo3.org/documentation/document-library/doc_core_cgl/

[2] TYPO3 Core API
http://typo3.org/documentation/document-library/doc_core_api/

[3] TSref
http://typo3.org/documentation/document-library/doc_core_tsref/

[4] Backend Programming
http://typo3.org/documentation/document-library/doc_tut_backend/

[5] Creating a basic extension
http://typo3.org/documentation/document-library/player_profile_basic/

[6] Modern Template Building (MTB)
http://typo3.org/documentation/document-library/doc_tut_templselect/

[7] Futuristic Template Building (FTB)
http://typo3.org/documentation/document-library/doc_tut_ftb1/

[8] My Extension
http://typo3.org/documentation/document-library/doc_template/

[9] TYPO3 Documentation Matrix
http://typo3.org/documentation/document-library/Matrix/


greets and much fun,
Bernhard






More information about the TYPO3-dev mailing list