Jump to content


Developer Documentation

Overview of the Extensions system

What is an extension?

One of the fundamental ways of implementing cross-application integration with the IPS4 framework is the concept of extensions. Put simply, an extension is a way for an application to implement specific behavior in specific parts of the suite. For example, there's an extension that allows an application to specify how its content is handled by the search system, and another that allows the application to build elements to be displayed on the "Edit Member" screen in the AdminCP. If your application provides an extension, it will be automatically loaded in the appropriate places.


Creating an extension

Extensions are created in the Developer Center for your application in the AdminCP. IPS4 will automatically generate the class file in the appropriate extension directory within your application; you'll be prompted to enter a classname for your extension when creating it.

Each extension requires different methods, depending on what the extension does. Refer to this documentation or the individual source files in the /extensions directory of your application for more information.


Types of extension

  • /core
      • AdminNotifications
        Define the Admin Notifications your application will send
      • AdvertisementLocations
        Allows you to define new advertisement locations within your application
      • Announcements
        Facilitates controlling options for announcements within your application (e.g. allowing the user to specify particular categories)
      • BBCode
        Add additional BBCode tags to IPS4 that your application will process
      • Build
        Run additional code when your application is built
      • BulkMail
        Allows your application to provide extra replacement tags within the bulk mailer tool
      • CommunityEnhancements
        Add new 3rd-party enhancements to the Community Enhancements section of the AdminCP
      • ContactUs
        Add additional fields to the contact us form and provide control over where submissins to the Cotnact Us form should be sent
      • ContentModeratorPermissions
        Define custom moderator permissions
      • ContentRouter
        Used to specify the content items used by your application
      • CreateMenu
        Add new entries to the "+Create" menu in the header
      • Dashboard
        Add new blocks on the AdminCP dashboard
      • DesignersMode
        Allows you to run custom code when designers mode is enabled or disabled.
      • EditorLocations
        Handles attachment ownership for files uploaded to WYSIWYG editors in your application. More information.
      • EditorMedia
        Add new media sources to the "Insert other media" dialog within WYSIWYG editors
      • FileStorage
        Defines the types of files your application will support being uploaded
      • FrontNavigation
        Add tabs and menus to the global front-end navigation bar
      • GroupForm
        Allows you to define settings to add to the group settings form
      • GroupLimits
        Defines how group settings are handled for secondary groups
      • IncomingEmail
        Specifies behaviors that handle incoming email to your application
      • IpAddresses
        Specifies areas where IP addresses are logged in your application
      • LiveSearch
        Adds support for the AdminCP Live Search feature to your application
      • MFAArea
        Define an area to be protected my multi-factor authentication
      • MemberFilter
        Allows you to define new ways of filtering members (e.g. on the bulk mail form)
      • MemberForm
        Allows you to define settings to add to the member edit form
      • MemberSync
        Runs custom code when a member account is created, edited, merged or deleted
      • ModCp
        Add sections to the Moderator CP
      • ModCpMemberManagement
        Adds filters to the Moderator CP member management page
      • ModeratorPermissions
        Defines new moderator permissions
      • Notifications
        Define the types of notifications your application will send
      • OutputPlugins
        Define new template tag plugins that your application will handle
      • Permissions
        Specify the nodes with permissions integration used within your application
      • Profile
        Add new content areas to member profiles
      • Queue
        Specify background tasks that your application requires
      • Sitemap
        Add support for the sitewide sitemap to your application
      • StreamItems
        Add your custom items or actions to the activity stream
      • Uninstall
        Specify code to run when your application is uninstalled 
    • /nexus
      • Item
        Sell items with Commerce integration

      Report Document

    • Create New...

    Important Information

    We use technologies, such as cookies, to customise content and advertising, to provide social media features and to analyse traffic to the site. We also share information about your use of our site with our trusted social media, advertising and analytics partners. See more about cookies and our Privacy Policy