~ubuntu-branches/debian/lenny/fpc/lenny

« back to all changes in this revision

Viewing changes to fpcsrc/packages/fcl-web/src/README

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-05-17 17:12:11 UTC
  • mfrom: (3.1.9 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080517171211-9qi33xhd9evfa0kg
Tags: 2.2.0-dfsg1-9
[ Torsten Werner ]
* Add Mazen Neifer to Uploaders field.

[ Mazen Neifer ]
* Moved FPC sources into a version dependent directory from /usr/share/fpcsrc
  to /usr/share/fpcsrc/${FPCVERSION}. This allow installing more than on FPC
  release.
* Fixed far call issue in compiler preventing building huge binearies.
  (closes: #477743)
* Updated building dependencies, recomennded and suggested packages.
* Moved fppkg to fp-utils as it is just a helper tool and is not required by
  compiler.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
This is the beginning of a server side web system for FPC.
 
2
Although it is non-visual, it is geared towards use in Lazarus.
 
3
 
 
4
Architecture:
 
5
 
 
6
httpdefs
 
7
--------
 
8
contains the basic HTTP system definitions: 
 
9
header field names
 
10
TCookie(s): 
 
11
  collection with cookies in web request
 
12
TUploadedFile(s): 
 
13
  collection with uploaded files in request
 
14
THTTPHeader:  
 
15
  Class describes HTTP Request/Response headers.
 
16
  it has properties for all possible HTTP headers, including cookies
 
17
TRequest: 
 
18
  Descendent of THTTPHeader, describes client request.
 
19
  Contains uploaded files.
 
20
TResponse: 
 
21
  describes the web server response. Includes headers and contents. 
 
22
TCustomSession: 
 
23
 Base for all session components.
 
24
 
 
25
fphttp:
 
26
-------
 
27
Basic web system components/classes
 
28
 
 
29
TCustomHTTPModule: 
 
30
  Abstract TDataModule descendant, which processes a webrequest
 
31
  and prepares a response.
 
32
TModuleFactory/TModuleItem: 
 
33
  Module registration and creation system.
 
34
TCustomWebAction(s): 
 
35
  Webactions.
 
36
RegisterHTTPModule():
 
37
  routine registers a module with the web system.
 
38
THTTPContentProducer : 
 
39
  abstract HTTP producer component.
 
40
 
 
41
The idea is that the URL relative to the server is taken and parsed as
 
42
follows
 
43
http://www.server.org/Path1/Path2
 
44
 
 
45
Path1 determines which module in the system is created to handle the
 
46
request. (the factory is queried)
 
47
Path2 determines which web action inside the module is used to handle the
 
48
request. (implemented in TWebModule, see fpweb)
 
49
 
 
50
websession
 
51
----------
 
52
Implements basic session support.
 
53
 
 
54
TSessionHTTPModule:  
 
55
  TCustomHTTPModule descendent with session support.
 
56
TIniWebSession: 
 
57
  TCustomSession descendent which stores session variables in inifiles.
 
58
TFPWebSession:  
 
59
  TIniWebSession descendent for use in fpweb. Uses cookies to store session info.
 
60
GetDefaultSession() : 
 
61
  returns default session object.
 
62
 
 
63
fptemplate
 
64
----------
 
65
Unit which implements template support.
 
66
 
 
67
TTemplateParser: 
 
68
  Template parse object. Does the actual parsing and replacing. Delimiters
 
69
  are configurable. Standard variables can be specified, callbacks for unknown
 
70
  values can be set.
 
71
 
 
72
TFPCustomTemplate:
 
73
  TPersistent for use in components. Allows properties to configure the
 
74
  TTemplateParser. Supports streams, template and template files.
 
75
 
 
76
fpweb
 
77
-----
 
78
Actual usable implementation of TCustomHTTPModule. 
 
79
 
 
80
TFPWebAction(s): 
 
81
  Web actions with template support.
 
82
TCustomFPWebModule: 
 
83
  Descends from TSessionHTTPModule, implements WebActions and has template support.
 
84
TFPWebModule: 
 
85
  published TCustomFPWebModule properties for use in Lazarus.
 
86
 
 
87
fphtml
 
88
------
 
89
This creates web modules specialized in creating HTML content.
 
90
 
 
91
THTMLContentProducer: 
 
92
  Descendent of THTTPContentProducer which produces HTML
 
93
THTMLCustomDatasetContentProducer: 
 
94
  Descendent of THTTPContentProducer which produces HTML from datasets.
 
95
THTMLDatasetContentProducer: 
 
96
  Descendent of THTMLCustomDatasetContentProducer which publishes some 
 
97
  properties.
 
98
THTMLSelectProducer:
 
99
  Produces a combo box.
 
100
THTMLDatasetSelectProducer
 
101
  Produces a combo box bases on values in a dataset.
 
102
TCustomHTMLModule:
 
103
  TCustomHTTPModule descendent which produces HTML content only.
 
104
 
 
105
Note that classes for HTML document creation come from package fcl-xml.
 
106
 
 
107
fpdatasetform
 
108
-------------
 
109
 
 
110
This contains classes which allow to create complicated HTML/forms 
 
111
based on a TDataset.
 
112
 
 
113
THTMLDatasetFormProducer
 
114
  Creates an edit form for a TDataset record.
 
115
  Complicated table layouts are possible.
 
116
 
 
117
THTMLDatasetFormGridProducer
 
118
  Creates a grid with data from a TDataset
 
119
  Complicated table formatting is possible.
 
120
 
 
121
custcgi:
 
122
--------
 
123
  CGI application base class. It knows nothing of the fp
 
124
  HTTP module system.
 
125
 
 
126
TCustomCGIApplication : 
 
127
  TCustomApplication descendent which handles a CGI request.
 
128
  No instance of this class is created, this is done in fpcgi.
 
129
 
 
130
TCGIRequest:
 
131
  TRequest descendent which retrieves content from the CGI 
 
132
  environment.
 
133
 
 
134
TCGIResponse:
 
135
  TResponse descendent which returns content to the CGI environment.
 
136
 
 
137
fpcgi:
 
138
------
 
139
  Standard CGI application instance.
 
140
 
 
141
TCGIApplication:
 
142
  TCustomCGIApplication descendent which uses the fpWeb system
 
143
  to create a TCustomHTTPModuleClass to handle the request.
 
144
 
 
145
It contains an Application instance which handles everything.
 
146
 
 
147
fpApache:
 
148
---------
 
149
  Apache Module support.
 
150
 
 
151
TCustomApacheApplication:
 
152
  Uses fpweb to create TCustomHTTPModuleClass instances to 
 
153
  handle the request. 
 
154