0% found this document useful (0 votes)
17 views21 pages

Extension System Integration

Uploaded by

namuunaa 1115
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views21 pages

Extension System Integration

Uploaded by

namuunaa 1115
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
You are on page 1/ 21

Software Specification Document

OpenOffice.org
5 Extension System Integration

Specification Status
Last Change May 9, 2008
Status Standard

Abstract
10 Extensions shall be recognized on desktops by using particular icons. It also shall be possible to install an extension by
double clicking on the respective file.

i-Team Members
Role First Name, Last Name, Initials E-Mail Address
Project Lead Joachim Lingner (JL) [email protected]
Specification Owner Joachim Lingner (JL) [email protected]
User Experience Bettina Haberer (BH) [email protected]
Development Joachim Lingner (JL), Stephan Bergmann [email protected], [email protected],
(SB), Ivo Hinkelmann (ihi), Hennes Rohling [email protected], [email protected]
(hro)
Quality Assurance Jörg Skottke [email protected]
Documentation Uwe Fischer [email protected]
Other roles

Page 1
Extension System Integration

15

Contents
Abstract.............................................................................................................................................................1
i-Team Members...............................................................................................................................................1
References and Reference Documents..............................................................................................................3
Acronyms and Abbreviations............................................................................................................................3

1 Detailed Specification......................................................................................................................................4
1.1 Scenarios of System Integration........................................................................................................................4
1.2 Installation of a Single Extension......................................................................................................................4
1.2.1 Changes in the next version...............................................................................................................................6
1.3 GUI changes during Installation........................................................................................................................6
1.4 Warning at having started more then one instances of unopkg.........................................................................6
1.5 Installation of Multiple Extensions...................................................................................................................7
1.6 Changes in unopkg............................................................................................................................................7
1.7 GUI Changes.....................................................................................................................................................8
1.8 Mime Type........................................................................................................................................................9
1.9 Icons..................................................................................................................................................................9
1.10 Description......................................................................................................................................................10
1.11 Integration in Windows...................................................................................................................................11
1.11.1 Icons and Description......................................................................................................................................11
1.11.2 Command Integration......................................................................................................................................12
1.11.3 Other unopkg Changes....................................................................................................................................13
1.11.4 Integration in other applications......................................................................................................................14
1.12 Unix.................................................................................................................................................................17
1.13 Installing Extensions using the Console..........................................................................................................20

2 Migration........................................................................................................................................................20

3 Configuration.................................................................................................................................................20

4 File Format.....................................................................................................................................................20

5 Open Issues....................................................................................................................................................20
Document Change History..............................................................................................................................21

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 2
Extension System Integration

References and Reference Documents


Reference Document Check Location (URL)
Specification Process Entry Check Passed N/A
Product Requirement,, RFE, issue (required) Available 69173
Product Concept Document Not Available

Competitive Analysis Not Available

Test Case Specification (required) Available http://mahler.germany.sun.com/


qa_tests/tests/test_list_detail.php?
idx=72
Software Specification Rules N/A N/A

Acronyms and Abbreviations


Acronym / Abbreviation Definition
unopkg A program for the administration of extensions. When
starting unopkg without the gui option then the Extension
Manager GUI is NOT displayed. unopkg offers more
options to enable the administration by using solely the
console.
unopkg gui The option gui affects that the Extension Manager GUI is
started.

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 3
Extension System Integration

20 1 Detailed Specification

1.1 Scenarios of System Integration


Extensions (.oxt files) shall be automatically installed, when a user activates it. In the simplest case, this could be a
click or double-click on the .oxt file in a file browser, such as the Windows Explorer. Also other programs, such as mail
clients and web browsers, may use the system integration. For example, when a web link in a HTML page targets a file
25 with the extension .zip and the user clicks on this link, then the browser may offer to start the corresponding zip
application. If the user accepts this then the application is started and the zip file is passed to that program. In the case of
extensions, this would mean that the Extension Manager is started which then installs the extension.

1.2 Installation of a Single Extension


The user activates one .oxt file. unopkg is called and the Extension Manager GUI starts up. In case a office is already
30 running then unopkg will start the Extension Manager of the office. Beginning with OpenOffice 3.0 unopkg will not be
used as default application for .oxt files any longer. The Office will be used as the default application instead. Now a
modal dialog comes up informing the user that he/she is about to install an extension. The content of this dialog depends
on the scenario. These are:
1. (case 1) An extension with the same name has not been installed yet.
35 2. (case 2) An extension with the same name and a lower version is already installed.
3. (case 3) An extension with the same name and with the same version is already installed.
4. (case4) An extension with the same name and with a higher version is already installed.
The cases 2, 3, 4 are already handled in http://specs.openoffice.org/appwide/packagemanager/extensionversion.odt
The focus is on the OK button.
40

