Planned innovations in MODx 0.9.7

Original author: MODx Team
  • 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.



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]].


Old formatNew format
Content Items
Templateno tagno tag
Template variable[* variable_name *][[* variable_name]]
Chunk[[$ chunkname]]
Snippet[[snippet_name]][[snippet_name]]
Pluginno tagno tag
Moduleno tagno tag
Content Tags
Placeholder[+ name of placeholder +][[+ placeholder name]]
Link[~ link ~][[~ link]]
System parameter[(parameter_name)][[++ parameter_name]]
Tongueno 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

Also popular now: