You are here: start » developers_manual

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

developers_manual [2017/09/29 16:28]
Christoph M. Becker [System Core]
developers_manual [2018/10/26 15:33]
Line 1: Line 1:
-====== Developers Manual ====== 
  
-This documentation is meant for developers who want to contribute to CMSimple_XH or develop solutions for their own use, e.g. own templates. 
- 
-See also the [[http://​cmsimple-xh.org/​dev-doc/​php|new developer documentation]]. 
-===== Important Rule for Extension Writers ===== 
- 
-Your code is run along with others'​ code, so you always should take care to avoid any possible clashes. Some hints: 
- 
-  * use unique designators for global variables, constants, functions, classes, GPC parameters, ID, name and class attributes etc. to avoid name clashes 
-  * never destroy a session; it might still be used by others 
-  * don't change error_reporting or display_errors((see [[http://​cmsimpleforum.com/​viewtopic.php?​t=7559]])) 
-  * templates should not force a too restrictive markup language version (e.g. HTML 4.01 strict or XHTML 1.0 strict) as a plugin might require less strict features (e.g. an <​iframe>​) 
-  * plugins should not make use of too "​loose"​ features (e.g. the name attribute for <a> elements), as the template might declare (X)HTML 5. 
-  * avoid hardcoding file or folder path'​s;​ use the constants and variables offered by the system core (CMSIMPLE_ROOT,​ [[core_variables#​pth|$pth]]) 
-  * the core and plugins should set ''​padding:​0''​ for all elements which define an explicit ''​height''​ to avoid issues with templates using the IE box modell (i.e. ''​* {box-sizing:​ border-box}''​. 
-  * Plugin stylesheets should not use ''​@import''​ at-rules, as these are not catered to by the combined plugin stylesheet (plugins.css). 
-===== System Core ===== 
- 
-  * [[Development of the core|Core development]] 
-  * How to set up a [[development environment]] 
-  * [[Release a new version]] 
- 
-Since CMSimple_XH 1.6 the [[http://​www.cmsimple-xh.org/​dev-doc/​php/​|developer documentation]] is generated from the sources. The following two articles are thus **obsolete, and kept for historic purposes only.** 
- 
-  * [[Core Functions]] 
-  * [[Core Variables]] 
-===== Templates ===== 
- 
-  * [[Code Conventions]] 
-  * [[Template Tags]] 
- 
-===== Plugins ===== 
- 
-  * [[Code Conventions]] 
-  * [[Coding Style]] 
-  * [[jQuery and CMSimple]] 
-  * [[Captcha Plugins]] 
-  * [[Plugin Interfaces]] 
-  * [[userprelude.php]] 
-  * [[API Incompatibilities]] 
-  * [[Plugin Tutorial]] 
-    * [[plugin_tutorial_intro|Introduction]] 
-    * [[plugin_tutorial_i18n|Internationalization]] 
-    * [[plugin_tutorial_config|Configuration]] 
-    * [[plugin_tutorial_admin|Administration]] 
-    * [[plugin_tutorial_javascript|JavaScript]] 
- 
-===== Miscellaneous ===== 
- 
-  * Setting up a [[public demo]] 
 
You are here: start » developers_manual
Except where otherwise noted, content on this wiki is licensed under the following license: GNU Free Documentation License 1.3
Valid XHTML 1.0 Valid CSS Driven by DokuWiki