Uploaded image for project: 'Blesta Core'
  1. Blesta Core
  2. CORE-2338

Allow plugins to register service management options

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.0.0-b5
    • Fix Version/s: 4.3.0-b1
    • Component/s: Plugins
    • Labels:
      None

      Description

      1. Update plugins to support retrieving admin and client tabs
        • Plugin::allowsServiceTabs() - this retrieves whether or not the plugin supports service tabs in general
        • Plugin::getAdminServiceTabs($service) - this retrieves all tabs related to this service for the admin UI
        • Plugin::getClientServiceTabs($service) - this retrieves all tabs related to this service for the client UI
        • Add new methods to the documentation
      2. Add support in the admin and client UI for plugin tabs, similar to the module tabs
        • Call the plugin method and pass in GET, POST, FILES, as well as the service
        • Handle messages similar to modules (CORE-1269)

      1. Update the plugin system to support an optional new feature for service integration by module
        • This must be backward compatible
        • This may or may not need to support white-listing specific modules it can work with (perhaps configurable in the UI at a later time?)
        • This must support differentiating between admin/client UI similar to modules
      2. Add core support for plugins that implement the new service integration to have tabs added to the Manage Service pages of both interfaces that link to the plugin pages
        • The plugin pages will likely need to know the client ID and the service ID, although the client ID may be derived from the service. The plugin can query the service for whatever it needs
      3. Update packages on add/edit to have an option to select plugin integrations
        • The only available plugins should be those that have registered their support for service integration
      4. Update plugin documentation to describe this new service integration

      Allow plugins to register management options to specific Packages

      • This could be selectable on the "Module" tab when creating/modifying Packages (Requires CORE-1550).
      • Select one or more "Plugin Integrations" for the package
      • Plugins need the ability to "register" management options, as the type client or staff, only plugins that register management options should be selectable as a "Plugin Integration"
      • Plugins should have access to service meta and module data

      Use cases:

      A CSF firewall plugin could be created to add another management tab for shared hosting packages for cPanel, Plesk, DirectAdmin, Interworx to allow a customer to "unban" themselves from those servers.

      A bandwidth graph plugin could be created to show bandwidth data for dedicated servers using for example, the Universal Module. Staff would set the graph ID data, and Clients would be able to see the graph under the service management.

      A PDU plugin could be created to allow customers to cycle the power on outlets for their dedicated servers. Staff would set the port ID data, and Clients would be able to perform the reboot.

        Activity

        admin Paul Phillips created issue -
        admin Paul Phillips made changes -
        Field Original Value New Value
        Link This issue blocks CORE-1468 [ CORE-1468 ]
        Hide
        tyson Tyson Phillips (Inactive) added a comment -

        Allow plugins to register management options to specific Packages

        How is this determined? Are all plugin integrations always selectable for any package? Even if they use a module that the plugin integration will not function with?

        Plugins should have access to service meta and module data

        Plugins can run queries themselves so I'm not sure if they actually need anything besides the service ID.

        Show
        tyson Tyson Phillips (Inactive) added a comment - Allow plugins to register management options to specific Packages How is this determined? Are all plugin integrations always selectable for any package? Even if they use a module that the plugin integration will not function with? Plugins should have access to service meta and module data Plugins can run queries themselves so I'm not sure if they actually need anything besides the service ID.
        Hide
        admin Paul Phillips added a comment - - edited

        How is this determined? Are all plugin integrations always selectable for any package? Even if they use a module that the plugin integration will not function with?

        If the plugin implements the ability to register service management options then it should appear and be selectable for any package. If the plugin does not implement this, then it would not appear. Similar to how only plugins that render widgets appear when enabling widgets on the Dashboard. However, it may make sense to allow plugins to define which modules they are "compatible" with, and make this an additional restriction, but if we do that it should be optional. If the plugin doesn't define it, then it would be available to all.

        Plugins can run queries themselves so I'm not sure if they actually need anything besides the service ID.

        Sounds good!

        Show
        admin Paul Phillips added a comment - - edited How is this determined? Are all plugin integrations always selectable for any package? Even if they use a module that the plugin integration will not function with? If the plugin implements the ability to register service management options then it should appear and be selectable for any package. If the plugin does not implement this, then it would not appear. Similar to how only plugins that render widgets appear when enabling widgets on the Dashboard. However, it may make sense to allow plugins to define which modules they are "compatible" with, and make this an additional restriction, but if we do that it should be optional. If the plugin doesn't define it, then it would be available to all. Plugins can run queries themselves so I'm not sure if they actually need anything besides the service ID. Sounds good!
        tyson Tyson Phillips (Inactive) made changes -
        Rank Ranked higher
        tyson Tyson Phillips (Inactive) made changes -
        Description Allow plugins to register management options to specific Packages

        * This could be selectable on the "Module" tab when creating/modifying Packages (Requires CORE-1550).
        * Select one or more "Plugin Integrations" for the package
        * Plugins need the ability to "register" management options, as the type client or staff, only plugins that register management options should be selectable as a "Plugin Integration"
        * Plugins should have access to service meta and module data

        Use cases:

        A CSF firewall plugin could be created to add another management tab for shared hosting packages for cPanel, Plesk, DirectAdmin, Interworx to allow a customer to "unban" themselves from those servers.

        A bandwidth graph plugin could be created to show bandwidth data for dedicated servers using for example, the Universal Module. Staff would set the graph ID data, and Clients would be able to see the graph under the service management.

        A PDU plugin could be created to allow customers to cycle the power on outlets for their dedicated servers. Staff would set the port ID data, and Clients would be able to perform the reboot.
        # Update the plugin system to support an optional new feature for service integration by module
        #* This must be backward compatible
        #* This may or may not need to support white-listing specific modules it can work with (perhaps configurable in the UI at a later time?)
        #* This must support differentiating between admin/client UI similar to modules
        # Add core support for plugins that implement the new service integration to have tabs added to the Manage Service pages of both interfaces that link to the plugin pages
        #* The plugin pages will likely need to know the client ID and the service ID, although the client ID may be derived from the service. The plugin can query the service for whatever it needs
        # Update packages on add/edit to have an option to select plugin integrations
        #* The only available plugins should be those that have registered their support for service integration
        # Update [plugin documentation|https://docs.blesta.com/display/dev/Creating+a+Plugin] to describe this new service integration

        ----

        Allow plugins to register management options to specific Packages

        * This could be selectable on the "Module" tab when creating/modifying Packages (Requires CORE-1550).
        * Select one or more "Plugin Integrations" for the package
        * Plugins need the ability to "register" management options, as the type client or staff, only plugins that register management options should be selectable as a "Plugin Integration"
        * Plugins should have access to service meta and module data

        Use cases:

        A CSF firewall plugin could be created to add another management tab for shared hosting packages for cPanel, Plesk, DirectAdmin, Interworx to allow a customer to "unban" themselves from those servers.

        A bandwidth graph plugin could be created to show bandwidth data for dedicated servers using for example, the Universal Module. Staff would set the graph ID data, and Clients would be able to see the graph under the service management.

        A PDU plugin could be created to allow customers to cycle the power on outlets for their dedicated servers. Staff would set the port ID data, and Clients would be able to perform the reboot.
        tyson Tyson Phillips (Inactive) made changes -
        Story Points 13
        tyson Tyson Phillips (Inactive) made changes -
        Fix Version/s 4.3.0 [ 11022 ]
        Fix Version/s Short Term [ 10800 ]
        tyson Tyson Phillips (Inactive) made changes -
        Assignee Tyson Phillips [ tyson ]
        tyson Tyson Phillips (Inactive) made changes -
        Sprint 4.3.0 Sprint 5 [ 55 ]
        tyson Tyson Phillips (Inactive) made changes -
        Rank Ranked higher
        tyson Tyson Phillips (Inactive) made changes -
        Sprint 4.3.0 Sprint 5 [ 55 ] 4.3.0 Sprint 6 [ 56 ]
        tyson Tyson Phillips (Inactive) made changes -
        Rank Ranked lower
        tyson Tyson Phillips (Inactive) made changes -
        Description # Update the plugin system to support an optional new feature for service integration by module
        #* This must be backward compatible
        #* This may or may not need to support white-listing specific modules it can work with (perhaps configurable in the UI at a later time?)
        #* This must support differentiating between admin/client UI similar to modules
        # Add core support for plugins that implement the new service integration to have tabs added to the Manage Service pages of both interfaces that link to the plugin pages
        #* The plugin pages will likely need to know the client ID and the service ID, although the client ID may be derived from the service. The plugin can query the service for whatever it needs
        # Update packages on add/edit to have an option to select plugin integrations
        #* The only available plugins should be those that have registered their support for service integration
        # Update [plugin documentation|https://docs.blesta.com/display/dev/Creating+a+Plugin] to describe this new service integration

        ----

        Allow plugins to register management options to specific Packages

        * This could be selectable on the "Module" tab when creating/modifying Packages (Requires CORE-1550).
        * Select one or more "Plugin Integrations" for the package
        * Plugins need the ability to "register" management options, as the type client or staff, only plugins that register management options should be selectable as a "Plugin Integration"
        * Plugins should have access to service meta and module data

        Use cases:

        A CSF firewall plugin could be created to add another management tab for shared hosting packages for cPanel, Plesk, DirectAdmin, Interworx to allow a customer to "unban" themselves from those servers.

        A bandwidth graph plugin could be created to show bandwidth data for dedicated servers using for example, the Universal Module. Staff would set the graph ID data, and Clients would be able to see the graph under the service management.

        A PDU plugin could be created to allow customers to cycle the power on outlets for their dedicated servers. Staff would set the port ID data, and Clients would be able to perform the reboot.
        # Add new plugin actions
        #* _nav_service_staff_ - Renders a link on the service management page for assigned services in the admin interface
        #* _nav_service_client_ - Renders a link on the service management page for assigned services in the client interface
        #* Add to the [documentation|https://docs.blesta.com/display/dev/Plugin+Actions]
        # TODO

        ----

        # Update the plugin system to support an optional new feature for service integration by module
        #* This must be backward compatible
        #* This may or may not need to support white-listing specific modules it can work with (perhaps configurable in the UI at a later time?)
        #* This must support differentiating between admin/client UI similar to modules
        # Add core support for plugins that implement the new service integration to have tabs added to the Manage Service pages of both interfaces that link to the plugin pages
        #* The plugin pages will likely need to know the client ID and the service ID, although the client ID may be derived from the service. The plugin can query the service for whatever it needs
        # Update packages on add/edit to have an option to select plugin integrations
        #* The only available plugins should be those that have registered their support for service integration
        # Update [plugin documentation|https://docs.blesta.com/display/dev/Creating+a+Plugin] to describe this new service integration

        ----

        Allow plugins to register management options to specific Packages

        * This could be selectable on the "Module" tab when creating/modifying Packages (Requires CORE-1550).
        * Select one or more "Plugin Integrations" for the package
        * Plugins need the ability to "register" management options, as the type client or staff, only plugins that register management options should be selectable as a "Plugin Integration"
        * Plugins should have access to service meta and module data

        Use cases:

        A CSF firewall plugin could be created to add another management tab for shared hosting packages for cPanel, Plesk, DirectAdmin, Interworx to allow a customer to "unban" themselves from those servers.

        A bandwidth graph plugin could be created to show bandwidth data for dedicated servers using for example, the Universal Module. Staff would set the graph ID data, and Clients would be able to see the graph under the service management.

        A PDU plugin could be created to allow customers to cycle the power on outlets for their dedicated servers. Staff would set the port ID data, and Clients would be able to perform the reboot.
        tyson Tyson Phillips (Inactive) made changes -
        Remaining Estimate 0 minutes [ 0 ]
        Time Spent 32 minutes [ 1920 ]
        Worklog Id 10903 [ 10903 ]
        tyson Tyson Phillips (Inactive) made changes -
        Fix Version/s 4.3.0-b1 [ 11019 ]
        Fix Version/s 4.3.0 [ 11022 ]
        tyson Tyson Phillips (Inactive) made changes -
        Sprint 4.3.0 Sprint 6 [ 56 ] 4.3.0 Sprint 6, 4.3.0 Sprint 7 [ 56, 57 ]
        tyson Tyson Phillips (Inactive) made changes -
        Rank Ranked higher
        tyson Tyson Phillips (Inactive) made changes -
        Time Spent 32 minutes [ 1920 ] 1 hour, 18 minutes [ 4680 ]
        Worklog Id 10965 [ 10965 ]
        tyson Tyson Phillips (Inactive) made changes -
        Description # Add new plugin actions
        #* _nav_service_staff_ - Renders a link on the service management page for assigned services in the admin interface
        #* _nav_service_client_ - Renders a link on the service management page for assigned services in the client interface
        #* Add to the [documentation|https://docs.blesta.com/display/dev/Plugin+Actions]
        # TODO

        ----

        # Update the plugin system to support an optional new feature for service integration by module
        #* This must be backward compatible
        #* This may or may not need to support white-listing specific modules it can work with (perhaps configurable in the UI at a later time?)
        #* This must support differentiating between admin/client UI similar to modules
        # Add core support for plugins that implement the new service integration to have tabs added to the Manage Service pages of both interfaces that link to the plugin pages
        #* The plugin pages will likely need to know the client ID and the service ID, although the client ID may be derived from the service. The plugin can query the service for whatever it needs
        # Update packages on add/edit to have an option to select plugin integrations
        #* The only available plugins should be those that have registered their support for service integration
        # Update [plugin documentation|https://docs.blesta.com/display/dev/Creating+a+Plugin] to describe this new service integration

        ----

        Allow plugins to register management options to specific Packages

        * This could be selectable on the "Module" tab when creating/modifying Packages (Requires CORE-1550).
        * Select one or more "Plugin Integrations" for the package
        * Plugins need the ability to "register" management options, as the type client or staff, only plugins that register management options should be selectable as a "Plugin Integration"
        * Plugins should have access to service meta and module data

        Use cases:

        A CSF firewall plugin could be created to add another management tab for shared hosting packages for cPanel, Plesk, DirectAdmin, Interworx to allow a customer to "unban" themselves from those servers.

        A bandwidth graph plugin could be created to show bandwidth data for dedicated servers using for example, the Universal Module. Staff would set the graph ID data, and Clients would be able to see the graph under the service management.

        A PDU plugin could be created to allow customers to cycle the power on outlets for their dedicated servers. Staff would set the port ID data, and Clients would be able to perform the reboot.
        # Add new plugin actions
        #* _nav_service_staff_ - Renders a link on the service management page for assigned services in the admin interface
        #* _nav_service_client_ - Renders a link on the service management page for assigned services in the client interface
        #* Add to the [documentation|https://docs.blesta.com/display/dev/Plugin+Actions]
        # Update plugins to support retrieving admin and client tabs
        #* Plugin::getAdminServiceTabs($service)
        #* Plugin::getClientServiceTabs($service)
        # Add support in the admin and client UI for plugin tabs, similar to the module tabs
        #* Call the plugin method and pass in GET, POST, FILES, as well as the service
        #* Handle messages similar to modules (CORE-1269)


        ----

        # Update the plugin system to support an optional new feature for service integration by module
        #* This must be backward compatible
        #* This may or may not need to support white-listing specific modules it can work with (perhaps configurable in the UI at a later time?)
        #* This must support differentiating between admin/client UI similar to modules
        # Add core support for plugins that implement the new service integration to have tabs added to the Manage Service pages of both interfaces that link to the plugin pages
        #* The plugin pages will likely need to know the client ID and the service ID, although the client ID may be derived from the service. The plugin can query the service for whatever it needs
        # Update packages on add/edit to have an option to select plugin integrations
        #* The only available plugins should be those that have registered their support for service integration
        # Update [plugin documentation|https://docs.blesta.com/display/dev/Creating+a+Plugin] to describe this new service integration

        ----

        Allow plugins to register management options to specific Packages

        * This could be selectable on the "Module" tab when creating/modifying Packages (Requires CORE-1550).
        * Select one or more "Plugin Integrations" for the package
        * Plugins need the ability to "register" management options, as the type client or staff, only plugins that register management options should be selectable as a "Plugin Integration"
        * Plugins should have access to service meta and module data

        Use cases:

        A CSF firewall plugin could be created to add another management tab for shared hosting packages for cPanel, Plesk, DirectAdmin, Interworx to allow a customer to "unban" themselves from those servers.

        A bandwidth graph plugin could be created to show bandwidth data for dedicated servers using for example, the Universal Module. Staff would set the graph ID data, and Clients would be able to see the graph under the service management.

        A PDU plugin could be created to allow customers to cycle the power on outlets for their dedicated servers. Staff would set the port ID data, and Clients would be able to perform the reboot.
        Automated transition triggered when Tyson Phillips (Inactive) created a branch in Stash -
        Status Open [ 1 ] In Progress [ 3 ]
        tyson Tyson Phillips (Inactive) made changes -
        Time Spent 1 hour, 18 minutes [ 4680 ] 3 hours, 48 minutes [ 13680 ]
        Worklog Id 10968 [ 10968 ]
        tyson Tyson Phillips (Inactive) made changes -
        Sprint 4.3.0 Sprint 6, 4.3.0 Sprint 7 [ 56, 57 ] 4.3.0 Sprint 6, 4.3.0 Sprint 7, 4.3.0 Sprint 8 [ 56, 57, 58 ]
        tyson Tyson Phillips (Inactive) made changes -
        Rank Ranked higher
        tyson Tyson Phillips (Inactive) made changes -
        Description # Add new plugin actions
        #* _nav_service_staff_ - Renders a link on the service management page for assigned services in the admin interface
        #* _nav_service_client_ - Renders a link on the service management page for assigned services in the client interface
        #* Add to the [documentation|https://docs.blesta.com/display/dev/Plugin+Actions]
        # Update plugins to support retrieving admin and client tabs
        #* Plugin::getAdminServiceTabs($service)
        #* Plugin::getClientServiceTabs($service)
        # Add support in the admin and client UI for plugin tabs, similar to the module tabs
        #* Call the plugin method and pass in GET, POST, FILES, as well as the service
        #* Handle messages similar to modules (CORE-1269)


        ----

        # Update the plugin system to support an optional new feature for service integration by module
        #* This must be backward compatible
        #* This may or may not need to support white-listing specific modules it can work with (perhaps configurable in the UI at a later time?)
        #* This must support differentiating between admin/client UI similar to modules
        # Add core support for plugins that implement the new service integration to have tabs added to the Manage Service pages of both interfaces that link to the plugin pages
        #* The plugin pages will likely need to know the client ID and the service ID, although the client ID may be derived from the service. The plugin can query the service for whatever it needs
        # Update packages on add/edit to have an option to select plugin integrations
        #* The only available plugins should be those that have registered their support for service integration
        # Update [plugin documentation|https://docs.blesta.com/display/dev/Creating+a+Plugin] to describe this new service integration

        ----

        Allow plugins to register management options to specific Packages

        * This could be selectable on the "Module" tab when creating/modifying Packages (Requires CORE-1550).
        * Select one or more "Plugin Integrations" for the package
        * Plugins need the ability to "register" management options, as the type client or staff, only plugins that register management options should be selectable as a "Plugin Integration"
        * Plugins should have access to service meta and module data

        Use cases:

        A CSF firewall plugin could be created to add another management tab for shared hosting packages for cPanel, Plesk, DirectAdmin, Interworx to allow a customer to "unban" themselves from those servers.

        A bandwidth graph plugin could be created to show bandwidth data for dedicated servers using for example, the Universal Module. Staff would set the graph ID data, and Clients would be able to see the graph under the service management.

        A PDU plugin could be created to allow customers to cycle the power on outlets for their dedicated servers. Staff would set the port ID data, and Clients would be able to perform the reboot.
        # Add new plugin actions
        #* _nav_service_staff_ - Renders a link on the service management page for assigned services in the admin interface
        #* _nav_service_client_ - Renders a link on the service management page for assigned services in the client interface
        #* Add to the [documentation|https://docs.blesta.com/display/dev/Plugin+Actions]
        # Update plugins to support retrieving admin and client tabs
        #* Plugin::allowsServiceTabs()
        #* Plugin::getAdminServiceTabs($service)
        #* Plugin::getClientServiceTabs($service)
        # Add support in the admin and client UI for plugin tabs, similar to the module tabs
        #* Call the plugin method and pass in GET, POST, FILES, as well as the service
        #* Handle messages similar to modules (CORE-1269)


        ----

        # Update the plugin system to support an optional new feature for service integration by module
        #* This must be backward compatible
        #* This may or may not need to support white-listing specific modules it can work with (perhaps configurable in the UI at a later time?)
        #* This must support differentiating between admin/client UI similar to modules
        # Add core support for plugins that implement the new service integration to have tabs added to the Manage Service pages of both interfaces that link to the plugin pages
        #* The plugin pages will likely need to know the client ID and the service ID, although the client ID may be derived from the service. The plugin can query the service for whatever it needs
        # Update packages on add/edit to have an option to select plugin integrations
        #* The only available plugins should be those that have registered their support for service integration
        # Update [plugin documentation|https://docs.blesta.com/display/dev/Creating+a+Plugin] to describe this new service integration

        ----

        Allow plugins to register management options to specific Packages

        * This could be selectable on the "Module" tab when creating/modifying Packages (Requires CORE-1550).
        * Select one or more "Plugin Integrations" for the package
        * Plugins need the ability to "register" management options, as the type client or staff, only plugins that register management options should be selectable as a "Plugin Integration"
        * Plugins should have access to service meta and module data

        Use cases:

        A CSF firewall plugin could be created to add another management tab for shared hosting packages for cPanel, Plesk, DirectAdmin, Interworx to allow a customer to "unban" themselves from those servers.

        A bandwidth graph plugin could be created to show bandwidth data for dedicated servers using for example, the Universal Module. Staff would set the graph ID data, and Clients would be able to see the graph under the service management.

        A PDU plugin could be created to allow customers to cycle the power on outlets for their dedicated servers. Staff would set the port ID data, and Clients would be able to perform the reboot.
        tyson Tyson Phillips (Inactive) made changes -
        Time Spent 3 hours, 48 minutes [ 13680 ] 4 hours, 48 minutes [ 17280 ]
        Worklog Id 11010 [ 11010 ]
        tyson Tyson Phillips (Inactive) made changes -
        Time Spent 4 hours, 48 minutes [ 17280 ] 6 hours, 33 minutes [ 23580 ]
        Worklog Id 11010 [ 11010 ]
        tyson Tyson Phillips (Inactive) made changes -
        Description # Add new plugin actions
        #* _nav_service_staff_ - Renders a link on the service management page for assigned services in the admin interface
        #* _nav_service_client_ - Renders a link on the service management page for assigned services in the client interface
        #* Add to the [documentation|https://docs.blesta.com/display/dev/Plugin+Actions]
        # Update plugins to support retrieving admin and client tabs
        #* Plugin::allowsServiceTabs()
        #* Plugin::getAdminServiceTabs($service)
        #* Plugin::getClientServiceTabs($service)
        # Add support in the admin and client UI for plugin tabs, similar to the module tabs
        #* Call the plugin method and pass in GET, POST, FILES, as well as the service
        #* Handle messages similar to modules (CORE-1269)


        ----

        # Update the plugin system to support an optional new feature for service integration by module
        #* This must be backward compatible
        #* This may or may not need to support white-listing specific modules it can work with (perhaps configurable in the UI at a later time?)
        #* This must support differentiating between admin/client UI similar to modules
        # Add core support for plugins that implement the new service integration to have tabs added to the Manage Service pages of both interfaces that link to the plugin pages
        #* The plugin pages will likely need to know the client ID and the service ID, although the client ID may be derived from the service. The plugin can query the service for whatever it needs
        # Update packages on add/edit to have an option to select plugin integrations
        #* The only available plugins should be those that have registered their support for service integration
        # Update [plugin documentation|https://docs.blesta.com/display/dev/Creating+a+Plugin] to describe this new service integration

        ----

        Allow plugins to register management options to specific Packages

        * This could be selectable on the "Module" tab when creating/modifying Packages (Requires CORE-1550).
        * Select one or more "Plugin Integrations" for the package
        * Plugins need the ability to "register" management options, as the type client or staff, only plugins that register management options should be selectable as a "Plugin Integration"
        * Plugins should have access to service meta and module data

        Use cases:

        A CSF firewall plugin could be created to add another management tab for shared hosting packages for cPanel, Plesk, DirectAdmin, Interworx to allow a customer to "unban" themselves from those servers.

        A bandwidth graph plugin could be created to show bandwidth data for dedicated servers using for example, the Universal Module. Staff would set the graph ID data, and Clients would be able to see the graph under the service management.

        A PDU plugin could be created to allow customers to cycle the power on outlets for their dedicated servers. Staff would set the port ID data, and Clients would be able to perform the reboot.
        # Add new plugin actions
        #* _nav_service_staff_ - Renders a link on the service management page for assigned services in the admin interface
        #* _nav_service_client_ - Renders a link on the service management page for assigned services in the client interface
        #* Add to the [documentation|https://docs.blesta.com/display/dev/Plugin+Actions]
        # Update plugins to support retrieving admin and client tabs
        #* Plugin::allowsServiceTabs() - this sets whether or not the plugin supports service tabs in general
        #* Plugin::getAdminServiceTabs($service) - this retrieves all tabs related to this service for the admin UI
        #* Plugin::getClientServiceTabs($service) - this retrieves all tabs related to this service for the client UI
        # Add support in the admin and client UI for plugin tabs, similar to the module tabs
        #* Call the plugin method and pass in GET, POST, FILES, as well as the service
        #* Handle messages similar to modules (CORE-1269)


        ----

        # Update the plugin system to support an optional new feature for service integration by module
        #* This must be backward compatible
        #* This may or may not need to support white-listing specific modules it can work with (perhaps configurable in the UI at a later time?)
        #* This must support differentiating between admin/client UI similar to modules
        # Add core support for plugins that implement the new service integration to have tabs added to the Manage Service pages of both interfaces that link to the plugin pages
        #* The plugin pages will likely need to know the client ID and the service ID, although the client ID may be derived from the service. The plugin can query the service for whatever it needs
        # Update packages on add/edit to have an option to select plugin integrations
        #* The only available plugins should be those that have registered their support for service integration
        # Update [plugin documentation|https://docs.blesta.com/display/dev/Creating+a+Plugin] to describe this new service integration

        ----

        Allow plugins to register management options to specific Packages

        * This could be selectable on the "Module" tab when creating/modifying Packages (Requires CORE-1550).
        * Select one or more "Plugin Integrations" for the package
        * Plugins need the ability to "register" management options, as the type client or staff, only plugins that register management options should be selectable as a "Plugin Integration"
        * Plugins should have access to service meta and module data

        Use cases:

        A CSF firewall plugin could be created to add another management tab for shared hosting packages for cPanel, Plesk, DirectAdmin, Interworx to allow a customer to "unban" themselves from those servers.

        A bandwidth graph plugin could be created to show bandwidth data for dedicated servers using for example, the Universal Module. Staff would set the graph ID data, and Clients would be able to see the graph under the service management.

        A PDU plugin could be created to allow customers to cycle the power on outlets for their dedicated servers. Staff would set the port ID data, and Clients would be able to perform the reboot.
        tyson Tyson Phillips (Inactive) made changes -
        Description # Add new plugin actions
        #* _nav_service_staff_ - Renders a link on the service management page for assigned services in the admin interface
        #* _nav_service_client_ - Renders a link on the service management page for assigned services in the client interface
        #* Add to the [documentation|https://docs.blesta.com/display/dev/Plugin+Actions]
        # Update plugins to support retrieving admin and client tabs
        #* Plugin::allowsServiceTabs() - this sets whether or not the plugin supports service tabs in general
        #* Plugin::getAdminServiceTabs($service) - this retrieves all tabs related to this service for the admin UI
        #* Plugin::getClientServiceTabs($service) - this retrieves all tabs related to this service for the client UI
        # Add support in the admin and client UI for plugin tabs, similar to the module tabs
        #* Call the plugin method and pass in GET, POST, FILES, as well as the service
        #* Handle messages similar to modules (CORE-1269)


        ----

        # Update the plugin system to support an optional new feature for service integration by module
        #* This must be backward compatible
        #* This may or may not need to support white-listing specific modules it can work with (perhaps configurable in the UI at a later time?)
        #* This must support differentiating between admin/client UI similar to modules
        # Add core support for plugins that implement the new service integration to have tabs added to the Manage Service pages of both interfaces that link to the plugin pages
        #* The plugin pages will likely need to know the client ID and the service ID, although the client ID may be derived from the service. The plugin can query the service for whatever it needs
        # Update packages on add/edit to have an option to select plugin integrations
        #* The only available plugins should be those that have registered their support for service integration
        # Update [plugin documentation|https://docs.blesta.com/display/dev/Creating+a+Plugin] to describe this new service integration

        ----

        Allow plugins to register management options to specific Packages

        * This could be selectable on the "Module" tab when creating/modifying Packages (Requires CORE-1550).
        * Select one or more "Plugin Integrations" for the package
        * Plugins need the ability to "register" management options, as the type client or staff, only plugins that register management options should be selectable as a "Plugin Integration"
        * Plugins should have access to service meta and module data

        Use cases:

        A CSF firewall plugin could be created to add another management tab for shared hosting packages for cPanel, Plesk, DirectAdmin, Interworx to allow a customer to "unban" themselves from those servers.

        A bandwidth graph plugin could be created to show bandwidth data for dedicated servers using for example, the Universal Module. Staff would set the graph ID data, and Clients would be able to see the graph under the service management.

        A PDU plugin could be created to allow customers to cycle the power on outlets for their dedicated servers. Staff would set the port ID data, and Clients would be able to perform the reboot.
        # Add new plugin actions
        #* _nav_service_staff_ - Renders a link on the service management page for assigned services in the admin interface
        #* _nav_service_client_ - Renders a link on the service management page for assigned services in the client interface
        #* Add to the [documentation|https://docs.blesta.com/display/dev/Plugin+Actions]
        # Update plugins to support retrieving admin and client tabs
        #* Plugin::allowsServiceTabs() - this retrieves whether or not the plugin supports service tabs in general
        #* Plugin::getAdminServiceTabs($service) - this retrieves all tabs related to this service for the admin UI
        #* Plugin::getClientServiceTabs($service) - this retrieves all tabs related to this service for the client UI
        # Add support in the admin and client UI for plugin tabs, similar to the module tabs
        #* Call the plugin method and pass in GET, POST, FILES, as well as the service
        #* Handle messages similar to modules (CORE-1269)


        ----

        # Update the plugin system to support an optional new feature for service integration by module
        #* This must be backward compatible
        #* This may or may not need to support white-listing specific modules it can work with (perhaps configurable in the UI at a later time?)
        #* This must support differentiating between admin/client UI similar to modules
        # Add core support for plugins that implement the new service integration to have tabs added to the Manage Service pages of both interfaces that link to the plugin pages
        #* The plugin pages will likely need to know the client ID and the service ID, although the client ID may be derived from the service. The plugin can query the service for whatever it needs
        # Update packages on add/edit to have an option to select plugin integrations
        #* The only available plugins should be those that have registered their support for service integration
        # Update [plugin documentation|https://docs.blesta.com/display/dev/Creating+a+Plugin] to describe this new service integration

        ----

        Allow plugins to register management options to specific Packages

        * This could be selectable on the "Module" tab when creating/modifying Packages (Requires CORE-1550).
        * Select one or more "Plugin Integrations" for the package
        * Plugins need the ability to "register" management options, as the type client or staff, only plugins that register management options should be selectable as a "Plugin Integration"
        * Plugins should have access to service meta and module data

        Use cases:

        A CSF firewall plugin could be created to add another management tab for shared hosting packages for cPanel, Plesk, DirectAdmin, Interworx to allow a customer to "unban" themselves from those servers.

        A bandwidth graph plugin could be created to show bandwidth data for dedicated servers using for example, the Universal Module. Staff would set the graph ID data, and Clients would be able to see the graph under the service management.

        A PDU plugin could be created to allow customers to cycle the power on outlets for their dedicated servers. Staff would set the port ID data, and Clients would be able to perform the reboot.
        tyson Tyson Phillips (Inactive) made changes -
        Time Spent 6 hours, 33 minutes [ 23580 ] 1 day, 2 hours, 32 minutes [ 37920 ]
        Worklog Id 11014 [ 11014 ]
        tyson Tyson Phillips (Inactive) made changes -
        Description # Add new plugin actions
        #* _nav_service_staff_ - Renders a link on the service management page for assigned services in the admin interface
        #* _nav_service_client_ - Renders a link on the service management page for assigned services in the client interface
        #* Add to the [documentation|https://docs.blesta.com/display/dev/Plugin+Actions]
        # Update plugins to support retrieving admin and client tabs
        #* Plugin::allowsServiceTabs() - this retrieves whether or not the plugin supports service tabs in general
        #* Plugin::getAdminServiceTabs($service) - this retrieves all tabs related to this service for the admin UI
        #* Plugin::getClientServiceTabs($service) - this retrieves all tabs related to this service for the client UI
        # Add support in the admin and client UI for plugin tabs, similar to the module tabs
        #* Call the plugin method and pass in GET, POST, FILES, as well as the service
        #* Handle messages similar to modules (CORE-1269)


        ----

        # Update the plugin system to support an optional new feature for service integration by module
        #* This must be backward compatible
        #* This may or may not need to support white-listing specific modules it can work with (perhaps configurable in the UI at a later time?)
        #* This must support differentiating between admin/client UI similar to modules
        # Add core support for plugins that implement the new service integration to have tabs added to the Manage Service pages of both interfaces that link to the plugin pages
        #* The plugin pages will likely need to know the client ID and the service ID, although the client ID may be derived from the service. The plugin can query the service for whatever it needs
        # Update packages on add/edit to have an option to select plugin integrations
        #* The only available plugins should be those that have registered their support for service integration
        # Update [plugin documentation|https://docs.blesta.com/display/dev/Creating+a+Plugin] to describe this new service integration

        ----

        Allow plugins to register management options to specific Packages

        * This could be selectable on the "Module" tab when creating/modifying Packages (Requires CORE-1550).
        * Select one or more "Plugin Integrations" for the package
        * Plugins need the ability to "register" management options, as the type client or staff, only plugins that register management options should be selectable as a "Plugin Integration"
        * Plugins should have access to service meta and module data

        Use cases:

        A CSF firewall plugin could be created to add another management tab for shared hosting packages for cPanel, Plesk, DirectAdmin, Interworx to allow a customer to "unban" themselves from those servers.

        A bandwidth graph plugin could be created to show bandwidth data for dedicated servers using for example, the Universal Module. Staff would set the graph ID data, and Clients would be able to see the graph under the service management.

        A PDU plugin could be created to allow customers to cycle the power on outlets for their dedicated servers. Staff would set the port ID data, and Clients would be able to perform the reboot.
        # Update plugins to support retrieving admin and client tabs
        #* Plugin::allowsServiceTabs() - this retrieves whether or not the plugin supports service tabs in general
        #* Plugin::getAdminServiceTabs($service) - this retrieves all tabs related to this service for the admin UI
        #* Plugin::getClientServiceTabs($service) - this retrieves all tabs related to this service for the client UI
        #* _Add new methods to the documentation_
        # Add support in the admin and client UI for plugin tabs, similar to the module tabs
        #* Call the plugin method and pass in GET, POST, FILES, as well as the service
        #* Handle messages similar to modules (CORE-1269)


        ----

        # Update the plugin system to support an optional new feature for service integration by module
        #* This must be backward compatible
        #* This may or may not need to support white-listing specific modules it can work with (perhaps configurable in the UI at a later time?)
        #* This must support differentiating between admin/client UI similar to modules
        # Add core support for plugins that implement the new service integration to have tabs added to the Manage Service pages of both interfaces that link to the plugin pages
        #* The plugin pages will likely need to know the client ID and the service ID, although the client ID may be derived from the service. The plugin can query the service for whatever it needs
        # Update packages on add/edit to have an option to select plugin integrations
        #* The only available plugins should be those that have registered their support for service integration
        # Update [plugin documentation|https://docs.blesta.com/display/dev/Creating+a+Plugin] to describe this new service integration

        ----

        Allow plugins to register management options to specific Packages

        * This could be selectable on the "Module" tab when creating/modifying Packages (Requires CORE-1550).
        * Select one or more "Plugin Integrations" for the package
        * Plugins need the ability to "register" management options, as the type client or staff, only plugins that register management options should be selectable as a "Plugin Integration"
        * Plugins should have access to service meta and module data

        Use cases:

        A CSF firewall plugin could be created to add another management tab for shared hosting packages for cPanel, Plesk, DirectAdmin, Interworx to allow a customer to "unban" themselves from those servers.

        A bandwidth graph plugin could be created to show bandwidth data for dedicated servers using for example, the Universal Module. Staff would set the graph ID data, and Clients would be able to see the graph under the service management.

        A PDU plugin could be created to allow customers to cycle the power on outlets for their dedicated servers. Staff would set the port ID data, and Clients would be able to perform the reboot.
        Automated transition triggered when Tyson Phillips (Inactive) created pull request #424 in Stash -
        Status In Progress [ 3 ] In Review [ 5 ]
        Resolution Fixed [ 1 ]
        tyson Tyson Phillips (Inactive) made changes -
        Time Spent 1 day, 2 hours, 32 minutes [ 37920 ] 1 day, 6 hours, 17 minutes [ 51420 ]
        Worklog Id 11018 [ 11018 ]
        jonathan Jonathan Reissmueller made changes -
        Time Spent 1 day, 6 hours, 17 minutes [ 51420 ] 1 day, 7 hours, 56 minutes [ 57360 ]
        Worklog Id 11023 [ 11023 ]
        Automated transition triggered when Tyson Phillips (Inactive) merged pull request #424 in Stash -
        Status In Review [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            tyson Tyson Phillips (Inactive)
            Reporter:
            admin Paul Phillips
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:
              Fix Release Date:
              15/Jun/18

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Remaining Estimate - 0 minutes
              0m
              Logged:
              Time Spent - 1 day, 7 hours, 56 minutes
              1d 7h 56m

                Agile