Concepts
From Devblocks Platform Wiki
Contents |
Plugins
There are a couple quick points to remember about plugins in Devblocks:
- All domain (i.e., the user/market problem your application addresses) code in Devblocks is provided by Plugins.
- Plugins are comprised of Extensions which bind to Extension Points.
- A single Plugin may provide different functionality to multiple Extension Points. A good example of this in action is the Knowledgebase plugin in Cerberus Helpdesk 4.0, providing:
- An extension adding a new top-level page called 'Knowledgebase'.
- A Display Ticket module for 'Related Knowledgebase Articles'.
- A Configuration page and Permissions Set for the Knowledgebase.
((classloading))
See:
URIs
URI is short for Universal Resource Identifier.
Some example URIs:
- /cerb4/faq
- /cerb4/display
- /cerb4/search
- /cerb4/mobile
Devblocks will read these locations and instantiate the proper plugin for you. Users will see a friendly URL in their browser opposed to something like /cerb4/index.php?com=cerberusweb.kb&action=save&id=5.
URI mapping is defined at the top of the plugin.xml file, and the full contents of a URL (e.g., /cerb4/mobile/display/ABC-12345) is available through the Devblocks HttpRequest object.
Services
Services are reusable components provided by Devblocks to assist you with building your application. The goal of a service is to be well-documented and generic so you can simply grab it, use it, and get on with your coding.
Devblocks provides many useful services, such as:
- Sessions
- Plugins
- Templates
- Translations
- ...and more
For more detailed information about the various services, read Services.
Http Request / Http Response
Devblocks workflow is no different than a typical computer program: it receives input (a request), processes it (plugins), and provides output (a response).
- Request: This is the request the customer is making to the web server. It's a combination of the URI and any parameters.
- A user request is generally spawned in a couple ways:
- Clicking a link
- Submitting a form
- From an Ajax event (mouseover, drag & drop, page load, button press, etc.)
- A user request is generally spawned in a couple ways:
- Plugins: After a request is received Devblocks hands it to the appropriate Plugin/Extension. At this point pretty much anything can happen depending on what your application needs to do.
- Response: Once a plugin has processed the request a response is generated.
- Responses can be in basically any format, but the main formats are:
- HTML (rendered to the web browser as a full page or a component)
- XML (structured output for sharing data with other applications, such as an RSS reader)
- Responses can be in basically any format, but the main formats are:
DAO
DAO stands for Data Access Object, which is an abstraction concept used heavily in Devblocks. (more)
