mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-19 10:09:29 +02:00
118 lines
4.1 KiB
Plaintext
118 lines
4.1 KiB
Plaintext
|
|
This is the fpWeb components directory README.
|
|
It contains 2 packages:
|
|
|
|
The LazWeb package implements IDE functionality for FCL-Web.
|
|
It should work with version 2.4.x of FPC.
|
|
|
|
The LazWebExtra package implements more IDE projects and components,
|
|
which are available only as of version 2.5.1 of the compiler.
|
|
As these items become available in a stable release, the package will be
|
|
merged in Lazweb.
|
|
|
|
Both packages registers a series of project wizards, and some components.
|
|
|
|
The following project types are registered in the lazweb package:
|
|
|
|
- CGI application
|
|
- Apache Application (an apache module)
|
|
- Custom CGI application ("bare bones" cgi, no web modules)
|
|
- FastCGI application
|
|
- Custom FastCGI application ("bare bones" fastcgi, no web modules)
|
|
|
|
For each of these projects, a Web Module is created by default.
|
|
The following web modules can be created:
|
|
- WebDataModule (TFPWebModule)
|
|
This is a general-purpose HTTP request handling module,
|
|
which can be used to handle any HTTP request for any kind of data.
|
|
- HTMLModule (TFPHTMLModule)
|
|
This is a specific HTTP request handling module, aimed specially
|
|
at producing a HTML response.
|
|
|
|
The following components are registered:
|
|
|
|
THTMLDatasetContentProducer
|
|
Creates a HTML table based on a TDataset descendent
|
|
THTMLSelectProducer
|
|
Creates a <SELECT> element based on a TStringList.
|
|
THTMLDatasetSelectProducer
|
|
Creates a <SELECT> element based on a dataset (a lookup combo)
|
|
THTMLEntityProducer
|
|
Creates a HTML ENTITY document
|
|
THTMLPageProducer
|
|
Creates a HTML page using an event handler.
|
|
THTMLDataSetFormShowProducer
|
|
Creates a <FORM> which allows one to show a single record of a dataset.
|
|
THTMLDataSetFormEditProducer
|
|
Creates a <FORM> which allows one to edit a single record of a dataset.
|
|
THTMLDataSetFormGridProducer
|
|
Creates a series of forms.
|
|
|
|
The lazwebextra package additionally registers the following web modules
|
|
and components:
|
|
- Web Data Provider module (TFPWebProviderDataModule)
|
|
Used to convert TDataset to a variety of formats and to handle updates to the data.
|
|
(ExtJS JSON and XML currently)
|
|
- JSON-RPC request handling module (TJSONRPCModule)
|
|
Used to handle JSON-RPC requests.
|
|
- Ext.Direct handling of JSON-RPC requests (TExtDirectModule)
|
|
Handles the Ext.Direct variant of JSON-RPC.
|
|
|
|
The following components are registered:
|
|
|
|
TFPWebDataProvider
|
|
Handles CRUD (Create/Read/Update/Delete) operations on a TDataset
|
|
|
|
TSQLDBWebDataProvider
|
|
Handles CRUD (Create/Read/Update/Delete) operations on a TSQLConnection.
|
|
(INSERT/SELECT/UPDATE/DELETE SQL statements can be specified).
|
|
|
|
TWebdataInputAdaptor
|
|
Transforms HTTP request to a format that TFPWebDataProvider
|
|
understands, using event handlers.
|
|
|
|
TExtJSJSonWebdataInputAdaptor
|
|
TWebdataInputAdaptor descendent that transforms a ExtJS Datastore
|
|
JSON request to input usable by TFPWebDataProvider.
|
|
|
|
TExtJSJSONDataFormatter
|
|
Outputs JSON as expected by ExtJS datastores from all operations on a
|
|
TFPWebDataProvider instance.
|
|
|
|
TExtJSXMLWebdataInputAdaptor
|
|
TWebdataInputAdaptor descendent that transforms a ExtJS Datastore
|
|
XML request to input usable by TFPWebDataProvider.
|
|
|
|
TExtJSXMLDataFormatter,
|
|
Outputs XML as expected by ExtJS datastores from all operations on a
|
|
TFPWebDataProvider instance.
|
|
|
|
TJSONRPCHandler
|
|
Component that handles a single JSON-RPC request.
|
|
|
|
TJSONRPCDispatcher
|
|
Component that dispatches a batch of JSON-RPC requests to appropriate
|
|
TJSONRPCHandler instances.
|
|
|
|
TSessionJSONRPCDispatcher
|
|
Component that dispatches a batch of JSON-RPC requests to appropriate
|
|
TJSONRPCHandler instances, and which is session-aware. (session in the
|
|
fcl-web sense of the word)
|
|
|
|
TJSONRPCContentProducer
|
|
Component that handles input from a HTTP request, passes it on to a
|
|
TJSONRPCDispatcher instance and formats the result.
|
|
|
|
TExtDirectDispatcher
|
|
TExtDirectContentProducer
|
|
Descendents of TJSONRPCDispatcher and TJSONRPCContentProducer that
|
|
understand the Ext.Direct variant of extJS.
|
|
|
|
Demo projects are available in the demo subdirectory, and additional demos
|
|
can be found in the fcl-web/examples directory of FPC.
|
|
|
|
Additional READMEs with information on the components are in the fcl-web/src/*
|
|
directories.
|
|
|
|
Author: Michael Van Canneyt & Joost van der Sluis
|