This is one of the greatest diem features.
Every part of Diem is called a service. And you can replace and extend each of them.
Want to change the way Diem detect browsers ? Replace the browser service by your own.
Learn about the Symfony Dependency Injection Container
The core services can be used in both admin and front application.
To extend them, use the config/dm/services.yml file.
The original services.yml can be found in dmCorePlugin/config/dm/services.yml.
Responsible for parsing markdown text and generating HTML.
Responsible for saving a copy of files edited. All files modified with a Diem code editor are backuped.
Responsible for building an email from a DmMailTemplate and a data array, then pass it to Swift.
This service is not yet ready for usage
Responsible for launching background tasks using an internal shell.
Responsible for adding, updating and removing pages when the site content changes.
Responsible for updating pages metas when the site content changes.
Responsible for clearing the cache automatically when the site content changes.
Represents a field in a form. Allows chainability in form template helpers.
Responsible for finding applications bootstrap urls. Allows to make a link to the site from the admin, and a link to admin from the site.
Responsible for listening the "application.throw_exception" events and make something with the errors.
Responsible for rendering tags with the £media helper. Configurable from the graphical configuration panel.
Responsible for rendering flash objects with the £media helper. Not ready yet, you should extend it if you need it.
Responsible for rendering video with the £media helper. Not ready yet, you should extend it if you need it.
Responsible for rendering audio with the £media helper. Not ready yet, you should extend it if you need it.
Ressource for a media_tag_*
Responsible for rendering HTML tables with the £table helper
Responsible for managing search indices and provide a handfull programming interface.
Responsible for maintaining and querying an index ( for example, the "en" index )
Responsible for indexing a page
Responsible for managing a CSS theme
Responsible for minifying, merging and compressing stylesheets
Responsible for minifying, merging and compressing javascripts
Responsible for rendering the authentication page layout
Responsible for managing cache
Extension of sfFilesystem
Responsible for logging all notable events
An entry of the event log
Responsible for logging all requests
An entry of the request log
Responsible for detecting user browser depending on its user agent
Responsible for listening all events that may require a page synchronization, and launch the synchronization if any before redirections.
Object oriented template helper.
Responsible for managing widget types.
The admin services can only be used in admin application.
To extend them, use the apps/admin/config/dm/services.yml file.
The original services.yml can be found in dmAdminPlugin/config/dm/services.yml.
Responsible for building and rendering the admin automatic breadcrumbs.
Responsible for rendering the log chart.
Responsible for rendering the week chart.
Responsible for rendering the visit chart.
Responsible for rendering the content chart.
Responsible for rendering the browser chart.
Responsible for fetching data from google analytics.
Responsible for rendering admin link tags with the £link helper.
Responsible for loading required assets.
Generic form to sort a table.
Generic form to sort table's referers.
Responsible for rendering the admin layout.
Responsible for building and rendering the admin menu.
Responsible for generating and saving an automatic sitemap.xml.
The front services can only be used in front application.
To extend them, use the apps/front/config/dm/services.yml file.
The original services.yml can be found in dmFrontPlugin/config/dm/services.yml.
Responsible for building and rendering an HTML sitemap. Not to be confused with the xml sitemap, the HTML one is intended to be displayed on the site.
Responsible to redirect or forward the user when the request page is not found.
Responsible for creating and managing front forms.
Responsible for paginating the front doctrine collections, and rendering the pagination links.
Responsible for rendering a link tag to a record with the £link helper. Configurable from the graphical configuration panel.
Responsible for rendering a link tag to a DmPage instance with the £link helper. Configurable from the graphical configuration panel.
Responsible for rendering a link tag to a DmMedia instance with the £link helper. Configurable from the graphical configuration panel.
Responsible for rendering a link tag to a symfony action with the £link helper. Configurable from the graphical configuration panel.
Responsible for rendering a link tag to an external uri with the £link helper. Configurable from the graphical configuration panel.
Responsible for rendering a link tag to an exception with the £link helper. Configurable from the graphical configuration panel.
Ressource for a link_tag_*.
Responsible for loading required assets.
Responsible for managing available themes.
Responsible for rendering a widget.
Responsible for rendering the front layout.
Responsible for rendering the front content.
Responsible for rendering widgets.
Questions and Feedback
If you need support or have a technical question, you can