Patterns v7 has gone through a serious and thoughtful refactoring of the engine. New features have been introduced, while some have been lost. Hopefully the net gain is positive.
Here is a list of known backward-incompatible changes from Patterns v6 to v7. Some features are going to be re-implemented soon in v7 (see Work in Progress paragraph), others will remain backward incompatible.
hook_patterns is modularized
hook_patterns of Patterns v6 has been split in 7 different hooks, which perform a specific task each. For details see the documentation page on writing a Patterns component.
Automatic patterns extraction hook
A new hook to perform automatic extraction of configuration from the database has been created. This feature is still experimental, but it is indeed the most promising change introduced in v7.
Actions create / modify / delete
An additional semantic level has been added to the actions. The purpose of the action is clearly stated, and that avoids executing an action which could be potentially dangerous for the web site.
PHP mode execution
Patterns can be executed also in PHP mode, besides the traditional Batch mode. This is particularly useful for debugging, but it can also increase the performance of execution for small changes.
User-defined folder for patterns files
Users can select the folder where imported patterns files are stored (must be writable). This decreases the risk of losing them with upgrading and migrations.
The Graphical User Interface has been totally the rewritten and made similar to the Modules page. This should increase the user experience, and create a less steep learning curve. There is a Quickrun option for running patterns without saving them, which is very useful for testing.
Some general tests, and tests for each component. A decent coverage overall.
Work in progress
Some features which were originally supported in Patterns 6.x need to be re-implemented in Patterns 7.x, because of the engine refactoring. These features are included in the Patterns 7.x and are going to be implemented as soon as possible.
- Support for XML and PHP patterns
- Support for sub-patterns