(→Interfaces required.) |
(→Structural view) |
||
| (12 intermediate revisions not shown) | |||
| Line 1: | Line 1: | ||
= Office Tools overview<br> = | = Office Tools overview<br> = | ||
| - | This document describes the software architecture of the Office Tools subsystem in | + | 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<br> = | = Concepts<br> = | ||
| - | Office Tools | + | 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 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) |
| - | = | + | = Interfaces provided<br> = |
| - | + | NOTE: This section is outdated. | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
{| cellspacing="0" cellpadding="5" border="1" | {| cellspacing="0" cellpadding="5" border="1" | ||
| Line 42: | Line 36: | ||
Interfaces provided by Office tools subsystem can be seen above in table 1. | Interfaces provided by Office tools subsystem can be seen above in table 1. | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
= Interfaces required.<br> = | = Interfaces required.<br> = | ||
| Line 72: | Line 58: | ||
| <br> | | <br> | ||
| 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.<br> | | 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.<br> | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
|- | |- | ||
| X11 | | X11 | ||
| Line 98: | Line 79: | ||
= Structural view<br> = | = Structural view<br> = | ||
| - | The following image (figure | + | 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- | + | [[Image:Office-meego.jpg|Office Tools structural view]]<br> |
| - | + | ||
| - | + | ||
| + | Figure 1: Structural view | ||
| + | <br> | ||
| - | ''' | + | '''poppler''' |
| - | + | Pdf library. | |
<br> | <br> | ||
| - | ''' | + | '''kde mobile''' |
| - | + | This library is mobile version of kdelibs. | |
<br> | <br> | ||
| - | ''' | + | '''Calligra''' |
Libraries & plugins for rendering open office document file formats. Internally it can convert Microsoft file formats to open | Libraries & plugins for rendering open office document file formats. Internally it can convert Microsoft file formats to open | ||
| Line 132: | Line 113: | ||
'''Behaviour''' | '''Behaviour''' | ||
| - | - Office Tools subsystem does not include any daemons or have impact on boot time | + | - Office Tools subsystem does not include any daemons or have impact on boot time. |
<br> | <br> | ||
| Line 146: | Line 127: | ||
2. User opens any other supported format | 2. User opens any other supported format | ||
| - | -> UI gives the file to | + | -> 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. | ||
Contents |
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.
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)
NOTE: This section is outdated.
| 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.
The following table (table 2) lists interfaces required by this 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
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.
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.
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
The subsystem does not store any data which needs backup.
It is possible to use SDK for developing and testing this system.