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

Projects:Heartbeat/Functional Specification

Contents

Heartbeat - Functional Specifications

Overview

Currently the only means available to track the activity of Openbravo is by the quantity of downloads. This is not a true indication of project activity, as the number of downloads does not accurately reflect in what capacity Openbravo is actually being used. The intention of the heartbeat project is to gather information from installed Openbravo instances in order to more accurately analyse in what capacity it is actually being utilised worldwide.

Purpose

The Openbravo heartbeat will periodically gather and send data about the Openbravo installation back to a service on Openbravo's infrastructure. This data will then be used to generate detailed reports clearly identifying where and how the Openbravo product is being utilised.

To entice customers to enable the heartbeat feature, Openbravo will offer, for heartbeat enabled Openbravo installations, system specific configuration and component update information, sent automatically to the customer. Available updates might may include, for example, Operating System updates, Database updates and Openbravo code.

The information gathered by this feature will never be used for commercial purposes.

Customers may also register for Openbravo Support Services by providing contact information. This client registration, whilst occurring in the same initialisation process (as the heartbeat initialisation), is not considered part of the heartbeat process.

Scope

Below is a diagram outlining the scope of phase 1 of the heartbeat project:

Heartbeat scope.png

1. Configuration of the heartbeat client. The user is prompted with a configuration window asking to enable, disable or postpone the heartbeat process.

2. Heartbeat alerts. Update alerts are generated.

3. Heartbeat process. Periodically collects and securely sends the system information to the Openbravo servers. The information is then stored in a database.

4. Heartbeat server. System information is stored in a database, and update information is returned to the client.

5. Heartbeat reporting.

References

Design Considerations

Assumptions

Dependencies

Constraints

Glossary

Heartbeat – The name given to the process periodically collecting Openbravo instance information and sending the information to Openbravo for analysis.

System information – The environment and installation specific information of a customer's Openbravo instance that is to be collected and transmitted to Openbravo.

Update information – The information sent back to a customer identifying any system updates that may be available for the customer's Openbravo instance.

Registration information – Contact information and Company description provided by an Openbravo customer to enable communication between the customer and Openbravo Support Services.

Functional Requirements

User roles & profiles

System Administrator – The Administrator of the customer's Openbravo instance. The System Administrator is the person responsible for enabling, disabling and configuring the heartbeat functionality.

Openbravo Strategic Board member – A member of the Openbravo Strategic Board. Members will interact with the reporting functionality of the heartbeat feature, generating Openbravo usage reports.

Business process definition

Heartbeat Configuration

The heartbeat configuration will occur the first time the System Administrator logs into the system, and will be able to be executed at any further time.

  1. Enable the heartbeat
    1. Confirm the enabling of the heartbeat.
    2. Supply the configuration information if required.
    3. Accept/decline customer registration.
    4. If registration accepted, enter registration information.
    5. Finish configuration.
  1. Disable the heartbeat.
    1. Confirm disabling of the heartbeat.
    2. Finish configuration.
  1. Postpone the enable/disable heartbeat decision until later.
    1. Postpone enabling/disabling of the heartbeat.
    2. Finish configuration.

Heartbeat Alerts

  1. Openbravo scheduled alerts system runs as normal.
  2. If there is heartbeat update information available, an alert is generated from the information in the database.

Heartbeat Background Process

  1. Scheduled heartbeat time starts.
  2. System information is gathered.
  3. System information is sent to the Openbravo central server.
  4. Update information received back from the Openbravo central server.
  5. When applicable alerts about System Updates are generated in local database.

Heartbeat Server Process

  1. System information is received as a request.
  2. Server database is updated with the system information.
  3. Update information is generated based on system information and currently available update information.
  4. Update information is sent back as a response.

Report Generation

  1. Openbravo Strategic Board member requests a report.
  2. Information is retrieved from the database.
  3. Report is generated and displayed.

User stories

System Administrator

- Marta is a System Administrator at at Big Bazaar, a global something company. After installing Openbravo she starts the system for the first time.

- The Openbravo heartbeat configuration screen pops up on her Marta's screen.

- Marta is not interested in reading all of the information at this time, but thinks she may need to do so at a later date, so Marta elects to postpone enabling/disabling the heartbeat.

- A day after postponing, Maria logs into the system again, and is once again prompted with the Openbravo heartbeat configuration screen.

- She decides that receiving details of Openbravo updates automatically, specifically targeted at the Big Bazaar environment, would be very valuable, so she clicks the enable heartbeat button.

- She is then prompted to enter some network configuration values to ensure the heartbeat can communicate with the Openbravo central server, which she duly completes. She tests the heartbeat process to ensure it is properly configured.