Figure 1: Warning box in case 1.

45
Table 1: User Interface elements of Figure 1
# Type Properties Comment
Dialog Control Properties Info box
State: Modal
Closable: Yes
Resizable: No

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 4
Extension System Integration

# Type Properties Comment


Always On Top: Yes
A11Y Text: none
Other...: none
String English String German

Label Control Properties


Enabled: Yes
String English String German %NAME is the
You are about to install the Möchten Sie die Extension display name of the
extension '%NAME'.\nClick "%NAME" installieren?\nDrücken extension. If the
'OK' to proceed with the Sie "OK" um mit der Installation extenion does not
installation.\nClick 'Cancel' to fortzufahren.\nDrücken Sie provide a display
stop the installation. "Abbrechen" um die Installation name then it will be
abzubrechen. the file name.

Button Control Properties Has initial focus.


Enabled: Yes
Icon: NO
Resizeable: NO
Has Menu: NO
Menu Items: none
ToolTipText: none
String English String German
OK OK

Button Control Properties


Enabled: Yes
Icon: No
Resizeable: NO
Has Menu: No
Menu Items: none
ToolTipText: none
String English String German
Cancel Abbrechen

When the user presses OK, the installation starts and the dialog closes. The extension is installed under “My
50 Extensions”, that is in the user installation. Installing under “OpenOffice.org Extensions, that is installing in the shared
installation, is not supported as part of the system integration.

The command that is executed in order to start the installation process is on Windows:
unopkg.exe gui extension
55 and on Unix
unopkg gui extension.

extension is the name of the extensions including the full path.


1.2.1 Changes in the next version
60 Beginning with OpenOffice 3.0 unopkg will not be used as default application for .oxt files any longer. The Office will
be used as the default application instead. Activating an extension will always start the office directly without using

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 5
Extension System Integration

unopkg. You can start the office and provide a full path to an extension. This will start the office with the extension
manager asking you if you want to install that extension.
Starting with OpenOffice 3.0 the office supports installing an extension with simply choosing the extension in the office
65 file open dialog, too.

1.3 GUI changes during Installation


During installation the buttons Add, Remove, Disable, Enable, Export are disabled. When the installation is done the
buttons will be enabled if they would be enabled in this case in the usual gui mode. For example, the user double-clicks
on an extension in a file browser. Then the Extension Manager dialog comes up and the buttons are disabled. Therefore
70 the user cannot accidentally start another action. After the installation has completed, the buttons are enabled and the
user can enable/disable extensions or add and remove extensions again.

1.4 Warning at having started more then one instances of unopkg


There are two cases, when the installation of an extension fails (this will be enhanced in the future):
1. There is already an instance of unopkg running.
75 2. An instance of OOo is running and the Extension Manager dialog is open.

In these cases a warning will be displayed. Because this is only a interims-solution, there is only one warning with a
general text. Otherwise we would have to take into account:
● unopkg can be started with no, one, multiple arguments. That is the warning string could refer to no, exactly
80 one or multiple extensions.
● The user may not know what unopkg is. For example, if the user always uses the double-click for installing
extensions, he may never have typed unopkg in a console before. Therefore the warning string may in some
situations not refer to unopkg (the user would not know what it is) but in other cases it would be more specific.

85 In case unopkg was started with the gui option, which is the case when starting unopkg via system integration, then the
warning will be displayed in a dialog. If unopkg was started without the gui option, for example, the user typed in the
console: unopkg add d:\extension.oxt, then the warning is displayed in the console.

