Difference between revisions of "User Experience/OpenOffice.org User Feedback Extension"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (Web Site)
Line 174: Line 174:
The dialogs offer an information button in form of an (i) icon. This button points to the extension web site to give the user background about the extension. From there a link will point to "http://www.sun.com/privacy/".
The dialogs offer an information button in form of an (i) icon. This button points to the extension web site to give the user background about the extension. From there a link will point to "http://www.sun.com/privacy/".
== Web Site ==
//TODO// (Ideas, Comments are welcome)

Revision as of 16:20, 3 December 2008

The OpenOffice.org User Feedback Extension is an extension that collects anonymously data about how OpenOffice.org is used. This information is used to better understand how people use OpenOffice.org. Especially with regards to the user interface.

Status Meetings



The extension is divided into two components, a core component and an extension.

  • The core component provides the technology for collecting data.
  • The extension enables, respectively disables the core component. In addition the extension is responsible to send out the collected data by using SOAP.
  • Core Component has been integrated with cws logger2
  • The extension extension will be integrated with cws oooimprovement. The source code can be found in the new module oo_extensions in project extensions:


User Interface

Query Dialog

After installation of the extension, the following dialog is shown:



  • Yes:
    • Actives the extension.
    • Usage tracking starts immediately until the user disables, or de-installs the extension.
  • No:
    • Does not active the extension.
    • The extension will not ask again for participating the program.
  • Info Icon
    • The icon Points to ///URL

Strings used

OpenOffice.org Improvement Program

Help Optimize the Quality of OpenOffice.org

We invite you to join our OpenOffice.org Improvement Program
to help optimize the quality of OpenOffice.org.

If you are willing to participate, we will collect anonymous statistics about how
you use OpenOffice.org. The data is used to identify usage patterns.

The OpenOffice.org Improvement Program will not collect any personal
data, or document content.

Yes, I am willing to participate in the OpenOffice.org Improvement Program

No, I do not wish to participate

Get more information about the $PRODUCTNAME Improvement Program

Tools Options Dialog

Usage option.png

Strings used

Tracked data
Number of reports send:

Number of tracked actions:

Show Data


A configuration entry in the Logging.xcu allows administrators to switch the extension globally OFF. The configuration entry in can be found in:

org.openoffice.Office.Logging.UiEventslogger.LogPath (File: Logging.xcu)

Usage Data Collected

The collected data is stored in a human readable CSV File at a location set in /org.openoffice.Office.Logging.UiEventslogger.LogPath (File: Logging.xcu)

  • The data will get packed in a zip-file before upload.
  • When the data was packed successfully, the uncompressed CSV-File is

deleted to save disc space. If the upload attempt fails, only the zipped file will be kept for retries.

Types of Data Collected

The following types of data are collected:

  • Toolbar Buttons
    • Including Add-Ons
  • Menu Items
    • Including Add-Ons
  • Context Menu Items
  • Fonts applied by using the menu
  • Font sizes applied by using the menu
  • Buttons, like Ok, Cancel, etc.
  • Document - , Paragraph language applied by using the menu or status bar
  • Each item call provides a:
    • Time stamp
    • An information from which module the item has been called

Example Log

~ 150 kByte uncompressed / 20 kBytes compressed in 30 min. while creating a short document

event no,thread,timestamp,eventtype,origin,uno url,parent id,window type,id,method,parameter
2,1,2008-06-11T10:58:05.85,dispatch,unknown origin,private:factory/swriter,,,,,
3,1,2008-06-11T10:58:07.88,dispatch,unknown origin,.uno:close,,,,,
2440,1,2008-06-11T11:25:08.52,dispatch,unknown origin,.uno:SwBackspace,,,,,
2442,1,2008-06-11T11:25:08.66,dispatch,unknown origin,.uno:SwBackspace,,,,,
2444,1,2008-06-11T11:25:10.17,dispatch,unknown origin,.uno:SwBackspace,,,,,
2446,1,2008-06-11T11:25:12.31,dispatch,unknown origin,.uno:GoDown,,,,,
2448,1,2008-06-11T11:25:26.63,dispatch,unknown origin,vnd.sun.star.help://swriter/33368?Language=en-US&System=UNIX#bm_id3159242,,,,,