- The first heartbeat processes and sends the information to the central servers.

- The server returns update information based on the Big Bazaar system information. - When the scheduled alert process runs, an alert is generated which notifies Marta that there are updates, specific to their system configuration, available for download.

- The heartbeat then continues to run as a background process, collecting and sending system information to the Openbravo central server; the server returning update information to the heartbeat process, to be displayed as alerts on the Openbravo instance.

- Marta decides to register for Openbravo Support Services also, opens the registration tab and supplies all registration information.

- She executes the registration process.

- At some later date, Maria decides she does not wish to receive update information any further, so she navigates to and selects the Openbravo heartbeat menu item.

- When the configuration window opens, she selects disable heartbeat. - The other configuration information is disabled. The heartbeat process is stopped.


Openbravo Strategic Board Member

- Matt, a member of the Openbravo strategic board, wants to analyse the usage statistics using the reporting functionalities of the heartbeat system. He opens a web browser and navigates to the heartbeat reporting page.

- Some of the reports he wants to make include:

Note: More reports could be added

Functional requirements based on business processes

1. Pop-up window to launch Heartbeat configuration
Num Requirement Importance Status
1.1 The first time the system administrator logs in a small pop-up window displays. The window welcomes to Release 2.4x and explains the heartbeat and registration process. Three options are proposed to the user: Configure Heartbeat, Disable Heartbeat, and Postpone the configuration of the heartbeat. Required Done
1.2 If the system administrator chooses to configure the Heartbeat Configuration window is launched. Required Done
1.3 If the system administrator chooses to postpone the configuration, the pop-up window will not be displayed at log in until after the postpone time has expired. The postpone time will be 72 hours. The subsequent login after the postpone time has expired will present the system administrator with the Heartbeat Configuration pop-up once again. Required Done
1.4 If the system administrator chooses to disable the Heartbeat the feature will be disabled and the pop-up window won't be displayed any more. Required Done
2. Pop-up window to launch Registration configuration
Num Requirement Importance Status
2.1 The first time the system administrator logs after the heartbeat has been configured, postponed or disabled, a small pop-up window displays. The window welcomes to Release 2.4x and explains the registration process. Three options are proposed to the user: Register, Decline Registration, and Register later. Required Done
2.2 If the system administrator chooses to register their installation of Openbravo, the Registration window is launched. Required Done
2.3 If the system administrator chooses to register later, the pop-up window will not be displayed at log in until after the postpone time has expired. The postpone time will be 72 hours. The subsequent login after the postpone time has expired will present the system administrator with the Registration pop-up again. Required Done
2.4 If the system administrator chooses not to register, the Registration pop-up window will not be displayed any further. Required Done
3. Heartbeat Configuration Window
Num Requirement Importance Status
3.1 The Heartbeat Configuration window will contain two tabs. The first will be the Configuration tab, the second will be the Heartbeat Log tab. Required Done
3.2 The Heartbeat Configuration window must be accessible from the Openbravo menu at any time. Required Done
3.3 The Configuration tab will contain the following fields:
  • Enable Heartbeat check box.
  • Proxy Required check box (displayed only when Enable Heartbeat is checked).
  • Proxy Server text field (displayed only when Proxy Required is checked).
  • Proxy Server Port number field (displayed only when Proxy Required is checked).
  • Test Configuration button (displayed only when Enable Heartbeat is checked).
Required To be started
3.4 If the Test Configuration button is pressed the background heartbeat process is started and a pop-up window is displayed indicating the success of the process. Required Done
3.5 The Heartbeat Log tab will display a list of all previous heartbeat information sent to Openbravo. Each log item will contain the following information:
  • System identifier
  • Heartbeat date
  • Activity rate
  • Complexity rate
  • Number of registered users
  • Operative System
  • Operative System version
  • Database
  • Database version
  • Application server
  • Application server version
  • Web server
  • Web server version
  • Java version
  • Apache-Ant version
  • Openbravo version
  • Openbravo install mode
Required Done
4. Registration Window
Num Requirement Importance Status
4.1 The Registration window must be accessible from the Openbravo menu at any time. Required Done
4.2 The Registration window will contain the following fields:
  • Registration Id - un-editable text field
  • Company name - text field
  • Company address - text box
  • Contact name - text field
  • Contact title - text field
  • Contact email - text field
  • Contact phone - number field
  • Company industry - text field
  • Company size in revenues (€) - number field
  • Company size in number of employees - number field
  • Subscribe to development News (Yes, No) -> automatic subscription to development mailing list - check box
  • Subscribe to commercial News (Yes, No) -> automatic subscription to Y distribution list - check box
  • Allow commercial contact (Yes, No) -> register them as a lead in Openbravo CRM system - check box
