Meego Wiki
Views

Architecture/Documentation/PIM/OfficeTools

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Office Tools overview)
(Concepts)
Line 7: Line 7:
Office Tools draws representations of files to user interface (UI).  
Office Tools draws representations of files to user interface (UI).  
-
Supported file formats include open document formats (ODF), portable document format (PDF) and Microsoft office file formats (2000/2003 doc, ppt, xls. 2007 docx, pptx, xlsx)
+
Supported file formats include open document formats (ODF), portable document format (PDF) and Microsoft office file formats (2000/2003 doc, ppt, xls. 2007/2010 docx, pptx, xlsx)
= System context  =
= System context  =

Revision as of 13:07, 26 January 2011

Contents

Office Tools overview

This document describes the software architecture of the Office Tools subsystem in Meego. The document scope is to provide information on how the subsystem works.. Office Tools provides users rendering and browsing capabilities of most of the common office document formats. The subsystem uses libraries from two open source projects, Poppler and Calligra, to accomplish this.

Concepts

Office Tools draws representations of files to user interface (UI).

Supported file formats include open document formats (ODF), portable document format (PDF) and Microsoft office file formats (2000/2003 doc, ppt, xls. 2007/2010 docx, pptx, xlsx)

System context

Office Tools operates on top of middleware and base layers. It depends on various subsystems shown in the figure below. The interfaces used provide either generic platform functionalities or rendering capabilities to be used with different file formats.The system context can be seen in figure 1.

Office tools system context 
Figure 1: System context

Interfaces provided

Interfaces provided by Office tools subsystem
Interface name Interface type Interface scope Interface state Required credentials Description
office-service
Service framework
Platform API


This interface enables opening a file in office tools

Table 1


Interfaces provided by Office tools subsystem can be seen above in table 1.

Interfaces required.

The following table (table 2) lists interfaces required by this subsystem.

Interfaces required by <subsystem_name> subsystem
Domain/subsystem Interface name Interface scope Description
Qt
Qt libraries

Qt provides generic platform functionalities.
Content FW
libqttracker, libgsf-1, libpoppler-qt4.3

Tracker is used to index different office files and to query their metadata information.Gsf provides compression capabilities. Poppler is used to render PDF files.
X11 libsm
Session management library needed by KApplication. Needed during compile time only, ui is MApplication.
GNOME Essentials libxml2
Xml library.
Base Essentials zlibg1
Compression library.

Table 2: Required interfaces

Structural view

The following image (figure 2) illustrates the inner structure of Office Tools subsystem. The figure shows the main components, how they are linked together and how they use other subsystems.


See figure below.

Office Tools structural view

Figure 2: Structural view




Libkok

Library based on kdelibs. This library is heavily stubbed version of kdelibs, specially tailored to fit the needs of KOffice.


KOfficeMeego

Libraries & plugins for rendering open office document file formats. Internally it can convert Microsoft file formats to open

document file formats.


Behavioral view

Behaviour

- Office Tools subsystem does not include any daemons or have impact on boot time. - There are two ways to start the subsystem, either from the main manu or through service framework. - In case a document is loaded, the subsystem uses the approriate backend to render it.


There are two main use cases for Office.

1. User opens any PDF file

-> UI gives the file to poppler which paints it to QImage which is shown to the user.


2. User opens any other supported format

-> UI gives the file to KOffice, KOffice recognizes the file, loads approriate plugins to draw it, and paints the result to given

QGraphicsView. The result is shown to the user.


Start up

- The application startup time should be 1 second or less in case it is loaded from the main menu. - If the application is launched through service framework, the application first starts normally with similar start up time as in normal case. After this a progress indicator is shown if necessary and the documented pointed by the launch call will be loaded. The time to load the document depends heavily on the document type, content and size.


The table below (table 3) contains measured launch times for different example documents.

Type of the document
Reading 1 (s)
Reading 2 (s)
Reading 3 (s)
Average (s)
Size of the document
PDF
9.9
9.3
9.2
9.47
2.2 MB
PDF
5.9
5.8
5.8
5.83
374.4 KB
PDF
6.2
7
7.2
6.8
16.5 KB
PDF
5.6
5.3
5.7
5.53
18.9 KB
XLS
9.2
9
9
9.07
13.5 KB
XLS
9.5
9.3
9.4
9.4
26.0 KB
PPT
13.3
13.1
13.2
13.2
1.2 MB
DOC
8.5
8.4
8.7
8.53
105.0 KB
DOCX
8.4
8.4
8.4
8.4
11.7 KB
ODP
11.8
12.4
12
12.07
1.6 MB
ODP
7.2
7
7.1
7.1
619.8 KB
ODT
7.3
7.2
6.8
7.1
385 KB
ODT
8.2
8.1
8.2
8.17
30.8 KB

Table 3: Loading times

Data storage

The subsystem does not store any data which needs backup.

Development

It is possible to use SDK for developing and testing this system.

Personal tools