We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
  • Revolution 2.1 Release Candidate Includes MS SQL Server Support, Improved Security and Performance, and Lightens Up.

    MODX Revolution 2.1 is a huge milestone in the development and future of MODX. From Microsoft SQL Server support to caching improvements to the elimination of thousands of lines of deprecated code, we need help from the community to make sure MODX Revolution is ready for its official public release soon. Testing, translations, documentation and updating Add-ons will all be part of this Release Candidate period which closes April 8th, 2011. There will be no features added or changed at this time but we welcome reports of issues to make sure that 2.1.0-pl will be an awesome release.

    Test and Prepare
    This is a Release Candidate and therefore should not be considered safe for upgrade on production servers without thorough testing in a development or test environment. We strongly encourage testing to make sure sites and custom Snippets prior to the production release.

    What’s New In 2.1:

    • Full Microsoft SQL Server support is new in 2.1. This is pretty cool and we’re very excited about offering developers the choice of running MODX Revolution on a full MS stack.
    • Massive cache improvements mean the MODX caching system has been restructured to vastly improve caching times. It now properly implements file locking, partitioning and multiple format support. We’ve seen cache file sizes drop to nearly 30% of their prior size or more with the system, and page load time significantly decrease. The context cache is also now pre-generated before the existing cache is overwritten, ensuring your site remains available even with vast numbers of resources.
    • More Secure Password storage as Revolution 2.1 introduces the use of the PBKDF2 which replaces MD5. We’ve also included structural changes to allow future features and customizations to the password settings.
    • Template Variable Improvements adding Input Options to allow you to control how particular TV types treat the data in the Manager to add validations, paths or other parameters.
    • New URI Editing and Freezing. You can now customize a resource’s URL independently from the Friendly URL settings and tree path (essentially overrides the alias and alias path). If you have a resource located at /blog/2010/01/really-important.html you can set it to be called /really-important.html. This also means that if you decide to move it elsewhere in the resource structure the URL remains the same.
    • Removal of all deprecated MODX Evolution Code which loses several thousand lines of code, lightens the distributions and will make future development simpler.

    Impact of Microsoft SQL Server Support and Removal of Deprecated Methods for Developers
    2.1 will natively support Microsoft SQL Server databases. This means, however, that Extras that interact with custom xPDO models will need to have sqlsrv schema created and maps/classes generated in order to work across platforms. All xPDO and xPDOQuery methods (e.g. ->where(), ->select() etc) are inherently cross-platform. However, if MySQL-specific syntax has been introduced, methods are available to bring the vast majority of queries into cross-platform bliss. xPDO goes further and gives the developer the additional power to tweak queries per-platform. In the future we’ll be adding other database drivers such as sqlite, oracle, postgre and more.

    Revolution 2.1 also marks the departure of the deprecated, legacy 0.9.x and Evo code. While these methods have been marked as deprecated since pre-2.0, it is a fact that there will be popular extras and custom code that relies on them. This will mean that site owners will need to have all Extras tested to ensure compatibility with 2.1. We would hope that Extras developers will take responsibility to make their addons compatible with Revolution 2.1. We are preparing a guide in our documentation to help developers test and update Extras and custom snippets. Many of the Extras developed by the MODX core team members have been updated including getResources and Wayfinder for Revolution.


    Translations
    As usual we’ll put out a call for assistance in translating MODX Revolution lexicon entries. Of note in 2.1 there are a number of new entries relating to the new Template Variable Input Options as well as System Settings.

    Download Revolution 2.1.0-rc1
    Read the Revolution 2.1 Documentation
    Read the Installation Guide
    Upgrade Guide
    Check the Installation Requirements

    As with all release candidates we need you to please report any and all issues and bugs. Make sure you read the documentation, post feedback and successes in the MODX Community forums.

    If you want to get involved in helping ready Revolution 2.1 for the PL (Public Launch) release, please ask in the forums.

    Thanks,
    The MODX Team

    Changelog/Release Notes:
    MODX Revolution 2.1.0-rc-1 (March 28, 2011)
    ====================================
    - Fix issue with properties and i18n in Element properties and in drag/drop box
    - [#4146] Fix issue where new Content Types were always created as Binary
    - [#291] Add principal_targets setting to allow custom ACLs to be loaded by MODX Principals/Users
    - [#99] Allow SymLinks/modX->sendForward() to forward to Resources in external Contexts
    - [#4147] Changing ContentType extension in grid not refreshing URIs
    - [#3967] Fix issue with running user create/update processors more than once in a session
    - [#3542] Hide Template Variables tab on Resource create/update pages if no TVs are present
    - [#788] FC Rules for TVs now display distinctly for create or update
    - [#1118] Add more help for User fields in manager editing page
    - [#2578] Fix issues with manager log view page where sorting was off and grid was not sortable
    - Fix issue where user-created FC tabs were not removable from a Set
    - [#4096] Fix Package Management archive issue when using mapped Windows drives
    - [#3785] Add category filter and search box to TV grid on Template panel
    - [#65] Make locked Resources be read-only rather than unviewable
    - Improve Package Management to show changelog, more supports information in package browser
    - [#4120] Fix issue where TV sort order is reset on Quick Update
    - [#4115] Fix issue with modPhpThumb and filenames with + signs
    - [#2719] Fix reset behavior on autotag/tag TV inputs
    - [#3586] Adjust improper text on Content Types page
    - [#2652] Fix issue where Element could be drag/dropped onto another Element in tree
    - Add ability to select a blank value for ResourceList TV input type
    - [#54] Fix issues with phpThumb and DOCUMENT_ROOT by adding a custom phpthumb_document_root System Setting
    - [#4122] Fix order of execution of validation and plugin events for Element processors
    - [#4105] Add Spanish translation
    - Refactor duplicate alias checks into duplicate URI checks
    - Cleanup deprecated code in Resource templates
    - [#3765] Ensure entries editedon values are set when editing a Lexicon Entry
    - Update ExtJS to 3.3.1
    - [#4073] Add session_name, session_cookie_path, session_cookie_domain as System Settings with blank default values
    - [#4077] Add resource_quick_create and resource_quick_update Permissions to restrict access to Quick actions on Resource tree
    - [#4050] Add tree_show_resource_ids and tree_show_element_ids Permissions to show/hide IDs of Resources/Elements in tree panels
    - Add username field to modTransportProvider, and send it and UUID to providers during transmissions
    - [#3641] Add base URL for Help links in manager for easier management and customization of URLs
    - [#3552] Fix issue causing list-xtype properties to be swapped when using drag/drop into field functionality
    - [#4069] Ensure that you cannot delete the last User in the Administrator user group
    - Add fix for ie9 to get tree nodes to work properly
    - Prevent Category ACL queries on Elements if no entries for current context
    - [#2601] Improve text and drag/drop for weblink/symlink content fields
    - [#3636] Fix issue with empty values on options in list/dropdown/checkbox/radio TVs
    - [#4024] Fix issue with display value not always showing for list properties in element property grid
    - [#4056], [#4041] Add xtype password, template, user, usergroup, etc to available xtypes for System Settings
    - [#3350] Improvements to bugfix for PHP bug 53632
    - [#4054] Improve select binding to be able to use Resource fields via placeholders
    - [#142] Add modResource.setTVValue API method
    - [#4021] Add system setting to allow setting of a custom favicon for the manager
    - [#3589] Fix issue with Static Resource paths when using custom filemanager_path
    - [#4040] Fix issue where Users were always created as active in mgr UI
    - [#4043] Enable drag/drop of users and groups in User Group tree
    - [#4052] Fix issues with element property import and invalid characters causing freezing in UI
    - [#4042] Fix issue in phpThumb base class preventing far property from working
    - [#4049] Add resource_tree_node_tooltip for controlling field in Resource Tree tooltip
    - [#3511], [#2964], [#3601] Fix issues regarding form customization and Templates by removing ajax loading of TVs in Resource panels
    - Consolidate JS for derivative Resource panels to allow to inherit from main Resource panel
    - Add context param to modx.getParentIds
    - [#3754] Ensure Resources can not have their parent set as one of their descendants
    - Add context param to modX.getChildIds
    - [#3612] Improve CDATA filter to not add spaces at beginning or end
    - [#3764] Add delete to actionbar on Resource edit panel
    - [#3585] Add description field to modUserGroup
    - [#3020] Improve trees to expand node on click if no href target is set for tree node
    - [#4006] Show children count rather than IDs on categories in element tree to lessen id ambiguity
    - Fix issue where Quick Create was not respecting unchecked setting checkboxes
    - [#3673] Add "Save and Close" button to quick update windows
    - [#3970] Ensure extension is lowercased before checking for allowed status when uploading files
    - [#3920] Ensure modPHPMailer resets replyTo and custom header fields
    - Add UI for managing Resource uri and uri_override fields
    - Remove all deprecated methods and variables scheduled for removal in next minor release
    - Change modxcms.com references to modx.com
    - [#3898] Prevent any non-integer being set in ?a= in mgr interface
    - [#3926] Ensure security/user/create processor can take in a class_key parameter to set class_key for SSO
    - Improve user processors event handling to allow for better SSO integration that can stop save/remove/update
    - Refactor password reset not to send password hash as activation key
    - [#325] Allow configurable user password hashing with PBKDF2 default implementation
    - [#3111] Fix bug causing unnecessary writes to Resource cache files
    - Update xPDO to v2.1.1-pl2
    - Add modResource.uri_override to allow a uri to be manually set and locked per Resource
    - [#3111] Add modResource.uri field to allow context maps to be regenerated in a single query
    - [#3859] Remove redundant check for php bug
    - [#3858] Fix javascript errors from FC hideField rule
    - [#2812] Add link_tag_scheme to define default scheme for makeUrl() call in modLinkTag
    - [#3111] Remove resourceListing, documentListing, and documentMap from context cache
    - [#3111] Cache refactoring with proper file locking, partitioning, and multiple format support
    - [#3111] Update xPDO to release 2.1.0-pl for cache improvements
    - [#3740] Add proxy support to modTransportPackage.class.php
    - [#3693] Fix reversed content-disposition logic on static resources
    - [#3427] Fix issue where User Settings were not respected with filemanager_path/url
    - [#3702] Ensure file/image TVs can have files drag/dropped onto them
    - [#3465] Add sanity check for non-object to log call in modAccessibleObject::_loadInstance
    - [#3615] Fix issue with modx->user->getResourceGroups, set resource groups in "modx.user.{$id}.resourceGroups" session key
    - [#3568] Fix double error->failure reference in resource/create processor
    - [#3425] MODX.Browser now loads directory of TV's current value on load
    - [#3481], [#3571], [#3304], [#3569] Fix issue with filemanager_path in non-web contexts 
    - [#3009] Add ability to assign TVs to specific directories and base paths, limit file extensions shown
    - [#2679] Add Input Options to TVs, allowing TV inputs to be customized and tweaked
    

      Author of zero books. Formerly of many strange things. Pairs well with meats. Conversations are magical experiences. He's dangerous around code but a markup magician. BlogTwitterLinkedInGitHub