Required Done
4.3 If the user has not registered previously, the Register button will display 'Register'. If the user has registered, the Register button will display 'Update Registration'. Required Done
4.4 When the Register button is clicked, the registration information is sent to Openbravo and a pop-up window is displayed indicating the result of the registration process. Required Done
4.5 when the Register button is clicked, the registration date is updated and the id, if not already done, is generated. Required Done
5. Heartbeat Background Process
Num Requirement Importance Status
5.1 The Heartbeat Background Process will collect and send the following information to the Openbravo servers (when each piece of information is generated in parenthesis):
  • System identifier - An identifier unique to each Openbravo installation that is generated when the heartbeat is first enabled.
  • External IP Address - String generated when the heartbeat is sent (runtime)
  • Activity rate - Number of logins to Openbravo in the last month. The Range will be the following: 0-1: (1-Inactive), 1-100: (2-Low), 101-500:(3-Medium), 500-1000: (4-High), 1001 or more (5-Very High).
  • Complexity rate - Represents the complexity of the System. Takes into account number of Organizations where the Range is: 0-2: (1) Low, 3-6: (2) Medium, 7 or more: (3) High
  • Number of registered users - Number of registered users to Openbravo
  • Operative System - String from System properties (runtime)
  • Operative System version - String from System properties (runtime)
  • Database - String from SQL statements (runtime)
  • Database version - String from SQL statements (runtime)
  • Application server - String from servlet context (runtime)
  • Application server version - String from servlet context (runtime)
  • Web server - String from servlet context (runtime)
  • Web server version - String from servlet context (runtime)
  • Java version - String from System properties (runtime)
  • Apache-Ant version - String (compilation time)
  • Openbravo version - String (compilation time)
  • Openbravo install mode - String (compilation time)
Required Done
5.2 Each time the heartbeat process runs the information that is sent will be stored in the SYSTEM_INFO_LOG table. This information will be able to be viewed in the Heartbeat Log tab on the Heartbeat Configuration window. Required Done
5.3 If there is no internet connectivity, the heartbeat will not continue processing. Required Done
5.4 If the proxy settings or internet are misconfigured, a pop-up window will be displayed indicating the proxy settings need to be adjusted. Required Done
5.5 The heartbeat background process will receive information about available updates for the users system. For each update the following information will be received:
  • Component - The specific component (e.g. Servlet Container, Operating System)
  • Option - The type of the compoenent (e.g. Tomcat, Windows)
  • Current version - The user's current version.
  • Available version - The available update version.
  • Description - A description of the update and it's features/website.
Required Done
5.6 If there are updates available, the background process will create an instance of an alert for each individual update and put it in the alert table. These alerts will be dealt with in the same manner that alerts are currently processed in the system. Required Done
6. Registration Procedure
Num Requirement Importance Status
6.1 The Registration procedure will take the input entered into the Registration Window and send it securely to the Openbravo servers. The following information will be sent when the user registers, and each time registration information is updated:
  • Registration Id - This will be null the first time the user registers.
  • Company name
  • Company address
  • Contact name
  • Contact title
  • Contact email
  • Contact phone
  • Company industry
  • Company size in revenues (€)
  • Company size in number of employees
  • Subscribe to development News (Yes, No)
  • Subscribe to commercial News (Yes, No)
  • Allow commercial contact (Yes, No)
Required Done
6.2 If there is no internet connectivity, a pop-up window will inform the system administrator that there is no available connection to the internet and that registration is not possible Required Done
6.3 The first time the user registers, a registration id will be returned and stored in the database. Subsequent registration updates will use the same registration id to update the information on the Openbravo servers. Required Done
7. Update Process
Num Requirement Importance Status
7.1 The heartbeat server process will check the updates table for available updates specific for each client request. If there is a newer, tested version of a particular component option (i.e. Tomcat), details of the update(s) will be returned. The following details will be returned:
  • Component - The specific component (e.g. Servlet Container, Operating System)
  • Option - The type of the compoenent (e.g. Tomcat, Windows)
  • Current version - The user's current version.
  • Available version - The available update version.
  • Description - A description of the update and it's features/website.
Required Done
7.2 If there are no updates available, a response will be returned to indicate this. Required Done


User Interface Mockups

To be completed.

Technical Requirements

Non-Functional Requirements

  1. The heartbeat module must be secure. The feature must maintain the security, privacy and integrity of customers' information.
  2. The heartbeat module must disclose to the customer all of the information Openbravo intends to collect.

Open Discussion Items

Closed Discussion Items

Retrieved from "http://wiki.openbravo.com/wiki/Projects:Heartbeat/Functional_Specification"

This page has been accessed 14,933 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.