Insight to Module Modernization
This article follows the introductory article in Joomla magazine July issue (https://magazine.joomla.org/issues/issue-july-2013/item/1366-module-modernization). In this article, I will briefly introduce some of the new modules which will be added to Joomla in near future and few of the new features such as module ACL and global configuration.
New Module: Contact Information Module
Contact information module displays a list of contact information of a selected contact from the contacts list.
Screenshots
Basic Options
- Contact Name. Select the name of the contact from the Contacts list
- Name Hyperlink. Select whether Name of the contact should be hyperlinked to the contact page of the particular contact
- Position. Position of the contact
- Address. Address of the contact which includes suburb, state and the country as well.
- Postcode. Postcode of the contact
- Telephone. Telephone number of the contact
- Email. Email address of the Contact
- Email Address Cloaked. Select whether the email address should be visible or not
Pull Request: https://github.com/joomla/joomla-cms/pull/1921
Feature Tracker: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_id=8549&tracker_item_id=31566
New Module: Image Slider Module
Image Slider module shows a Bootstrap Image Carousel in a selected module position. Users can insert up-to 5 slides with an image, image link, heading and a description. In addition user can set auto start, slide interval and whether to show or hide navigations and controls.
Screenshots
Basic Options
- Autostart. Auto-start option decides the Image Slider to start the transitions automatically or manually.
- Interval. Time delay between two slide transitions.
- Show Navigation. Shows/hides the slideshow navigation dots on the top.
- Show Controls. Shows/hides slideshow navigation arrows to previous and next slides
- Slide 1 – Parameters (Similar to other slides)
- Slider Image. Set the slider image URL or browse image location
- Image Link. Set slider image Link URL
- Slide Heading. Set the slide Heading
- Slide Description. Set the slide description
Pull Request: https://github.com/joomla/joomla-cms/pull/1918
Feature Tracker: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_id=8549&tracker_item_id=31568
New Module: Google Maps Module
This module shows a Google Map with basic options, in a given module position. User can define the location either by Longitude & Latitude or by address. Additionally user can set the zoom level, map size, map type as well. API key is an optional field. If the user has a Google Maps API 3 key, it can be specified in the ‘API Key’ field. The Maps module uses Google Maps API V3. In the future I’m planning to incorporate OSM and other map APIs as well.
Screenshots
Basic Options
- Map Type. Select the Google Map type from ‘Hybrid, Roadmap, Satellite, Terrain’
- Zoom Level. Set the Map Zoom level
- Width. Width of the Map to be displayed. Default value is ‘auto’
- Height. Height of the Map in pixels.
- Map Center By. Set the way you specify the Map center (either by Location address or Coordinates)
- Map Address. If you have selected ‘Address’ in the previous option, then you need to specify the Address here.
- Map Coordinates. If you have specified the ‘Coordinates’ in the Map Center By. Option, then you need to specify the Longitude and Latitude of the location separated by a comma.(Input format: longitude, latitude)
- API Key (optional). If you have a Google Maps V3, API Key, you can specify it here
Pull Request: https://github.com/joomla/joomla-cms/pull/1917
Feature Tracker: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_id=8549&tracker_item_id=31570
New Module: Selected Tag Module
This module shows a list of articles which contains the selected tag, Selected Tag module is in a way somewhat similar to the Similar Tags module, which shows similar articles which contains similar tags to the article currently viewing. But instead Selected Tag module shows a list of articles which has a user specified tag. User can select the order and the direction the list of articles to be displayed. This module uses a new JLayout which can be used for both the tag modules
Screenshots
Basic Options
- Tag. Select a tag from the list of all tags, which articles having the same tag needs to be listed
- Max Items. Select the maximum number of article titles to be displayed in the module
- Order By. Order list of articles by title, created/modified/published time
- Order Direction. Direction of the articles to be displayed. (Ascending or Descending order)
Pull Request: https://github.com/joomla/joomla-cms/pull/1919
Feature Tracker: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_id=8549&tracker_item_id=31569
Module Global Configuration
Sets the global values for some advance module options, they include the following: Module Class Suffix, Module Tag, Bootstrap Size, Header Tag and Header Class. These global configurations can be overridden inside each module as user need.
How to access
To access this screen you can either:
- Click the Options button in the Module Manager, or
- Click the Global Configuration in the Control panel and then select Module Manager Component or
- Select System → Global Configuration from the drop down menus and then click Module Manager.
Screenshot
Description
The Global module options will be applied for every module unless they are overridden inside a particular module.
- Module Class Suffix. A suffix to be applied to the CSS class of the module. This allows for individual module styling
- Module Tag. The HTML tag for modules
- Bootstrap Size. An option to specify how many columns the module will use.
- Header Tag. The HTML tag for module title
- Header Class. The CSS class for module header
Pull Request: https://github.com/joomla/joomla-cms/pull/1922
Feature Tracker: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_id=8549&tracker_item_id=31571
Module Access Control
The module permission part was done by Sander Potjer and I did a few bug fixes and testing. Since it is an entirely new feature for Joomla modules, I would like to introduce it here as well and explain how a user can set permissions per module.
“Module Access Control provides the capability of using Joomla Access Control List functionality to Joomla Modules. Administrator can set permissions for each module, instead of setting permissions for all the modules as a whole now. If you are now to Joomla ACL, it is recommend to look at how Joomla ACL works.” http://docs.joomla.org/Access_Control_List/1.6-2.5/Tutorial
How to set Global Module Permissions
To access the Global Module Permissions, you first need to get to the Module Manager Options screen.
- Click the Options button in the Module Manager, or
- Click the Global Configuration in the Control panel and then select Module Manager Component or
- Select System → Global Configuration from the drop down menus and then click Module Manager.
Click on the Permissions Tab to set Global Module Permissions.
Screenshot
Screenshots are shown below in more detail.
Description
Administrator can set Global Module permissions for each user group from the permissions tab.
- Configure. Configure Allows users in the group to edit the options of modules.
- Access Administration Interface. Access Administration Interface Allows users in the group to access the administration interface for modules.
- Create. Create Allows users in the group to create any content in modules.
- Delete. Delete Allows users in the group to delete any content in modules.
- Edit. Edit Allows users in the group to edit any content in modules.
- Edit State. Edit State Allows users in the group to change the state of any content modules.
Notes:
- Inherited means that the permissions from global configuration and parent group will be used.
- Denied means that no matter what the global configuration or parent group settings are, the group being edited cannot take this action on this component.
- Allowed means that the group being edited will be able to take this action for this component (but if this is in conflict with the global configuration or parent group it will have no impact; a conflict will be indicated by Not Allowed (Locked) under Calculated Settings).
How to set individual Module Permissions
To access the Individual Module Permissions, you first need to get to the Module Manager screen.
- Click the Module Manager under Quick Links or
- Select Extensions → Module Manager from the drop down menus.
Click on the Module you want to set permissions from the Module Manager. Click on the Module Permissions tab.
Basic Options
This where permissions for each user group is managed for this particular module.
- Delete. Delete Allows users in the group to delete any content in this module.
- Edit. Edit Allows users in the group to edit any content in this module.
- Edit State. Edit State Allows users in the group to change the state of contents in this module.
Notes:
- Inherited means that the permissions from Module Manager Options and parent group will be used.
- Denied means that no matter what the Module Manager Options or parent group settings are, the group being edited cannot take this action on this module.
- Allowed means that the group being edited will be able to take this action for this module (but if this is in conflict with the Module Manager Options or parent group it will have no impact; a conflict will be indicated by Not Allowed (Locked) under Calculated Settings).
Sander’s PR: https://github.com/joomla/joomla-cms/pull/1930
Feature Tracker: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=28638
Sander’s Article: http://www.aclmanager.net/blog/general/338-acl-permissions-per-module-in-joomla-32
Final Thoughts
It had been an enjoyable four months or so in Google Summer of Code program with the Joomla Community. I was able to get to know many people and obtain a lot of experiences. I would like to thank Elin Waring, Janich Rasmussen who guided me throughout the program and many other people who helped me out pointing out mistakes and improvements. It was a lifetime experience for me. Even though it has come to the end of the GSOC program, I would be more than happy to help the Joomla community in the future, especially to make Joomla modules better in every aspect.
Finally, it would be greatly helpful if you can test above new features (Links are provided inline) and suggest improvements, point out mistakes etc. where I can improve. Hope this article helps out both developers as well as users who wish to have new Joomla features.
Some articles published on the Joomla Community Magazine represent the personal opinion or experience of the Author on the specific topic and might not be aligned to the official position of the Joomla Project
By accepting you will be accessing a service provided by a third-party external to https://magazine.joomla.org/
Comments