OpenOffice.org Base

dbaccess

Task ID(s)

i16560

Category	Specification Affects

New Database application

Abstract

At the moment OpenOffice.org doesn't contain a database application comparable with other competitors. This document describes, how such a database application looks like, and how the “old” parts like data source administration, the designs (table, query, view, relations), forms and reports fit into this new application.

i-Team

Specification Owner	Ocke Janssen	oj@openoffice.org
Marketing (MA)		
User Experience (UX)	Christian Jansen	cj@openoffice.org
Development(DEV)	Ocke Janssen	oj@openoffice.org
Quality Assurance (QA)	Marc Neumann	msc@openoffice.org
Documentation (DOC)	Uwe Fischer	ufi@openoffice.org

Specification Reviews

Version	Reviewer	Comment
Reviewed by UX 03/30/04	Christian Jansen	
UI String Review 04/16/04 and 04/26/04 and 05/25/04 and 07/23/04	Elizabeth Matthis	
Reviewed by QA 03/30/04	Marc Neumann	
Reviewed by DOC 03/30/04	Uwe Fischer	

Document History

Version	Author	Comment
Draft <Date>	<Name>	<Comment>
23.09.03	Ocke Janssen	First draft 0.1
25.09.03	Ocke Janssen	Draft 0.2
26.09.03	Ocke Janssen	Draft 0.3
03.11.03	Ocke Janssen	Merge comments from i-Team
06.01.04	Ocke Janssen	Some adjustments
23.02.04	Ocke Janssen	Extension of the property browser for database forms
12.04.04	Ocke Janssen	Extend the AB pilot and new commands
4/14/04	Ocke Janssen	Added mockups and made string adjustments
4/16/04	Ocke Janssen	made string adjustments in conjunction with string review
4/26/04	Ocke Janssen	Added 1 menu entry to string list
27.04.04	Ocke Janssen	New string for the data source browser context menu added.
04.05.04	Ocke Janssen	Add changes for the toolbar ordering
14.05.04	Ocke Janssen	New string for an error message for API users.
28.05.04	Ocke Janssen	Add some changes from ianlynch@openoffice.org. Thanks, Ian.
21.07.04	Ocke Janssen	New strings in file menu and context menu
Final	Ocke Janssen	
08/04/04	Matthias Müller-Prove	update of the menu specification
01.02.05	Ocke Janssen	Update some states where a action should be available
08.02.05	Ocke Janssen	Illustration 11 changed and new paragraph for “Save Copy as”
2006-10-09	Frank Schönheit	added "Edit in SQL View" command (issue 64651)

Contents

1	Category Specification Affects	1

Glossary	1

References	1

2	Motivation	1

3	Goals	2

3.1	How does this feature meet the requirements	2

3.2	How does this feature improve the program architecture	2

4	Dependencies	2

4.1	Technical Dependencies / Requirements	2

5	Detailed Specification	2

5.1	The OpenOffice.org Base file format handling	2

5.1.1	Where to save Forms, Reports and Queries	3

5.1.2	Programatic data source handling	3

5.2	The OpenOffice.org Base application	3

5.2.1	Entry points (accessing the OpenOffice.org Base)	3

5.2.2	Start of OpenOffice.org Base	4

5.2.3	The appearance of OpenOffice.org Base	4

5.2.4	The icon choice control	5

5.2.5	The detail page	5

5.2.6	Connection establishing	9

5.2.7	What commands does the new database application support?	9

5.2.8	The menu	18

File Menu	18

Edit Menu	19

View Menu	20

Insert Menu	20

Tools Menu	21

Window Menu	21

String list	21

5.2.9	The toolbar	22

5.2.10	The context menu	25

5.2.11	Deleting forms, reports or queries	25

5.2.12	Cut, Copy and Paste	26

5.2.13	The save (as) dialog for forms and reports	26

5.2.14	The table filter dialog	27

5.2.15	The context menu of the data source browser	28

5.2.16	Extension of the property browser for forms and several form control wizards	29

5.2.17	Changes on the Address book data source Wizard	32

5.2.18	Error conditions when using macros	32

5.2.18	Import and Export of documents	33

5.2.19	Several mock-ups and diagrams	33

6	Future tasks	34

7	References	34

Glossary

Term	Description
Database connection	This is the connection which the database application establishes to the database to access tables, views and the data.
Database file	This is the file where forms, reports, queries and their subfolders will be saved.
Database objects	Database objects can be a form, a report, a query, a table or a view.
Detail page	Please have a look at the mock-up Illustration 4
Forms container	This is the entry you select in the icon choice control to view the forms in the detail page.
Icon choice control	Please have a look at the mock-up Illustration 4
Queries container	This is the entry you select in the icon choice control to view the queries in the detail page.
Reports container	This is the entry you select in the icon choice control to view the reports in the detail page.
Tables container	This is the entry you select in the icon choice control to view the tables/views in the detail page.
Folder	It contains several documents and can contain other folders as well.
Subfolder	Is a child folder.
Panel swap	This is the list in the panel view where the user can choose what he wants to create.

References

http://dba.openoffice.org/specifications/Drag_Drop_DSBrowser.html

http://dba.openoffice.org/specifications/Data_Source_Property_Dialog.sxw

Specification of the Wizard to create databases http://dba.openoffice.org/specifications/Wizard_Database.sxw

Specification of the database file format

http://dba.openoffice.org/specifications/Database_Registration.sxw

Motivation

