Meego Wiki
Views

Architecture/Documentation/PIM/OfficeTools

From MeeGo wiki
< Architecture | Documentation(Difference between revisions)
Jump to: navigation, search
(Concepts)
(Structural view)
 
(6 intermediate revisions not shown)
Line 5: Line 5:
= Concepts<br>  =
= Concepts<br>  =
-
Office Tools draws representations of files to user interface (UI).  
+
Office Tools offers drawing representations of files to user interfaces.  
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)
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 =
+
= Interfaces provided<br> =
-
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.<br>
+
NOTE: This section is outdated.
-
 
+
-
[[Image:Off-high.jpg|Office tools system context]]&nbsp;
+
-
 
+
-
Figure 1: System context
+
-
 
+
-
= Interfaces provided<br>  =
+
{| cellspacing="0" cellpadding="5" border="1"
{| cellspacing="0" cellpadding="5" border="1"
Line 85: Line 79:
= Structural view<br>  =
= Structural view<br>  =
-
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.  
+
The following image (figure 1) 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.  
<br> See figure below.  
<br> See figure below.  
-
[[Image:Office-str.jpg|Office Tools structural view]]<br>  
+
[[Image:Office-meego.jpg|Office Tools structural view]]<br>  
-
Figure 2: Structural view
+
Figure 1: Structural view
 +
<br>
 +
'''poppler'''
 +
Pdf library.
<br>  
<br>  
-
'''Libkok'''  
+
'''kde mobile'''  
-
Library based on kdelibs. This library is heavily stubbed version of kdelibs, specially tailored to fit the needs of KOffice.  
+
This library is mobile version of kdelibs.  
<br>  
<br>  
-
'''KOfficeMeego'''  
+
'''Calligra'''  
Libraries &amp; plugins for rendering open office document file formats. Internally it can convert Microsoft file formats to open  
Libraries &amp; plugins for rendering open office document file formats. Internally it can convert Microsoft file formats to open  
Line 116: Line 113:
'''Behaviour'''  
'''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.  
+
- Office Tools subsystem does not include any daemons or have impact on boot time.  
<br>  
<br>  
Line 130: Line 127:
2. User opens any other supported format  
2. User opens any other supported format  
-
-&gt;&nbsp;UI gives the file to KOffice, KOffice recognizes the file, loads approriate plugins to draw it, and paints the result to given  
+
-&gt;&nbsp;UI gives the file to Calligra, Calligra recognizes the file, loads approriate plugins to draw it, and paints the result to given  
QGraphicsView. The result is shown to the user.  
QGraphicsView. The result is shown to the user.  

Latest revision as of 16:26, 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 offers drawing representations of files to user interfaces.

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)

Interfaces provided

NOTE: This section is outdated.

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 1) 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 1: Structural view


poppler

Pdf library.


kde mobile

This library is mobile version of kdelibs.


Calligra

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 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 Calligra, Calligra 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