Regions are a means of providing two different types of capabilites. First and foremost, an ability to group your actions together to make your code more readable. Grouping your actions together makes it easier to navigate through your code and find specific areas of the code that are providing specific capabilities. This logical grouping of actions also makes it easier to copy and paste groups of actions from one configuration to another.
Name the region to be displayed on the action tree - and also to be referenced by a Goto Action from within the current configuration, or from other configurations. It is important to note that if you will be using Regions for GoTo destinations you must ALWAYS use unique Region names, otherwise you will end up executing the First region of the selected name, and not necessarily the one you wanted to execute.
Regions also provide the ability to do a few conditional things, as seen in the following picture:
- Both - whenever this region is encountered, unless the region is encountered from the Search Integration interface, it will be executed. Both means that if the incoming request is either a full Page Load, or an Ajax Request (ows.Fetch, or Ajax Callback when Ajax is enabled in general settings), it will be executed.
- Page Load - the child actions within this region will ONLY execute on a page load request, and not on an AJAX request (ows.Fetch, or Ajax Callback when Ajax is enabled in general settings).
- AJAX Request - the child actions within this region will ONLY execute on an ajax request and NOT on a complete page load request.
- Debug - often you may want to enable debugging for specific areas of the configuration and not for the entire configuration. Checking this box will turn off debugging for all actions that are children of the region. This is perfect when working with extremely large configurations.
- Search - if you want the ability to enable search integration with your configuration, meaning that when your platform's search indexing is running, it indexes content within this configuration, it will only be allowed to execute regions that have this option enabled. The reson for this is quite simple - there is no need to execute any number of actions that are provided for user interactive purposes when the search indexing is hitting the configuration.
- Portable - To support the ability to create Customize Import and Export functionality which binds with the DotNetNuke core platform, Enabling a region to execute during Import or Export requests is provided. For further information on Portable, read the article "Using IPortable"