One of the most annoying things is that people ask on the OpenOffice.org lists, “Does OpenOffice.org also support databases?”. This has been the case since the first release. The problem is that the database part of OpenOffice.org was not that intuitive to find and the approach of data sources was hard to understand. Another point is that the current implementation is too development specific resulting in the normal user not recognizing the intention of the links in a data source. This has to be changed.

The second point, which is also very important, is that people often ask for the same functionality as found in a major competing product. In fact, most of the features that our competitors provide are already implemented in OpenOffice.org, but as one OpenOffice.org user wrote, these remain a “hidden treasure”.

The third point is the creation of an OpenOffice.org Base file format which contains the necessary information for the application to function, how a connection will be established, details of the forms, reports and queries (optional dBase tables).

Goals

The goal is to define a standalone database application. In this database application the user can create forms, reports, queries, tables, views and relations. The forms, reports and queries will be stored in a single file format which will be explained later on. Optionally, the file format will also contain the dBase tables. An own file format allows the user to handle it the same way he is used to from other competitors.

How does this feature meet the requirements

This feature allows us to be recognized as a counterpart or a replacement for our competitors.

How does this feature improve the program architecture

The program architecture provides a new application. This will extend the application stack by one new application as far as the user is concerned.

Dependencies

Technical Dependencies / Requirements

The setup has to include the new database application. Additional requirements are:

Please look at the developers guide for more information about current data source concept.

API changes in the data source, form, report area. It is necessary to separate forms and reports.

Reports must be dividable into dynamic reports and static reports. Different icons are needed for each type.

Database creation with a wizard

User Administration dialog

A new wizard for views. This wizard is identical to the query wizard with the difference that a view will be saved.

Ability to migrate old data source format known from the previous OpenOffice.org versions to the new OpenOffice.org Base file format .

The interaction with other OpenOffice.org applications must be guaranteed. The applications use data source names e.g. for the mail merge, database areas, etc. Databases which are opened by the user have to be registered so that these applications (their documents) can access the database by name.

Detailed Specification

The application allows the user to work with his database. The user has ability to create new tables, queries, views, forms and reports either with the help of wizards or freehand. The relation design will be used as it was in the previous versions of OpenOffice.org. Additionally the import of forms and reports into the OpenOffice.org Base file format must be supported. See 5.2.14Import and Export of documents

For each database the user opens, a new application window appears just like with other documents. See Illustration 4 The first mock-up for OpenOffice.org Base.

The OpenOffice.org Base file format handling

The new file format contains information about how a connection will be established with the database server and stores the forms, reports and queries in different folders. Each folder can contain subfolders which can be created by the user to categorize them. Further information about the file format can be found here. Specification of the database file format.

Where to save Forms, Reports and Queries

In addition to the data source description, the new file format stores, forms, reports and queries. In previous OpenOffice.org versions only a link to these documents was saved inside the data source configuration entry. Forms, reports and queries need to be changed so that they store their file format inside the new database file format described above. When the user wants to save the document (e.g. a form, a report or a query) he will be prompted (the dialog is described below) to enter a unique name for it and to choose the folder (if one exists) where the document will be saved in the database file.

Illustration 1 Sequence diagram of the creation and saving of a form and/or report Programatic data source handling

Currently, in OpenOffice.org 1.1 and previous versions, the data source is saved in the configuration. This will be changed with the new database module. To ensure that the data source API, which is part of the OpenOffice.org Development Kit, can be used as in earlier versions, a database must be registered as a data source and this must also be persistent. This is important because otherwise it is not possible to load mail merge documents and/or sxc documents with database data ranges correctly. See .

The OpenOffice.org Base application

Entry points (accessing the OpenOffice.org Base)

Entry points define the way a user starts the new database application.

These are:

An entry for the new database application must exist in the quick start menu.

The user can select the new database application from the File->New menu in every OpenOffice.org application and open it.

The user can start the database application by double-clicking an OpenOffice.org Base file or through the File->Open menu.

Start of OpenOffice.org Base

When the new application starts without selecting an existing database file, a wizard appears which states the user to choose either to create a new database or to create a blank database. (Optional: or use predefined databases as template to create a new database.)

Illustration 2 Mock-up for the wizard to create/open a database

Illustration 3 The creation of a new database The appearance of OpenOffice.org Base

The OpenOffice.org Base comes in Single Document Interface (SDI) like all OpenOffice.org modules are. It contains its own menu and its own toolbar. The illustration below gives a first impression. In the following section, the single components, icon choice control, the detail page, the menu, and the toolbar, will be described in detail.

Illustration 4 The first mock-up for OpenOffice.org Base. detail page icon choice control toolbar menu The icon choice control

The icon choice control in Illustration 4 contains the entries the user can choose from. These are Forms, Reports, Queries and Tables/Views, in this order. When the user selects one of them, the detail page on the right side displays the collection of forms, reports, queries or tables/views.

String list

Item	English	German	Comments
Entry in the IconView	Forms	Formulare	Container
Entry in the IconView	Reports	Berichte	Container
Entry in the IconView	Queries	Abfragen	Container
Entry in the IconView	Tables	Tabellen	Container
Window pane title	Database	Datenbank	
Window pane title	Tasks	Aufgaben	
Heading above help-like text	Description	Beschreibung	

Table 1 Icon choice control folders

The detail page

The detail page is divided into two parts. As shown in Illustration 4. In the area above, the user can select how he wants to create a new object of the previously selected type in the icon choice control, either Forms, Reports, Queries or Tables.

There are different ways of creating different types. The table below summarizes these.

