Planned innovations in MODx 0.9.7
- Transfer
This year it is planned to release a new version of MODx 0.9.7. What interesting is planned there? A lot of pleasant things! Apparently, the capabilities of the system will grow very significantly.
We have many plans for the future of MODx. Some of
them - those that are more important useful and are under
implementation - are described below. Bearing in mind our own plans, we are interested in
your opinion. What, in your opinion, would be a significant
improvement for MODx? Join our community
today and help build the future of MODx.
Some of the plans for MODx 0.9.7. Did you want to add something?
The text of the translation is taken here: Work Plan
Our plans
We have many plans for the future of MODx. Some of
them - those that are more important useful and are under
implementation - are described below. Bearing in mind our own plans, we are interested in
your opinion. What, in your opinion, would be a significant
improvement for MODx? Join our community
today and help build the future of MODx.
Planned innovations in MODx 0.9.7
Some of the plans for MODx 0.9.7. Did you want to add something?
- Object oriented core. The kernel of the MODx system is completely rewritten for the object model.
- Improved
APIs. New, object-oriented, API features that
cover the MODx core more widely , with a more consistent architecture. - New
manager. We remove frames and add fully customizable templates
using AJAX for even more flexible MODx control. Fresh
interface controlled by the new MODx + Smarty + Ext + MooTools kernel - Installing
and updating the MODx kernel. A new, more flexible kernel installation program and
updater will make all installation paths 100%
customizable. No more problems with external
directories and resources of the same name . - Install packages. Tools that
make it easier to install, update, or transfer customized
content using MODx. The packages, with the possibility of fully
automated installation and updates, will help to separate add-ons
from the MODx kernel and will contribute to your development by providing the ability to
import / export without losing working components. - User Association and Security Model. Now there
is no separation between users and site managers - they will all become
just users. The same thing will happen with user groups and
documents. - Contexts This is a new concept
that will allow you to divide the entire environment into domains, subdomains, subsites,
cultural zones, specific web applications, etc. - Improved
support for i18n and i10n. Cultures (cultures) and contexts (contexts) in
conjunction will ensure the internationalization of the entire structure and allow you to
set the language, currency, date / time format, etc. - No more
eval (). Plugins, snippets and modules will be connected once,
and called as functions. This will provide great opportunities,
efficiency, stability and increase the level of security. Here you can
quote the creator of PHP Rasman Lendorff: "If eval () is the answer,
you're almost certainly asking the wrong question." ("If eval () is the answer to your question, you will almost certainly ask the wrong question.") - Controlled
database sessions. The new session handler will provide
more control by default and provide more customizable options, including
compatibility with a web server. - Improved caching.
The new system core and caching technique will help reduce the size of all
cached files and organize the hierarchical structure of folders. - Caching
database query results. The new core also allows you to cache
database query results. This will reduce the load on the
database, expanding the capabilities, which is important for sites with a large
volume of traffic. - Maintaining the kernel log. Provides various
error levels and output, including ECHO, HTML, and FILE. You
can also use this tool to check the log, error log,
debugging, etc. - Simplified terminology. Some basic MODx concepts have been modified
for a more intuitive perception and brevity, in accordance with
modern generally accepted web terminology. The most important of these
changes:- Web Resources (formerly: documents and links) Any content controlled by MODx and accessible directly through URLs.
Content Elements They are elements that define the source resources
located in the database and managed by MODx, which will be processed and,
optionally, displayed on the page.
Content tags A new name for new and existing tags that
are executable but do not apply to content elements; that is, they
do not determine the original content of the page.
Content Filtering The new input and output filters are PHP classes that replace the
current concept of widgets and @ MODx links, as well as extensions
created by adding PHx formatting. This further extension
with PHx allows you to access any content item.- Input filters Modify the original content and properties / parameters before processing.
- Output filters. Modify the content after processing before output.
- Improved
content analyzer. Its feature is full recursiveness,
independence of the initial processing from inefficient and less flexible
regular expressions, which are used now.
Jamie Zawinski may be quoted as saying “Some people, when confronted with a problem,
think:“ of course, regular expressions can be used here ”.
Now they have two problems.- Any element represented by a tag can be cached. To do this, use the “!” Symbol. For example:
[[! Snippet]] or [[! $ Chunk]] or [[! * Content]] - Any tag can contain nested tags. For example:
[[~ [[++ site_start]]]] or [[! Snippet? & tpl = `[[! getTemplate]]` & msg = `[[* introtext]]`]]
General tag format. To simplify the logic of parsing (analysis), improve
performance and avoid chaos, all tags have a single format: [[tag]].
- Any element represented by a tag can be cached. To do this, use the “!” Symbol. For example:
Old format | New format | |
---|---|---|
Content Items | ||
Template | no tag | no tag |
Template variable | [* variable_name *] | [[* variable_name]] |
Chunk | [[$ chunkname]] | |
Snippet | [[snippet_name]] | [[snippet_name]] |
Plugin | no tag | no tag |
Module | no tag | no tag |
Content Tags | ||
Placeholder | [+ name of placeholder +] | [[+ placeholder name]] |
Link | [~ link ~] | [[~ link]] |
System parameter | [(parameter_name)] | [[++ parameter_name]] |
Tongue | no tag | [[% linguistic_line_key]] |
- Even
more extensible, even less vulnerable. The new object-oriented
kernel will provide convenient use of most of the basic
features without changing the kernel code. This will help protect your
modernization achievements. - Web Resources You can
easily declare your own class to define and use
your own resources, from web services, to an AJAX processor, to a
multimedia content processor, or even integrate with third-party
applications. - Content Elements / Tags. You can define
your own content elements and tags that will process
third-party information and return the result. You can use them like
any other content item. For example:
[[-bobsCustomElement]] - Parser content. Allows you to define your own analyzer class to expand the standard parsing capabilities.
- Request / response processing. Skips or rejects kernel requests / responses that invoke methods.
- Handling Sessions. Allows you to declare your own classes for handling user sessions in PHP standards.
- Error processing. Allows you to create your own class for handling PHP errors.
- Partial caching of pages. Provides great caching capabilities. Allows more efficient use of the cache.
- Caching database query results. Provides caching of database query results.
The text of the translation is taken here: Work Plan