XForms Graphical User Interface (GUI) Specification - Part 1

OpenOffice.org 2.0 and StarOffice 8

Document - ID	Specification Owner	Last Change	Status
	Frank Loehmann	2008-06-09	Final
Conforms to	
Applies to	XForms module, Writer
Task ID(s)	52505
Category	Feature

Abstract

XForms is an international standard for web forms. OO.org is able to create and edit XForms compatible forms. Part 1 of the specification describes the graphical user interface (GUI) for Toolbars, modes and the Data navigator for this new XForms functionality.

i-Team Members (The specification owner is part of the i-Team)

	Name	E-mail Address
User Experience	Frank Loehmann	Frank.loehmann@sun.com
Development	Daniel Vogelheim	Daniel.vogelheim@sun.com
Quality Assurance	Marc Neumann	Marc.neumann@sun.com
Documentation	Uwe Fischer	Uwe.fischer@sun.com

Approved for Implementation

	Approved by	Date
User Experience	Frank Loehmann	08/11/04
Development	Daniel Vogelheim Peter Burow	09/17/04 09/14/04
Quality Assurance	Marc Neumann	10/06/04
Documentation	Uwe Fischer	10/05/04
String Review	Elizabeth Matthis	20.08.04 and 01.11.04 (6.2.6, 7.1) and 2 new warnings 04.02.05

Document Change History

Rev. Level	Change	Initials	Date
1.0	Draft	FL	21/01/04
1.1	Work on comments from Daniel Vogelheim	FL	25/03/04
1.2	Work on comments from Frank Schönheit	FL	31.03.04
1.3	Work on new dialogs for namespaces and conditions	FL	05.05.04
1.4	Overwork spec regarding modes etc.	FL	06/15/04
1.5	Overwork application/document definition	FL	06/30/04
1.6	Final Draft	FL	07/07/04
1.7	Work on comments	FL	08/04/04
1.8	Work on Comments from PB/FS/UFI/DVO	FL	08/11/04
1.9	Accept and reject changes	FL	09/13/04
1.95	Finalization	FL	09/20/04
1.96	Move Change Binding dialog into Future section	FL	10/05/04
2.0	Final	FL	10/15/04
2.0.1	Added the "Model data updates" chapter	FS	2008-06-09

Contents

Glossary	1

1	Motivation	1

2	User Scenarios	2

3	Goals	2

4	Dependencies	3

4.1	Technical Dependencies	3

5	Competitive Analyses	3

5.1	OpenOffice 1.1 Document Modes	3

5.1.1	Read-Only Mode	3

5.1.2	Form Control Modes	4

a	Design Mode - on (active)	4

b	Open in Design Mode	5

c	Design Mode – off	5

5.1.3	HYP(erlink) and SEL(ection) Mode	5

5.2	Microsoft Word XP	6

6	Detailed Specification	7

6.1	New XForms Document Type	7

6.1.1	File – New Menu	7

The forms document	7

Default Position of Toolbars	7

Default Position of Floating Windows	8

6.1.2	Modes	8

a	Read-only Button Replacement	8

b	File Open Dialog	8

c	Context Menu Definition	8

Tool bars	9

6.1.3	Forms Toolbar	9

Form Functions Toolbar	9

a	Controls Toolbar	9

6.2	Data Navigator	9

6.2.1	Models	9

a	Add / Edit Model Dialog	9

a.i	Model Data Updates	10

a.ii	Delete Model Warning Dialog	10

6.2.2	Data Navigator Design	10

a	Instance n Tab Page	10

a.i	Delete Attribute Query Dialog	13

a.ii	Delete Element Query Dialog	13

a.iii	Delete Instance Query Dialog	13

a.iv	Add / Edit Instance Dialog	13

String List for Missing Name Warning Dialog	14

b	Submissions Tab Page	14

b.i	Add Submission Dialog	15

String List for Missing Name Warning Dialog	17

