View source | View content page | Page history | Printable version   

Projects:Heartbeat Enhancements/Functional Documentation

Contents

Heartbeat Enhancements - Functional Specifications

Overview

Purpose

The purpose of this project is to improve the data send to heartbeat to make it more accurate and complete. Within this project new parameters will be defined to be able to detect properly cloned instances and to improve the gathered data.

Design Considerations

Assumptions

  1. Any information sent through heartbeat will be tracked in the heartbeat log.
  2. Heartbeat protocol between client and server is secured (encrypted and authenticated).
  3. Heartbeat should not affect performance in any case.

Dependencies

  1. Clean current security issues on HttpUtils.java class.

Functional Requirements

Business process definition

  1. Instance purpose mandatory for all instances including Community Edition.
    1. New popup on first login
    2. New field and button on system info window.
  2. New parameters to detect cloned instances: Database ID and MAC ID
  3. New parameters to improve gathered data:
    1. Date of first login, date of last login, total number of logins
    2. Average number of concurrent users when at least one user is connected
    3. Maximum number of concurrent users
    4. Number of rejected logins because of concurrent users limit
    5. Installed modules
    6. Conversion of current rates to actual numbers (number of logins, number of clients, number of organizations).
  4. Unskippable beats
    1. An empty beat is send with Heartbeat ID, Database ID, MAC ID and beat type.
    2. On cancel of heartbeat process
    3. On community branding.
  5. Possibility to send back custom queries to be executed on the instances to gather extra information.
    1. The custom queries codes and results are stored on the instance.

Functional requirements based on business processes

Changes can be splitted on few areas:

Heartbeat process
Num Requirement Importance Status
1.1 Add Database identifier and MAC identifier to detect cloned instances. Must have Done
1.2 Add not skipable beat on decline option of the heartbeat popup. New beat type 'DECLINE' Must have Done
1.3 Add defer (for 3 days) button on heartbeat popup Must have Done
1.4 Add new parameters to regular beats
  1. Date of first login, date of last login, total number of logins
  2. Average number of concurrent users when at least one user is connected
  3. Maximum number of concurrent users
  4. Number of rejected logins because of concurrent users limit
  5. Installed modules: stored in a relational manner, for each module: name, id, version number, and status (enabled/disabled)
  6. Conversion of current rates to actual numbers (number of logins, number of clients, number of organizations).
  7. Instance purpose
  8. Functional usage data, request number by module, if it is enabled.
Must have Done (pending number of rejected logins)
1.5 Update wiki content with latest changes. Must have Done (pending number of rejected logins)
Instance purpose
Num Requirement Importance Status
2.1 Add field on System Info window for the instance purpose. Must have Done
2.2 Add popup on login to select instance purpose when it is not defined. Must have Done
2.3 Detect cloned instances on login (System Administrator role):
  • Show instance purpose popup to set the new purpose when a Community Edition clone is detected.
  • Show instance purpose popup to redirect to the Instance Management window when a Professional/Basic Edition clone is detected. And ask the user to reactivate it.
Must have Done
2.4 Add a button on System Info window to change the purpose on Community Edition instances. Must have Done
2.5 Ensure that instance purpose is in sync with activation instance purpose, only for Professional/Basic Edition instances. Must have Done
Custom queries
Num Requirement Importance Status
3.1 Check for custom queries on heartbeat response from butler and execute them. Only HQL is allowed. Must have Done
3.2 Add new tabs on Heartbeat log window to store the executed queries and the results. Must have Done
3.3 Send back to heartbeat the results using JSON as a new beat type. Must have Done
3.4 Create a wiki page to put there all the used custom queries. Must have Done
Changes on butler
Num Requirement Importance Status
4.1 Change heartbeat server to store new parameters and beat types. Must have Done
4.2 Add new Custom Query window to define the HQL queries. Must have Done
4.3 Ability to send back the queries to instances with an MP version that supports them. Must have Done

User interface mockups

Instance purpose:

View larger

Retrieved from "http://wiki.openbravo.com/wiki/Projects:Heartbeat_Enhancements/Functional_Documentation"

This page has been accessed 5,366 times. This page was last modified on 8 June 2012, at 05:27. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.