Revolution 2.1 Release Candidate 3 Closing in on Public Release
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. Release Candidate 3
(RC-3) fixes a number of issues and bugs identified by community members. In addition there was an improvement filed to decrease the size of the packages and manager payload through enhanced compression of the image files in the manger.
We need continued help from the community to ensure MODX Revolution is ready for its official public release. Testing, translations, documentation and updating Add-ons will all be part of this Release Candidate period which closes April 18th, 2011. We encourage you to test and use this release and welcome reports of issues to make sure that 2.1.0-pl will be an near-flawless 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.
Here are some Highlights of RC-3
What’s New In 2.1:
- Various UI usability/speed improvements including smaller manager/package size due to enhanced compression of manager images.
- Fix Resource checkbox issues to ensure checkboxes are set correctly on load and save.
- Fix issue where site breaks if friendly URLs off.
- Fix auto-publishing issues which were a result of cache changes introduced in RC-1.
- Fix issues with File/Image TVs and URL paths to allow use of both full URLs and relative URLs.
Impact of Microsoft SQL Server Support and Removal of Deprecated Methods for Developers
- 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.
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.
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-rc3
Read the Revolution 2.1 Documentation
Read the Installation 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.
The MODX Team
MODX Revolution 2.1.0-rc-3 (April 11, 2011)
- Fix invalid merge retained in master branch from 2.1.0-rc-1
- Fix modResource::save() to refresh uri if isfolder field is dirty.
MODX Revolution 2.1.0-rc-2 (April 11, 2011)
- Refresh resource tree if resource's parent has changed
- [#4327] Fix bug with auto-publishing
- Fix positioning of right panel in mgr UI to make tree/nav static and isolated from scrolling of right panel
- Make alias required field in resource/create processor when friendly_urls is on but automatic_alias is off
- [#4280] Fix issue where transport package could not be removed if transport files were removed
- [#4281] Utilize modX::sourceCache in modParser::processElement()
- Fix issues with Namespace grid related to context menus and search
- [#4257] Fix issue where context menus did not show in Contexts grid
- [#4288] Fix issue with resource preview context menu
- [#4279] Fix undefined collResources notice with empty Contexts
- [#3119] Fix modResource->getAliasPath() to use id if set
- Upgrade MagpieRSS to 0.72 to fix issues with atom feeds
- [#3623] Fix TemplateVarTemplate foreign key definition in modTemplate
- Replace specific references to MySQL with more general language
- [#4185] Change modx logo in mgr to new logo
- [#4217] Add rank field to modUserGroupMember table
- [#4271] Highlight currently editing Resource on tree
- Fix issue with image/file TV and uploading in MODx.Browser when using a custom basePath TV
- [#4270] Fix issue where images could not be removed when using a custom basePath TV
- Add User Group related events
- [#4260] Change title tag in mgr UI to reflect current page
- [#4256] Add caption field to Quick Create/Update TV
- [#4261] Change keyboard save shortcut to CTRL+S
- [#4262] Ensure that FC rules htmlencode their tab/field labels
- [#4243] Ensure that files that are read-only do not show save button; fix file tree opening
- [#4244] Add backwards compatibility for Element properties of list type with older indexes
- [#4236] Fix bug in Template combo that hid category name
- Improve compression of images in mgr to reduce load times and core transport zip size
- [#4232] Fix Output Options being ignored in TVs in 2.1.0-rc1
- Add options to allow ACL queries to be disabled for Contexts, Categories, and Resource Groups
- [#3941] Fix issue where Resource TV values were not copied when duplicating a Context
- [#4202] Fix issues with file/image TVs urls/paths when using modx path placeholders
- Fix sorting/display bugs on UserGroup ACL grids, add grouping for better visibility
- [#4175] Add modRequest->getClientIp() for better IP handling
- [#4217] Add rank field to modUserGroup
- Update version to 2.1.0-rc-2
- [#4173] Fix issues with math-related output filters and floats
- [#4205] Ensure old modxcms.com provider is removed after change to modx.com provider
- [#4220] Fix modX::makeUrl() when friendly_urls not enabled
- [#4207] Fix issues with checkboxes and Form Customization rules
- [#4013] Fix modX::_log() to pass target to parent::_log() properly