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



Online Calendar - Functional Specifications



The purpose of this project is to be able to publish time based events of interest to the user as appointments in an online calendar like Google Calendar for the purpose of easier visualization. This way user will be able to take actions at the appropriate time.

For example, it is beneficial for collection specialists to be able to visualize when customer payments are due so that they can call the customer and solicit the payment at the appropriate time.


The scope of this project is limited to payments, both receivables (payments expected from custmers) and payables (payments due to suppliers).

Design Considerations

Ideally, this project should be delivered as a module, optionally installed on top of Openbravo. The current architecture, however, does not cleanly support modules and this functionality should be packaged and delivered as a patch instead.

A side objective of the project is to identify the best way to package and deliver additional independent functionality.





See Design Considerations.


Functional Requirements

User roles & profiles

Business process definition

This project is related to the following business processes:

In both cases, the standard business process is not altered but it is enriched with the ability to see payment information in an online calendar. If the online calendar is then synchronized with an hand held device (like a smartphone), this feature enables mobile access to payment data to users.

User stories

Story 1: User Configuration
Story 2: Usage
Story 3: System Configuration

Functional requirements based on business processes

Num Requirement Importance Status
1.1 Ability to define, by organization, the name of the Google Calendar to which the events are published.
This requires:
  • Calendar name
  • Google user name
  • Google password (which should be entered in masked format)
Must have To be planned
1.2 The Google password must be stored in encrypted format Must have To be planned
1.3 Ability to specify frequency of automated publication. Possible values are:
  • Manual
  • Every 15 minutes
  • Every hour
  • Every day
Should have To be planned

1.4 Ability to test the connection to Google Calendar Should have To be planned
1.5 Ability to publish manually. Must have To be planned
1.6 Ability to view the date and time of the last successful publication for this organization. Should have To be planned
1.7 Ability to view a log of the last publication. Nice to have To be planned
1.8 Ability to choose which kind of event to publish: payables, receivables or both. Must have To be planned
Publication Process
Num Requirement Importance Status
2.1 A background process should automatically execute the publication process for all the organizations, according to the frequency indicated in their configuration. Should have To be planned.
2.2 The publication process should generate events for all the outstanding (i.e. not yet paid) payments in an organization and its sub-organization, respecting the organization configuration (payables, receivables or both) Must have To be planned.

2.3 The background process should gracefully handle failures and update the status of the last synchronization for each organization. In particular, other areas of the application should not be affected if Google Calendar cannot be reached. Must have To be planned
Event Details
Num Requirement Importance Status
3.1 A payment should be published with the following information (the bold fields are the Google event attributes:
  • What: "Payment due: "<business partner name>
  • When: <Payment due date>
  • All day: yes
  • Description:
    • "Business partner: "<business partner name>
    • "Amount due: "<payment amount>
    • "Contact: "<business partner contact name>
    • "Contact email: "<contact email address>
    • "Contact phone: "<contact phone number>
Must have To be planned.
3.2 Additionally, the event description should contain the following two URLs that allow users to drill into the details of the transactions within Openbravo:
  • Business Partner
  • Payment
Nice to have To be planned

User Interface Mockups

The image below depict in wire frame format a tentative UI for the configuration screen.


Technical Requirements


Non-Functional Requirements


Open Discussion Items

  1. Proxy configuration: it is possible that a network proxy is required to access Google Calendar from behind a firewall. How is the proxy configured?
  2. Is it possible to provide the URLs as per requirement 3.2?
  3. Suggestion, substitute "Google Calendar" by iCalendar is a standard (RFC 2445) for calendar data exchange. A list of products that´s support this standard in wikipedia

Closed Discussion Items

Retrieved from ""

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