Object Type	Create with wizard	Starts Design mode	Starts SQL mode
Table	X	X	
View	X	X	X
Query	X	X	X
Form	X	X	
Report	X	X	

Table 2 Ways of creation

Different areas must contain different strings. The String list at the end of this document can be used to work out which string to place in which area.

The last part of the detail page, the lower one, contains objects that already exist. A tree view is the control which must be used here. In the simple case of forms, reports and queries, this tree view can have one or more levels depending on the user who can create different folders to suit. The only exception is the tables. If the database supports schemata and/or catalogs, the roots are the catalogs or the schemata (when no catalogs are supported). The next level is defined through the schemata, if supported, in which the children are the tables themselves. So the tables view could look like these example mock-ups:

String list

Illustration 5 Displayed when "Tables" was selected in the Icon Choice control.

Item	English	German	Comments
List box Entry(translate like a menu entry)	Create Table in Design View...	Tabelle in der Entwurfsansicht erstellen...	Visible when tables are selected in the “panel swap”
Fixed Text	Create a table by specifying the field names and properties, as well as the data types.	Erstellen Sie eine Tabelle, indem Sie Feldnamen und -eigenschaften, sowie Datentypen angeben.	
List Box Entry(translate like a menu entry)	Use Wizard to Create Table...	Tabelle unter Verwendung des Assistenten erstellen...	Visible when tables are selected in the “panel swap”
Fixed Text	Choose from a selection of business and personal table samples, which you customize to create a table.	Wählen Sie aus geschäftlichen oder privaten Beispieltabellen aus, die Sie dann für Ihren Zweck anpassen.	
List Box Entry(translate like a menu entry)	Create View...	Ansicht erstellen...	Visible when tables are selected in the “panel swap”
Fixed Text	Create a view by specifying the tables and field names you would like to have visible.	Erstellen Sie eine Ansicht, indem Sie Tabellen und Feldnamen angeben, die Sie anzeigen möchten.	

Illustration 6 Displayed when "Queries" was selected in the Icon Choice control. String list

Item	English	German	Comments
List Box Entry(translate like a menu entry)	Create Query in Design View...	Abfrage in der Entwurfsansicht erstellen...	Visible when queries are selected in the “panel swap”
Fixed Text	Create a query by specifying the filters, input tables, field names, and properties for sorting or grouping.	Erstellen Sie eine Abfrage, indem Sie Filter, Eingabetabellen, sowie Sortierungs- und Gruppierungseigenschaften angeben.	
List Box Entry(translate like a menu entry)	Create Query in SQL View...	Abfrage in SQL-Ansicht erstellen...	Visible when queries are selected in the “panel swap”. To append the word “Mode” makes it for the user easier to understand was this command do.
Fixed Text	Create a query entering an SQL statement directly.	Erstellen Sie eine Abfrage, indem Sie einen SQL-Befehl direkt eingeben.	
List Box Entry(translate like a menu entry)	Use Wizard to Create Query...	Abfrageunter Verwendung des Assistenten erstellen...	Visible when queries are selected in the “panel swap”
Fixed Text	The wizard will guide you through the steps necessary to create a query.	Der Assistent wird Sie durch die Schritte führen, die zur Erstellung einer Abfrage notwendig sind.	

String list

Illustration 7 Displayed when "Forms" was selected in the Icon Choice control.

Item	English	German	Comments
List Box Entry(translate like a menu entry)	Create Form in Design View...	Formular in Entwurfsansicht erstellen...	Visible when forms are selected in the “panel swap”
Fixed Text	Create a form by specifying the record source, controls, and control properties.	Erstellen Sie ein Formular, indem Sie die Datensatzquelle, Steuerelemente und Steuerelementeigenschaften angeben.	
List Box Entry(translate like a menu entry)	Use Wizard to Create Form...	Formular unter Verwendung des Assistenten erstellen...	Visible when forms are selected in the “panel swap”
Fixed Text	The wizard will guide you through the steps necessary to create a form.	Der Assistent wird Sie durch die Schritte führen, die zur Erstellung eines Formulares notwendig sind.	

String list

Illustration 8 Displayed when "Reports" was selected in the Icon Choice control.

Item	English	German	Comments
List Box Entry(translate like a menu entry)	Use Wizard to Create Report...	Bericht unter Verwendung des Assistenten erstellen...	Visible when reports are selected in the “panel swap”
Fixed Text	The wizard will guide you through the steps necessary to create a report.	Der Assistent wird Sie durch die Schritte führen, die zur Erstellung eines Berichtes notwendig sind.	

catalog schema1 table1 schema2 table1 Drawing 1 Catalog and schema support table1 table2 table3 Drawing 2 No catalog nor schema support schema1	table1 schema2	table1 Drawing 3 Only schema support Table 3 Create database objects

Connection establishing

To establish a connection to a server side database is very time consuming. For this reason the creation must be done as late as possible. At the moment, a connection will only be created by the module when:

accessing tables/views

database user administration is required

The table filter dialog is needed

The SQL execution dialog is needed

All other components, for example, designs will create their own connection but the newly created connection will be shared among the other modules as well.

What commands does the new database application support?

This section describes which commands the new database application supports. Each command is defined in a separate table. This table is sub-divided into the action name, where it is found in the application menu, if it is per default available from the toolbar , what happens when executing this command and when it is possible for the user to execute the command.

Action	Save
Menu entry	File -> Save
Toolbar	yes
What happens	Saves the database file and set the state to unmodified. Opens the normal save dialog
When enabled	When the database file was modified. For example a database object (excludes tables and view) or a subfolder was created.

