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

          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