Yo
Yo Yo Yo
uu ua nu nre eaee re
ea d dba o
totobu Y ot
cc uto
lo ts
lo
o to
in
sueesinta
thth s
aeta
ll all
e th
E
re eth
lre e
xtee d
aey
axte
n sxte
bn
io
osnn
io
p
o s
e
p
t
t
p ro
to
to
ro c
i
i
c e
e
n
n s
e
e
s
d
d
ta
ta
w
w
l
ll
l
i
i
th
th e
th
th P
b re
eexte P s
fo rere s s
n s th Os K
io e O n e K
to pP to
p
xte
la inro prec
nro
.oe c
e
s io
xtsedn ecs d
with
a
pn with
laO in
beth e
.oth
Kin e
in
xts csin
tata
tos t
ll
alle
n
to
to
oxt.
xt.
a
a bb o
o rt
rt th
th ee P re
pa boutP
roto s re s
cins s
etas Cs a C
s e xten ons ac n
e
fion P
inc
l e
to
s l
re to
a b ao
s brt
ta lla tio n . o
s rt
th eth
C e
in s
ain
tasn ta
lla lla
tio
c t
en
You
Youane
You You
ne ato
reeeaddboutre to ins
to clos
clos ta
ee the
the
You lreellaxte
ll the
aExte athe
dy ns
nsreion
opeion Maapla
ne na
dbout gepla
in.oxt.
Exte in.oxt.
r, ns
beion
foreMa
to the
na ge
ins tar, ll the e xte ns ion pla
You ne
POK
ree sdstotoOK clos
to e dP
the a lre asdy ope ne tadins
llaExte ns ion Mae na
e ge
d r with the ins ta lla tion
Pere
be s sns
xte
fore the
ion eplaproce
xte ns eproce
in.oxtioncawithne din.oxt
re
pla be with
the
s insthe
ins ca nllains
talle
taO K tion.
dbe by to retion.
proc
tas lle
ta rting
d. the
to continue
re s s PCa .
Pproce sres snce
s Ca
of l tonce
ins l to
taalla
bortPathe
tion. bort
re sthe
ins sllains
ta C taa
tion. llanc
tion.e l to a bort the ins ta lla tion.

90 Figure 2: Warning box

Table 2: User Interface elements of Figure 2


# Type Properties Comment
Dialog Control Properties Warning box
State: Modal
Closable: Yes

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 6
Extension System Integration

# Type Properties Comment


Resizable: No
Always On Top: Yes
A11Y Text: none
Other...: none
String English String German

Label Control Properties


Enabled:
Initially Selected:
ToolTip Text:

String English String German


You need to close the already Schließen Sie den bereits
opened Extension Manager to geöffneten Extension Manager, um
continue. fortzufahren.
Button Control Properties
Enabled: Yes
Icon: NO
Resizeable: NO
Has Menu: NO
Menu Items: none
ToolTipText: none
String English String German
OK OK

95

1.5 Installation of Multiple Extensions


A User may also activate a selection of .oxt files. Then for every selected file, unopkg is executed the same way as if
there is only one selected file. The operating system may execute the multiple unopkg instances concurrently. Then the
installation may fail. See chapter 1.4.
100

1.6 Changes in unopkg


unopkg will be enhanced to support this invocation:
unopkg gui extension
or
105 unopkg gui list_of_extensions

See also chapter 1.4. This command is only for use with the system integration. Therefore unopkg –help will not show
this command.

110 1.7 GUI Changes


The Extension Manager dialog, as well as the OpenOffice.org file dialog will display a new icon (see chapter 1.9) for a

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 7
Extension System Integration

extension. OOo's file dialog will also display a description string (see also chapter 1.10)
The Extension Manager displays the “Toolbar” icon with the size 16X16 for extensions (see chapter 1.9).

Figure 3: New icon for extensions (.oxt files)

115

OpenOffice.org's file dialog displays the “Toolbar” icon with the size 16X16 for extensions (see chapter 1.9). It also
shows a description string.

120

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 8
Extension System Integration

Figure 4: New icon in file open dialog

1.8 Mime Type


.oxt files have the mime type
125 application/vnd.openofficeorg.extension

1.9 Icons
These icons are for use in OpenOffice.org. For examples see figure 3 and 4.
Office Icons 16x16 26x26 16x16 26x26
Office Extension

130 These Icons are for use on the operating system's desktop:

Desktop Icons 16x16 32x32 48x48


Office Extension
-> 24bit with Alpha
channel

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 9
Extension System Integration

Office Extension
-> 24bit (no Alpha
channel)

Office Extension
-> 8bit (no Alpha
channel)

"Office Extention"
-> Low Contrast

Office Extension
-> High Contrast

"Office
Extention"
-> High
Contrast:
Black/White

"Office
Extention"
-> High
Contrast:
White/Black