Action	SaveAs
Menu entry	File -> Save As
Toolbar	yes
What happens	Saves the database file under a new name and set the state to unmodified. Opens the normal save dialog.
When enabled	Every time.

Action	Export...
Menu entry	File -> Export...
Toolbar	no
What happens	Exports the current single selection
When enabled	Every time.

Action	Document as E-mail
Menu entry	File -> Send -> Document as E-mail
Toolbar	no
What happens	Send the database document as E-mail
When enabled	Every time.

Action	Report as E-mail
Menu entry	File -> Send -> Report as E-mail
Toolbar	no
What happens	Send the selected reports as one E-Mail
When enabled	Only when reports in the detail page are selected

Action	Report to Text Document
Menu entry	File -> Send -> Report to Text Document
Toolbar	no
What happens	Opens a new text document with the content of the selected report.
When enabled	Only when a report in the detail page is selected

Action	Undo
Menu entry	Edit -> Undo
Toolbar	yes
What happens	Undo the action that was done by the user. See 5.2.13What can be undone and redone as well?
When enabled	When an undo action was created.

Action	Redo
Menu entry	Edit -> Redo
Toolbar	yes
What happens	Redo the action that was undone before by the user. See 5.2.13What can be undone and redone as well?
When enabled	when an redo action was created.

Action	Cut
Menu entry	Edit -> Cut
Toolbar	yes
What happens	Cuts the selected entries in the detail page. See 5.2.14Cut, Copy and Paste for more information.
When enabled	When one entry in the lower detail page is selected, this can be either a query, form, a report or a subfolder. It has to be disabled when tables or views are selected.

Action	Copy
Menu entry	Edit -> Copy
Toolbar	yes
What happens	Copies the current selection in the lower detail page to the system clipboard. See 5.2.14Cut, Copy and Paste for more information.
When enabled	When one or more database object(s) or subfolder(s) is/are selected in the lower detail page.

Action	Paste/Paste Special
Menu entry	Edit -> Paste, Edit -> Paste Special
Toolbar	yes
What happens	The normal paste operations are executed. See 5.2.14Cut, Copy and Paste for more information.
When enabled	See 5.2.14Cut, Copy and Paste for more information.

Action	Delete
Menu entry	Edit -> Delete
Toolbar	yes
What happens	The currently selection in the lower detail page has to be deleted. The user has to confirm this with Yes, Cancel or All. If an error occurs, the user has to be asked if he wants to continue, cancel or continue and ignore all following error messages. In the case that a folder has been selected which belongs to forms, reports or queries, all included documents and/or subfolders have to be deleted as well. If the folder which should be deleted, contains any document and/or folder, the user has to confirm the deletion of this objects as well when he choose only “Yes” in the confirmation dialog. See the Activity diagram for deleting forms, reports or queries and 5.2.9Deleting forms, reports or queries for more information.
When enabled	When one or more database objects or subfolders in the lower detail page is/are selected. Before a table or view can be deleted, it must be verified that the underlying database connection is writable.

Action	Select All
Menu entry	Edit -> Select All
Toolbar	no
What happens	All entries (including subfolders if available) in the lower detail page will be selected.
When enabled	If there exists entries or subfolders (if available) in the lower part of the detail page.

Action	Rename
Menu entry	Edit -> Rename
Toolbar	yes
What happens	The currently selected and focused entry (which can be only one) in the lower detail page will be switched into “inplace” edit mode. So the user can change the name. If SQL92 naming constraints is enabled, table and view names must be handled specially. Not all characters are allowed then.
When enabled	when one database object or subfolder (if available) in the lower detail page is selected. Before a table or view can be deleted, it must be verified that the underlying database connection is writable, otherwise only the database file must writable.

Action	Edit
Menu entry	Edit -> Edit
Toolbar	yes
What happens	When one or more entries in the lower detail page is/are selected, the corresponding design mode opens. Forms will be open in edit mode, the same applies for reports. When editing a dynamic report, the template will be opened for edit.
When enabled	When one or more entries in the lower detail page is/are selected. If only subfolders, catalogs and schemata are selected, the command will be disabled, otherwise only the database objects will be edited.

Action	Edit
Menu entry	Edit -> Edit in SQL View
Toolbar	No
What happens	When one or more queries are selected in the lower detail pane, those are opened for editing in SQL View.
When enabled	When one or more queries are selected in the lower detail pane. In all other situations, the command will be disabled.

Action	Open
Menu entry	Edit -> Open
Toolbar	yes
What happens	When one or more entries in the lower detail page is/are selected, the corresponding entry opens. Forms will be open in the last mode they were saved, the same applies for reports, when the selected entry is a dynamic report.
When enabled	When at least one database object is selected, otherwise not.

Action	Convert to View
Menu entry	Edit -> Convert to View
Toolbar	no
What happens	When one or more query entries in the lower detail page is/are selected, they will be used to create views.
When enabled	When one query entry is selected and the underlying database connection is writable.

Action	Form wizard
Menu entry	Edit -> Form wizard
Toolbar	no
What happens	Starts the wizard for forms with the selected query/view/table entry as default.
When enabled	When the database file is writable and the selected entry is either a table/view or a query.

Action	Report wizard
Menu entry	Edit -> Report wizard
Toolbar	no
What happens	Starts the wizard for reports with the selected query/view/table entry as default.
When enabled	When the database is writable and the selected entry is either a table/view or a query

