This release include various bug fixes and some notable performance improvements. The most noticeable changes have to do with the custom form elements used to choose pages, groups and users, which have been completely revamped.
This branch completely revamps the custom widgets used for choosing users, groups, and pages. It also adds support for using SQLite as the backend database.
This release contains many fixes and improvements to MM's Search feature (MMTID/settings/search). When a search has results, various Actions can now be chosen:
Fix a problem when exporting permissions applied to nodes
Since recycle bins are usually emptied during a cron run, impose a ten minute time limit on the deletion of nodes. Any nodes remaining after the time limit will be processed during the next cron run. Once they have all been deleted the containing pages are deleted.
Fix a bug which could prevent a node from being dragged when reordering nodes on a page
When saving a page's settings, and the page is going from hidden to unhidden, and its siblings have a custom order set, move the page to the bottom of the list
Bug Fixes:
Fix a cosmetic error which, under very rare circumstances, could cause menu links to appear not world-readable when they are
Handle missing ad hoc users more gracefully when importing tree data
Verify sort index: Fix the case where the root tree entry is marked dirty; improve the message that appears when the tree is being checked (but not fixed) and an entry is dirty
Fix a case where admin/mm/sort/fix could fail to fix anything if a fix was needed for a top-level page
Clean up some unused rows in the mm_tree_access table
Fix the index on the mm_tree_bookmarks table, and supporting code, to prevent unnecessary rows in the table
If your site has the feature enabled to provide every user with his or her own homepage, these homepages are no longer created by default when a new account is added. Instead, they are created when requested by the user. Drush commands have been added to administer user homepages.
A new "Check for orphan nodes" command has been added at admin/mm. This will look for any nodes that are not associated with any MM page and assign them to one for manual review. There are new drush commands, also: mm-check-orphan-nodes and mm-fix-orphan-nodes.
The thickbox module is no longer needed, unless your site uses the Gallery content type, as provided by the mm_media module. Among the benefits, this improves usability for users of devices with small screens.
Improve the efficiency of permanently deleting nodes and subpages when a page has many children
Improve the efficiency of the fuzzy "page not found" code, so that certain edge cases don't seem to go on forever
The speed of permanently deleting pages has been greatly improved. Unfortunately, it's still slower than it needs to be due to silliness in core.
Paginate the MM page revisions table and default to a most-recent-first sort order
Fix for security bug DRUPAL-SA-CONTRIB-2015-163, which allowed nodes placed into a recycle bin to remain accessible by the same users who could access them when outside of the bin.
Fix the order of nodes in the Reorder table when using the default sort order
Fix a longstanding bug that could cause certain node settings, such as permissions, to be lost when processing a form that contains submit buttons that are processed by AJAX. An example is as an Upload button that uploads a file but does not submit the outer node form.
Fix a case where some internal caches were not always cleared when expected
mm_schedule
Fix a preg_replace() modifier deprecated in PHP 5.4
If you have a previous release, you must run update.php or "drush updatedb" immediately. If you use the mm_media module you may have to update twice, since a warning is generated the first time under certain circumstances.
Add options to admin/mm to export/import entire sections of the tree. Nodes attached to pages can also be acted upon, if the node_export module is installed.
Add a new mode to mm_create_path() to only add new items, and not update existing ones; add the ability to return a list of stats/error messages; the same stats are now also present in mm_content_insert_or_udpate()
Add a "test" parameter to mm_create_path(), to permit dry runs
Add a link to display information about each group in a set of permissions. This can be seen in page settings, where groups listed in permissions now have a "Group Information" link.
Add an option to admin/mm/settings which, if a page's alias affects hook_mm_showpage_routing, will either warn the user or prevent him from moving the page or changing the alias
Fix a longstanding bug that could cause sort index errors when moving contents into recycle bins. Many many thanks to Hilary C. for coming up with a reproducible test case.
Fix a longstanding bug that could cause sort index errors when moving contents into recycle bins. Many many thanks to Hilary C. for coming up with a reproducible test case.
Allow the user to edit a node that is assigned to more than one page, via the URL of the page which is numerically lowest, for which he does not have page-level read access
Add a new cache class, MMAccessCacheMemcache, which can be used to improve performance on systems using the memcache module. To enable, add this line to your settings.php file, alongside other memcache configurations: $conf['cache_class_mm_access_cache'] = 'MMAccessCacheMemcache';
Automatically flag the "All logged-in users" virtual group to be updated during the next cron run whenever a user is added or removed. Courtesy of Hilary C.
Don't empty the group membership lists of sub-groups when the "Copy these permissions to all sub-groups of this group" option is checked
Correctly delete the group from mm_node_write when using "Reassign user content" and the user being reassigned is the only member of an "individual users" permisions group for a node
Add a new node type, mm_block, which allows the contents of any block to be displayed as a node. This provides an easy way to put a node on a single page without it also appearing on every other page that uses the same theme.
Instead of reusing the no_breadcrumb flag to send the meta tag asking crawlers to not index the page, create a new flag called no_index. Any pages relying upon no_breadcrumb for this will have to have the new flag checked instead. Hint: Use MM's Search feature to identify these pages.
Improve the translatability of some watchdog messages
Prevent a (remotely) possible missing function error when creating user homepages
See if a user's home page needs to be set up every time they log in
Fix a longstanding typo in the blocks admin page
Fix a PHP warning when parsing a URL containing "mm/" followed by garbage
Fix a bug in virtual group regeneration which could cause additional group members to be added when the count of members goes down drastically, but to a number greater than zero, thereby marking it "insane"
Group membership can be downloaded to a CSV file and then updated using a CSV file upload
Add text to the page settings, describing which parent page's theme will be inherited if no theme is chosen
In the page copy/move form, standardize the name and alias fields with respect to the regular page settings form; fix the default value of the alias, so that it matches the original page being copied or moved
Change the location of the "MM blocks" menu item (admin/structure/block/mm), so that it appears in the actions menu, rather than intermingled with the theme tabs. Requires a menu tree rebuild to take effect.
If the no_breadcrumb flag is set, include a noindex meta tag, asking nice crawlers not to index the page; fix a PHP warning
Improve the translatability of some watchdog messages
See if a user's home page needs to be set up every time they log in
Prevent a (remotely) possible missing function error when creating user homepages
Fix a longstanding typo in the blocks admin page
Fix a PHP warning when parsing a URL containing "mm/" followed by garbage
Fix a bug which would cause the Edit link next to the destination alias of a copy/move operation to be unclickable