Translations
Info
All page names need to be in English.
en da  de  fr  it  ja  km  nl  ru  zh

Standardization

From TYPO3Wiki
Jump to: navigation, search
This page belongs to the Extension coordination team (category ECT)
This page belongs to the Standardization for TYPO3 extensions project (category Project)

Title:
Main editor:
Project status:

Standardization
Franz Holzinger
collection of interest


notice - Open Content License

This document is published under the Open Content License

The content is related to TYPO3 - a GNU/GPL CMS/Framework available from typo3.org



The Standardization (Standardisation) is an ECT (Extension Coordination Team) project getting standards for the naming of TypoScript, CSS, PHP classes and almost everything. All extensions should be developed and named in the same way to make it easier for customers and programmers to use them. Even the naming of folders, template files and database table fields should follow a common way in all extensions.

Relations

Current Project Members

Proposals

You are free to add your proposals here.

CSS

I suggest that extension development stick to the following unadorned HTML tags for consistency among TER extensions. In my opinion there should be an CGL for HTML used in extensions templates as well on PHP in the development of the extensions. And _NO_ inline CSS for extensions. Clean HTML-tags without styles or classes will ensure an easier implementation.

Suggested HTML Tags

Here is a list of suggested HTML tags thats always should remain clean and without styles:

<h1>
<h2>
<h3>
<h4>
<h5>
<h6>
<p>
<a>
<span>
<ol>
<ul>
<li>

TypoScript

example should be replaced by your names.

Topic: Property: Data type: Description: Default:
date exampleDate_stdWrap ->stdWrap stdWrap for example date
Example:
exampleDate_stdWrap.strftime = %d-%m-%Y %H:%M
global markers marks array key and value pairs of global markers
Example:
marks.MYMARKER = Hello, this is my marker.
This will replace the marker ###MYMARKER### globally with this example text. A hook function 'addGlobalMarkers' should be available, too.

File system nomenclature

Description: Naming:
File folder for FE users of extensionsfileadmin/feusers/FE account name/tx_extensionname/
File folder for FE users imagesfileadmin/feusers/FE account name/pics/
File folder for FE users DAM filesfileadmin/feusers/FE account name/media/
File folder for FE users DAM MP3 filesfileadmin/feusers/FE account name/media/mp3/

The benefit of this would be that an admin could easily find the folders of FE in the filesystem, copy and delete them. BE admins can use the fieadmin. FTP and SFTP could be used to transfer the data.

Standards

These are the recommended standards.

File system nomenclature

Image folder: uploads/pics File folder for extensions: uploads/tx_extensionname

Extension subfolders:

folder name: Description:
controlthe code which controls the flow inside of the code
eidcode called by Ajax with eID parameter.
liblibrary code. Usually no objects are created out of it.
hookshooks for other or this extension
markerthis deals with replacement of markers
modelthe code which deals with access to the database tables
res/icons/feicons used in the FE
res/icons/beicons used in the BE
res/icons/tableicons used for tables in BE
staticfolder which contains the files constants.txt and setup.txt, maybe in subfolders
templateexample templates for the extension
viewthe code which is for the generation of the output

Serious suggestions and wild ideas

These are ideas that may end up on the Wishlist. They are in the article (as opposed to the discussion tab) to put them in plain view.

  • Create DTD's for things like flexforms . . .
  • . . . Add 'validator' support to the 'extdeveval' extension, so you can validate your own flexforms and other things that have a DTD.