Action	Rename
Menu entry	Edit -> Rename
Toolbar	yes
What happens	When one database object is selected, the common rename dialog opens which ask the user for a new name. The old name will be the default. If the user changes the name and exists with OK, the name changes in the current visible view.
When enabled	when one database object or subfolder in the lower detail page is selected and the database is writable and the underlying database connection is writable.

Action	Properties
Menu entry	Edit -> Database->Properties
Toolbar	no
What happens	Opens the dialog described in http://dba.openoffice.org//specifications/Data_Source_Property_Dialog.sxw#4.2The properties dialog|outline. When the user does some changes, he will be asked if all open forms, reports, queries and tables should be closed to take the changes effect.
When enabled	Only when the database type is not equal to http://dba.openoffice.org/specifications/Data_Source_Property_Dialog.sxw#4.2.1The “General” page|outline or an embedded database type

Action	Connection type
Menu entry	Edit -> Database->Connection type
Toolbar	no
What happens	Opens the dialog described in http://dba.openoffice.org//specifications/Data_Source_Property_Dialog.sxw#4.4The Connection Type wizard|outline. When the user does some changes, he will be asked if all open forms, reports, queries and tables should be closed to take the changes effect.
When enabled	Every time, with the exception of an embedded database

Action	Advanced Properties
Menu entry	Edit -> Database->Advanced Properties
Toolbar	no
What happens	Opens the dialog described in http://dba.openoffice.org//specifications/Data_Source_Property_Dialog.sxw#4.3The advanced properties dialog|outline. When the user does some changes, he will be asked if all open forms, reports, queries and tables should be closed to take the changes effect.
When enabled	Only when the database type is not equal to http://dba.openoffice.org/specifications/Data_Source_Property_Dialog.sxw#4.2.1The “General” page|outline or an embedded database type

Action	Sort Ascending
Menu entry	View -> Sort -> Ascending
Toolbar	yes
What happens	Sorts the entries in the lower detail page lexicographically ascending
When enabled	When the detail page is filled with entries. Ascending is checked when sorted lexicographically

Action	Sort Descending
Menu entry	View -> Sort -> Descending
Toolbar	yes
What happens	Sorts the entries in the lower detail page lexicographically descending
When enabled	When the detail page is filled with entries. Descending is checked otherwise

Action	View Preview on/off
Menu entry	View -> Preview -> On/Off
Toolbar	no
What happens	The preview window will be enabled or disabled.
When enabled	Every time

Action	View Preview Document Information
Menu entry	View -> Preview -> Document Information
Toolbar	no
What happens	The preview window displays the document information of a form or report.
When enabled	Only when the forms or reports container is selected.

Action	View Preview Document
Menu entry	View -> Preview -> Document
Toolbar	no
What happens	The preview window displays the document which can be any of database objects.
When enabled	Every time

Action	View Forms
Menu entry	View -> Database Objects -> Forms
Toolbar	no
What happens	The forms container of the icon choice control will be selected and the detail page will shows all forms.
When enabled	Every time

Action	View Tables
Menu entry	View -> Database Objects -> Tables
Toolbar	no
What happens	The tables container of the icon choice control will be selected and the detail page will shows all tables.
When enabled	Every time

Action	View Queries
Menu entry	View -> Database Objects -> Queries
Toolbar	no
What happens	The queries container of the icon choice control will be selected and the detail page will shows all queries.
When enabled	Every time

Action	View Reports
Menu entry	View -> Database Objects -> Reports
Toolbar	no
What happens	The reports container of the icon choice control will be selected and the detail page all shows all reports.
When enabled	Every time

Action	Refresh Tables
Menu entry	View -> Refresh Tables
Toolbar	no
What happens	The tables will be refreshed.
When enabled	Every time

Action	New Table
Menu entry	Insert -> New Table
Toolbar	yes
What happens	Opens the table design
When enabled	When the database connection is writable.

Action	New View (design mode)
Menu entry	Insert -> View (Design View)
Toolbar	yes
What happens	Opens the view in design mode (see )
When enabled	When the database connection is writable.

Action	New View (SQL mode)
Menu entry	Insert -> View (SQL View)
Toolbar	yes
What happens	Opens the view in SQL mode (see )
When enabled	When the database connection is writable.

Action	New Query(design mode)
Menu entry	Insert -> Query (Design View)
Toolbar	yes
What happens	Opens the query n design mode (see )
When enabled	When the database file is writable.

Action	New Query(SQL mode)
Menu entry	Insert -> Query (SQL View)
Toolbar	yes
What happens	Opens the query in SQL mode (see )
When enabled	When the database file is writable.

Action	New Report
Menu entry	Insert -> Report
Toolbar	yes
What happens	Starts the Report wizard (see ). When this is chosen while a single table, view, or query is selected in the detail pane, then this object is pre-selected in the pilot.
When enabled	When the database file is writable.

Action	New Form
Menu entry	Insert -> New Form
Toolbar	yes
What happens	Opens the OpenOffice.org Writer in form mode . (see )
When enabled	When the database file is writable.

Action	New Subfolder
Menu entry	Insert -> New Subfolder
Toolbar	no
What happens	A dialog similar to Illustration 11 Mock-up for the save dialog for forms will be opened. This time the user saves a new sub folder.
When enabled	When the database file is writable and the queries, reports or forms container has been selected.

Action	Import
Menu entry	Tools -> Import
Toolbar	no
What happens	Imports the documents which was formerly created with the previous OpenOffice.org versions. See 5.2.17Import and Export of documents
When enabled	When the database file is writable and reports or forms container is selected

