Details

    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • Backlog
    • Server
    • None
    • Std. ESME environment

    Description

      I see the following requirements for the plugin support:

      Plugins enable process and collaboration specific additional functions on top of the ESME kernel. They are implemented in Java, located on the server and are to be provided as jar-files to ease packaging and deployment handling.
      (--> Not sure how packaging for Scala works)

      Structure/Architecture:

      • Plugins are listeners to events coming from the ESME kernel, such as MESSAGE_SENT, MESSAGE_RECEIVED, TAG_CREATED, USER_CREATED, USER_LOGGED_ON, USER_LOGGED_OFF. (more to be added)
      • A plugin can be registered to multiple events.
      • Plugins can not rely on assumptions in which order which plugin processes the incoming events. (this would require a prioritization handling for plugins)
      • Plugins performs activity initiated on the ESME server, they communicate with endusers via messages.
      • By default, plugins use the same database as ESME, they can link with database entries from the kernel tables, but do not modify or delete them.

      Deployment:

      • Plugins are to be placed for deployment in a specific directory in the ESME directory structure (to be defined).
      • Plugins get registered and subscribed to the defined events during ESME startup,
      • Deployment should be supported by the plugin through special methods (e.g. "initializePlugin", "removePlugin")

      Settings of properties:

      • Plugins can have general (=not user-specific) and user-specific settings.
      • The plugin settings are collected in a specific database table in the ESME kernel during ESME runtime.
      • Initial plugin settings are transported to ESME via specific files holding the property values.
      • Plugin settings are set either through an admin/user profile interface or through the REST interface.

      Attachments

        Activity

          People

            Unassigned Unassigned
            oskar2 Daniel Koller
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: