Concepts

From Devblocks Platform Wiki

Jump to: navigation, search

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
  • Mail
  • ...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.)
  • 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)

DAO

DAO stands for Data Access Object, which is an abstraction concept used heavily in Devblocks. (more)

Personal tools