On March 26, 2019 we launched new MODX Forums. Please join us at the new MODX Community Forums.
Subscribe: RSS
  • The MODx Team would like all to know that we have released the long-awaited MODx Revolution 2.0.0-beta-1, downloadable here:

    http://modxcms.com/download/

    Also see our Release Announcement here:

    http://svn.modxcms.com/docs/display/revolution/MODx+Revolution+2.0-beta-1+Release+Announcement

    2.0.0-beta leads MODx Revolution 2.0 into feature-lockdown; only a few planned additions will be added. From here on out, work will be directed toward bugfixes and compatibility.

    There are 3 versions for download:
    • Traditional (beta-1.zip) - For regular users, with all files pre-extracted.
    • Advanced (beta-1-advanced.zip) - For those who want a smaller download and compressed install. Those who do not have root or sudo access to their machine should use traditional and not sdk or advanced.
    • SDK (beta-1-sdk.zip) - Includes core building options, API docs, and files for developers. (coming soon)



    Again, please fill out bugs in JIRA, read up on documentation in Confluence, and follow SVN developments in Fisheye.

    Thanks,
    The MODx Team


    Changelog:
    - Fixed issue with derivative Resource classes JS not loading Page Settings data into submit
    - Fixed issue with utilities JS not loading at right time
    - Updated build.xml to produce beta releases.
    - Quick fix to prevent blank attribute referencing
    - Fixed issue with package attributes and skipping blank options
    - [#MODX-723] Fixed issue where preview pane was picking up CSS from preview
    - Updated xPDO to revision 333.
    - Fix issues with Page settings defaulting to 1 on resource creation
    - Adjusted order of JS utils loading to make for easier min-concat loading
    - Cleanups to JS to prepare for beta-1
    - Lexicon updates
    - Updating outdated copyright notices in source code headers.
    - Fixed hardcoded version number in setup.
    - Added request_controller system setting to indicate the front-controller file (default=index.php).
    - Fixed array_merge warnings in modLexicon.
    - Added back support for anonymous user access control.
    - Added support for returnUrl parameter to be sent to login processor to allow unauthorized responses to return to the original requested page directly (NOTE: this overrides manager_login_startup and login_startup parameters, but does not work with POST requests: these will simply return to the URL with only GET parameters).
    - Export lexicon now prompts for download of exported file
    - Enhanced User Group update/create screen to now have grids that allow you to assign Resource Group / Context permissions to that user group. This will help clear up confusion with the access relationships.
    - Fixed scope issue in accordion.css that was causing odd behaviours with panels in the main content
    - Adjusted setup procedures to allow for more lexicon support for pre-load checks
    - Adjusted setup lexicon to allow for multiple topics; conformed upgrade scripts and other references to match
    - Consolidated similar code in setup, esp. with regards to fatal errors
    - Added smarter checks for xPDO failures in connectors
    - [#MODX-744] Fixed issue with invalid display of num cleared on cache claering
    - Fixed bugs with updating packages from a remote provider
    - Made sure package attr returns ’’ if false
    - Fixed manager log to show username, not user ID
    - Standardized derivative resource form panels to move page settings to left
    - Tweaked tree menu headers
    - Minor IE overrides for top navigation and accordion panel.
    - Added support for modLinkTag properties as url parameters, with context reserved to indicate a context to send to makeUrl().
    - Fixed error in modLinkTag when passed invalid data.
    - Added ’@RESOURCE’ binding alias so as to deprecate @DOCUMENT binding
    - Fixed default language setting for modLexicon
    - Fixed a couple issues with the page settings checkboxes for resources
    - Removed deprecated _tx_.gif
    - Removed home icon and replaced with tab
    - Adjusted CSS to align main content page vertically
    - Trees now have fun new icons representing their types (this includes the resource, element and file trees)
    - Cleaned up the default.inc.php lexicon topic to remove any no-longer-used entries
    - Fixing typo in subtract output modifier
    - Fixed improper reference in TV property renders for mgr context
    - Updated xPDO to revision 329.
    - Improvements to sendError() behavior.
    - Added lock stealing processor and updated remove_locks processor.
    - Added steal_lock:true policy attribute to default Resource policy to allow lock stealing permissions by ResourceGroup.
    - modTemplateVar: Fix getValue() on `value` field by storing and verifying the value requested is cached by the same resource.
    - modResource: Add resourceId value to getMany() on modTemplateVar to identify the resource caching a value on the modTemplateVar instance.
    - modX: Set logTarget based on XPDO_CLI_MODE; ECHO for CLI and HTML for non-CLI requests.
    - modX: Add sendError() function to provide customizable, named error pages on FATAL or other critical error situations.
    - modX: Refactored sendForward(), sendErrorPage(), sendUnauthorizedPage() functions to allow an array of options and better handle FATAL errors.
    - modCacheManager now Caches related modContentType data to prevent unnecessary database connection/query on fully cached pages.
    - Fixed problem with modStaticResource truncating the content to the size of the static file by setting the content length header on non-binary content types.
    - Fixed problem with modStaticResource non-binary content types rendering the path to the static file rather than the actual content of the file.
    - Calling modX->log(MODX_LOG_LEVEL_FATAL) or modX->messageQuit() now logs the error to file and then renders {MODX_CORE_PATH}errors/fatal.include.php.
    - Updated to r325 in xPDO: xPDO method changes to getOption() and _log().
    - Update ’setup-options’ ability in transport packages to allow for script-based setup options that will properly handle upgrades to setup options default values
    - Updated to r323 in xPDO: Revise xPDOTransport::writeManifest to make ’setup-options’ be able to be an executable script to allow for dynamic form ability
    - Updated snoopy class to version 1.2.4 (used by magpierss).
    - [#MODX-535] Removed automatic setting of isfolder based on presence or absence of children.
    - [#MODX-499] Site start Resources now return base_url from modContext->makeUrl() if no scheme is specified (i.e. when expecting relative links).
    - Improved error reporting on modX->makeUrl() to show original $id value being passed in on failures.
    - modLinkTag no longer returns empty values on first pass of parser, allowing delays until the value returns a valid value.
    - Implemented modResource editor locking (added modResource methods: getLock(), addLock($user), removeLock($user)).
    - Implemented modResource locking features in all appropriate processors.
    - modResource->checkChildren() now uses modX->getCount() to determine if children exist.
    - Added steal_locks attribute to Context access policy.
    - [#MODX-728] Made sure config check dialog is hidden if no warnings are present
    - Package Installations will now skip license agreements / readme panels if none are specified
    - Made sure More Info in download panel can scroll
    - Fixed issue with spacing in setup options panel of package install
    - modCacheManager->generateScript(): Fixed PHP notice in log message on error.
    - modInstall: Modify _modx() function to call setDebug with E_ALL & ~E_NOTICE instead of E_ALL & ~E_STRICT.
    - Optimized queries in element tree to eliminate subqueries or queries in loop, reducing to O(n) instead of O(n^2n)
    - Made clear cache results a bit smaller
    - Refresh trees after clear cache
    - [#MODX-609] Clear cache menu item now loads results in an alert dialog. No longer loads a separate page.
    - Fixed to template getlist processor
    - [#MODX-671] Fixed bug with resource group access permissions being checked when not assigned
    - [#MODX-699] Fixed to allow usage of login processor without lexicons
    - Added Import/Export to element properties grids, which allows for file-based transporting of properties.
    - Fixed issues with comboboxes dropping down a blue screen
    - [#XPDO-28] Fixed problem with multiple file resolvers on vehicles with similar basenames cause directory contents to merge unexpectedly.
    - fixed PHP notice for missing elementType variable
    - fixed subcategory elements missing from display (was counting elements in parent category rather then subcategory to determine if the subcategory should be displayed)
    - Fixed issue with default properties in TVs being locked
    - Fixed no onTVFormPrerender
    - Made sure clearDirty is fired on TV panels
    - Tweaked the css and updated copyright year.
    - Refactored all index.php gateways to support constructor options set as $options in the various config.core.php files.
    - modCacheManager/modCache: Introduced cache partitioning allowing various cache provider implementations to target specific MODx cache partitions and provide custom (system/context/user) settings for configuration options to each: cache_system_settings, cache_context_settings, cache_resource, cache_scripts, cache_lexicon_topics, cache_action_map
    - modAccessibleObject: Refactored object and collection loader logic to improve cache hit rates.
    - modRequest: Fixed warning for undefined variable $fromCache.
    - modSessionHandler: Refactored write() method to only update access time when the session data has changed or at specified intervals before the data is made available for GC.
    - modSessionHandler: Added support for cache_db_session, a new configuration setting to allow session data to be cached when cache_db is enabled.
    - modTemplateVar: Allow getValue() to use a `value` field for data if already populated for a specific resource.
    - Commented out missing image in welcome.tpl (temporary)
    - Added couple of bugfixes to modDBRegister to prevent duplicate payloads and update existing messages.
    - Fixed bug where QuickUpdateChunk was persisting values
    - Added fix to prevent DOM id problems
    - Added clearCache checkbox to chunk editing to allow toggleable cache clearing
    - Optimized chunk processors
    - Added ’Quick Update Chunk’ and ’Quick Create Chunk’ options to Elements tree, which allows you to quickly edit or create chunks via a window straight from the Element tree on any page
    - [#MODX-718] Fixed bug where elements without a category wouldn’t show
    - [#MODX-697] Fixed problem with deprecated role topic still in action build scripts
    - [#MODX-705] Removed random numbers causing Radio TVs to render improperly
    - Fixed bug that caused policy data to be erased when creating/saving/removing policy data
    - [#MODX-711] Fixed Update Context screen to properly pass correct PK
    - modDbRegister: fixed bug with expired messages not being removed if remove_read => false
    - modDbRegister: allowed messages to be updated/overwritten
    - Fixed modCacheManager::prepare() - was returning false on already-prepared contexts
    - Added support for nested categories for elements; categories can now have subcategories
    - Fixed to treestate to properly set treestate ID so restore can work properly
    - Fixed call to onDocFormRender to make sure ID is passed on Resource update
    - Fixed to getFiles processor for MODx.Browser to properly store URL parameter with the base_url prefixed
    - [#MODX-712] Fixed errors creating context settings
    - modX: Fixed potential error when invokeEvent() is called and executes a plugin with property sets and pluginCache does not contain the object
    - modCacheManager: Fixed error when building the pluginCache with property sets
    - modCacheManager: Fixed typo in parentSql that was breaking use alias paths option.
    - modCacheManager->generateContext(): Added support for Resources to be generated in multiple contexts via modContextResource.
    - modParser: Removed errant log() statement in parseProperties().
    - modParser: Fixed problem in parsePropertyString() when passing `escaped` property values containing semi-colons (;).
    - Added in necessary reloading functions to ColumnTree
    - Fixed issue with column tree’s context menu overriding the ID
    - modManagerResponse: Detect if controller responses are error arrays and render using error.tpl appropriately.
    - [#MODX-693] redirect bug - modResponse logic error
    - Moved core/config/version.inc.php to core/docs/version.inc.php
    - layout/tree/resource/getnodes.php: Additional optimization to reduce memory usage and improve performance when opening Resources containing a large number of children.
    - modConnectorResponse->toJSON() optimized to greatly reduce memory usage and improve performance with large result sets.
    - [#MODX-691] allow User Settings to be saved from prop. grid
    - Fixed bug with documentMap
    - Fixed issue with default tv render panel for resource page
    - [#MODX-690] Fixed a few events names registered in the system_eventsnames table during build/install
    - Added id’s to element and category nodes for informational purposes (missed one spot).
    - Added id’s to element and category nodes for informational purposes.
    - Updated drag and drop behavior to update context_key of all child Resources when dropping a container on a different context node.
    - Modified modTransportPackage.manifest field from MEDIUMTEXT to TEXT in order to handle large manifests.
    - Fixed aliasMap broken in recent cacheManager refactoring.
    - Added helper functions to MODx.tree.ColumnTree
    - Added DD events to ColumnTree
    - Added missing column tree CSS
    - Added UI for adding property sets to PluginEvents
    - Added cacheManager object checks to verify for PHP4 installs
    - modCacheManager->generateResource(): added validation of the modResource primary key before attempting to cache a record.
    - modUser: modified storage of session data to use the modUser primary key value to isolate values associated with a specific user; this will allow users to login as multiple users on the back-end and/or front-end without affecting the session data associated with a specific user.
    - modX->_initSession(): Enable session_gc_lifetime configuration setting to set session.gc_liftime ini setting regardless of what session handler is configured.
    - modPluginEvent: Added the ability of plugins to utilize Property Sets by allowing a plugin registered to a particular event to attach a Property Set and make it available during processing.
    - Fixed warning with loading of RTEs in resource page
    - [#MODX-674] Fixed content-dispo combobox bug
    - Removed allowBlank: false check on menuindex to allow for dynamic creation
    - Added in missing lexicon entries for prior menuindex commit
    - [#MODX-678] Added back in ’menuindex’ field to resource panels
    - Added missing modX::__construct() options parameter.
    - Allow for extending of MODx.panel.ResourceTV by making reference to modx-resource-template field dynamic
    - Fixes for RTE loading
    - Fixed issue where smarty template path was not being reset if 3PC set path to something else
    - modX constructor now accepts a second parameter containing an array of options to be set in the config
    - Major refactoring of modCacheManager to provide more granular caching options
    - modCacheManager now accepts options, based on changes to xPDOCacheManager, and provides access via getOption()
    - generate*() methods now all return data as well as cache it to a specified cache_handler unless otherwise configured
    - modX->getCacheManager() no longer supports MODX_CACHE_DISABLED or config[’cache_disabled’]; the cacheManager is required, though you will still be able to effectively turn off all caching in the future via this setting (this will be worked back in)
    - manager/controllers/system/refresh_site.php changes to better target things to remove from the cache
    - Introducing modDbRegister and the modx.registry.db package, providing a database modRegister implementation.
    - Added new system settings for individual cache areas, i.e. cache_system_settings, cache_context_settings, cache_lexicon_topics, cache_scripts, etc.
    - modCacheManager: Various fixes and adjustments to latest refactoring, including clearCache improvements.
    - manager/controllers/system/refresh_site.php: Improvements to default clearCache call.
    - modCacheManager: converted generateActionMap() to support configurable cache implementations
    - Updated modAction->rebuildCache() and modManagerRequest->loadActionMap()
    - Additional tweaks to manager/controllers/system/refresh_site.php
    - Updated xPDO externals to revision 308
    - Removed unnecessary comments from the reg* functions
    - Moved all manager pages JS/CSS to inside HEAD tag using the reg* functions; this improves speed and validation of the manager
    - Fixed the way 3PCs handle their controller files. NOTE!!! This means that you no longer need a "core/controllers" file in your 3PC; just set the namespace path correctly, then set the controller in your modAction.
    - Added an ability for mgr pages to utilize regClientStartupScript and other reg* functions to make pages load faster and move JS/CSS to HEAD tag
    - modX->getEventMap() - Made sure prepare() creates a valid statement before calling execute()
    - Updated modStaticResource to set headers in getFileContent() for now, though this needs to be refactored for flexibility.
    - Fixed issue with saving TVs from create resource processor
    - [#MODX-637] Fixed issue with TVs not reloading on changing template in new resources
    - [#MODX-663] Fixed various issues with modAction creation
    - Fixed issue with MODx.Browser uploads not refreshing the main view
    - Fixed publishedon default date setting
    - Fixed date TV default value
    - Fixed default setting for symlinks
    - Fixed issue with Symlink/WebLink class_key storing
    - Fixed issue with textfield editing in Safari on Property Set grid
    - [#MODX-662] Fixed duplicate issue with elements
    - Fixed issue with property sets page and property lock
    - Fixed name issue on duplicating elements
    - Fixed symlink page setTimeout issue
    - Fixed missing file inclusions
    - Fixed element tree where categorized templates weren’t showing
    - Added editing ability to resource’s publishedon date
    - Fixes to package downloader panel due to ID conflicts
    - Adjusted modTransportPackage::transferPackage to rename incoming file to [signature].transport.zip rather than basename($source)
    - Fixed xml/json response classes to properly work
    - Added permission "unlock_element_properties", which gives ability to unlock editing of default element properties.
    - Added implementation of above permission into element properties grid
    - Fixed some logic issues with the lockMask
    - [#MODX-561] Added "Locked" ability to default properties for elements
    - [#MODX-633] Fixed issue with add another not respecting parent
    - Fixed TV access panel not working on new TVs
    - Fixed state management with tree nodes
    - [#MODX-661] Fixed URL TV input, where it was not setting prefix value
    - [#MODX-659] Fixed bug where root-level docs couldnt be updated b/c of parent issue
    - Fixed bug with parent being assigned to 0 always in derivative Resource classes
    - Made sure bad resources (where parent = id) are ignored when building the context cache files.
    - Fixed parent bug in controllers
    - Fixed transport.data.php with ’namespace’ key on modActions
    - [#MODX-622] Updated top menu structure to be more consistent.
    - Fixed error if properties are null
    - [#MODX-651] Fixed bug when deleting a propset, would not empty grid
    - Fixed to resource page combos not setting display value correctly
    - [#MODX-658] Fixed issue where in TV -> Create, templates were not showing
    - Fixed template nodes to properly sort by templatename
    - Adjusted resource menus and such to refer to a ’Resource’ without a specific class_key as ’Document’ when applicable, with the exception of talking about Resources in the generic sense
    - Added Duplicate option to Property Sets
    - Fixed bug where template inheritance for resources wasn’t happening
    - Fixed symlink page
    - [#MODX-632] Updating xmlrpc to 2.2.1
    - Corrected logic in setup to allow forced PDO emulation mode (XPDO_MODE == 2).
    - Added `category` field to modPropertySets; they can now be categorized
    - Enhanced UI to support new modPropertySet category ability
    - Modified MODx.Window so that the ENTER key submits the form
    - Added more IDs to element forms
    - Added ability to "remove" overridden properties, but only ones that are not in the default propset (ones that are should "revert")
    - Fixed OnWebPagePrerender event not firing as expected.
    - modOutputFilter: Refactored date modifier to return ’’ if the timestamp encountered == 0 or -1.
    - modOutputFilter: Added strtotime modifier.- Refactored connectors to execute in the context from which they are called, rather than their own context.
    - Updated xPDO to revision 304 for new xPDOFileVehicle feature to respect XPDO_TRANSPORT_RESOLVE_FILES options.
    - [#MODX-562], [#XPDO-24], [#XPDO-25], and [#XPDO-26] Updated xPDO to revision 302 to resolve various issues regarding transport packages and model generation.
    - [#XPDO-23] and [#MODX-604] Updated xPDO to revision 298 to resolve nesting error when logging messages during installation with improper cache directory permissions.
    - Added modPropertySet->getElements() method as shortcut to get all proper modElement instances available to the set.
    - Added overridden modElementPropertySet->getOne() to get related Element using the proper element_class value.
    - [#XPDO-21] Updated xPDO to revision 290 for updates to xPDOObject::addOne() and addMany().
    - [#MODX-553] Unpublished and deleted Resources now ignored properly in modRequest::getResource().
    - [#MODX-553] Core setup now automatically adds an ACL to the web context for members of the Administrator group.
    - Core setup now updates the Administrator group ACLs for accessing the mgr and connector contexts with an Authority of 0 (highest authority).
    - Modified OnUserNotFound event handling not to rely on references which no longer work properly with recent changes to property handling.
    - Added overridden modElement->get() to handle converting legacy property strings stored in the database.
    - Added modPropertySet class to represent persistent sets of properties that can be applied to modElement instances.
    - Added support for modElements to relate modPropertySet objects via modElementPropertySet (many-to-many).
      shaun mccormick | bigcommerce mgr of software engineering, former modx co-architect | github | splittingred.com