1.10 Description
A description string may be displayed in
135 ● file browsers
● file dialogs (including OOo's file dialog)
● other applications

140 String List


Type English String German String Comment
Description %PRODUCTNAME %PRODUCTNAME Example for usage can be
Extension Extension found in figure 4 (String
displayed in column “Type”)

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 10
Extension System Integration

and figure 5

1.11 Integration in Windows


The Windows desktop will be adapted so as to support the installation of extension.

1.11.1 Icons and Description


145 The following icon formats are needed for a full featured Windows integration:
16x16, 32x32, 48x48
Each of them with the following color depths:
4 Bit, 8 Bit, 32 Bit (True-Color with Alpha Channel)
The icons will be visible in Windows Explorer shell for every file with an .oxt extension. See also chapter 1.9. Also a
150 description string may be shown (see chapter 1.10).

Figure 5: New icon and description string in the Windows explorer

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 11
Extension System Integration

Figure 6: Use of icons of size 32x32 in Windows explorer

Figure 7: Use of icons of size 48x48 in Windows Explorer

1.11.2 Command Integration


The .oxt file extension will be registered as a file class, which will be assigned a command “open”. The open command
will have a display name “Install” and it will be the default command. This command will appear in the shortcut menu,
which can be invoked, for example, by right-clicking an .oxt file in the Windows explorer.
160 The “Install” command will be highlighted. The default command is also executed when double clicking a file of that
type or when selecting a file in the explorer and hitting <enter>. This command is also executed when typing the name
of an .oxt file in a command shell – but this only works on Windows 2K and higher.

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 12
Extension System Integration

165

Ins tall

Figure 8: Command integration: E.g.


Windows Explorer showing the install
command as default for .oxt files

String List for figure 8


Type English String German String Comment
Context menu entry &Install &Installieren The string is the default
command of the context menu,
that is, is is displayed in bold.
The'&' indicates that the
following letter is the keybord
shortcut. Note: Windows
expects a & and not a ~.
170

1.11.3 Other unopkg Changes


unopkg.exe is currently a console application on Windows. That means, that it will always create a console unless it had
been directly started from within a console. This would have the effect that when a user double-clicks an extension
175 always a console is created as well as the Extension Manager dialog. This has to be prevented. However, in the case,
where unopkg is started without the “gui” option, unopkg must write in the console to give the user feedback. This does
not work when unopkg is a Windows GUI application. The solution is to provide another executable named
unopkg.com which is a console application and to make unopkg.exe a Windows GUI application. unopkg.com starts
unopkg.exe and connects to it via pipes. All console output from unopkg.exe is displayed by unopkg.com in its own
180 console and all console input for unopkg.com is forwared to unopkg.exe.
When a user types “unopkg” in the console and presses enter then always unopkg.com is executed. To start unopkg
without console output one has to type unopkg.exe.

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 13
Extension System Integration

1.11.4 Integration in other applications


Applications, such as e-mail clients and web browsers, should be able to start the installation of an extension. For
185 example, when clicking on a link to a .oxt file, the browser should offer to start unopkg. When the user accepts this,
unopkg should be started and the .oxt file is passed to it.

Figure 9: Installing extension in thunderbird

190

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 14
Extension System Integration

Figure 10: Installing extension in Microsoft Outlook

195

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 15
Extension System Integration

Figure 11: Installing extension in Mozilla Firefox

200

205

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 16
Extension System Integration

210 1.12 Unix


The Unix System Integration supports the installation of new OpenOffice.org Extensions. All applications that are able
to handle mimetypes like mailclients, file- and webbrowser can install new OpenOffice.org Extensions by calling the
Extension Manager. Within filebrowsers the Extensions can be installed by clicking onto the displayed icon.
All applications run a script called “unopkg_gui” which calls the Extension Manager with the correct parameters.
215 Example of the Linux Gnome Nautilus System Integrations

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 17
Extension System Integration

Example of the Linux Firefox System Integration

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 18
Extension System Integration

Example of the Linux Thunderbird System Integration

225

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 19
Extension System Integration

Example of the Gnome System Integration

1.13 Installing Extensions using the Console


The installation of an extension which was triggered by the “system integration” will always use a GUI. Pure console
installation will not be supported.

235 2 Migration

3 Configuration

4 File Format
240

5 Open Issues
Issue Initials Date
71625 When starting unopkg from download window of firefox we use a name Dec 8, 2006

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 20
Extension System Integration

Issue Initials Date


that is not easy recognized.
71623 Internet Explorer 6 regards the .oxt as zip file Dec 8,

Document Change History


Rev. Change Initials Date
1 System integration of .oxt files changed dv May 9, 2008
2
3

http://specs.openoffice.org/appwide/packagemanager/extension_system_integration.odt Page 21

You might also like