b.ii	Delete Submission Query Dialog (#i36202)	17

c	Bindings Tab Page	17

c.i	Delete Binding Query Dialog (#i36202)	18

6.2.3	Drag & Drop	18

Drag & Drop of an Item Within the Data Navigator	18

Drag & Drop from the Document Into the Data Navigator	19

Drag & Drop of a Data Item Into the Document	19

6.2.4	Link Control to Items via Mouse	19

6.2.5	Keyboard Shortcuts	19

6.2.6	Context menu definition	19

6.2.7	Control Section in Format Menu	19

6.2.8	Add Element Dialog	20

String List for Missing Name Warning Dialog	22

Edit Item	22

Edit Binding	22

23

Strings	23

Add Condition Dialog	23

Form Namespaces Dialog	24

Edit Namespace Dialog	24

Add Namespace Dialog	25

6.3	Writer Sections	26

6.4	Controls	26

6.4.1	Show Control Data Binding	26

6.4.2	Context menu definition	26

6.4.3	Tip Helps on Controls	27

6.5	Form Navigator	29

6.6	G11n	29

6.7	Error Conditions	29

6.7.1	ErrorBox RID_SVX_ERROR_INVALID_XMLNAME	29

6.7.2	ErrorBox RID_SVX_ERROR_INVALID_XMLPREFIX	30

6.7.3	ErrorBox RID_SVX_ERROR_DOUBLE_MODELNAME	30

7	Beta Tasks	30

7.1	Warning dialog if a linked instance gets changed	30

8	Future Tasks	30

8.1	Scenarios	30

8.2	Modes	31

1.1	Combined and Removed Modes	31

1.2	New HYP(erlink) and SEL(ection) Behavior	31

1.1.1	Normal Writer Edit Mode Behavior	31

1.2.1	Links in Read-Only / Form Use Mode	31

1.2.2	Context Menu of a Text Hyperlink	31

1.2.3	Context Menu of a Graphic with Hyperlink	32

8.3	Form Wizard Definition	32

8.4	Move up / Down in Data Navigator	32

8.4.1	Direct Cursor	32

8.4.2	Change Binding Dialog	33

Context menu definition	33

9	Error Conditions	34

9.1	Invalid XForms Instance Data	34

10	Notes	34

11	References	34

Glossary

Term	Description
binding	StarOffice Enhanced Forms distinguish between a form user interface element (a control) and the data store (a data item). A control must be bound to a data item, to make the control store its data in said data item. The programmatic representation of this connection between a control and a data item is called a binding.
data model	A data model stores the data a user enters into a form. One could say a data model constitutes the entirety of all data items. There can be different data models, such as an XML data model, or an SQL data model.
data navigator	A (new) user interface element that allows access to a document's data model, typically by displaying the data items in a tree structure.
form design mode	A user interface mode customized to create and edit form documents.
form document	A form document is a conventional office document with an embedded form layer.
form layer	Those parts of a document that are directly form related, in particular the logical forms, the form controls, the data model, and the controls' data bindings.
form navigator	An (existing) user interface element that allows access to a document's controls and logical forms. The main display is a tree structure with the document's logical forms as parent nodes, and the controls as leaf nodes.
form use mode	A user interface mode customized to fill out electronic forms.
live mode	A user interface mode which operates just like the normal document mode, but allows filling out form controls.
normal document mode	The normal user interface mode, without any document specific functionality. Normal document mode is what you get when opening any text document.
XForms	The XForms markup language describes the behavior of electronic forms. XForms markup must be embedded into a host language, which describes the form except for the actual form controls. In our parlance, XForms describes the form layer. Typical host languages for XForms are W3C's XHTML and SVG.
XML	XML, Extensible Markup Language, is a standard markup language for encoding structured information. Cf. the references section.

Motivation

Electronic forms are very important for the internet and intranet. OO.org 2.0 supports XForms which is a W3C driven standard for electronic forms.

The following explanation is taken from w3.org.

XForms can do everything that HTML Forms can do, and then some. In particular XForms lets you:

Check data values while the user is typing them in.

Indicate that certain fields are required, and that the form cannot be submitted without them.

Submit forms data as XML.

Integrate with Web services, for instance by using SOAP and XML RPC.

Submit the same form to different servers (for instance a search string to different search engines).

Save and restore values to and from a file.

Use the result of a submit as input to a further form.

Get the initial data for a form from an external document.

Calculate submitted values from other values.

Constrain values in certain ways, such as requiring them to be in a certain range.

Build 'shopping basket' and 'wizard' style forms without needing to resort to scripting. More information about XForms can be found on w3.org: http://www.w3.org/MarkUp/Forms/ and

User Scenarios

Form designer (developer)

Design (layout) the form

Test the form

Deploy the form

Form user

Use (fill out) the form

Submit the form (form data)

Save the form (with form data; alternative to 2)

'Mixed' forms

This use-case demands a combined form with free-form content, e.g. meeting minutes with a form header and a free-form body.

Solution: Introduce a text section with a writable-in-read-only-documents flag (as it already exists for text boxes). This will allow the form designer to incorporate free-form sections into form documents. Also integrated a shortcut for this feature into the form toolbar

User B: Too Many Modes

Solution: Combine modes i.e. Form mode an HYP/SEL mode in Writer to reduce complexity.

Goals

The goal is to provide an easy to use program for using (fill in) and creating XForm compatible foms.

Dependencies

Technical Dependencies

none

Competitive Analyses

OpenOffice 1.1 Document Modes

OO.org supports different modes for editing or creating of XForms documents.

Read-Only Mode

In OO.org 1.1, documents can be opened in a normal edit or in a read-only mode. The read-only mode protects the document from being changed and disables all functionality which could modify the document. Furthermore the note (read-only) and the different document view of a read-only document underlines it's write protection status.

Illustration 1 Document in read-only mode. Shows (read-only) note in program caption.

Furthermore controls are always in use/live mode when the read-only mode is turned on (please find a detailed explanation of this mode on page 4 in paragraph 5.1.2 Form Control Modes - below this).

Illustration 2 Edit mode (Edit File button is pressed)

The button “Edit File” in the main tool bar toggles between edit and read-only mode. When switching to read-only mode, the document will be saved (save prompt).

The Read-only mode is only active (button in the toolbar is not pressed),

if the document has been loaded using the option in the File - Open dialog:

Illustration 3 Read-only check box in Open dialog of OO.org

In this case the mode can be simply toggled by the “Edit File” button to edit the file.

if the document's file was marked as read-only in the file system.

If such a file is opened and the “Edit File” button is pressed, OO.org prompts with a dialog, because only a copy of this write protected document could be edited.

Form Control Modes

Form controls in OO.org 1.1 know two different states – a design mode on/off. The “Open in design mode” setting shown in illustration 6 controls the state on loading a document and is saved with the document.

Design Mode - on (active)

This means that form controls can be handled as normal objects. This allows to mark controls, place them in the document and also allows to change their settings.

Illustration 4 Floating Forms Toolbar with Design Mode On/Off toggle button – activated

Illustration 5 Form control in active Design Mode

Open in Design Mode

The open in design mode sets the default status for form controls when the current document gets loaded (regardless how the design mode was set on saving the document)

Illustration 6 Open in Design Mode – activated

Design Mode – off

This means that controls are active (live) and could not be moved. No settings can be changed and the controls could not be selected.

Illustration 7 Floating Forms Toolbar with Design Mode On/Off toggle button – deactivated

Illustration 8 Form control when Design mode is deactivated

HYP(erlink) and SEL(ection) Mode

Furthermore OO.org knows another mode. The hyperlink mode is the default. On mouse click the mode toggles between HYP(erlink) and SEL(ection). In HYP mode all hyperlinks are active and in SEL mode all hyperlinks are not active.

Illustration 9 Writer with active HYP(erlink) mode

Illustration 10 Writer with active SEL(ection) mode

Microsoft Word XP

Microsoft Word XP knows two different control types:

Form controls (marked red in the following screenshot)

Control (marked blue in the following screenshot)

in Word documents.

Illustration 11 MS Office XP knows to different control types

"Controls" in MS-Word-terminology are what OpenOffice.org calls "form controls".

Detailed Specification

New XForms Document Type

OO.org 2.0 Writer will be extended by a new xForms mode. This mode could not be activated in the Writer GUI. It will be set, if a new XML Forms document is created or an existing one is loaded from file. The application used for editing xForms documents is OpenOffice.org Writer. The OO.org Writer file extension is kept, so no separate extension is used.

Multiple views (Window - New Window) are always in an identical state (design form/use form).

File – New Menu

A new menu item is added to the File-New menu. This menu item open up a new XML Form document. This new type of document is a normal Writer document, but with different Toolbar default settings controlled by the xForms mode setting mentioned above. These differences will be defined later in this section.

Illustration 12 The XML Form Document entry was added directly behind HTML document.

String list

Item	English	German	Comments
Menu Entry	~XML Form Document	~XML Formulardokument	

The forms document

The zoom level of this new document is set to 100% and the online layout is turned off by default. Any changes to this setting will also be the new default for new Form documents (only).

Default Position of Toolbars

The mockup Illustration 14 on page 11 below shows the initial default positioning of tool bars and floating windows when the Writer is in this xForm mode.

Default Position of Floating Windows

The Data Navigator is floated in the right of the new Form document. The Forms and Controls toolbar are visible by default. Please find information about the positioning of the forms related toolbars in the Toolbar concept spec.:

5.1.29Form Controls (Writer)

5.1.31Form Design (Writer)

The status (visibility/docked/undocked) and positions of these toolbars are saved as default for new Form documents.

Modes

OpenOffice.org 1.1 offers many modes (HYP, SEL, Design mode and Read-only mode). Some of these modes will be combined in OO.org 2.0 to reduce redundancies and complexity and the read-only mode is not available for xForms documents. Files with read-only status are loaded in form use mode. An xForms document offers a new button replacing the read-only one. This new button toggles between form design and form use mode.

Read-only Button Replacement

Item	English	German	Comments
Button Tip Help A	Design This Form	Dieses Formular entwerfen	Tip help in form use mode
Button Tip Help B	Activate This Form	Dieses Formular aktivieren	Tip help in form design mode

File Open Dialog

Illustration 13 Read-only checkbox in File - Open dialog

Note: If read-only is checked and the document is a form, the document opens in form use mode.

Context Menu Definition

The normal (current) Writer context menu is shown in the design mode. In the Form use mode the following context menu appears (similar to the current read-only context menu).

String list

Item	English	German	Comments
Menu entry 1	Design Form	Formular entwerfen	
Menu entry 2	Select Text	Text auswählen	
Menu Divider	---------------------------	---------------------------	Only shown if entry 5 or 6 is shown in the menu.
Menu entry 5	Copy	Kopieren	Only shown if something is selected in the document
Menu entry 6	Paste	Einfügen	Only shown if something is in the clipboard

Tool bars

Forms Toolbar

Form Functions Toolbar

Please find details in the following specification:

http://specs.openoffice.org/ui_in_general/toolbar_concept/Standard_toolbar.sxc

http://specs.openoffice.org/ui_in_general/toolbar_concept/openoffice_org_toolbar_spec.sxw

Controls Toolbar

Please find details in the following specification:

http://specs.openoffice.org/ui_in_general/toolbar_concept/Standard_toolbar.sxc

http://specs.openoffice.org/ui_in_general/toolbar_concept/openoffice_org_toolbar_spec.sxw

Data Navigator

The Data Navigator gives access to a form's data model by displaying the models, data items, submissions and data bindings. These tab pages contain a tree structure.

Note: The Data navigator itself does not support undo/redo. So undo will not restore the old value if data (setting/name/..) of a Model/Instance/Submission/Node/Attribute/Element gets changed or deleted in the Data Navigator.

Models

A document could contain multiple form models. The different models are accessible through a drop-down box at the top of the Data Navigator window. The Model menu button allows to create, remove and rename a model.

Add / Edit Model Dialog

The add model dialog allows to add a new model. If edit is called in the menu button, the dialog title changes to Edit Model and the name of the current model is shown in the Name edit.

Strings

Item	English	German	Comments
Dialog Title a	Add Model	Modell hinzufügen	
Dialog Title a	Edit Model	Modell bearbeiten	
Label	Model	Modell	
Name	Name	Name	
Check Box	Model data updates change document's modification status		

Model Data Updates

When for a given model, the "Model data updates ..." check box is checked, then any change to any control in the document, where the control is bound to an item in this model, will set the document to modified.

The default for this check box for newly created models is OFF.

The check box has been introduced with OpenOffice.org 3.0, and is not available in older versions of Openoffice.org.

Delete Model Warning Dialog

This dialog appears, if a model gets deleted.

Item	English	German	Comments
Text	Deleting the model '$MODELNAME' affects all controls currently bound to this model.	Das Löschen des Modells '$MODELNAME' wirkt sich auf alle Kontrollfelder aus, die mit diesem verbunden sind.	Dialog has Yes/NO buttons.
Text	Do you really want to delete this model?	Möchten Sie das Modell wirklich löschen?	

Data Navigator Design

The following mockup shows the Data Navigator.consists of of a minimum of three tab pages. Each tab represents a part of the entire xForms Data tree and cuts down complexity on the use interface side. The menu buttons are used to interact with the data on the tab they are placed on (details see below).

Instance n Tab Page

Each Model could consist of one ore more Instances. These instances are displayed as tab pages in the data navigator. An instance itself could be administered by the Instance menu button. This menu button allows to create, rename and remove instances.

The tree nodes/elements consist mainly of three different types: Elements, attributes and text. An element may contain attributes and elements mixed with text items. Attributes and text items have no further content. Elements and attributes are displayed by their name; other items by their type. If elements contain only attributes and a text node, the text node is not displayed.

Illustration 14Data Navigator Floating Window

String List

Item	English	German	Comments
Tip help on button	Add Element	Element hinzufügen	
Tip help on button	Add Attribute	Attribut hinzufügen	
Tip help on button	Edit	Bearbeiten	
Tip help on button	Delete	Löschen	
Menu button	Instances	Instanzen	
Menu entry	Add...	Hinzufügen...	
Menu entry	Edit...	Bearbeiten...	
Menu entry	Delete	Löschen	Is only enabled, if it current instance is not last one. Raises the instances warning dialog, described below.
Menu entry	Show Details	Details einblenden	Check mark, default is unchecked
Menu button	Models	Modelle	
Menu entry	Add...	Hinzufügen...	
Menu entry	Edit...	Bearbeiten...	
Menu entry	Delete	Löschen	Is only enabled, if it current instance is not last one. Raises the model warning dialog, described below.
Tab	Instances	Instanzen	
Tab	Submissions	Submissions	
Tab	Bindings	Bindungen	
Tip Help of Model List Box	Form model	Formularmodell	
Context Menu 1 (for instance tree)	Add Element...	Element hinzufügen...	See translation above
Context Menu 2	Add Attribute...	Attribut hinzufügen...	See translation above
Context Menu 3	Edit...	Bearbeiten...	
Context Menu 4	Delete	Löschen	

The “Add Element...” button calls the Add Element dialog were a new Element can be added. The "Add Attribute" button calls the Add Attribute dialog. . The "Edit..." button calls the Edit Attribute or Element dialog depending on the type of the currently selected item The delete button removes the currently selected item.

Delete Attribute Query Dialog

This dialog appears, if an attribute gets deleted.

Item	English	German	Comments
Text	Do you really want to delete the attribute '$ATTRIBUTENAME'?	Möchten Sie das Attribut '$ATTRIBUTENAME' wirklich löschen?	Dialog has Yes/NO buttons.

Delete Element Query Dialog

This dialog appears, if an element gets deleted.

Item	English	German	Comments
Text	Deleting the element '$ELEMENTNAME' affects all controls currently bound to this element.	Das Löschen des Elements '$ELEMENTNAME' wirkt sich auf alle Kontrollfelder aus, die damit verbunden sind.	Dialog has Yes/NO buttons.
Text	Do you really want to delete this element?	Möchten Sie das Element wirklich löschen?	

Delete Instance Query Dialog

This dialog appears, if an Instance gets deleted.

Item	English	German	Comments
Text	Deleting the instance '$INSTANCENAME' affects all controls currently bound to this instance.	Das Löschen der Instanz '$INSTANCENAME' wirkt sich auf alle Kontrollfelder aus, die damit verbunden sind.	Dialog has Yes/NO buttons.
Text	Do you really want to delete this instance?	Möchten Sie die Instanz wirklich löschen?	

Add / Edit Instance Dialog

The following dialog is called if the add entry of the instance menu button is called. Name and URL of and instance can be defined. The URL field offers auto completion feature. If the called by the Edit Instance entry of the Instances menu button, the dialog title changes to Edit Instances and the current name and URL of the instance is shown.

Illustration 15 Add instance dialog

String List for Missing Name Warning Dialog

Item	English	German	Comments
Text	The instance must have a name.	Die Instanz muss einen Namen haben.	Dialog has an OK button.

Strings

Item	English	German	Comments
Dialog Title a	Add Instance	Instanz hinzufügen	
Dialog Title b	Edit Instance	Instanz bearbeiten	
Label	Instance	Instanz	
Label	Name	Name	
Label	URL	URL	
Checkbox	Link instance	Instanz verknüpfen	

Submissions Tab Page

The submissions tab page contains the following list box entries.

Illustration 16 Submission Tab

Tab Page String List

Item	English	German	Comments
list box entry	ID:	ID:	Unique identifier for the submission
list box entry	Binding:	Bindung:	reference to a binding
list box entry	Reference:	Referenz:	direct reference to Xpath
list box entry	Action:	Aktion:	URL for submission
list box entry	Method:	Methode:	Method: GET/PUT/... for HTTP
list box entry	Replace:	Ersetzen:	what should happen with answering data

Add Submission Dialog

The following dialog appears if a submission is added.

Add Submission String List

Item	English	German	Comments
Dialog Title	Add Submission	Submission hinzufügen	
Text	Submission	Submission	
Label	Name	Name	
Label	Action	Aktion	
Label	Method	Methode	
List Box Entry 1	Post	Post	Do Not translate unless your language has a word for this method
List Box Entry 2	Put	Put	Do Not translate unless your language has a word for this method
List Box Entry 3	Get	Get	Do Not translate unless your language has a word for this method
Label	Binding expression	Bindungsausdruck	
Label	Binding	Bindung	
Label	Replace	Ersetzen	
List Box Entry 1	None	Kein	
List Box Entry 2	Instance	Instanz	
List Box Entry 3	Document	Dokument	

String List for Missing Name Warning Dialog

Item	English	German	Comments
Text	The submission must have a name.	Die Submission muss einen Namen haben.	Dialog has an OK button.

Delete Submission Query Dialog (#i36202)

This dialog appears, if an submission gets deleted.

Item	English	German	Comments
Text	Deleting the submission '$SUBMISSIONAME' affects all controls currently bound to this submission.	Das Löschen der Submission '$SUBMISSIONNAME' wirkt sich auf alle Kontrollfelder aus, die damit verbunden sind.	Dialog has Yes/NO buttons.
Text	Do you really want to delete this submission?	Möchten Sie die Submission wirklich löschen?	

Bindings Tab Page

The Binding tab page shows all data bindings used in the current model. These bindings can be created automatically or manually.

Illustration 17 Data Navigator

Delete Binding Query Dialog (#i36202)

This dialog appears, if a binding gets deleted.

Item	English	German	Comments
Text	Deleting the binding '$BINDINGNAME' affects all controls currently bound to this binding.	Das Löschen der Bindung '$BINDINGNAME' wirkt sich auf alle Kontrollfelder aus, die damit verbunden sind.	Dialog has Yes/NO buttons.
Text	Do you really want to delete this binding?	Möchten Sie die Bindung wirklich löschen?	

Drag & Drop

Drag & Drop of an Item Within the Data Navigator

Items in the Data Navigator can be moved (default) or copied (by pressing the CTRL key simultaneously) by drag an item and drop it on it's new position. A horizontal line is shown to visualize the drop target . If the item has to be named unique and the name is already present, the name is extended by "(n)" where n is a counter from 2 to n.

Drag & Drop from the Document Into the Data Navigator

A control will be bind to an item, if it gets dropped onto an item in the Data Navigator.

Drag & Drop of a Data Item Into the Document

A data item can be dropped to the document to create a default control bound to the item dragged from the Data Navigator. The default drop is a link drop. A move or copy drop is not possible if those modifiers are pressed.

Link Control to Items via Mouse

If a control is selected in the document, a double click (or Return key event) on an item in the Data Navigator binds the selected control to this item. If no control is selected, the double click inserts the default control for the selected item into the current form document.

Keyboard Shortcuts

Keyboard Shortcut	Action
DEL	Removes the currently selected item, after showing the deletion warning dialog described in chapter Error: Reference source not found Error: Reference source not found on page Error: Reference source not found.
+ / Cursor right	Open a sub tree in the data view.
- / Cursor left	Closes a sub tree in the data view.

Context menu definition

The context menu of a data item in the Data Navigator float contains the following:

Note: Light gray formatted entries are already present. Please see comments for more information.

Item	English	German	Comments
Context Entry 1	Insert Control	Kontrollfeld einfügen	
Separator	-----------------------------	-----------------------------	
Context Entry 2	Add Element...	Element hinzufügen...	Calls the Add Item dialog
Context Entry 3	Add Attribute...	Attribut hinzufügen...	
Context Entry 3b	Edit Element...	Element bearbeiten...	Calls the edit element dialog
Context Entry 2b	Edit Attribute...	Attribut bearbeiten...	Calls the edit attribute dialog
Separator	-----------------------------	-----------------------------	
Context Entry 4	Delete	Löschen	Delete currently selected item after "Delete Attribute" or "Delete Element" warning dialog has been confirmed.

Control Section in Format Menu

The following definition describes the Format - Controls menu entry for the main menu.

Item	English	German	Comments
Main Menu Entry	Controls	Kontrollfelder	
Sub Menu Entry	Control Properties...	Kontrollfeldeigenschaften...	
Sub Menu Entry	Form Properties...	Formulareigenschaften...	Not shown in Writer/xForms
Sub Menu Entry	Form Navigator...	Formularnavigator...	Not shown in Writer/xForms
Sub Menu Entry	Data Navigator	Datennavigator	Shown only in Writer/xForms
Separator	-----------------------------	-----------------------------	
Sub Menu Entry	Text Box	-current translation-	Like current entry in "Replace with" context menu (Check mark menu entry)
Sub Menu Entry	Combo Box	-current translation-	-""- (Check mark menu entry)
Sub Menu Entry	List Box	-current translation-	-""- (Check mark menu entry)
Sub Menu Entry	Radio Button	-current translation-	-""- (Check mark menu entry)
Sub Menu Entry	Check Box	-current translation-	-""- (Check mark menu entry)
Sub Menu Entry	Label Field	-current translation-	-""- (Check mark menu entry)
Sub Menu Entry	Numeric Field	-current translation-	-""- (Check mark menu entry)

Note: The current type of control is pre-checked if available in the list.

Add Element Dialog

The Add Item dialog is called by the Add button in the Data Navigator.

Illustration 18 Add Element Dialog

A name is mandatory for all types and has to be a valid XML name. Since the name is an XML name, it may use a namespace. A [...] button in the name box allows access to the Namespace dialog. This will be checked when closing the dialog. The Default value field is optional.

The attribute names of an element or group have to be unique within the same group.

German	English	German	Comments
Dialog Title for Elements	Add Element	Element hinzufügen	
Dialog Title for Attributes	Add Attribute	Attribut hinzufügen	
String	Element	Element	Add Element dialog
String	Attribute	Attribut	Add Attribute dialog
Label	Name	Name	
Label	Data type	Datentyp	
Label	Default value	Standardwert	
Check Box	Required	Erforderlich	
Check Box	Relevant	Relevant	
Check Box	Constraint	Bedingung	
Check Box	Read-only	Schreibgeschützt	
Check Box	Calculate	Berechnen	
Button	Condition...	Bedingung...	
Text	Settings	Einstellung	
Content of Data Type Field	String	Text (String)	
Content of Data Type Field	Hyperlink	Hyperlink	
Content of Data Type Field	Decimal	Dezimal	
Content of Data Type Field	Double	Fließkomma (doppelt genau)	
Content of Data Type Field	Floating point	Fließkomma	
Content of Data Type Field	True/False (Boolean)	Wahr/Falsch (Boolean)	
Content of Data Type Field	Date	Datum	
Content of Data Type Field	Time	Zeit	
Content of Data Type Field	Date and time	Datum und Zeit	
Content of Data Type Field	Day	Tag	
Content of Data Type Field	Month and day	Monat und Tag	
Content of Data Type Field	Month	Monat	
Content of Data Type Field	Month and year	Monat und Jahr	
Content of Data Type Field	Year	Jahr	

String List for Missing Name Warning Dialog

Item	English	German	Comments
Text	The element must have a name.	Das Element muss einen Namen haben.	Dialog has an OK button.
Item	English	German	Comments
Text	The attribute must have a name.	Das Attribut muss einen Namen haben.	Dialog has an OK button.

Edit Item

Generally the Edit item Dialog calls the previously defined Add Item dialog, with the following changes:

Different dialog name (edit instead of add)

Type list box is disabled and does only show current data type.

Illustration 19 Edit Attribute Dialog

String List for Edit Item Dialog

Item	English	German	Comments
Dialog Title for Elements	Edit Element	Element bearbeiten	New dialog title
Dialog Title for Attributes	Edit Attribute	Attribut bearbeiten	

Edit Binding

The "..." button calls the Add/Edit Condition Dialog described below. Rest of this dialog is the same described above for Edit Attribute.

Strings

Item	English	German	Comments
Label	Binding expression.	Bindungsausdruck	

Add Condition Dialog

The Namespace item dialog allows to enter an XML name or an XPath expression, and also to edit the namespaces used in the name/expression. The dialog elements are:

Illustration 20 Add Condition Dialog

String List for Add Condition Dialog

Item	English	German	Comments
Dialog Title	Add Condition	Bedingung hinzufügen	
Label	~Condition	Bedingung	
Text	~Result	Ergebnis	
Error Text1	Error during evaluation	Fehler bei der Auswertung	error
Error Text2	No result	Kein Ergebnis	no result
Button	~Edit Namespaces...	Namensräume bearbeiten...	

Form Namespaces Dialog

Illustration 21 Form Namespances

String List for Form Namespaces

Item	English	German	Comments
Dialog Title	Namespaces for Forms	Namensräume für Formulare	
Fixed text	Namespaces	Namensräume	
Label	Prefix	Präfix	
Label	URL	URL	
Button	Add...	Hinzufügen...	
Button	Edit...	Bearbeiten...	
Button	Delete	Löschen	

Edit Namespace Dialog

Illustration 22 Edit Namespace Dialog

String List

Item	English	German	Comments
Dialog Title	Edit Namespace	Namensraum bearbeiten	
Label	Prefix	Präfix	Same translation as above
Label	URL	URL	Same translation as above

Add Namespace Dialog

Illustration 23 Add Namespace dialog

String List

Item	English	German	Comments
Dialog Title	Add Namespace	Namensraum hinzufügen	

Writer Sections

Writer sections have a new flag to allow editing a section's content in the forms use mode. The GUI controls are only visible, if the XForms document flag is set.

Illustration 24

Controls

Form controls.

Show Control Data Binding

If a control in the form gets selected, the current data binding can be shown by calling the "Show Databinding" entry in the context menu of a control. Please find the context menu description below.

Context menu definition

The context menu of a control in OO.org 1.1 is extended by the following on top of the current context menu.

Item	English	German	Comments
Context Entry 1	Change Data Binding	Datenbindung ändern	Calls the change Binding dialog
Context Entry 2	Show Data Source	Datenquelle anzeigen	Opens the Data Navigator (and shows current data binding automatically)
			This cannot be a resource file string. Please hard format.

Tip Helps on Controls

The following tool tips are shown if a control indicates that its current value, expression, it's state, etc. is in a not expected state.

Illustration 25 Screenshot of tip help above 2d/3d control

Tool Tip: "NO_BINDING_EXPRESSION"

Item	English	German	Comments
error message	Please enter a binding expression.	Bitte geben Sie einen Bindungsausdruck ein.	

Tool Tip: "INVALID_BINDING_EXPRESSION"

Item	English	German	Comments
Text	This is an invalid binding expression.	Dies ist ein ungültiger Bindungsausdruck.	

Tool Tip: "INVALID_VALUE"

Item	English	German	Comments
Text	The value is invalid.	Der Wert ist ungültig.	

Tool Tip: "REQUIRED"

Item	English	German	Comments
Text	A value is required.	Es muss ein Wert eingegeben werden	

Tool Tip: "INVALID_CONSTRAINT"

Item	English	German	Comments
Text	The constraint '$1' is not validated.	Die Bedingung '$1' wird nicht eingehalten.	

Tool Tip: "VALUE_IS_NOT_A"

Item	English	German	Comments
Text	The value is not of the type '$1'.	Der Wert ist nicht vom Typ '$1'.	

Tool Tip: "VALUE_MAX_INCL"

Item	English	German	Comments
Text	The value must be smaller than or equal to $2.	Der Wert muss kleiner als oder gleich $2 sein.	.

Tool Tip: "VALUE_MAX_EXCL"

Item	English	German	Comments
Text	The value must be smaller than $2.	Der Wert muss kleiner als $2 sein.	

Tool Tip: "VALUE_MIN_INCL"

Item	English	German	Comments
Text	The value must be greater than or equal to$2.	Der Wert muss größer als oder gleich $2 sein.	

Tool Tip: "VALUE_MIN_EXCL"

Item	English	German	Comments
Text	The value must be greater than $2.	Der Wert muss größer als $2 sein.	

Tool Tip: "VALUE_PATTERN"

Item	English	German	Comments
Text	The value does not match the pattern '$2'.	Der Wert passt nicht auf das Muster '$2'.	

Tool Tip: "VALUE_TOTAL_DIGITS"

Item	English	German	Comments
Text	$2 digits allowed at most.	Es sind höchstens $2 Ziffern erlaubt.	

Tool Tip: "VALUE_FRACTION_DIGITS"

Item	English	German	Comments
Text	$2 fraction digits allowed at most.	Es sind höchstens $2 Nachkommastellen erlaubt.	

Tool Tip: "XFORMS_VALUE_LENGTH"

Item	English	German	Comments
Text	The string must be $2 characters long.	Die Zeichenkette muss $2 Zeichen lang sein.	

Tool Tip: "VALUE_MIN_LENGTH"

Item	English	German	Comments
Text	The string must be at least $2 characters long.	Die Zeichenkette muss mindestens $2 Zeichen lang sein.	

Tool Tip: "XFORMS_VALUE_MAX_LENGTH"

Item	English	German	Comments
Text	The string can only be$2 characters long at most.	Die Zeichenkette darf höchstens $2 Zeichen lang sein.	

Form Navigator

The current Form Navigator is kept, but will be displayed by default in a Form document. It is docked to the document window as shown in illustration 14 on page 11.

Illustration 26 Form Navigator

G11n

Please find details here:

http://specs.openoffice.org/g11n/Right-to-left_control_forms/R2L-enabled_control_forms.sxw

Error Conditions

ErrorBox RID_SVX_ERROR_INVALID_XMLNAME

This error message is shown if an element name is not valid XML syntax.

Item	English	German	Comments
Text	The name '%1' is not valid in XML. Please enter a different name.	Der angegebene Name '%1' ist nicht XML konform. Bitte geben sie einen anderen Namen ein.	Error dialog has an OK button

ErrorBox RID_SVX_ERROR_INVALID_XMLPREFIX

This error message is shown if a prefix (Name space) is not valid XML syntax

Item	English	German	Comments
Text	The prefix '%1' is not valid in XML. Please enter a different prefix.	Der angegebene Präfix '%1' ist nicht XML konform. Bitte geben Sie einen anderen Präfix ein.	Error dialog has an OK button

ErrorBox RID_SVX_ERROR_DOUBLE_MODELNAME

This error message is shown if a model name already exists.

Item	English	German	Comments
Text	The name '%1' already exists. Please enter a new name.	Der angegebene Name '%1' existiert bereits. Bitte geben Sie einen neuen Namen ein.	Error dialog has an OK button

Beta Tasks

Warning dialog if a linked instance gets changed

Every time the user tries to change a linked instance, via the icon toolbar or via the context menu, the following dialog appears. The warning appears before the edit/add dialog appears.

If the user chooses "Edit" the edit / add dialog appears. If the user chooses "Cancel" the action in canceled and nothing happens.

Query Dialog:

Item	English	German	Comments
Text	This instance is linked with the form.\n\nThe changes you make to this instance will be lost when the form is reloaded.	Diese Instanz ist mit dem Formular verknüpft.\n\nÄnderungen an dieser Instanz gehen nach dem Neuladen des Formulars verloren.	
Text	How do you want to proceed?	Wie möchten Sie fortfahren?	
Button	Edit	Bearbeiten	
Button	Cancel	Abbrechen	

Future Tasks

Scenarios

User A: Works on documents with links to internal and external sources. She is annoyed that OO.org jumps to the link target, every time she clicks in such a link text, because she only wants to edit the text itself. Furthermore she has fears, because links to external source are a security risk.

Solution: Change default mode hyperlink mode in Writer's normal edit mode to select (SEL) mode, allow to follow a link only by CTRL+Click in this mode and show a tip help every time the mouse cursor is placed on a link.

Modes

Combined and Removed Modes

The HYP(erlink)/SEL(ection) mode has been dropped and the control is not shown in the status bar in Forms, Writer and Writer/WEB documents anymore. The HYP/SEL behavior itself is changed and integrated into the normal Writer (mode) and read-only mode as described in Error: Reference source not found Error: Reference source not found on page Error: Reference source not found Error: Reference source not found.

New HYP(erlink) and SEL(ection) Behavior

The functionality of the HYP and SEL mode is now combined within the normal Writer edit (mode) and the read-only and Design mode behavior.

The behavior is changed as follows (for Writer in general) to improve the usability and to reduce the complexity (by removing the HYP/SEL mode):

Normal Writer Edit Mode Behavior

A tip help is shown (see string table below for details) when the mouse is placed on a link (URL or field with link capability). If the CTRL key is pressed, the i-beam cursor changes to a finger cursor and a click on the link opens the URL in a system browser or OO.org document (depending on the type of link).

String list

Tip help A	English	German	Comments
Tip help A	Current Document CTRL+click to follow link	Aktuelles Dokument Strg+Klick zum Verfolgen der Verknüpfung	If target is within the current document
Tip help B	<URL> CTRL+click to follow link	<URL> Strg+Klick zum Verfolgen der Verknüpfung	If target is not within the current document. The URL tip help is limited to a width of 45 characters, because URLs could become very long.

Links in Read-Only / Form Use Mode

In read-only mode of a document, all links are live and the finger cursor is used by default.

Context Menu of a Text Hyperlink

The following context menu items are shown in the context menu of a text with a hyperlink. The entries are grouped with separators and are placed right above the cut,copy & paste section of the menu.

String list

Item	English	German	Comments
Context menu	Edit Hyperlink...	Hyperlink bearbeiten...	Calls the hyperlink dialog
Context menu	Select Hyperlink	Hyperlink auswählen	Selects the text
Context menu	Open Hyperlink	Hyperlink öffnen	Opens the hyperlink
Context menu	Copy Hyperlink	Hyperlink kopieren	Copies the URL to the clipboard
Context menu	Remove Hyperlink	Hyperlink entfernen	Removes the hyperlink

Context Menu of a Graphic with Hyperlink

The following context menu items are shown in the context menu of a graphic with a hyperlink. The entries are grouped with separators and are placed right above the cut & copy & paste section of the menu.

String list

Item	English	German	Comments
Context menu	Edit Hyperlink...	Same translation as used above.	Calls the hyperlink dialog
Context menu	Open Hyperlink	Same translation as used above.	Opens the hyperlink
Context menu	Remove Hyperlink	Same translation as used above.	Removes the hyperlink

Form Wizard Definition

This new wizards helps the user to choose a form type and data binding.

Move up / Down in Data Navigator

ALT+Cursor UP or STRG+ALT+Cursor UP	Move current item one position up. Same behavior like drag and drop.
ALT+Cursor DOWN or STRG+ALT+Cursor DOWN	Move current item one position down. Same behavior like drag and drop.

Context Entry 7b	Move up	???	Moves the current item up
Context Entry 7c	Move down	???	Moves the current item down

Direct Cursor

The Direct Cursor function is turned on by default for the new forms document to help the user to place the cursor on an empty document.

Illustration 27 Direct Cursor is turned on for Forms

Change Binding Dialog

The Change Data Binding dialog allows to change the data binding of a form control. The current data binding is shown as a selection. The binding is changed if another items gets selected and the dialog is confirmed with OK. Furthermore a new data binding can be double clicked to change the binding and close the dialog at once. The tree list box has automatic scrollbars and the dialog itself is resizable and remembers its latest size.

Strings

Item	English	German	Comments
Dialog Title	Change Data Binding	Datenbindung ändern	
Label	Select an element or attribute to change the data binding	Wählen Sie ein Element oder Attribut, um die Datenbindung zu ändern	

Context menu definition

The context menu of an data item in the Change Data Binding dialog contains the following:

Item	English	German	Comments
Context Entry 1	Add...	Hinzufügen...	Calls the Add Element Dialog on page 20
Context Entry 2	Properties...	Eigenschaften...	

Error Conditions

Invalid XForms Instance Data

When submitting invalid XForms instance data, the following warning is displayed.

Warning Dialog Text

Item	English	German	Comments
Text	The form contains invalid data. Do you still want to continue?	Das Formular enthält ungültige Daten. Möchten Sie trotzdem fortfahren?	
Buttons	Yes	Ja	
Buttons	No	Nein	

Notes

n/a

References

none

http://www.w3.org/MarkUp/Forms/2003/xforms-faq.html

Hyperlinks, cross references and fields.

The File - New menu will be overworked by Matthias Müller-Prove to reflect the splitting into own applications in Tools-Options: http://specs.openoffice.org/appwide/separate_modules/OptionsDialog.sxw

FL: Final document icon will be provided by STS

Same behavior like in the hierarchical view of the Stylist today

might not contain the following characters "##ABC"

A dialog is raised, if name is not given or if the name contains invalid characters .

HYP, SEL field on the left side of the document modified status control

XForms Graphical User Interface (GUI) Specification - Part 1

Page 34

http://specs.openoffice.org/appwide/xforms/GUI_spec_part1.sxw

2004-01-21T14:36:26

Frank Loehmann