We've been dropping hints about various development features that haven't yet made their appearance in our previous blog entries. Now that hooks are no longer a possibility, we've expanded our Extensions system to allow developers to integrate with other areas within the framework.
This blog entry will give an overview of our new Extensions. We are working on updating our developer documentation to include these changes.
Allows you to add tabs to the Account Settings page. This extension contains two methods:
Returns the key for the tab (or null to hide)
The tab content
Returns an array of CSS files to load
Returns an array of JS files to load
Redirect users to another location. This is especially useful for custom applications that would have previously bypassed an existing controller.
Show a custom error message to the user instead of the standard IPS error messages.
This is used to allow your application's content to the Search Index. Previously, the framework relied on the ContentRouter extension for this, and the use of the \IPS\Content\Searchable interface. The interface has been removed, and searchable classes are determined by the new extension.
The SearchContent extension contains one required method, supportedClasses. You can also use this extension to override our default search logic for your content.
Other New Extensions
Allows you to create additional Login methods
UI Extensions, described here, here, and here
Allows you to add content to various menus. Additional information can be found here.
New Commerce Extensions
The following new extensions have been added to Commerce:
Allows you to create new payment gateways
Allows you to add new methods for generating and managing license keys
Allows you to create gateways for payouts
The following Extensions are no longer supported and have been removed:
- ContentModeratorPermissions (use ModeratorPermissions instead)
- CreateMenu (replaced by UserMenu)
Reminder: Send us your Feedback
Send us your questions or use-cases by submitting a topic here. Please note that this is a private forum; you will not see topics posted by others, so you are free to share code samples if necessary. We will review your questions, and then aggregate them into an FAQ. The deadline for your question to be considered for the FAQ is October 15. After that you may still submit questions in the Contributor forum, where we will do our best to respond.