Action	Export
Menu entry	Tools -> Export
Toolbar	no
What happens	Exports the forms and reports out of the new OpenOffice.org Base file format. See 5.2.17Import and Export of documents
When enabled	When one or more entries in the lower detail page is/are selected, either forms or reports.

Action	Relationships
Menu entry	Tools -> Relationships
Toolbar	no
What happens	Opens the relation design and it checks whether the database connection supports relations. If this is not the case, a dialog states the user that his database connection doesn't mention to support relations and ask him if he would like to ignore this and open the relation design nevertheless.
When enabled	Every time

Action	Table Filter
Menu entry	Tools -> Table Filter
Toolbar	no
What happens	Opens a new dialog which shows the table filter dialog. See chapter 5.2.15
When enabled	When the database file is writable

Action	User Administration
Menu entry	Tools -> User Administration
Toolbar	no
What happens	Opens the user administration dialog. See chapter 4.1
When enabled	Every time

Action	SQL
Menu entry	Tools -> Execute SQL
Toolbar	no
What happens	Opens the SQL dialog where the user can execute SQL statements.
When enabled	Every time

The menu

The menu entries must be implemented as described in the tables below. Additionally common menu entries like in all modules have to be added.

File Menu

File

New	>

Open...

Recent Documents	>

---------------

Wizards	>

---------------

Close

Save

Save As...

Save All

---------------

Export...

Send	>

---------------

Exit

New	>	Comments

Text Document

Spreadsheet

Presentation

Drawing

Database...

---------------

HTML Document

XML Form Document

Master Document

---------------

Formula

Labels

Business Cards

---------------

Templates and Documents

Send	>

Document as E-mail...

Report as E-mail...

---------------

Report to Text Document...

Edit Menu

Edit

Undo

---------------

Cut

Copy

Paste

Paste Special...

Select All

---------------

Delete

Rename...

Edit...

Edit in SQL View...

Open Database Object...

Create as View

Form Wizard...

Report Wizard...

---------------

Database	>

Database	>

Properties...

Connection Type...

Advanced Settings...

View Menu

View

Database Objects	>

---------------

Toolbars	>

Status Bar

Preview	>

---------------

Sort	>

Refresh Tables

Database Objects	>

Forms

Reports

Queries

Tables

Sort	>

Ascending

Descending

Preview	>

None

Document Information

Document

Insert Menu

Insert

Form...

Report...

Query (Design View)...

Query (SQL View)...

---------------

Table Design...

View Design View...

View (Simple)...

---------------

Folder...

Tools Menu

Tools

Relation Design...

User Administration...

Table Filter...

Execute SQL...

---------------

Macros	>

Package Manager...	cf. [Package Manager]

XML Filter Settings...

Customize...	was “Configure...”

Options...

Window Menu

same as in Start Module: Window Menu Specification

String list

Item	English	German	Comments
Only the menu entries will be described which are not general available.
menu	File	Datei	
Menu Entry	Data~base...	Datenbank...	
Menu Entry	Report as E-mail	Bericht als E-Mail	
Menu Entry	Report to Text Document	Bericht an Textdokument	
menu	Edit	Bearbeiten	
Menu Entry	Paste Special...	Inhalte einfügen...	
Menu Entry	Delete	Löschen	
Menu Entry	Rename...	Umbennen...	
Menu Entry	Edit...	Bearbeiten...	
Menu Entry	Edit in SQL View...	In SQL-Ansicht bearbeiten...	
Menu Entry	Open...	Öffnen...	
Menu Entry	Create as View	Als Ansicht erstellen	
Menu Entry	Form Wizard...	Formular-Assistent...	
Menu Entry	Report Wizard...	Berichts-Assistent...	
Menu Entry	Select All	Alles auswählen	
Menu Entry	Database	Datenbank	Contains the sub entries below
Menu Entry	Properties...	Eigenschaften...	
Menu Entry	Connection Type...	Verbingungsart...	
Menu Entry	Advanced Settings...	Erweiterte Einstellungen...	Until here
Menu	View Ansicht	
Menu Entry	Database Objects	Datenbankobjekte	Contains the sub entries below.
Menu Entry	Tables	Tabellen	
Menu Entry	Queries	Abfragen	
Menu Entry	Forms	Formulare	
Menu Entry	Reports	Berichte	Until here
Menu Entry	Sort	Sortieren	Contains the sub entries below.
Menu Entry	Ascending	Aufsteigend	
Menu Entry	Descending	Absteigend	Until here
Menu Entry	Preview	Vorschau	Contains the sub entries below.
Menu Entry	None	Keine	
Menu Entry	Document Information	Dokumentinformationen	
Menu Entry	Document	Dokument	Until here
Menu Entry	Refresh Tables	Tabellen aktualisieren	
Menu	Insert Einfügen	
Menu Entry	Form...	Formular...	
Menu Entry	Report...	Bericht...	
Menu Entry	Query (Design View)...	Abfrage (Entwurfsansicht)...	
Menu Entry	Query (SQL View)...	Abfrage (SQL-Ansicht)...	
Menu Entry	Table Design...	Tabellenentwurf...	
Menu Entry	View Design...	Ansichtsentwurf...	
Menu Entry	View (Simple)...	Ansicht (einfach)...	
Menu Entry	F~older...	Ordner...	
Menu Entry	Tools Extras	
Menu Entry	Relationships...	Beziehungen...	
Menu Entry	User Administration...	Benutzerverwaltung...	
Menu Entry	Table Filter...	Tabellenfilter...	