Meta Data

The following Meta Data will be transferred:

  • Office Version
  • Build ID
  • Office Locale
  • Platform (Windows XP, Windows Vista, Linux + Desktop Info, Mac, Solaris + Desktop Info)
  • First time sender (used to count total number of participant)
  • Report number

Flags and Meta Data for QA Usage

The following Meta Data will be transferred:

  • Sent for testing purposes

The test data used is the same as the Metadata provided by the ReportMail.

Transferring Data

  • The data will be transfered by using SOAP over HTTP
  • The data will be transmitted:
    • 30 seconds after startup, compressed (ZIP-format)
    • OpenOffice.org sends one send request per tracked session
  • If sending of usage data was not successful the tracking extension retries sending the data on each start up of OOo again. If sending was no success after 25 attempts the usage tracking extension disables themselves. The so far tracked data will be deleted.

Storing Data

Data will be stored under: file://($user)/temp/Feedback (see http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/OfficeDev/Predefined_Variables)


The dialogs offer an information button in form of an (i) icon. This button points to the extension web site to give the user background about the extension. From there a link will point to "http://www.sun.com/privacy/".


The extension will be available under:

  • LGPLv3

Extension Data

Extension Title: $PRODUCTNAME Usage Feedback Extension

Version: 1.0

Publisher: Sun Microsystems, Inc

Description: The $PRODUCTNAME Improvement Program Extension collects anonymous statistics about how you use $PRODUCTNAME. The collected data is used to optimize the quality of $PRODUCTNAME. The extension will not collect any personal data, or document content.

Implementation Details

Office Configuration Entries


  • org.OpenOffice.Office.Logging.OOoImprovement.LogPath (string)
  • org.OpenOffice.Office.Logging.OOoImprovement.IdleTimeout (int)
  • org.OpenOffice.Office.Logging.OOoImprovement.EnablingAllowed (boolean)


  • org.OpenOffice.Ofiice.OOoImprovement.Settings.Participation.OfficeStartCountdown (int)
  • org.OpenOffice.Ofiice.OOoImprovement.Settings.Participation.InvitationAccepted (boolean)
  • org.OpenOffice.Ofiice.OOoImprovement.Settings.Participation.ShowedInvitation (boolean)
  • org.OpenOffice.Ofiice.OOoImprovement.Settings.Participation.DeliveredPrebundled (boolean)
  • org.OpenOffice.Ofiice.OOoImprovement.Settings.Counters.UploadedReports (int)
  • org.OpenOffice.Ofiice.OOoImprovement.Settings.Counters.LoggedEvents (int)
  • org.OpenOffice.Ofiice.OOoImprovement.Settings.Upload.SoapUrl (string)
  • org.OpenOffice.Ofiice.OOoImprovement.Settings.Upload.SoapIdAdditions (string)

UNO Services

  • com.sun.star.oooimprovement.Core (com.sun.star.comp.extensions.oooimprovecore.Core)
    • property: readonly bool UiEventsLoggerEnabled
    • property: readonly long SessionLogEventCount
    • method: inviteUser()
  • com.sun.star.oooimprovement.CoreController (com.sun.star.comp.extensions.oooimprovement.CoreController)
    • method: bool enablingEventsLoggerAllowed(short Version)
    • method: bool showBuiltinOptionsPage(short Version)
  • com.sun.star.logging.CsvFormatter (com.sun.star.comp.extensions.CsvFormatter)


  • asynchronous Job in the extension compressing and uploading data triggered by onOOoImprovementLogRotated, 30 seconds after Startup
  • Job in the extension that invites the user to take part on startup

Protocol Handler/UI

  • Extension UI (implemented in directly in OpenOffice.org currently, not in the Extension)
  • There is currently no protocol handler implemented. It would be needed

when the UI elements are moved into the extension.


  • $LOGPATH/Current.csv (created by core)
  • $LOGPATH/OOoImprove-ISOTIMESTAMP.csv (created by core)
  • $LOGPATH/OOoImprove-ISOTIMESTAMP.zip (created by extension)
  • OOoImprovement.oxt (contains liboooimprovementXX.xxx)
  • liboooimprovecoreXX.xxx


Personal tools