wCMF
3.6
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Groups
Pages
extension.doxy
Go to the documentation of this file.
1
/** @page extensionpoints
2
*
3
* @section extensionpoints Points of extension
4
*
5
* The framework offers developers the following main points of extension
6
*
7
* - @ref extpers
8
* - @ref exttype
9
* - @ref extoutput
10
* - @ref extinteraction
11
* - @ref extlayout
12
* - @ref extdataformat
13
*
14
* @subsection extpers Persistence mechanism
15
*
16
* Since the support of a persistence mechanism affects the loading, storing and deleting of
17
* domain objects, corresponding PersistenceMapper subclasses have to be defined. The storing of
18
* application data in a text file for instance requires a FileMapper for each domain class,
19
* which is able to load, delete and alter objects in a text file.
20
*
21
* @subsection exttype Domain classes
22
*
23
* Adding new domain classes first of all requires their definition in the persistence mechanism
24
* (name, attributes, contained domain classes). In a relational database this usually is achieved
25
* by one table per domain class and if necessary additional connection tables, which reflect the
26
* relations between the objects. In the next step a corresponding PersistenceMapper has to be implemented,
27
* which makes the access to the data and the construction of the accompanying domain object possible.@n
28
* If the Node class isn't sufficient for the data representation, a new domain class finally has to be
29
* defined (for details see @ref howtotype).
30
*
31
* @subsection extoutput Output formats
32
*
33
* The output formats, in which the application data is transformed, can be defined via an OutputStrategy.
34
* This strategy may be applied for example by using an OutputVisitor, to which the new format is made accessible
35
* by its method OutputVisitor::setOutputStrategy.@n
36
* If large amounts of data have to be exported, alternatively one of the subclasses of BatchController can be used,
37
* since these allow the splitting of long tasks into packages, which can be handled over multiple page calls.
38
* This is useful for example when exporting static HTML pages from a CMS.
39
*
40
* @subsection extinteraction User interaction
41
*
42
* For defining the user interaction in the simplest case solely one configuration file is needed, which
43
* establishes an order of controllers for certain actions. By that a controller for a complex action
44
* can be defined through the combination of primitive controllers (e.g. a MoveItemController from an
45
* InsertItemController and a DeleteItemController).
46
* If new actions should be added, a new controller has to be implemented (for details see @ref howtoapplication).@n
47
* Another way to vary the user interaction is given through the modification of the views, which means the
48
* modification of the form and link definitions in the templates. By defining different contexts it is also
49
* possible to assign different views to a controller while maintaining the same action (e.g. to display an
50
* input form for data in one context and the preview of the same data in another).
51
*
52
* @subsection extlayout Layout
53
*
54
* The application's appearance is completely described by the views. Since these themselves are defined in
55
* corresponding Smarty templates, modifying the templates makes it quite easy to fit the layout to the special
56
* needs of the application.
57
*
58
* @subsection extdataformat Data exchange formats
59
*
60
* Data sent to the framework and received from the framework is transported in Request and Response instances.
61
* The data is interpreted using an IFormat implementation. This allows to easily implement new data exchange formats.
62
* Already supported formats are HTML (HTMLFormat), JSON (JSONFormat) and SOAP (SOAPFormat).
63
*
64
* Back to the @ref intro | Previous section @ref architecture | Next section @ref configuration
65
*
66
*/
wcmf3.x
SVN
docs
api-src
framework_description
en
extension.doxy
Generated on Wed Feb 5 2014 10:51:04 for wCMF by
1.8.6