Table 4 Menu entries

The toolbar

The toolbar doesn't have to contain the same functionality as the menu bar by default. This means in particular that a user can configure more buttons if he wants to. The following buttons, in this order, will exist by default:

General buttons:

New (drop down button). The appearing menu is the same as for the insert menu. When single clicking on the new menu, the visible entry will be executed.

Open, opens the file picker with *.sxb as default

Save

Copy and Paste

Copy

Paste (drop down button for paste special)

Database object specific buttons:

Open Database Object

Edit

Delete

Rename

Sorting

Ascending

Descending

Help

Help -> Calls first page of Database help

Toolbox for preview

None

Document Information

Document

Illustration 9 Mock-up for the preview toolbox

String list

Item	English	German	Comments

message box	The database has been modified.\nDo you want to save the changes?	Die Datenbank wurde geändert.\nMöchten Sie die Änderungen speichern?	When the database file was closed and has be modified.
message box	The connection type has been altered.\nFor the changes to take effect, all forms, reports, queries and tables must be closed.\n\nDo you want to close all documents now?	Die Verbingungsart wurde geändert.\nDamit die Änderungen wirksam werden, müssen alle Formulare, Berichte, Abfragen und Tabellen geschlossen werden.\n\nMöchten Sie jetzt alle Dokumente schließen?	Info text when the connection must be closed and >= 1 document is opened.more space between lines
help tip	New	Neu	Creates an object of the currently selected type (table, view, query, form, report)
HelpTip	Rename	Umbennen	Renames an object of the currently selected type (table, view, query, form, report)
HelpTip	Delete	Löschen	Deletes an object of the currently selected type (table, view, query, form, report)
HelpTip	Edit	Bearbeiten	Opens an object of the currently selected type (table, view, query, form, report) in his design mode.
HelpTip	Open Database Object	Datenbankobjekt öffnen	
List box entry	None	Keine	
List box entry	Document Information	Dokumentinformationen	
List box entry	Document	Dokument	

Table 5 Tool bar buttons and two message boxes.

The context menu

When opening the context menu on an entry, the user has the possibility to choose the same actions as defined in the Edit menu entry plus the Sort menu from the view menu and the export functionality from the File menu. See for detail information.

Illustration 10 Context mneu open on a dBASE table

String list

Item	English	German	Comments
Only the context menu entries will be described which are not general available. It contains the same functionality as the “Edit” menu.
	context menu	
menu Entry	Paste Special...	Inhalte einfügen...	
menu Entry	Delete	Löschen	
menu Entry	Rename	Umbennen	
menu Entry	Edit...	Bearbeiten...	
	Edit in SQL View...	In SQL-Ansicht bearbeiten...	
menu Entry	Open Database Object...	Datenbankobjekt öffnen...	
menu Entry	Create as View	Als Ansicht erstellen	
menu Entry	Form Wizard...	Formular-Assistent...	
menu Entry	Report Wizard...	Berichts-Assistent...	
menu Entry	Select All	Alles auswählenen	
menu Entry	Export...	Exportieren...	
menu Entry	Database	Datenbank	Contains the sub entries below
menu Entry	Properties	Eigenschaften	
menu Entry	Connection Type	Verbingungsart	
menu Entry	Advanced Settings	Erweiterte Einstellungen	Until here

Deleting forms, reports or queries

When the user wants to delete forms, reports or queries the handling differs from the deletion of tables/views. In this case the user can in addition to selecting objects also select sub folders and delete them afterwards.

Cut, Copy and Paste

This paragraph describes the cut, copy and paste operations. When the user copies a database object into the clipboard, the type of database object determines which formats the clipboard will contain.

This means when copying

Tables and views, these formats must be available:

SOT_FORMATSTR_ID_DBACCESS_TABLE

SOT_FORMAT_RTF

SOT_FORMATSTR_ID_HTML

SOT_FORMATSTR_ID_HTML_SIMPLE

Queries, these formats must be available:

SOT_FORMATSTR_ID_DBACCESS_QUERY

SOT_FORMAT_RTF

SOT_FORMATSTR_ID_HTML

SOT_FORMATSTR_ID_HTML_SIMPLE

Reports, forms and sub folders, the URL to the location inside the OpenOffice.org Base file format has to be copied. A new format has to be defined.

The cut operation of database objects has to support the same formats as the copy command has to, with the exception that it is not possible to cut tables or views.

The paste operation is only allowed when

forms or form sub folders are copied to the form folder or sub folders.

reports or report sub folders are copied to the report folder or sub folders.

Otherwise the allowed paste operations are defined in http://dba.openoffice.org/specifications/Drag_Drop_DSBrowser.html.

The save dialog for forms

The save dialog allows the user to select/create a folder where he can store his document. The appearance of this dialog is similar to the normal save as dialog. See below. Below this “forms” folder other documents and/or folder may appear. So the handling of this dialog is common to the file system handling.

Illustration 11 Mock-up for the save dialog for forms

String list

Item	English	German	Comments
Dialog title	Save	Speichern	
Fixed Text	File name:	Dateiname:	
Button	~Save	~Speichern	
Button	~Cancel	Abbrechen	
Button	~Help	Hilfe	
Help Tip	Up One Level	Aufwärts	
Help Tip	Create New Folder	Neuen Ordner erstellen	

Table 6 Save dialog

The “Save Copy as” for forms and reports

The “Save Copy as” command allows the user to store his form or report on the local file system. Forms work as before, the exception here are reports. They will be converted into static reports which won't update itself anymore. The dialog which will be opened, is the normal file system “Save As” dialog.

The table filter dialog

Illustration 12 Table Filter dialog In this dialog the user can define which tables should be visible when selecting the tables/views entry in the icon choice control.

The table filter dialog is identical to the “tables” page known from the data source administration dialog in former OpenOffice.org 1.0-1.1 releases. When the user selects the Cancel button while being asked for a password, the dialog doesn't appear. If the connection could not be established, the error message of the driver appears and the table filter dialog also doesn't appear.

String list

Item	English	German	Comments
Dialog Title	Table Filter	Tabellenfilter	Title of the dialog
FixedLine	Tables and table filter	Tabellen und Tabellenfilter	
FixedText	Mark the tables that should be visible for the applications.	Markieren Sie diejenigen Tabellen, die für die Applikationen sichtbar sein sollen.	
Button	~OK	~OK	
Button	~Cancel	Abbrechen	
Button	~Help	Hilfe	

Table 7 Table filter dialog

The context menu of the data source browser

The context menu of the data source browser has to be changed as well. It now supports to edit the database file and to copy an element like a table or query. The entry “Links” has to be removed.

Illustration 13 Mock-up of the context menu which is opened on a table. String list

Item	English	German	Comments
Menu Entry	Open Database File	Datenbankdatei öffnen	
String	The database does not support user administration.	Die Datenbank unterstützt keine Benutzerverwaltung!	Error message appears when trying to the user administration on a database of type dBase.

Table 8 Context menu of the data source browser

Extension of the property browser for forms and several form control wizards

Illustration 14 The property browser without the data source entry The property browser in its current state supports only data sources which are registered. When a form is opened out of a database file, the property browser is no longer allowed to change the data source name anymore because this is already defined by the database file. The entry “data source” has to be removed if the form is bound to a database file. For standalone forms, which can be created outside a database file, the property browser must support the possibility to select a database file as source instead of selecting only a registered data source. Therefore the property browser must be extend by a “Browse” button which opens a file open dialog, filled with the database document type, to allow the user to select a database file.

The same applies for the most form control wizards. Here the user must have the opportunity to select an existing database file. If the form is already bound to a database file, this opportunity must be removed.

Illustration 15 The property browser extend by a browse "..." button

Illustration 16 Wizard with a browse button to select a database file

Illustration 17 Wizard without the browse button, the form is already bound to a database file

String list

Item	English	German	Comments
Button	...	...	This button must be append behind the edit field for the data source.

Table 9 Property Browser “Browse” button

Changes on the Address book data source Wizard

The Address book wizard has to be changed so that the new Address book is saved as database file. It must be possible to register the new Address book.

Illustration 18 The new last page of the Address book wizard (wizard design subject to change). String list

Item	English	German	Comments
Button	Browse...	Durchsuchen...	Opens the SaveAs dialog.
FixedText	Enter the location and name under which you want to save the database file.	Geben Sie den Speicherort und den Namen an, unter dem die Datenbankdatei gespeichert werden soll.	
Checkbox	Make this address book available to all modules in %PRODUCTNAME.	Dieses Adressbuch allen Modulen von %PRODUCTNAME zur Verfügung stellen.	
FixedText	Address book name	Name des Adressbuches	

Table 10 Last page of the Address Book AutoPilot

Error conditions when using macros

Developers have to change their code, when they create data sources and then try to register them at the database conext, to store the data source before they register it. If the data source now hasn't a URL, registerObject method call will throw an IllegalArgumentexception with an error message which stats the developer what to do to make his code work again.

String list

Item	English	German	Comments
String	The data source was not saved. Please use the interface XStorable to save the data source.	Die Datenquelle wurde nicht gespeichert. Bitte verwenden Sie die Schnittstelle XStorable, um die Datenquelle zu speichern.	DO NOT Translate or change “XStorable” as it is a method in the api and must be quoted exactly.

Import and Export of documents

The import/export of documents is limited to reports and forms. In a future version it might be possible to import/export more than these two. When the user chooses to import a document, the file open dialog opens so he can select the document and then the document will be inserted into the currently selected folder. The user has to take care not to insert forms into the report container. If the user chooses to export documents, the save as dialog will open for each document so that the user can choose the location for storage of the document.

Several mock-ups and diagrams

Illustration 19 Activity diagram for deleting forms, reports or queries

Future tasks

The import and export of queries and tables could be done in a next release, so that is possible to get access to the data stored inside the database. The exported file format should be a XML format like the <db:table> element.

References

Wizard Concept	http://specs.openoffice.org/installation/wizards/Wizards_NewConcept.sxw

View Menu	http://specs.openoffice.org/appwide/menus/ViewMenu.sxw

Start Module	http://specs.openoffice.org/appwide/start_module/StartModule.sxw#ToolsMenu

This wizard will be described in an extra specification.

Single Document Interface

It is not decided yet, if this wizard will be part of Q.

The query wizard can be used here again.

When the report is a dynamic one, the template of the report will be opened for editing. Otherwise the report will open in edit mode.

The user can still configure how the toolbar should look like.

Also switches the detail page, if not already done, to the category, of which kind of object the user wants to create.

This will be described in an extra specification about forms.

The dialog which asks the user to start the relation nevertheless is started from the relation design component.

OpenOffice.org Base

Page 1

http://dba.openoffice.org/specifications/Database_application.sxw

OpenOffice.org Base

Ocke Janssen

2003-07-03T07:38:55

Frank Schönheit

Ocke Janssen