<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openoffice.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Od</id>
	<title>Apache OpenOffice Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openoffice.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Od"/>
	<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/wiki/Special:Contributions/Od"/>
	<updated>2026-05-25T09:50:14Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Update_Service&amp;diff=235527</id>
		<title>Update Service</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Update_Service&amp;diff=235527"/>
		<updated>2014-08-19T12:57:50Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Available Update Feeds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Update Service for AOO/OOo is a service which provides via HTTP or HTTPS an Update Feed (or an Update Document) for installed AOO/OOo instances. This allows a requesting AOO/OOo instance to check, if a new AOO version is available and to provide the result of this check to the user.&lt;br /&gt;
&lt;br /&gt;
Currently, the Update Service is implemented via static HTTP/HTTPS resources. No dynamic component is involved which processes the information given in the HTTP/HTTPS request of the AOO/OOo instance in order to generate a response.&lt;br /&gt;
&lt;br /&gt;
= Available Update Feeds =&lt;br /&gt;
&lt;br /&gt;
For the following AOO/OOo versions an Update Feed is made available.&lt;br /&gt;
The table contains the UpdateURL which an AOO/OOo instance of the specified version is requesting via HTTP/HTTPS and the resource in our svn repository which serves the HTTP/HTTPS resource behind the UpdateURL.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! AOO/OOo version&lt;br /&gt;
! UpdateURL&lt;br /&gt;
! Resource in svn repository&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.2&lt;br /&gt;
| http://www.openoffice.org/projects/update34/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update34/ProductUpdateService/check.Update ooo-site/update34]&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.2.1&lt;br /&gt;
| http://www.openoffice.org/projects/update35/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update35/ProductUpdateService/check.Update ooo-site/update35]&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.3&lt;br /&gt;
| http://www.openoffice.org/projects/update36/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update36/ProductUpdateService/check.Update ooo-site/update36]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 3.4.0&lt;br /&gt;
| http://www.openoffice.org/projects/update38/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update38/ProductUpdateService/check.Update ooo-site/update38]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 3.4.1&lt;br /&gt;
| http://www.openoffice.org/projects/update/aoo341/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update/aoo341/check.Update ooo-site/update/aoo341]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.0.0&lt;br /&gt;
| https://ooo-updates.apache.org/aoo40/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/updates-site/trunk/aoo40/check.Update updates-site/aoo40]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.0.1&lt;br /&gt;
| https://ooo-updates.apache.org/aoo401/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/updates-site/trunk/aoo401/check.Update updates-site/aoo401]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.1.0&lt;br /&gt;
| https://ooo-updates.apache.org/aoo410/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/updates-site/trunk/aoo401/check.Update updates-site/aoo410]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.1.1&lt;br /&gt;
currently empty&lt;br /&gt;
| https://ooo-updates.apache.org/aoo411/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/updates-site/trunk/aoo410/check.Update updates-site/aoo411]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Update Feeds for versions 3.2 to 3.4.1 are part of the user website content. Thus, a changed Update Feed needs to be published - as it is needed for changed usual user website content.&lt;br /&gt;
The Update Feeds for versions 4.0.0 to 4.1.1 only need to be changed as its publication is done automatically by certain services provided by ASF Infra.&lt;br /&gt;
&lt;br /&gt;
Update Feeds can be generated by using the bash script and corresponding meta data which is available at [http://svn.apache.org/repos/asf/openoffice/devtools/genUpdateFeed/ genUpdateFeed].&lt;br /&gt;
&lt;br /&gt;
= Update Notification Protocol =&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Since version 2.0.3 OpenOffice.org users of builds providing an UpdateURL can manually check for available updates by invoking &amp;quot;Help -&amp;gt; Check for Updates ..&amp;quot; . Starting with version 2.0.4 OpenOffice.org can perform this check automatically in a user configurable interval. &lt;br /&gt;
&lt;br /&gt;
This is an attempt to define a second version of the update notification protocol, which is better extendable, can also be used for [[Extensions | extensions]] and no longer uses http post requests.&lt;br /&gt;
&lt;br /&gt;
{{Documentation/Note|Note: Even though this document is a draft, it seems to be the actually implemented version as of OpenOffice.org 3.3. See http://s.apache.org/e2u for more information.}}&lt;br /&gt;
&lt;br /&gt;
== Request ==&lt;br /&gt;
&lt;br /&gt;
The update notification request is a http get request to an URL, which may contain the operating system and processor type the OpenOffice.org instance is compiled for either as part of the URL or as URL parameter.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UpdateURL=http://update.services.openoffice.org/ProductUpdateService/check.Update2?_OS=Solaris&amp;amp;_ARCH=SPARC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UpdateURL=http://www.example.org/MyProduct/MyOS/MyArch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User-Agent field ==&lt;br /&gt;
&lt;br /&gt;
To reduce the amount of transfered data when asking for OpenOffice.org updates, the user agent field contains all information required to identify a specific build: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
User-Agent: OpenOffice.org/2.2 (680m212 (Build:9263); Solaris; SPARC; BundledLanguages=en-US_fr)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Accept-Language field ==&lt;br /&gt;
&lt;br /&gt;
To be able to return language specific feeds, OpenOffice.org sets the Accept-Language http request header field to the UI language currently in use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Accept-Language: en-GB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Update documents and feeds ==&lt;br /&gt;
&lt;br /&gt;
The simplest possible reply is of the following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;inst:id&amp;gt;OpenOffice.org_2_en-US_fr&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
  &amp;lt;inst:version&amp;gt;2.2.0-5&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
  &amp;lt;inst:buildid&amp;gt;9095&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
  &amp;lt;inst:os&amp;gt;Solaris&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
  &amp;lt;inst:arch&amp;gt;SPARC&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
  &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/inst:description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As the type attribute of the update tag is &amp;quot;text/html&amp;quot;, OOo will pass the URL specified in the src attribute to a browser. If you specify a different type, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;inst:update type=&amp;quot;application/octet-stream&amp;quot; src=&amp;quot;http://openoffice.bouncer.osuosl.org/?product=OpenOffice.org&amp;amp;os=solarissparcwjre&amp;amp;lang=en-US&amp;amp;version=2.4&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OOo will download the referenced file itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The other supported reply format, which also allows to include several components or several versions of a single component, is to embed the update document in an [http://tools.ietf.org/wg/atompub/draft-ietf-atompub-format/rfc4287.txt atom feed].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang”en-US”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;title&amp;gt;OpenOffice.org Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;The OpenOffice.org Project&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uri&amp;gt;http://openoffice.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;updatefeed@openoffice.org&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;entry&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;OpenOffice.org 2.2 available&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot;&lt;br /&gt;
        href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9e&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
    &amp;lt;summary&amp;gt;Click here to go to the download page.&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;category term=&amp;quot;OpenOffice.org_2_en-US_fr&amp;quot; label=&amp;quot;OpenOffice.org 2.2 US english/french&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;content type=&amp;quot;application/xml&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;inst:id&amp;gt;OpenOffice.org_2_en-US_fr&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
        &amp;lt;inst:version&amp;gt;2.2.0-5&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
        &amp;lt;inst:buildid&amp;gt;9095&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
        &amp;lt;inst:os&amp;gt;Solaris&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
        &amp;lt;inst:arch&amp;gt;SPARC&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
        &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/inst:description&amp;gt;&lt;br /&gt;
    &amp;lt;/content&amp;gt;&lt;br /&gt;
  &amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;description.xml&amp;#039;&amp;#039; OpenOffice.org 3.x update information example&lt;br /&gt;
&lt;br /&gt;
The following content of a &amp;#039;&amp;#039;description.xml&amp;#039;&amp;#039; directly references update information for a German Windows OpenOffice.org 3.3.0:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang=&amp;quot;en-US&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Product Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;updated&amp;gt;2011-01-01T08:00:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
&amp;lt;author&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;The OpenOffice Project&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;uri&amp;gt;http://openoffice.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;updatefeed@openoffice.org&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/author&amp;gt;&lt;br /&gt;
&amp;lt;id&amp;gt;urn:uuid:76676544&amp;lt;/id&amp;gt;&lt;br /&gt;
&amp;lt;entry&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Update available&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;id&amp;gt;urn:uuid:76676544&amp;lt;/id&amp;gt;&lt;br /&gt;
        &amp;lt;!-- IMPORTANT: category MUST be equal with UpdateID in version.ini --&amp;gt;&lt;br /&gt;
        &amp;lt;category term=&amp;quot;OpenOffice.org_3_de&amp;quot; label=&amp;quot;OpenOffice.org update&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;updated&amp;gt;2011-01-01T08:00:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
        &amp;lt;summary&amp;gt;Text below download information (should be localized)&amp;lt;/summary&amp;gt;&lt;br /&gt;
        &amp;lt;content type=&amp;quot;application/xml&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:id&amp;gt;OpenOffice.org_3_de&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:version&amp;gt;&amp;#039;new version information&amp;#039;&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- buildid must be higher as installed version --&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:buildid&amp;gt;9580&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:os&amp;gt;Windows&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:arch&amp;gt;x86&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- app/octet-stream generates direct download as background-process --&amp;gt;&lt;br /&gt;
                        &amp;lt;!--&amp;lt;inst:update type=&amp;quot;application/octet-stream&amp;quot; src=&amp;quot;http://download.services.openoffice.org/files/localized/de/3.3.0/OOo_3.3.0_Win_x86_install-wJRE_de.exe&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- text/html opens src-link in default browser --&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://download.openoffice.org&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/inst:description&amp;gt;&lt;br /&gt;
        &amp;lt;/content&amp;gt;&lt;br /&gt;
&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: to allow proper filtering, the &amp;lt;tt&amp;gt;term&amp;lt;/tt&amp;gt; tag of the &amp;lt;category&amp;gt; node of the &amp;lt;atom:entry&amp;gt; element must contain the &amp;lt;inst:id&amp;gt; string of the component to be updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Extension developers might prefer to link to the update description file instead of embedding it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang”en-US”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;title&amp;gt;My Extention Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Extension Developer&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uri&amp;gt;http://example.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;update@example.org&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;entry&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Version 2 available&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot;&lt;br /&gt;
        href=&amp;quot;http://example.org/myextension/latest.html&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;MyExtension+version&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
    &amp;lt;category term=&amp;quot;MyExtension&amp;quot; label=&amp;quot;My Extension&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;content type=&amp;quot;application/xml&amp;quot; src=&amp;quot;http://example.org/myextension/latest/myextension.update.xml&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: to allow proper filtering, the &amp;lt;tt&amp;gt;term&amp;lt;/tt&amp;gt; tag of the &amp;lt;category&amp;gt; node of the &amp;lt;atom:entry&amp;gt; element must contain the &amp;lt;identifier&amp;gt; value of the extension to be updated.&lt;br /&gt;
&lt;br /&gt;
= A glance on the code for the Apache OpenOffice 3.4 release =&lt;br /&gt;
&lt;br /&gt;
The following describes some deeper insight of the &amp;quot;Check for Updates...&amp;quot; code in the office. It should help us to re-activate a corresponding web service when Apache OpenOffice 3.4 has been released. (Do we need a real web service? Something to be discussed.)&lt;br /&gt;
&lt;br /&gt;
The information given here is based on the work of Regina (regina at apache dot org), Ariel (arielch at apache dot org) and Kay (kschenk at apache dot org) found in the corresponding mailing list thread on ooo-dev - see http://s.apache.org/e2u.&lt;br /&gt;
Having this information gave me (orw at apache dot org) the right pointers for deeper investigations.&lt;br /&gt;
&lt;br /&gt;
== summary information about request to &amp;lt;UpdateURL&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;UpdateURL&amp;gt;, found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt; of the office installation is typically an HTTP URL.&lt;br /&gt;
The office sends a GET request to this URL. Two header fields are included in this request which are already mentioned above.&lt;br /&gt;
These are &amp;quot;Accept-Language&amp;quot; and &amp;quot;User-Agent&amp;quot;.&lt;br /&gt;
* &amp;quot;Accept-Language&amp;quot; contains the language of current locale - found in configuration item &amp;quot;org.openoffice.Setup/L10N&amp;quot;, attribute &amp;quot;ooLocale&amp;quot;&lt;br /&gt;
* &amp;quot;User-Agent&amp;quot; contains needed information to identify the installed office version - see above. The information matches the following pattern which is found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt;:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;PRODUCT&amp;gt; (${buildid}; ${_OS}; ${_ARCH}; BundledLanguages=${AllLanguages}) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
On platforms other than Windows the &amp;lt;UpdateURL&amp;gt; contains (at least since OOo 3.3) a query part. It is &amp;#039;&amp;#039;?pkgfmt=&amp;lt;pkgformat&amp;gt;&amp;#039;&amp;#039; which especially for Linux platforms identifies the package format of the office installation.&lt;br /&gt;
&lt;br /&gt;
It reveals that this information can be used to create the corresponding information for the request response.&lt;br /&gt;
&lt;br /&gt;
== information about processing the request response ==&lt;br /&gt;
&lt;br /&gt;
The response is expected to be a corresponding XML snippet.&lt;br /&gt;
As shown in the above examples, two types of XML snippets as responses are possible:&lt;br /&gt;
a &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response and a &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response. The distinction between the two is made by its first element. If it is &amp;lt;feed&amp;gt; it is treated as a &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response, otherwise as a &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response ====&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response is an XML snippet which is expected to have the format as the XML snippet in file [http://svn.apache.org/repos/asf/incubator/ooo/trunk/main/instsetoo_native/util/update.xml update.xml], found in our source repository.&lt;br /&gt;
&lt;br /&gt;
The following conditions must hold to perform further evaluation of the response:&lt;br /&gt;
# value of &amp;lt;inst:os&amp;gt; matches the one of the installed office - &amp;#039;&amp;#039;${_ARCH}&amp;#039;&amp;#039;.&lt;br /&gt;
# value of &amp;lt;inst:arch&amp;gt; matches the one of the installed office - &amp;#039;&amp;#039;${_OS}&amp;#039;&amp;#039;.&lt;br /&gt;
# value of &amp;lt;inst:buildid&amp;gt; is greater than the one of the installed office - &amp;#039;&amp;#039;${buildid}&amp;#039;&amp;#039;.&lt;br /&gt;
If these conditions hold, the following information is retrieved:&lt;br /&gt;
# values of attributes &amp;lt;src&amp;gt; and &amp;lt;type&amp;gt; of &amp;lt;inst:update&amp;gt;&lt;br /&gt;
#* if value of &amp;lt;type&amp;gt; equals &amp;quot;text/html&amp;quot;, the value of &amp;lt;src&amp;gt; is taken as an website from which the new version can be downloaded manually. Otherwise (also in case that attribute &amp;lt;type&amp;gt; is missing) the value of &amp;lt;src&amp;gt; is interpreted as a download link to the new version.&lt;br /&gt;
#* all &amp;lt;inst:update&amp;gt; elements are evaluated. The information of the first one is used - provide download of version or provide link to download website. The purpose of the other is not known.&lt;br /&gt;
# value of &amp;lt;inst:version&amp;gt; - will be shown in the corresponding dialog.&lt;br /&gt;
# value of &amp;lt;inst:buildid&amp;gt; - currently its purpose is not known.&lt;br /&gt;
If the first information - download website or download link - can be found in the XML snippet, the corresponding dialog will state that a new version is available. The user can then download it manually or can trigger an automatic download.&lt;br /&gt;
&lt;br /&gt;
If no download website/link is found, the dialog will state that the installed office is up to date.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response ====&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response is expected to conform to [http://tools.ietf.org/wg/atompub/draft-ietf-atompub-format/rfc4287.txt atom feed] - as stated above in the example area.&lt;br /&gt;
Each content of the &amp;lt;content&amp;gt; element of an atom entry (&amp;lt;entry&amp;gt; element) whose &amp;lt;category&amp;gt; element has an attribute &amp;lt;term&amp;gt; whose value matches the &amp;lt;UpdateId&amp;gt; value found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt; of the installed office is treated as &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response. &lt;br /&gt;
&lt;br /&gt;
The first of these &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; responses from which a download website or a download link could be retrieved that matches the above given conditions is taken - the following ones are not processed. It will be shown to the user that a new version is available, and the user can trigger the download manually or automatically. One further information is taken from this atom entry - the content of the &amp;lt;summary&amp;gt; element. It is shown in the corresponding dialog.&lt;br /&gt;
&lt;br /&gt;
If no download website/link is found, the dialog will state that the installed office is up to date.&lt;br /&gt;
&lt;br /&gt;
[[Category:Spec]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Update_Service&amp;diff=235382</id>
		<title>Update Service</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Update_Service&amp;diff=235382"/>
		<updated>2014-07-10T10:32:07Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Available Update Feeds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Update Service for AOO/OOo is a service which provides via HTTP or HTTPS an Update Feed (or an Update Document) for installed AOO/OOo instances. This allows a requesting AOO/OOo instance to check, if a new AOO version is available and to provide the result of this check to the user.&lt;br /&gt;
&lt;br /&gt;
Currently, the Update Service is implemented via static HTTP/HTTPS resources. No dynamic component is involved which processes the information given in the HTTP/HTTPS request of the AOO/OOo instance in order to generate a response.&lt;br /&gt;
&lt;br /&gt;
= Available Update Feeds =&lt;br /&gt;
&lt;br /&gt;
For the following AOO/OOo versions an Update Feed is made available.&lt;br /&gt;
The table contains the UpdateURL which an AOO/OOo instance of the specified version is requesting via HTTP/HTTPS and the resource in our svn repository which serves the HTTP/HTTPS resource behind the UpdateURL.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! AOO/OOo version&lt;br /&gt;
! UpdateURL&lt;br /&gt;
! Resource in svn repository&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.2&lt;br /&gt;
| http://www.openoffice.org/projects/update34/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update34/ProductUpdateService/check.Update ooo-site/update34]&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.2.1&lt;br /&gt;
| http://www.openoffice.org/projects/update35/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update35/ProductUpdateService/check.Update ooo-site/update35]&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.3&lt;br /&gt;
| http://www.openoffice.org/projects/update36/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update36/ProductUpdateService/check.Update ooo-site/update36]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 3.4.0&lt;br /&gt;
| http://www.openoffice.org/projects/update38/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update38/ProductUpdateService/check.Update ooo-site/update38]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 3.4.1&lt;br /&gt;
| http://www.openoffice.org/projects/update/aoo341/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update/aoo341/check.Update ooo-site/update/aoo341]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.0.0&lt;br /&gt;
| https://ooo-updates.apache.org/aoo40/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo40/check.Update update-site/aoo40]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.0.1&lt;br /&gt;
| https://ooo-updates.apache.org/aoo401/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo401/check.Update update-site/aoo401]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.1.0&lt;br /&gt;
| https://ooo-updates.apache.org/aoo410/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo401/check.Update update-site/aoo410]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.1.1&lt;br /&gt;
[currently not active]&lt;br /&gt;
| https://ooo-updates.apache.org/aoo411/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo410/check.Update update-site/aoo411]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Update Feeds can be generated by using the bash script and corresponding meta data which is available at [http://svn.apache.org/repos/asf/openoffice/devtools/genUpdateFeed/ genUpdateFeed].&lt;br /&gt;
&lt;br /&gt;
= Update Notification Protocol =&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Since version 2.0.3 OpenOffice.org users of builds providing an UpdateURL can manually check for available updates by invoking &amp;quot;Help -&amp;gt; Check for Updates ..&amp;quot; . Starting with version 2.0.4 OpenOffice.org can perform this check automatically in a user configurable interval. &lt;br /&gt;
&lt;br /&gt;
This is an attempt to define a second version of the update notification protocol, which is better extendable, can also be used for [[Extensions | extensions]] and no longer uses http post requests.&lt;br /&gt;
&lt;br /&gt;
{{Documentation/Note|Note: Even though this document is a draft, it seems to be the actually implemented version as of OpenOffice.org 3.3. See http://s.apache.org/e2u for more information.}}&lt;br /&gt;
&lt;br /&gt;
== Request ==&lt;br /&gt;
&lt;br /&gt;
The update notification request is a http get request to an URL, which may contain the operating system and processor type the OpenOffice.org instance is compiled for either as part of the URL or as URL parameter.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UpdateURL=http://update.services.openoffice.org/ProductUpdateService/check.Update2?_OS=Solaris&amp;amp;_ARCH=SPARC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UpdateURL=http://www.example.org/MyProduct/MyOS/MyArch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User-Agent field ==&lt;br /&gt;
&lt;br /&gt;
To reduce the amount of transfered data when asking for OpenOffice.org updates, the user agent field contains all information required to identify a specific build: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
User-Agent: OpenOffice.org/2.2 (680m212 (Build:9263); Solaris; SPARC; BundledLanguages=en-US_fr)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Accept-Language field ==&lt;br /&gt;
&lt;br /&gt;
To be able to return language specific feeds, OpenOffice.org sets the Accept-Language http request header field to the UI language currently in use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Accept-Language: en-GB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Update documents and feeds ==&lt;br /&gt;
&lt;br /&gt;
The simplest possible reply is of the following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;inst:id&amp;gt;OpenOffice.org_2_en-US_fr&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
  &amp;lt;inst:version&amp;gt;2.2.0-5&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
  &amp;lt;inst:buildid&amp;gt;9095&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
  &amp;lt;inst:os&amp;gt;Solaris&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
  &amp;lt;inst:arch&amp;gt;SPARC&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
  &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/inst:description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As the type attribute of the update tag is &amp;quot;text/html&amp;quot;, OOo will pass the URL specified in the src attribute to a browser. If you specify a different type, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;inst:update type=&amp;quot;application/octet-stream&amp;quot; src=&amp;quot;http://openoffice.bouncer.osuosl.org/?product=OpenOffice.org&amp;amp;os=solarissparcwjre&amp;amp;lang=en-US&amp;amp;version=2.4&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OOo will download the referenced file itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The other supported reply format, which also allows to include several components or several versions of a single component, is to embed the update document in an [http://tools.ietf.org/wg/atompub/draft-ietf-atompub-format/rfc4287.txt atom feed].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang”en-US”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;title&amp;gt;OpenOffice.org Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;The OpenOffice.org Project&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uri&amp;gt;http://openoffice.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;updatefeed@openoffice.org&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;entry&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;OpenOffice.org 2.2 available&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot;&lt;br /&gt;
        href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9e&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
    &amp;lt;summary&amp;gt;Click here to go to the download page.&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;category term=&amp;quot;OpenOffice.org_2_en-US_fr&amp;quot; label=&amp;quot;OpenOffice.org 2.2 US english/french&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;content type=&amp;quot;application/xml&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;inst:id&amp;gt;OpenOffice.org_2_en-US_fr&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
        &amp;lt;inst:version&amp;gt;2.2.0-5&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
        &amp;lt;inst:buildid&amp;gt;9095&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
        &amp;lt;inst:os&amp;gt;Solaris&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
        &amp;lt;inst:arch&amp;gt;SPARC&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
        &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/inst:description&amp;gt;&lt;br /&gt;
    &amp;lt;/content&amp;gt;&lt;br /&gt;
  &amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;description.xml&amp;#039;&amp;#039; OpenOffice.org 3.x update information example&lt;br /&gt;
&lt;br /&gt;
The following content of a &amp;#039;&amp;#039;description.xml&amp;#039;&amp;#039; directly references update information for a German Windows OpenOffice.org 3.3.0:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang=&amp;quot;en-US&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Product Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;updated&amp;gt;2011-01-01T08:00:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
&amp;lt;author&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;The OpenOffice Project&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;uri&amp;gt;http://openoffice.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;updatefeed@openoffice.org&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/author&amp;gt;&lt;br /&gt;
&amp;lt;id&amp;gt;urn:uuid:76676544&amp;lt;/id&amp;gt;&lt;br /&gt;
&amp;lt;entry&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Update available&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;id&amp;gt;urn:uuid:76676544&amp;lt;/id&amp;gt;&lt;br /&gt;
        &amp;lt;!-- IMPORTANT: category MUST be equal with UpdateID in version.ini --&amp;gt;&lt;br /&gt;
        &amp;lt;category term=&amp;quot;OpenOffice.org_3_de&amp;quot; label=&amp;quot;OpenOffice.org update&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;updated&amp;gt;2011-01-01T08:00:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
        &amp;lt;summary&amp;gt;Text below download information (should be localized)&amp;lt;/summary&amp;gt;&lt;br /&gt;
        &amp;lt;content type=&amp;quot;application/xml&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:id&amp;gt;OpenOffice.org_3_de&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:version&amp;gt;&amp;#039;new version information&amp;#039;&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- buildid must be higher as installed version --&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:buildid&amp;gt;9580&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:os&amp;gt;Windows&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:arch&amp;gt;x86&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- app/octet-stream generates direct download as background-process --&amp;gt;&lt;br /&gt;
                        &amp;lt;!--&amp;lt;inst:update type=&amp;quot;application/octet-stream&amp;quot; src=&amp;quot;http://download.services.openoffice.org/files/localized/de/3.3.0/OOo_3.3.0_Win_x86_install-wJRE_de.exe&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- text/html opens src-link in default browser --&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://download.openoffice.org&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/inst:description&amp;gt;&lt;br /&gt;
        &amp;lt;/content&amp;gt;&lt;br /&gt;
&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: to allow proper filtering, the &amp;lt;tt&amp;gt;term&amp;lt;/tt&amp;gt; tag of the &amp;lt;category&amp;gt; node of the &amp;lt;atom:entry&amp;gt; element must contain the &amp;lt;inst:id&amp;gt; string of the component to be updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Extension developers might prefer to link to the update description file instead of embedding it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang”en-US”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;title&amp;gt;My Extention Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Extension Developer&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uri&amp;gt;http://example.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;update@example.org&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;entry&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Version 2 available&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot;&lt;br /&gt;
        href=&amp;quot;http://example.org/myextension/latest.html&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;MyExtension+version&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
    &amp;lt;category term=&amp;quot;MyExtension&amp;quot; label=&amp;quot;My Extension&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;content type=&amp;quot;application/xml&amp;quot; src=&amp;quot;http://example.org/myextension/latest/myextension.update.xml&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: to allow proper filtering, the &amp;lt;tt&amp;gt;term&amp;lt;/tt&amp;gt; tag of the &amp;lt;category&amp;gt; node of the &amp;lt;atom:entry&amp;gt; element must contain the &amp;lt;identifier&amp;gt; value of the extension to be updated.&lt;br /&gt;
&lt;br /&gt;
= A glance on the code for the Apache OpenOffice 3.4 release =&lt;br /&gt;
&lt;br /&gt;
The following describes some deeper insight of the &amp;quot;Check for Updates...&amp;quot; code in the office. It should help us to re-activate a corresponding web service when Apache OpenOffice 3.4 has been released. (Do we need a real web service? Something to be discussed.)&lt;br /&gt;
&lt;br /&gt;
The information given here is based on the work of Regina (regina at apache dot org), Ariel (arielch at apache dot org) and Kay (kschenk at apache dot org) found in the corresponding mailing list thread on ooo-dev - see http://s.apache.org/e2u.&lt;br /&gt;
Having this information gave me (orw at apache dot org) the right pointers for deeper investigations.&lt;br /&gt;
&lt;br /&gt;
== summary information about request to &amp;lt;UpdateURL&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;UpdateURL&amp;gt;, found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt; of the office installation is typically an HTTP URL.&lt;br /&gt;
The office sends a GET request to this URL. Two header fields are included in this request which are already mentioned above.&lt;br /&gt;
These are &amp;quot;Accept-Language&amp;quot; and &amp;quot;User-Agent&amp;quot;.&lt;br /&gt;
* &amp;quot;Accept-Language&amp;quot; contains the language of current locale - found in configuration item &amp;quot;org.openoffice.Setup/L10N&amp;quot;, attribute &amp;quot;ooLocale&amp;quot;&lt;br /&gt;
* &amp;quot;User-Agent&amp;quot; contains needed information to identify the installed office version - see above. The information matches the following pattern which is found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt;:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;PRODUCT&amp;gt; (${buildid}; ${_OS}; ${_ARCH}; BundledLanguages=${AllLanguages}) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
On platforms other than Windows the &amp;lt;UpdateURL&amp;gt; contains (at least since OOo 3.3) a query part. It is &amp;#039;&amp;#039;?pkgfmt=&amp;lt;pkgformat&amp;gt;&amp;#039;&amp;#039; which especially for Linux platforms identifies the package format of the office installation.&lt;br /&gt;
&lt;br /&gt;
It reveals that this information can be used to create the corresponding information for the request response.&lt;br /&gt;
&lt;br /&gt;
== information about processing the request response ==&lt;br /&gt;
&lt;br /&gt;
The response is expected to be a corresponding XML snippet.&lt;br /&gt;
As shown in the above examples, two types of XML snippets as responses are possible:&lt;br /&gt;
a &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response and a &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response. The distinction between the two is made by its first element. If it is &amp;lt;feed&amp;gt; it is treated as a &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response, otherwise as a &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response ====&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response is an XML snippet which is expected to have the format as the XML snippet in file [http://svn.apache.org/repos/asf/incubator/ooo/trunk/main/instsetoo_native/util/update.xml update.xml], found in our source repository.&lt;br /&gt;
&lt;br /&gt;
The following conditions must hold to perform further evaluation of the response:&lt;br /&gt;
# value of &amp;lt;inst:os&amp;gt; matches the one of the installed office - &amp;#039;&amp;#039;${_ARCH}&amp;#039;&amp;#039;.&lt;br /&gt;
# value of &amp;lt;inst:arch&amp;gt; matches the one of the installed office - &amp;#039;&amp;#039;${_OS}&amp;#039;&amp;#039;.&lt;br /&gt;
# value of &amp;lt;inst:buildid&amp;gt; is greater than the one of the installed office - &amp;#039;&amp;#039;${buildid}&amp;#039;&amp;#039;.&lt;br /&gt;
If these conditions hold, the following information is retrieved:&lt;br /&gt;
# values of attributes &amp;lt;src&amp;gt; and &amp;lt;type&amp;gt; of &amp;lt;inst:update&amp;gt;&lt;br /&gt;
#* if value of &amp;lt;type&amp;gt; equals &amp;quot;text/html&amp;quot;, the value of &amp;lt;src&amp;gt; is taken as an website from which the new version can be downloaded manually. Otherwise (also in case that attribute &amp;lt;type&amp;gt; is missing) the value of &amp;lt;src&amp;gt; is interpreted as a download link to the new version.&lt;br /&gt;
#* all &amp;lt;inst:update&amp;gt; elements are evaluated. The information of the first one is used - provide download of version or provide link to download website. The purpose of the other is not known.&lt;br /&gt;
# value of &amp;lt;inst:version&amp;gt; - will be shown in the corresponding dialog.&lt;br /&gt;
# value of &amp;lt;inst:buildid&amp;gt; - currently its purpose is not known.&lt;br /&gt;
If the first information - download website or download link - can be found in the XML snippet, the corresponding dialog will state that a new version is available. The user can then download it manually or can trigger an automatic download.&lt;br /&gt;
&lt;br /&gt;
If no download website/link is found, the dialog will state that the installed office is up to date.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response ====&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response is expected to conform to [http://tools.ietf.org/wg/atompub/draft-ietf-atompub-format/rfc4287.txt atom feed] - as stated above in the example area.&lt;br /&gt;
Each content of the &amp;lt;content&amp;gt; element of an atom entry (&amp;lt;entry&amp;gt; element) whose &amp;lt;category&amp;gt; element has an attribute &amp;lt;term&amp;gt; whose value matches the &amp;lt;UpdateId&amp;gt; value found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt; of the installed office is treated as &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response. &lt;br /&gt;
&lt;br /&gt;
The first of these &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; responses from which a download website or a download link could be retrieved that matches the above given conditions is taken - the following ones are not processed. It will be shown to the user that a new version is available, and the user can trigger the download manually or automatically. One further information is taken from this atom entry - the content of the &amp;lt;summary&amp;gt; element. It is shown in the corresponding dialog.&lt;br /&gt;
&lt;br /&gt;
If no download website/link is found, the dialog will state that the installed office is up to date.&lt;br /&gt;
&lt;br /&gt;
[[Category:Spec]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Update_Service&amp;diff=235381</id>
		<title>Update Service</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Update_Service&amp;diff=235381"/>
		<updated>2014-07-10T10:31:33Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Available Update Feeds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Update Service for AOO/OOo is a service which provides via HTTP or HTTPS an Update Feed (or an Update Document) for installed AOO/OOo instances. This allows a requesting AOO/OOo instance to check, if a new AOO version is available and to provide the result of this check to the user.&lt;br /&gt;
&lt;br /&gt;
Currently, the Update Service is implemented via static HTTP/HTTPS resources. No dynamic component is involved which processes the information given in the HTTP/HTTPS request of the AOO/OOo instance in order to generate a response.&lt;br /&gt;
&lt;br /&gt;
= Available Update Feeds =&lt;br /&gt;
&lt;br /&gt;
For the following AOO/OOo versions an Update Feed is made available.&lt;br /&gt;
The table contains the UpdateURL which an AOO/OOo instance of the specified version is requesting via HTTP/HTTPS and the resource in our svn repository which serves the HTTP/HTTPS resource behind the UpdateURL.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! AOO/OOo version&lt;br /&gt;
! UpdateURL&lt;br /&gt;
! Resource in svn repository&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.2&lt;br /&gt;
| http://www.openoffice.org/projects/update34/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update34/ProductUpdateService/check.Update ooo-site/update34]&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.2.1&lt;br /&gt;
| http://www.openoffice.org/projects/update35/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update35/ProductUpdateService/check.Update ooo-site/update35]&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.3&lt;br /&gt;
| http://www.openoffice.org/projects/update36/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update36/ProductUpdateService/check.Update ooo-site/update36]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 3.4.0&lt;br /&gt;
| http://www.openoffice.org/projects/update38/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update38/ProductUpdateService/check.Update ooo-site/update38]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 3.4.1&lt;br /&gt;
| http://www.openoffice.org/projects/update/aoo341/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update/aoo341/check.Update ooo-site/update/aoo341]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.0.0&lt;br /&gt;
| https://ooo-updates.apache.org/aoo40/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo40/check.Update update-site/aoo40]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.0.1&lt;br /&gt;
| https://ooo-updates.apache.org/aoo401/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo401/check.Update update-site/aoo401]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.1.0&lt;br /&gt;
| https://ooo-updates.apache.org/aoo401/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo401/check.Update update-site/aoo410]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.1.1&lt;br /&gt;
[currently not active]&lt;br /&gt;
| https://ooo-updates.apache.org/aoo410/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo410/check.Update update-site/aoo411]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Update Feeds can be generated by using the bash script and corresponding meta data which is available at [http://svn.apache.org/repos/asf/openoffice/devtools/genUpdateFeed/ genUpdateFeed].&lt;br /&gt;
&lt;br /&gt;
= Update Notification Protocol =&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Since version 2.0.3 OpenOffice.org users of builds providing an UpdateURL can manually check for available updates by invoking &amp;quot;Help -&amp;gt; Check for Updates ..&amp;quot; . Starting with version 2.0.4 OpenOffice.org can perform this check automatically in a user configurable interval. &lt;br /&gt;
&lt;br /&gt;
This is an attempt to define a second version of the update notification protocol, which is better extendable, can also be used for [[Extensions | extensions]] and no longer uses http post requests.&lt;br /&gt;
&lt;br /&gt;
{{Documentation/Note|Note: Even though this document is a draft, it seems to be the actually implemented version as of OpenOffice.org 3.3. See http://s.apache.org/e2u for more information.}}&lt;br /&gt;
&lt;br /&gt;
== Request ==&lt;br /&gt;
&lt;br /&gt;
The update notification request is a http get request to an URL, which may contain the operating system and processor type the OpenOffice.org instance is compiled for either as part of the URL or as URL parameter.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UpdateURL=http://update.services.openoffice.org/ProductUpdateService/check.Update2?_OS=Solaris&amp;amp;_ARCH=SPARC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UpdateURL=http://www.example.org/MyProduct/MyOS/MyArch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User-Agent field ==&lt;br /&gt;
&lt;br /&gt;
To reduce the amount of transfered data when asking for OpenOffice.org updates, the user agent field contains all information required to identify a specific build: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
User-Agent: OpenOffice.org/2.2 (680m212 (Build:9263); Solaris; SPARC; BundledLanguages=en-US_fr)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Accept-Language field ==&lt;br /&gt;
&lt;br /&gt;
To be able to return language specific feeds, OpenOffice.org sets the Accept-Language http request header field to the UI language currently in use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Accept-Language: en-GB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Update documents and feeds ==&lt;br /&gt;
&lt;br /&gt;
The simplest possible reply is of the following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;inst:id&amp;gt;OpenOffice.org_2_en-US_fr&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
  &amp;lt;inst:version&amp;gt;2.2.0-5&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
  &amp;lt;inst:buildid&amp;gt;9095&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
  &amp;lt;inst:os&amp;gt;Solaris&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
  &amp;lt;inst:arch&amp;gt;SPARC&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
  &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/inst:description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As the type attribute of the update tag is &amp;quot;text/html&amp;quot;, OOo will pass the URL specified in the src attribute to a browser. If you specify a different type, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;inst:update type=&amp;quot;application/octet-stream&amp;quot; src=&amp;quot;http://openoffice.bouncer.osuosl.org/?product=OpenOffice.org&amp;amp;os=solarissparcwjre&amp;amp;lang=en-US&amp;amp;version=2.4&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OOo will download the referenced file itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The other supported reply format, which also allows to include several components or several versions of a single component, is to embed the update document in an [http://tools.ietf.org/wg/atompub/draft-ietf-atompub-format/rfc4287.txt atom feed].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang”en-US”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;title&amp;gt;OpenOffice.org Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;The OpenOffice.org Project&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uri&amp;gt;http://openoffice.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;updatefeed@openoffice.org&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;entry&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;OpenOffice.org 2.2 available&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot;&lt;br /&gt;
        href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9e&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
    &amp;lt;summary&amp;gt;Click here to go to the download page.&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;category term=&amp;quot;OpenOffice.org_2_en-US_fr&amp;quot; label=&amp;quot;OpenOffice.org 2.2 US english/french&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;content type=&amp;quot;application/xml&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;inst:id&amp;gt;OpenOffice.org_2_en-US_fr&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
        &amp;lt;inst:version&amp;gt;2.2.0-5&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
        &amp;lt;inst:buildid&amp;gt;9095&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
        &amp;lt;inst:os&amp;gt;Solaris&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
        &amp;lt;inst:arch&amp;gt;SPARC&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
        &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/inst:description&amp;gt;&lt;br /&gt;
    &amp;lt;/content&amp;gt;&lt;br /&gt;
  &amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;description.xml&amp;#039;&amp;#039; OpenOffice.org 3.x update information example&lt;br /&gt;
&lt;br /&gt;
The following content of a &amp;#039;&amp;#039;description.xml&amp;#039;&amp;#039; directly references update information for a German Windows OpenOffice.org 3.3.0:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang=&amp;quot;en-US&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Product Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;updated&amp;gt;2011-01-01T08:00:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
&amp;lt;author&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;The OpenOffice Project&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;uri&amp;gt;http://openoffice.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;updatefeed@openoffice.org&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/author&amp;gt;&lt;br /&gt;
&amp;lt;id&amp;gt;urn:uuid:76676544&amp;lt;/id&amp;gt;&lt;br /&gt;
&amp;lt;entry&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Update available&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;id&amp;gt;urn:uuid:76676544&amp;lt;/id&amp;gt;&lt;br /&gt;
        &amp;lt;!-- IMPORTANT: category MUST be equal with UpdateID in version.ini --&amp;gt;&lt;br /&gt;
        &amp;lt;category term=&amp;quot;OpenOffice.org_3_de&amp;quot; label=&amp;quot;OpenOffice.org update&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;updated&amp;gt;2011-01-01T08:00:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
        &amp;lt;summary&amp;gt;Text below download information (should be localized)&amp;lt;/summary&amp;gt;&lt;br /&gt;
        &amp;lt;content type=&amp;quot;application/xml&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:id&amp;gt;OpenOffice.org_3_de&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:version&amp;gt;&amp;#039;new version information&amp;#039;&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- buildid must be higher as installed version --&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:buildid&amp;gt;9580&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:os&amp;gt;Windows&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:arch&amp;gt;x86&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- app/octet-stream generates direct download as background-process --&amp;gt;&lt;br /&gt;
                        &amp;lt;!--&amp;lt;inst:update type=&amp;quot;application/octet-stream&amp;quot; src=&amp;quot;http://download.services.openoffice.org/files/localized/de/3.3.0/OOo_3.3.0_Win_x86_install-wJRE_de.exe&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- text/html opens src-link in default browser --&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://download.openoffice.org&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/inst:description&amp;gt;&lt;br /&gt;
        &amp;lt;/content&amp;gt;&lt;br /&gt;
&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: to allow proper filtering, the &amp;lt;tt&amp;gt;term&amp;lt;/tt&amp;gt; tag of the &amp;lt;category&amp;gt; node of the &amp;lt;atom:entry&amp;gt; element must contain the &amp;lt;inst:id&amp;gt; string of the component to be updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Extension developers might prefer to link to the update description file instead of embedding it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang”en-US”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;title&amp;gt;My Extention Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Extension Developer&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uri&amp;gt;http://example.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;update@example.org&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;entry&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Version 2 available&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot;&lt;br /&gt;
        href=&amp;quot;http://example.org/myextension/latest.html&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;MyExtension+version&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
    &amp;lt;category term=&amp;quot;MyExtension&amp;quot; label=&amp;quot;My Extension&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;content type=&amp;quot;application/xml&amp;quot; src=&amp;quot;http://example.org/myextension/latest/myextension.update.xml&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: to allow proper filtering, the &amp;lt;tt&amp;gt;term&amp;lt;/tt&amp;gt; tag of the &amp;lt;category&amp;gt; node of the &amp;lt;atom:entry&amp;gt; element must contain the &amp;lt;identifier&amp;gt; value of the extension to be updated.&lt;br /&gt;
&lt;br /&gt;
= A glance on the code for the Apache OpenOffice 3.4 release =&lt;br /&gt;
&lt;br /&gt;
The following describes some deeper insight of the &amp;quot;Check for Updates...&amp;quot; code in the office. It should help us to re-activate a corresponding web service when Apache OpenOffice 3.4 has been released. (Do we need a real web service? Something to be discussed.)&lt;br /&gt;
&lt;br /&gt;
The information given here is based on the work of Regina (regina at apache dot org), Ariel (arielch at apache dot org) and Kay (kschenk at apache dot org) found in the corresponding mailing list thread on ooo-dev - see http://s.apache.org/e2u.&lt;br /&gt;
Having this information gave me (orw at apache dot org) the right pointers for deeper investigations.&lt;br /&gt;
&lt;br /&gt;
== summary information about request to &amp;lt;UpdateURL&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;UpdateURL&amp;gt;, found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt; of the office installation is typically an HTTP URL.&lt;br /&gt;
The office sends a GET request to this URL. Two header fields are included in this request which are already mentioned above.&lt;br /&gt;
These are &amp;quot;Accept-Language&amp;quot; and &amp;quot;User-Agent&amp;quot;.&lt;br /&gt;
* &amp;quot;Accept-Language&amp;quot; contains the language of current locale - found in configuration item &amp;quot;org.openoffice.Setup/L10N&amp;quot;, attribute &amp;quot;ooLocale&amp;quot;&lt;br /&gt;
* &amp;quot;User-Agent&amp;quot; contains needed information to identify the installed office version - see above. The information matches the following pattern which is found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt;:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;PRODUCT&amp;gt; (${buildid}; ${_OS}; ${_ARCH}; BundledLanguages=${AllLanguages}) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
On platforms other than Windows the &amp;lt;UpdateURL&amp;gt; contains (at least since OOo 3.3) a query part. It is &amp;#039;&amp;#039;?pkgfmt=&amp;lt;pkgformat&amp;gt;&amp;#039;&amp;#039; which especially for Linux platforms identifies the package format of the office installation.&lt;br /&gt;
&lt;br /&gt;
It reveals that this information can be used to create the corresponding information for the request response.&lt;br /&gt;
&lt;br /&gt;
== information about processing the request response ==&lt;br /&gt;
&lt;br /&gt;
The response is expected to be a corresponding XML snippet.&lt;br /&gt;
As shown in the above examples, two types of XML snippets as responses are possible:&lt;br /&gt;
a &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response and a &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response. The distinction between the two is made by its first element. If it is &amp;lt;feed&amp;gt; it is treated as a &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response, otherwise as a &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response ====&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response is an XML snippet which is expected to have the format as the XML snippet in file [http://svn.apache.org/repos/asf/incubator/ooo/trunk/main/instsetoo_native/util/update.xml update.xml], found in our source repository.&lt;br /&gt;
&lt;br /&gt;
The following conditions must hold to perform further evaluation of the response:&lt;br /&gt;
# value of &amp;lt;inst:os&amp;gt; matches the one of the installed office - &amp;#039;&amp;#039;${_ARCH}&amp;#039;&amp;#039;.&lt;br /&gt;
# value of &amp;lt;inst:arch&amp;gt; matches the one of the installed office - &amp;#039;&amp;#039;${_OS}&amp;#039;&amp;#039;.&lt;br /&gt;
# value of &amp;lt;inst:buildid&amp;gt; is greater than the one of the installed office - &amp;#039;&amp;#039;${buildid}&amp;#039;&amp;#039;.&lt;br /&gt;
If these conditions hold, the following information is retrieved:&lt;br /&gt;
# values of attributes &amp;lt;src&amp;gt; and &amp;lt;type&amp;gt; of &amp;lt;inst:update&amp;gt;&lt;br /&gt;
#* if value of &amp;lt;type&amp;gt; equals &amp;quot;text/html&amp;quot;, the value of &amp;lt;src&amp;gt; is taken as an website from which the new version can be downloaded manually. Otherwise (also in case that attribute &amp;lt;type&amp;gt; is missing) the value of &amp;lt;src&amp;gt; is interpreted as a download link to the new version.&lt;br /&gt;
#* all &amp;lt;inst:update&amp;gt; elements are evaluated. The information of the first one is used - provide download of version or provide link to download website. The purpose of the other is not known.&lt;br /&gt;
# value of &amp;lt;inst:version&amp;gt; - will be shown in the corresponding dialog.&lt;br /&gt;
# value of &amp;lt;inst:buildid&amp;gt; - currently its purpose is not known.&lt;br /&gt;
If the first information - download website or download link - can be found in the XML snippet, the corresponding dialog will state that a new version is available. The user can then download it manually or can trigger an automatic download.&lt;br /&gt;
&lt;br /&gt;
If no download website/link is found, the dialog will state that the installed office is up to date.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response ====&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response is expected to conform to [http://tools.ietf.org/wg/atompub/draft-ietf-atompub-format/rfc4287.txt atom feed] - as stated above in the example area.&lt;br /&gt;
Each content of the &amp;lt;content&amp;gt; element of an atom entry (&amp;lt;entry&amp;gt; element) whose &amp;lt;category&amp;gt; element has an attribute &amp;lt;term&amp;gt; whose value matches the &amp;lt;UpdateId&amp;gt; value found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt; of the installed office is treated as &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response. &lt;br /&gt;
&lt;br /&gt;
The first of these &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; responses from which a download website or a download link could be retrieved that matches the above given conditions is taken - the following ones are not processed. It will be shown to the user that a new version is available, and the user can trigger the download manually or automatically. One further information is taken from this atom entry - the content of the &amp;lt;summary&amp;gt; element. It is shown in the corresponding dialog.&lt;br /&gt;
&lt;br /&gt;
If no download website/link is found, the dialog will state that the installed office is up to date.&lt;br /&gt;
&lt;br /&gt;
[[Category:Spec]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Update_Service&amp;diff=235380</id>
		<title>Update Service</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Update_Service&amp;diff=235380"/>
		<updated>2014-07-10T10:28:46Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Update Service for AOO/OOo is a service which provides via HTTP or HTTPS an Update Feed (or an Update Document) for installed AOO/OOo instances. This allows a requesting AOO/OOo instance to check, if a new AOO version is available and to provide the result of this check to the user.&lt;br /&gt;
&lt;br /&gt;
Currently, the Update Service is implemented via static HTTP/HTTPS resources. No dynamic component is involved which processes the information given in the HTTP/HTTPS request of the AOO/OOo instance in order to generate a response.&lt;br /&gt;
&lt;br /&gt;
= Available Update Feeds =&lt;br /&gt;
&lt;br /&gt;
For the following AOO/OOo versions an Update Feed is made available.&lt;br /&gt;
The table contains the UpdateURL which an AOO/OOo instance of the specified version is requesting via HTTP/HTTPS and the resource in our svn repository which serves the HTTP/HTTPS resource behind the UpdateURL.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! AOO/OOo version&lt;br /&gt;
! UpdateURL&lt;br /&gt;
! Resource in svn repository&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.2&lt;br /&gt;
| http://www.openoffice.org/projects/update34/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update34/ProductUpdateService/check.Update ooo-site/update34]&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.2.1&lt;br /&gt;
| http://www.openoffice.org/projects/update35/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update35/ProductUpdateService/check.Update ooo-site/update35]&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.3&lt;br /&gt;
| http://www.openoffice.org/projects/update36/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update36/ProductUpdateService/check.Update ooo-site/update36]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 3.4.0&lt;br /&gt;
| http://www.openoffice.org/projects/update38/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update38/ProductUpdateService/check.Update ooo-site/update38]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 3.4.1&lt;br /&gt;
| http://www.openoffice.org/projects/update/aoo341/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update/aoo341/check.Update ooo-site/update/aoo341]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.0.0&lt;br /&gt;
| https://ooo-updates.apache.org/aoo40/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo40/check.Update update-site/aoo40]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.0.1&lt;br /&gt;
| https://ooo-updates.apache.org/aoo401/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo401/check.Update update-site/aoo401]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.1.0&lt;br /&gt;
| https://ooo-updates.apache.org/aoo401/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo401/check.Update update-site/aoo410]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.1.1&lt;br /&gt;
[currently not active]&lt;br /&gt;
| https://ooo-updates.apache.org/aoo410/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo410/check.Update update-site/aoo411]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Update Notification Protocol =&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Since version 2.0.3 OpenOffice.org users of builds providing an UpdateURL can manually check for available updates by invoking &amp;quot;Help -&amp;gt; Check for Updates ..&amp;quot; . Starting with version 2.0.4 OpenOffice.org can perform this check automatically in a user configurable interval. &lt;br /&gt;
&lt;br /&gt;
This is an attempt to define a second version of the update notification protocol, which is better extendable, can also be used for [[Extensions | extensions]] and no longer uses http post requests.&lt;br /&gt;
&lt;br /&gt;
{{Documentation/Note|Note: Even though this document is a draft, it seems to be the actually implemented version as of OpenOffice.org 3.3. See http://s.apache.org/e2u for more information.}}&lt;br /&gt;
&lt;br /&gt;
== Request ==&lt;br /&gt;
&lt;br /&gt;
The update notification request is a http get request to an URL, which may contain the operating system and processor type the OpenOffice.org instance is compiled for either as part of the URL or as URL parameter.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UpdateURL=http://update.services.openoffice.org/ProductUpdateService/check.Update2?_OS=Solaris&amp;amp;_ARCH=SPARC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UpdateURL=http://www.example.org/MyProduct/MyOS/MyArch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User-Agent field ==&lt;br /&gt;
&lt;br /&gt;
To reduce the amount of transfered data when asking for OpenOffice.org updates, the user agent field contains all information required to identify a specific build: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
User-Agent: OpenOffice.org/2.2 (680m212 (Build:9263); Solaris; SPARC; BundledLanguages=en-US_fr)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Accept-Language field ==&lt;br /&gt;
&lt;br /&gt;
To be able to return language specific feeds, OpenOffice.org sets the Accept-Language http request header field to the UI language currently in use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Accept-Language: en-GB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Update documents and feeds ==&lt;br /&gt;
&lt;br /&gt;
The simplest possible reply is of the following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;inst:id&amp;gt;OpenOffice.org_2_en-US_fr&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
  &amp;lt;inst:version&amp;gt;2.2.0-5&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
  &amp;lt;inst:buildid&amp;gt;9095&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
  &amp;lt;inst:os&amp;gt;Solaris&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
  &amp;lt;inst:arch&amp;gt;SPARC&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
  &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/inst:description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As the type attribute of the update tag is &amp;quot;text/html&amp;quot;, OOo will pass the URL specified in the src attribute to a browser. If you specify a different type, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;inst:update type=&amp;quot;application/octet-stream&amp;quot; src=&amp;quot;http://openoffice.bouncer.osuosl.org/?product=OpenOffice.org&amp;amp;os=solarissparcwjre&amp;amp;lang=en-US&amp;amp;version=2.4&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OOo will download the referenced file itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The other supported reply format, which also allows to include several components or several versions of a single component, is to embed the update document in an [http://tools.ietf.org/wg/atompub/draft-ietf-atompub-format/rfc4287.txt atom feed].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang”en-US”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;title&amp;gt;OpenOffice.org Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;The OpenOffice.org Project&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uri&amp;gt;http://openoffice.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;updatefeed@openoffice.org&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;entry&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;OpenOffice.org 2.2 available&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot;&lt;br /&gt;
        href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9e&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
    &amp;lt;summary&amp;gt;Click here to go to the download page.&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;category term=&amp;quot;OpenOffice.org_2_en-US_fr&amp;quot; label=&amp;quot;OpenOffice.org 2.2 US english/french&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;content type=&amp;quot;application/xml&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;inst:id&amp;gt;OpenOffice.org_2_en-US_fr&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
        &amp;lt;inst:version&amp;gt;2.2.0-5&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
        &amp;lt;inst:buildid&amp;gt;9095&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
        &amp;lt;inst:os&amp;gt;Solaris&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
        &amp;lt;inst:arch&amp;gt;SPARC&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
        &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/inst:description&amp;gt;&lt;br /&gt;
    &amp;lt;/content&amp;gt;&lt;br /&gt;
  &amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;description.xml&amp;#039;&amp;#039; OpenOffice.org 3.x update information example&lt;br /&gt;
&lt;br /&gt;
The following content of a &amp;#039;&amp;#039;description.xml&amp;#039;&amp;#039; directly references update information for a German Windows OpenOffice.org 3.3.0:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang=&amp;quot;en-US&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Product Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;updated&amp;gt;2011-01-01T08:00:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
&amp;lt;author&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;The OpenOffice Project&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;uri&amp;gt;http://openoffice.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;updatefeed@openoffice.org&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/author&amp;gt;&lt;br /&gt;
&amp;lt;id&amp;gt;urn:uuid:76676544&amp;lt;/id&amp;gt;&lt;br /&gt;
&amp;lt;entry&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Update available&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;id&amp;gt;urn:uuid:76676544&amp;lt;/id&amp;gt;&lt;br /&gt;
        &amp;lt;!-- IMPORTANT: category MUST be equal with UpdateID in version.ini --&amp;gt;&lt;br /&gt;
        &amp;lt;category term=&amp;quot;OpenOffice.org_3_de&amp;quot; label=&amp;quot;OpenOffice.org update&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;updated&amp;gt;2011-01-01T08:00:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
        &amp;lt;summary&amp;gt;Text below download information (should be localized)&amp;lt;/summary&amp;gt;&lt;br /&gt;
        &amp;lt;content type=&amp;quot;application/xml&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:id&amp;gt;OpenOffice.org_3_de&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:version&amp;gt;&amp;#039;new version information&amp;#039;&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- buildid must be higher as installed version --&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:buildid&amp;gt;9580&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:os&amp;gt;Windows&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:arch&amp;gt;x86&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- app/octet-stream generates direct download as background-process --&amp;gt;&lt;br /&gt;
                        &amp;lt;!--&amp;lt;inst:update type=&amp;quot;application/octet-stream&amp;quot; src=&amp;quot;http://download.services.openoffice.org/files/localized/de/3.3.0/OOo_3.3.0_Win_x86_install-wJRE_de.exe&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- text/html opens src-link in default browser --&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://download.openoffice.org&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/inst:description&amp;gt;&lt;br /&gt;
        &amp;lt;/content&amp;gt;&lt;br /&gt;
&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: to allow proper filtering, the &amp;lt;tt&amp;gt;term&amp;lt;/tt&amp;gt; tag of the &amp;lt;category&amp;gt; node of the &amp;lt;atom:entry&amp;gt; element must contain the &amp;lt;inst:id&amp;gt; string of the component to be updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Extension developers might prefer to link to the update description file instead of embedding it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang”en-US”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;title&amp;gt;My Extention Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Extension Developer&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uri&amp;gt;http://example.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;update@example.org&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;entry&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Version 2 available&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot;&lt;br /&gt;
        href=&amp;quot;http://example.org/myextension/latest.html&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;MyExtension+version&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
    &amp;lt;category term=&amp;quot;MyExtension&amp;quot; label=&amp;quot;My Extension&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;content type=&amp;quot;application/xml&amp;quot; src=&amp;quot;http://example.org/myextension/latest/myextension.update.xml&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: to allow proper filtering, the &amp;lt;tt&amp;gt;term&amp;lt;/tt&amp;gt; tag of the &amp;lt;category&amp;gt; node of the &amp;lt;atom:entry&amp;gt; element must contain the &amp;lt;identifier&amp;gt; value of the extension to be updated.&lt;br /&gt;
&lt;br /&gt;
= A glance on the code for the Apache OpenOffice 3.4 release =&lt;br /&gt;
&lt;br /&gt;
The following describes some deeper insight of the &amp;quot;Check for Updates...&amp;quot; code in the office. It should help us to re-activate a corresponding web service when Apache OpenOffice 3.4 has been released. (Do we need a real web service? Something to be discussed.)&lt;br /&gt;
&lt;br /&gt;
The information given here is based on the work of Regina (regina at apache dot org), Ariel (arielch at apache dot org) and Kay (kschenk at apache dot org) found in the corresponding mailing list thread on ooo-dev - see http://s.apache.org/e2u.&lt;br /&gt;
Having this information gave me (orw at apache dot org) the right pointers for deeper investigations.&lt;br /&gt;
&lt;br /&gt;
== summary information about request to &amp;lt;UpdateURL&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;UpdateURL&amp;gt;, found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt; of the office installation is typically an HTTP URL.&lt;br /&gt;
The office sends a GET request to this URL. Two header fields are included in this request which are already mentioned above.&lt;br /&gt;
These are &amp;quot;Accept-Language&amp;quot; and &amp;quot;User-Agent&amp;quot;.&lt;br /&gt;
* &amp;quot;Accept-Language&amp;quot; contains the language of current locale - found in configuration item &amp;quot;org.openoffice.Setup/L10N&amp;quot;, attribute &amp;quot;ooLocale&amp;quot;&lt;br /&gt;
* &amp;quot;User-Agent&amp;quot; contains needed information to identify the installed office version - see above. The information matches the following pattern which is found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt;:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;PRODUCT&amp;gt; (${buildid}; ${_OS}; ${_ARCH}; BundledLanguages=${AllLanguages}) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
On platforms other than Windows the &amp;lt;UpdateURL&amp;gt; contains (at least since OOo 3.3) a query part. It is &amp;#039;&amp;#039;?pkgfmt=&amp;lt;pkgformat&amp;gt;&amp;#039;&amp;#039; which especially for Linux platforms identifies the package format of the office installation.&lt;br /&gt;
&lt;br /&gt;
It reveals that this information can be used to create the corresponding information for the request response.&lt;br /&gt;
&lt;br /&gt;
== information about processing the request response ==&lt;br /&gt;
&lt;br /&gt;
The response is expected to be a corresponding XML snippet.&lt;br /&gt;
As shown in the above examples, two types of XML snippets as responses are possible:&lt;br /&gt;
a &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response and a &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response. The distinction between the two is made by its first element. If it is &amp;lt;feed&amp;gt; it is treated as a &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response, otherwise as a &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response ====&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response is an XML snippet which is expected to have the format as the XML snippet in file [http://svn.apache.org/repos/asf/incubator/ooo/trunk/main/instsetoo_native/util/update.xml update.xml], found in our source repository.&lt;br /&gt;
&lt;br /&gt;
The following conditions must hold to perform further evaluation of the response:&lt;br /&gt;
# value of &amp;lt;inst:os&amp;gt; matches the one of the installed office - &amp;#039;&amp;#039;${_ARCH}&amp;#039;&amp;#039;.&lt;br /&gt;
# value of &amp;lt;inst:arch&amp;gt; matches the one of the installed office - &amp;#039;&amp;#039;${_OS}&amp;#039;&amp;#039;.&lt;br /&gt;
# value of &amp;lt;inst:buildid&amp;gt; is greater than the one of the installed office - &amp;#039;&amp;#039;${buildid}&amp;#039;&amp;#039;.&lt;br /&gt;
If these conditions hold, the following information is retrieved:&lt;br /&gt;
# values of attributes &amp;lt;src&amp;gt; and &amp;lt;type&amp;gt; of &amp;lt;inst:update&amp;gt;&lt;br /&gt;
#* if value of &amp;lt;type&amp;gt; equals &amp;quot;text/html&amp;quot;, the value of &amp;lt;src&amp;gt; is taken as an website from which the new version can be downloaded manually. Otherwise (also in case that attribute &amp;lt;type&amp;gt; is missing) the value of &amp;lt;src&amp;gt; is interpreted as a download link to the new version.&lt;br /&gt;
#* all &amp;lt;inst:update&amp;gt; elements are evaluated. The information of the first one is used - provide download of version or provide link to download website. The purpose of the other is not known.&lt;br /&gt;
# value of &amp;lt;inst:version&amp;gt; - will be shown in the corresponding dialog.&lt;br /&gt;
# value of &amp;lt;inst:buildid&amp;gt; - currently its purpose is not known.&lt;br /&gt;
If the first information - download website or download link - can be found in the XML snippet, the corresponding dialog will state that a new version is available. The user can then download it manually or can trigger an automatic download.&lt;br /&gt;
&lt;br /&gt;
If no download website/link is found, the dialog will state that the installed office is up to date.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response ====&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response is expected to conform to [http://tools.ietf.org/wg/atompub/draft-ietf-atompub-format/rfc4287.txt atom feed] - as stated above in the example area.&lt;br /&gt;
Each content of the &amp;lt;content&amp;gt; element of an atom entry (&amp;lt;entry&amp;gt; element) whose &amp;lt;category&amp;gt; element has an attribute &amp;lt;term&amp;gt; whose value matches the &amp;lt;UpdateId&amp;gt; value found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt; of the installed office is treated as &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response. &lt;br /&gt;
&lt;br /&gt;
The first of these &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; responses from which a download website or a download link could be retrieved that matches the above given conditions is taken - the following ones are not processed. It will be shown to the user that a new version is available, and the user can trigger the download manually or automatically. One further information is taken from this atom entry - the content of the &amp;lt;summary&amp;gt; element. It is shown in the corresponding dialog.&lt;br /&gt;
&lt;br /&gt;
If no download website/link is found, the dialog will state that the installed office is up to date.&lt;br /&gt;
&lt;br /&gt;
[[Category:Spec]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Update_Service&amp;diff=235379</id>
		<title>Update Service</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Update_Service&amp;diff=235379"/>
		<updated>2014-07-10T10:12:33Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The Update Service for AOO/OOo is a service which provides via HTTP or HTTPS an Update Feed (or Update Document) for installed AOO/OOo instance. This allows the requesting AOO/OOo instance to check, if a new AOO version is available and to provide the result of this check to the user.&lt;br /&gt;
&lt;br /&gt;
Currently, the Update Service is implemented via static HTTP/HTTPS resources. Currently, no dynamic component is involved which processes the information given in the HTTP/HTTPS request of the AOO/OOo instance in order to generate a response.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Available Update Feeds =&lt;br /&gt;
&lt;br /&gt;
For the following AOO/OOo versions an Update Feed is made available.&lt;br /&gt;
The table contains the UpdateURL which an AOO/OOo instance of the specified version is requesting via HTTP/HTTPS and the resource in our svn repository which serves the HTTP/HTTPS resource behind the UpdateURL.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! AOO/OOo version&lt;br /&gt;
! UpdateURL&lt;br /&gt;
! Resource in svn repository&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.2&lt;br /&gt;
| http://www.openoffice.org/projects/update34/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update34/ProductUpdateService/check.Update ooo-site/update34]&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.2.1&lt;br /&gt;
| http://www.openoffice.org/projects/update35/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update35/ProductUpdateService/check.Update ooo-site/update35]&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.3&lt;br /&gt;
| http://www.openoffice.org/projects/update36/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update36/ProductUpdateService/check.Update ooo-site/update36]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 3.4.0&lt;br /&gt;
| http://www.openoffice.org/projects/update38/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update38/ProductUpdateService/check.Update ooo-site/update38]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 3.4.1&lt;br /&gt;
| http://www.openoffice.org/projects/update/aoo341/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update/aoo341/check.Update ooo-site/update/aoo341]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.0.0&lt;br /&gt;
| https://ooo-updates.apache.org/aoo40/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo40/check.Update update-site/aoo40]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.0.1&lt;br /&gt;
| https://ooo-updates.apache.org/aoo401/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo401/check.Update update-site/aoo401]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.1.0&lt;br /&gt;
| https://ooo-updates.apache.org/aoo401/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo401/check.Update update-site/aoo410]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.1.1&lt;br /&gt;
[currently not active]&lt;br /&gt;
| https://ooo-updates.apache.org/aoo410/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo410/check.Update update-site/aoo411]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Update Notification Protocol =&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Since version 2.0.3 OpenOffice.org users of builds providing an UpdateURL can manually check for available updates by invoking &amp;quot;Help -&amp;gt; Check for Updates ..&amp;quot; . Starting with version 2.0.4 OpenOffice.org can perform this check automatically in a user configurable interval. &lt;br /&gt;
&lt;br /&gt;
This is an attempt to define a second version of the update notification protocol, which is better extendable, can also be used for [[Extensions | extensions]] and no longer uses http post requests.&lt;br /&gt;
&lt;br /&gt;
{{Documentation/Note|Note: Even though this document is a draft, it seems to be the actually implemented version as of OpenOffice.org 3.3. See http://s.apache.org/e2u for more information.}}&lt;br /&gt;
&lt;br /&gt;
== Request ==&lt;br /&gt;
&lt;br /&gt;
The update notification request is a http get request to an URL, which may contain the operating system and processor type the OpenOffice.org instance is compiled for either as part of the URL or as URL parameter.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UpdateURL=http://update.services.openoffice.org/ProductUpdateService/check.Update2?_OS=Solaris&amp;amp;_ARCH=SPARC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UpdateURL=http://www.example.org/MyProduct/MyOS/MyArch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User-Agent field ==&lt;br /&gt;
&lt;br /&gt;
To reduce the amount of transfered data when asking for OpenOffice.org updates, the user agent field contains all information required to identify a specific build: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
User-Agent: OpenOffice.org/2.2 (680m212 (Build:9263); Solaris; SPARC; BundledLanguages=en-US_fr)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Accept-Language field ==&lt;br /&gt;
&lt;br /&gt;
To be able to return language specific feeds, OpenOffice.org sets the Accept-Language http request header field to the UI language currently in use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Accept-Language: en-GB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Update documents and feeds ==&lt;br /&gt;
&lt;br /&gt;
The simplest possible reply is of the following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;inst:id&amp;gt;OpenOffice.org_2_en-US_fr&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
  &amp;lt;inst:version&amp;gt;2.2.0-5&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
  &amp;lt;inst:buildid&amp;gt;9095&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
  &amp;lt;inst:os&amp;gt;Solaris&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
  &amp;lt;inst:arch&amp;gt;SPARC&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
  &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/inst:description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As the type attribute of the update tag is &amp;quot;text/html&amp;quot;, OOo will pass the URL specified in the src attribute to a browser. If you specify a different type, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;inst:update type=&amp;quot;application/octet-stream&amp;quot; src=&amp;quot;http://openoffice.bouncer.osuosl.org/?product=OpenOffice.org&amp;amp;os=solarissparcwjre&amp;amp;lang=en-US&amp;amp;version=2.4&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OOo will download the referenced file itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The other supported reply format, which also allows to include several components or several versions of a single component, is to embed the update document in an [http://tools.ietf.org/wg/atompub/draft-ietf-atompub-format/rfc4287.txt atom feed].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang”en-US”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;title&amp;gt;OpenOffice.org Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;The OpenOffice.org Project&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uri&amp;gt;http://openoffice.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;updatefeed@openoffice.org&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;entry&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;OpenOffice.org 2.2 available&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot;&lt;br /&gt;
        href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9e&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
    &amp;lt;summary&amp;gt;Click here to go to the download page.&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;category term=&amp;quot;OpenOffice.org_2_en-US_fr&amp;quot; label=&amp;quot;OpenOffice.org 2.2 US english/french&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;content type=&amp;quot;application/xml&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;inst:id&amp;gt;OpenOffice.org_2_en-US_fr&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
        &amp;lt;inst:version&amp;gt;2.2.0-5&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
        &amp;lt;inst:buildid&amp;gt;9095&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
        &amp;lt;inst:os&amp;gt;Solaris&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
        &amp;lt;inst:arch&amp;gt;SPARC&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
        &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/inst:description&amp;gt;&lt;br /&gt;
    &amp;lt;/content&amp;gt;&lt;br /&gt;
  &amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;description.xml&amp;#039;&amp;#039; OpenOffice.org 3.x update information example&lt;br /&gt;
&lt;br /&gt;
The following content of a &amp;#039;&amp;#039;description.xml&amp;#039;&amp;#039; directly references update information for a German Windows OpenOffice.org 3.3.0:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang=&amp;quot;en-US&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Product Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;updated&amp;gt;2011-01-01T08:00:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
&amp;lt;author&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;The OpenOffice Project&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;uri&amp;gt;http://openoffice.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;updatefeed@openoffice.org&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/author&amp;gt;&lt;br /&gt;
&amp;lt;id&amp;gt;urn:uuid:76676544&amp;lt;/id&amp;gt;&lt;br /&gt;
&amp;lt;entry&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Update available&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;id&amp;gt;urn:uuid:76676544&amp;lt;/id&amp;gt;&lt;br /&gt;
        &amp;lt;!-- IMPORTANT: category MUST be equal with UpdateID in version.ini --&amp;gt;&lt;br /&gt;
        &amp;lt;category term=&amp;quot;OpenOffice.org_3_de&amp;quot; label=&amp;quot;OpenOffice.org update&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;updated&amp;gt;2011-01-01T08:00:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
        &amp;lt;summary&amp;gt;Text below download information (should be localized)&amp;lt;/summary&amp;gt;&lt;br /&gt;
        &amp;lt;content type=&amp;quot;application/xml&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:id&amp;gt;OpenOffice.org_3_de&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:version&amp;gt;&amp;#039;new version information&amp;#039;&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- buildid must be higher as installed version --&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:buildid&amp;gt;9580&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:os&amp;gt;Windows&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:arch&amp;gt;x86&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- app/octet-stream generates direct download as background-process --&amp;gt;&lt;br /&gt;
                        &amp;lt;!--&amp;lt;inst:update type=&amp;quot;application/octet-stream&amp;quot; src=&amp;quot;http://download.services.openoffice.org/files/localized/de/3.3.0/OOo_3.3.0_Win_x86_install-wJRE_de.exe&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- text/html opens src-link in default browser --&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://download.openoffice.org&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/inst:description&amp;gt;&lt;br /&gt;
        &amp;lt;/content&amp;gt;&lt;br /&gt;
&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: to allow proper filtering, the &amp;lt;tt&amp;gt;term&amp;lt;/tt&amp;gt; tag of the &amp;lt;category&amp;gt; node of the &amp;lt;atom:entry&amp;gt; element must contain the &amp;lt;inst:id&amp;gt; string of the component to be updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Extension developers might prefer to link to the update description file instead of embedding it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang”en-US”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;title&amp;gt;My Extention Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Extension Developer&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uri&amp;gt;http://example.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;update@example.org&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;entry&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Version 2 available&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot;&lt;br /&gt;
        href=&amp;quot;http://example.org/myextension/latest.html&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;MyExtension+version&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
    &amp;lt;category term=&amp;quot;MyExtension&amp;quot; label=&amp;quot;My Extension&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;content type=&amp;quot;application/xml&amp;quot; src=&amp;quot;http://example.org/myextension/latest/myextension.update.xml&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: to allow proper filtering, the &amp;lt;tt&amp;gt;term&amp;lt;/tt&amp;gt; tag of the &amp;lt;category&amp;gt; node of the &amp;lt;atom:entry&amp;gt; element must contain the &amp;lt;identifier&amp;gt; value of the extension to be updated.&lt;br /&gt;
&lt;br /&gt;
= A glance on the code for the Apache OpenOffice 3.4 release =&lt;br /&gt;
&lt;br /&gt;
The following describes some deeper insight of the &amp;quot;Check for Updates...&amp;quot; code in the office. It should help us to re-activate a corresponding web service when Apache OpenOffice 3.4 has been released. (Do we need a real web service? Something to be discussed.)&lt;br /&gt;
&lt;br /&gt;
The information given here is based on the work of Regina (regina at apache dot org), Ariel (arielch at apache dot org) and Kay (kschenk at apache dot org) found in the corresponding mailing list thread on ooo-dev - see http://s.apache.org/e2u.&lt;br /&gt;
Having this information gave me (orw at apache dot org) the right pointers for deeper investigations.&lt;br /&gt;
&lt;br /&gt;
== summary information about request to &amp;lt;UpdateURL&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;UpdateURL&amp;gt;, found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt; of the office installation is typically an HTTP URL.&lt;br /&gt;
The office sends a GET request to this URL. Two header fields are included in this request which are already mentioned above.&lt;br /&gt;
These are &amp;quot;Accept-Language&amp;quot; and &amp;quot;User-Agent&amp;quot;.&lt;br /&gt;
* &amp;quot;Accept-Language&amp;quot; contains the language of current locale - found in configuration item &amp;quot;org.openoffice.Setup/L10N&amp;quot;, attribute &amp;quot;ooLocale&amp;quot;&lt;br /&gt;
* &amp;quot;User-Agent&amp;quot; contains needed information to identify the installed office version - see above. The information matches the following pattern which is found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt;:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;PRODUCT&amp;gt; (${buildid}; ${_OS}; ${_ARCH}; BundledLanguages=${AllLanguages}) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
On platforms other than Windows the &amp;lt;UpdateURL&amp;gt; contains (at least since OOo 3.3) a query part. It is &amp;#039;&amp;#039;?pkgfmt=&amp;lt;pkgformat&amp;gt;&amp;#039;&amp;#039; which especially for Linux platforms identifies the package format of the office installation.&lt;br /&gt;
&lt;br /&gt;
It reveals that this information can be used to create the corresponding information for the request response.&lt;br /&gt;
&lt;br /&gt;
== information about processing the request response ==&lt;br /&gt;
&lt;br /&gt;
The response is expected to be a corresponding XML snippet.&lt;br /&gt;
As shown in the above examples, two types of XML snippets as responses are possible:&lt;br /&gt;
a &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response and a &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response. The distinction between the two is made by its first element. If it is &amp;lt;feed&amp;gt; it is treated as a &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response, otherwise as a &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response ====&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response is an XML snippet which is expected to have the format as the XML snippet in file [http://svn.apache.org/repos/asf/incubator/ooo/trunk/main/instsetoo_native/util/update.xml update.xml], found in our source repository.&lt;br /&gt;
&lt;br /&gt;
The following conditions must hold to perform further evaluation of the response:&lt;br /&gt;
# value of &amp;lt;inst:os&amp;gt; matches the one of the installed office - &amp;#039;&amp;#039;${_ARCH}&amp;#039;&amp;#039;.&lt;br /&gt;
# value of &amp;lt;inst:arch&amp;gt; matches the one of the installed office - &amp;#039;&amp;#039;${_OS}&amp;#039;&amp;#039;.&lt;br /&gt;
# value of &amp;lt;inst:buildid&amp;gt; is greater than the one of the installed office - &amp;#039;&amp;#039;${buildid}&amp;#039;&amp;#039;.&lt;br /&gt;
If these conditions hold, the following information is retrieved:&lt;br /&gt;
# values of attributes &amp;lt;src&amp;gt; and &amp;lt;type&amp;gt; of &amp;lt;inst:update&amp;gt;&lt;br /&gt;
#* if value of &amp;lt;type&amp;gt; equals &amp;quot;text/html&amp;quot;, the value of &amp;lt;src&amp;gt; is taken as an website from which the new version can be downloaded manually. Otherwise (also in case that attribute &amp;lt;type&amp;gt; is missing) the value of &amp;lt;src&amp;gt; is interpreted as a download link to the new version.&lt;br /&gt;
#* all &amp;lt;inst:update&amp;gt; elements are evaluated. The information of the first one is used - provide download of version or provide link to download website. The purpose of the other is not known.&lt;br /&gt;
# value of &amp;lt;inst:version&amp;gt; - will be shown in the corresponding dialog.&lt;br /&gt;
# value of &amp;lt;inst:buildid&amp;gt; - currently its purpose is not known.&lt;br /&gt;
If the first information - download website or download link - can be found in the XML snippet, the corresponding dialog will state that a new version is available. The user can then download it manually or can trigger an automatic download.&lt;br /&gt;
&lt;br /&gt;
If no download website/link is found, the dialog will state that the installed office is up to date.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response ====&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response is expected to conform to [http://tools.ietf.org/wg/atompub/draft-ietf-atompub-format/rfc4287.txt atom feed] - as stated above in the example area.&lt;br /&gt;
Each content of the &amp;lt;content&amp;gt; element of an atom entry (&amp;lt;entry&amp;gt; element) whose &amp;lt;category&amp;gt; element has an attribute &amp;lt;term&amp;gt; whose value matches the &amp;lt;UpdateId&amp;gt; value found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt; of the installed office is treated as &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response. &lt;br /&gt;
&lt;br /&gt;
The first of these &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; responses from which a download website or a download link could be retrieved that matches the above given conditions is taken - the following ones are not processed. It will be shown to the user that a new version is available, and the user can trigger the download manually or automatically. One further information is taken from this atom entry - the content of the &amp;lt;summary&amp;gt; element. It is shown in the corresponding dialog.&lt;br /&gt;
&lt;br /&gt;
If no download website/link is found, the dialog will state that the installed office is up to date.&lt;br /&gt;
&lt;br /&gt;
[[Category:Spec]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Update_Service&amp;diff=235378</id>
		<title>Update Service</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Update_Service&amp;diff=235378"/>
		<updated>2014-07-10T10:11:45Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Update Service for AOO/OOo is a service which provides via HTTP or HTTPS an Update Feed (or Update Document) for installed AOO/OOo instance. This allows the requesting AOO/OOo instance to check, if a new AOO version is available and to provide the result of this check to the user.&lt;br /&gt;
&lt;br /&gt;
Currently, the Update Service is implemented via static HTTP/HTTPS resources. Currently, no dynamic component is involved which processes the information given in the HTTP/HTTPS request of the AOO/OOo instance in order to generate a response.&lt;br /&gt;
&lt;br /&gt;
= Available Update Feeds =&lt;br /&gt;
&lt;br /&gt;
For the following AOO/OOo versions an Update Feed is made available.&lt;br /&gt;
The table contains the UpdateURL which an AOO/OOo instance of the specified version is requesting via HTTP/HTTPS and the resource in our svn repository which serves the HTTP/HTTPS resource behind the UpdateURL.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! AOO/OOo version&lt;br /&gt;
! UpdateURL&lt;br /&gt;
! Resource in svn repository&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.2&lt;br /&gt;
| http://www.openoffice.org/projects/update34/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update34/ProductUpdateService/check.Update ooo-site/update34]&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.2.1&lt;br /&gt;
| http://www.openoffice.org/projects/update35/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update35/ProductUpdateService/check.Update ooo-site/update35]&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.3&lt;br /&gt;
| http://www.openoffice.org/projects/update36/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update36/ProductUpdateService/check.Update ooo-site/update36]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 3.4.0&lt;br /&gt;
| http://www.openoffice.org/projects/update38/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update38/ProductUpdateService/check.Update ooo-site/update38]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 3.4.1&lt;br /&gt;
| http://www.openoffice.org/projects/update/aoo341/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update/aoo341/check.Update ooo-site/update/aoo341]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.0.0&lt;br /&gt;
| https://ooo-updates.apache.org/aoo40/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo40/check.Update update-site/aoo40]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.0.1&lt;br /&gt;
| https://ooo-updates.apache.org/aoo401/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo401/check.Update update-site/aoo401]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.1.0&lt;br /&gt;
| https://ooo-updates.apache.org/aoo401/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo401/check.Update update-site/aoo410]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.1.1&lt;br /&gt;
[currently not active]&lt;br /&gt;
| https://ooo-updates.apache.org/aoo410/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo410/check.Update update-site/aoo411]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Update Notification Protocol =&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Since version 2.0.3 OpenOffice.org users of builds providing an UpdateURL can manually check for available updates by invoking &amp;quot;Help -&amp;gt; Check for Updates ..&amp;quot; . Starting with version 2.0.4 OpenOffice.org can perform this check automatically in a user configurable interval. &lt;br /&gt;
&lt;br /&gt;
This is an attempt to define a second version of the update notification protocol, which is better extendable, can also be used for [[Extensions | extensions]] and no longer uses http post requests.&lt;br /&gt;
&lt;br /&gt;
{{Documentation/Note|Note: Even though this document is a draft, it seems to be the actually implemented version as of OpenOffice.org 3.3. See http://s.apache.org/e2u for more information.}}&lt;br /&gt;
&lt;br /&gt;
== Request ==&lt;br /&gt;
&lt;br /&gt;
The update notification request is a http get request to an URL, which may contain the operating system and processor type the OpenOffice.org instance is compiled for either as part of the URL or as URL parameter.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UpdateURL=http://update.services.openoffice.org/ProductUpdateService/check.Update2?_OS=Solaris&amp;amp;_ARCH=SPARC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UpdateURL=http://www.example.org/MyProduct/MyOS/MyArch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User-Agent field ==&lt;br /&gt;
&lt;br /&gt;
To reduce the amount of transfered data when asking for OpenOffice.org updates, the user agent field contains all information required to identify a specific build: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
User-Agent: OpenOffice.org/2.2 (680m212 (Build:9263); Solaris; SPARC; BundledLanguages=en-US_fr)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Accept-Language field ==&lt;br /&gt;
&lt;br /&gt;
To be able to return language specific feeds, OpenOffice.org sets the Accept-Language http request header field to the UI language currently in use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Accept-Language: en-GB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Update documents and feeds ==&lt;br /&gt;
&lt;br /&gt;
The simplest possible reply is of the following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;inst:id&amp;gt;OpenOffice.org_2_en-US_fr&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
  &amp;lt;inst:version&amp;gt;2.2.0-5&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
  &amp;lt;inst:buildid&amp;gt;9095&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
  &amp;lt;inst:os&amp;gt;Solaris&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
  &amp;lt;inst:arch&amp;gt;SPARC&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
  &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/inst:description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As the type attribute of the update tag is &amp;quot;text/html&amp;quot;, OOo will pass the URL specified in the src attribute to a browser. If you specify a different type, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;inst:update type=&amp;quot;application/octet-stream&amp;quot; src=&amp;quot;http://openoffice.bouncer.osuosl.org/?product=OpenOffice.org&amp;amp;os=solarissparcwjre&amp;amp;lang=en-US&amp;amp;version=2.4&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OOo will download the referenced file itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The other supported reply format, which also allows to include several components or several versions of a single component, is to embed the update document in an [http://tools.ietf.org/wg/atompub/draft-ietf-atompub-format/rfc4287.txt atom feed].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang”en-US”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;title&amp;gt;OpenOffice.org Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;The OpenOffice.org Project&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uri&amp;gt;http://openoffice.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;updatefeed@openoffice.org&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;entry&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;OpenOffice.org 2.2 available&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot;&lt;br /&gt;
        href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9e&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
    &amp;lt;summary&amp;gt;Click here to go to the download page.&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;category term=&amp;quot;OpenOffice.org_2_en-US_fr&amp;quot; label=&amp;quot;OpenOffice.org 2.2 US english/french&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;content type=&amp;quot;application/xml&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;inst:id&amp;gt;OpenOffice.org_2_en-US_fr&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
        &amp;lt;inst:version&amp;gt;2.2.0-5&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
        &amp;lt;inst:buildid&amp;gt;9095&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
        &amp;lt;inst:os&amp;gt;Solaris&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
        &amp;lt;inst:arch&amp;gt;SPARC&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
        &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/inst:description&amp;gt;&lt;br /&gt;
    &amp;lt;/content&amp;gt;&lt;br /&gt;
  &amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;description.xml&amp;#039;&amp;#039; OpenOffice.org 3.x update information example&lt;br /&gt;
&lt;br /&gt;
The following content of a &amp;#039;&amp;#039;description.xml&amp;#039;&amp;#039; directly references update information for a German Windows OpenOffice.org 3.3.0:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang=&amp;quot;en-US&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Product Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;updated&amp;gt;2011-01-01T08:00:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
&amp;lt;author&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;The OpenOffice Project&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;uri&amp;gt;http://openoffice.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;updatefeed@openoffice.org&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/author&amp;gt;&lt;br /&gt;
&amp;lt;id&amp;gt;urn:uuid:76676544&amp;lt;/id&amp;gt;&lt;br /&gt;
&amp;lt;entry&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Update available&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;id&amp;gt;urn:uuid:76676544&amp;lt;/id&amp;gt;&lt;br /&gt;
        &amp;lt;!-- IMPORTANT: category MUST be equal with UpdateID in version.ini --&amp;gt;&lt;br /&gt;
        &amp;lt;category term=&amp;quot;OpenOffice.org_3_de&amp;quot; label=&amp;quot;OpenOffice.org update&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;updated&amp;gt;2011-01-01T08:00:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
        &amp;lt;summary&amp;gt;Text below download information (should be localized)&amp;lt;/summary&amp;gt;&lt;br /&gt;
        &amp;lt;content type=&amp;quot;application/xml&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:id&amp;gt;OpenOffice.org_3_de&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:version&amp;gt;&amp;#039;new version information&amp;#039;&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- buildid must be higher as installed version --&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:buildid&amp;gt;9580&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:os&amp;gt;Windows&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:arch&amp;gt;x86&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- app/octet-stream generates direct download as background-process --&amp;gt;&lt;br /&gt;
                        &amp;lt;!--&amp;lt;inst:update type=&amp;quot;application/octet-stream&amp;quot; src=&amp;quot;http://download.services.openoffice.org/files/localized/de/3.3.0/OOo_3.3.0_Win_x86_install-wJRE_de.exe&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- text/html opens src-link in default browser --&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://download.openoffice.org&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/inst:description&amp;gt;&lt;br /&gt;
        &amp;lt;/content&amp;gt;&lt;br /&gt;
&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: to allow proper filtering, the &amp;lt;tt&amp;gt;term&amp;lt;/tt&amp;gt; tag of the &amp;lt;category&amp;gt; node of the &amp;lt;atom:entry&amp;gt; element must contain the &amp;lt;inst:id&amp;gt; string of the component to be updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Extension developers might prefer to link to the update description file instead of embedding it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang”en-US”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;title&amp;gt;My Extention Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Extension Developer&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uri&amp;gt;http://example.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;update@example.org&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;entry&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Version 2 available&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot;&lt;br /&gt;
        href=&amp;quot;http://example.org/myextension/latest.html&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;MyExtension+version&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
    &amp;lt;category term=&amp;quot;MyExtension&amp;quot; label=&amp;quot;My Extension&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;content type=&amp;quot;application/xml&amp;quot; src=&amp;quot;http://example.org/myextension/latest/myextension.update.xml&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: to allow proper filtering, the &amp;lt;tt&amp;gt;term&amp;lt;/tt&amp;gt; tag of the &amp;lt;category&amp;gt; node of the &amp;lt;atom:entry&amp;gt; element must contain the &amp;lt;identifier&amp;gt; value of the extension to be updated.&lt;br /&gt;
&lt;br /&gt;
= A glance on the code for the Apache OpenOffice 3.4 release =&lt;br /&gt;
&lt;br /&gt;
The following describes some deeper insight of the &amp;quot;Check for Updates...&amp;quot; code in the office. It should help us to re-activate a corresponding web service when Apache OpenOffice 3.4 has been released. (Do we need a real web service? Something to be discussed.)&lt;br /&gt;
&lt;br /&gt;
The information given here is based on the work of Regina (regina at apache dot org), Ariel (arielch at apache dot org) and Kay (kschenk at apache dot org) found in the corresponding mailing list thread on ooo-dev - see http://s.apache.org/e2u.&lt;br /&gt;
Having this information gave me (orw at apache dot org) the right pointers for deeper investigations.&lt;br /&gt;
&lt;br /&gt;
== summary information about request to &amp;lt;UpdateURL&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;UpdateURL&amp;gt;, found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt; of the office installation is typically an HTTP URL.&lt;br /&gt;
The office sends a GET request to this URL. Two header fields are included in this request which are already mentioned above.&lt;br /&gt;
These are &amp;quot;Accept-Language&amp;quot; and &amp;quot;User-Agent&amp;quot;.&lt;br /&gt;
* &amp;quot;Accept-Language&amp;quot; contains the language of current locale - found in configuration item &amp;quot;org.openoffice.Setup/L10N&amp;quot;, attribute &amp;quot;ooLocale&amp;quot;&lt;br /&gt;
* &amp;quot;User-Agent&amp;quot; contains needed information to identify the installed office version - see above. The information matches the following pattern which is found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt;:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;PRODUCT&amp;gt; (${buildid}; ${_OS}; ${_ARCH}; BundledLanguages=${AllLanguages}) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
On platforms other than Windows the &amp;lt;UpdateURL&amp;gt; contains (at least since OOo 3.3) a query part. It is &amp;#039;&amp;#039;?pkgfmt=&amp;lt;pkgformat&amp;gt;&amp;#039;&amp;#039; which especially for Linux platforms identifies the package format of the office installation.&lt;br /&gt;
&lt;br /&gt;
It reveals that this information can be used to create the corresponding information for the request response.&lt;br /&gt;
&lt;br /&gt;
== information about processing the request response ==&lt;br /&gt;
&lt;br /&gt;
The response is expected to be a corresponding XML snippet.&lt;br /&gt;
As shown in the above examples, two types of XML snippets as responses are possible:&lt;br /&gt;
a &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response and a &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response. The distinction between the two is made by its first element. If it is &amp;lt;feed&amp;gt; it is treated as a &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response, otherwise as a &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response ====&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response is an XML snippet which is expected to have the format as the XML snippet in file [http://svn.apache.org/repos/asf/incubator/ooo/trunk/main/instsetoo_native/util/update.xml update.xml], found in our source repository.&lt;br /&gt;
&lt;br /&gt;
The following conditions must hold to perform further evaluation of the response:&lt;br /&gt;
# value of &amp;lt;inst:os&amp;gt; matches the one of the installed office - &amp;#039;&amp;#039;${_ARCH}&amp;#039;&amp;#039;.&lt;br /&gt;
# value of &amp;lt;inst:arch&amp;gt; matches the one of the installed office - &amp;#039;&amp;#039;${_OS}&amp;#039;&amp;#039;.&lt;br /&gt;
# value of &amp;lt;inst:buildid&amp;gt; is greater than the one of the installed office - &amp;#039;&amp;#039;${buildid}&amp;#039;&amp;#039;.&lt;br /&gt;
If these conditions hold, the following information is retrieved:&lt;br /&gt;
# values of attributes &amp;lt;src&amp;gt; and &amp;lt;type&amp;gt; of &amp;lt;inst:update&amp;gt;&lt;br /&gt;
#* if value of &amp;lt;type&amp;gt; equals &amp;quot;text/html&amp;quot;, the value of &amp;lt;src&amp;gt; is taken as an website from which the new version can be downloaded manually. Otherwise (also in case that attribute &amp;lt;type&amp;gt; is missing) the value of &amp;lt;src&amp;gt; is interpreted as a download link to the new version.&lt;br /&gt;
#* all &amp;lt;inst:update&amp;gt; elements are evaluated. The information of the first one is used - provide download of version or provide link to download website. The purpose of the other is not known.&lt;br /&gt;
# value of &amp;lt;inst:version&amp;gt; - will be shown in the corresponding dialog.&lt;br /&gt;
# value of &amp;lt;inst:buildid&amp;gt; - currently its purpose is not known.&lt;br /&gt;
If the first information - download website or download link - can be found in the XML snippet, the corresponding dialog will state that a new version is available. The user can then download it manually or can trigger an automatic download.&lt;br /&gt;
&lt;br /&gt;
If no download website/link is found, the dialog will state that the installed office is up to date.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response ====&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response is expected to conform to [http://tools.ietf.org/wg/atompub/draft-ietf-atompub-format/rfc4287.txt atom feed] - as stated above in the example area.&lt;br /&gt;
Each content of the &amp;lt;content&amp;gt; element of an atom entry (&amp;lt;entry&amp;gt; element) whose &amp;lt;category&amp;gt; element has an attribute &amp;lt;term&amp;gt; whose value matches the &amp;lt;UpdateId&amp;gt; value found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt; of the installed office is treated as &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response. &lt;br /&gt;
&lt;br /&gt;
The first of these &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; responses from which a download website or a download link could be retrieved that matches the above given conditions is taken - the following ones are not processed. It will be shown to the user that a new version is available, and the user can trigger the download manually or automatically. One further information is taken from this atom entry - the content of the &amp;lt;summary&amp;gt; element. It is shown in the corresponding dialog.&lt;br /&gt;
&lt;br /&gt;
If no download website/link is found, the dialog will state that the installed office is up to date.&lt;br /&gt;
&lt;br /&gt;
[[Category:Spec]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Update_Service&amp;diff=235377</id>
		<title>Update Service</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Update_Service&amp;diff=235377"/>
		<updated>2014-07-10T10:04:07Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Available Update Feeds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Available Update Feeds =&lt;br /&gt;
&lt;br /&gt;
For the following AOO/OOo versions an Update Feed is made available.&lt;br /&gt;
The table contains the UpdateURL which an AOO/OOo instance of the specified version is requesting via HTTP/HTTPS and the resource in our svn repository which serves the HTTP/HTTPS resource behind the UpdateURL.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! AOO/OOo version&lt;br /&gt;
! UpdateURL&lt;br /&gt;
! Resource in svn repository&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.2&lt;br /&gt;
| http://www.openoffice.org/projects/update34/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update34/ProductUpdateService/check.Update ooo-site/update34]&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.2.1&lt;br /&gt;
| http://www.openoffice.org/projects/update35/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update35/ProductUpdateService/check.Update ooo-site/update35]&lt;br /&gt;
|-&lt;br /&gt;
| OOo 3.3&lt;br /&gt;
| http://www.openoffice.org/projects/update36/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update36/ProductUpdateService/check.Update ooo-site/update36]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 3.4.0&lt;br /&gt;
| http://www.openoffice.org/projects/update38/ProductUpdateService/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update38/ProductUpdateService/check.Update ooo-site/update38]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 3.4.1&lt;br /&gt;
| http://www.openoffice.org/projects/update/aoo341/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/ooo-site/trunk/content/projects/update/aoo341/check.Update ooo-site/update/aoo341]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.0.0&lt;br /&gt;
| https://ooo-updates.apache.org/aoo40/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo40/check.Update update-site/aoo40]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.0.1&lt;br /&gt;
| https://ooo-updates.apache.org/aoo401/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo401/check.Update update-site/aoo401]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.1.0&lt;br /&gt;
| https://ooo-updates.apache.org/aoo401/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo401/check.Update update-site/aoo410]&lt;br /&gt;
|-&lt;br /&gt;
| AOO 4.1.1&lt;br /&gt;
[currently not active]&lt;br /&gt;
| https://ooo-updates.apache.org/aoo410/check.Update&lt;br /&gt;
| [http://svn.apache.org/repos/asf/openoffice/update-site/trunk/aoo410/check.Update update-site/aoo411]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Update Notification Protocol =&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Since version 2.0.3 OpenOffice.org users of builds providing an UpdateURL can manually check for available updates by invoking &amp;quot;Help -&amp;gt; Check for Updates ..&amp;quot; . Starting with version 2.0.4 OpenOffice.org can perform this check automatically in a user configurable interval. &lt;br /&gt;
&lt;br /&gt;
This is an attempt to define a second version of the update notification protocol, which is better extendable, can also be used for [[Extensions | extensions]] and no longer uses http post requests.&lt;br /&gt;
&lt;br /&gt;
{{Documentation/Note|Note: Even though this document is a draft, it seems to be the actually implemented version as of OpenOffice.org 3.3. See http://s.apache.org/e2u for more information.}}&lt;br /&gt;
&lt;br /&gt;
== Request ==&lt;br /&gt;
&lt;br /&gt;
The update notification request is a http get request to an URL, which may contain the operating system and processor type the OpenOffice.org instance is compiled for either as part of the URL or as URL parameter.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UpdateURL=http://update.services.openoffice.org/ProductUpdateService/check.Update2?_OS=Solaris&amp;amp;_ARCH=SPARC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UpdateURL=http://www.example.org/MyProduct/MyOS/MyArch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User-Agent field ==&lt;br /&gt;
&lt;br /&gt;
To reduce the amount of transfered data when asking for OpenOffice.org updates, the user agent field contains all information required to identify a specific build: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
User-Agent: OpenOffice.org/2.2 (680m212 (Build:9263); Solaris; SPARC; BundledLanguages=en-US_fr)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Accept-Language field ==&lt;br /&gt;
&lt;br /&gt;
To be able to return language specific feeds, OpenOffice.org sets the Accept-Language http request header field to the UI language currently in use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Accept-Language: en-GB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Update documents and feeds ==&lt;br /&gt;
&lt;br /&gt;
The simplest possible reply is of the following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;inst:id&amp;gt;OpenOffice.org_2_en-US_fr&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
  &amp;lt;inst:version&amp;gt;2.2.0-5&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
  &amp;lt;inst:buildid&amp;gt;9095&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
  &amp;lt;inst:os&amp;gt;Solaris&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
  &amp;lt;inst:arch&amp;gt;SPARC&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
  &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/inst:description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As the type attribute of the update tag is &amp;quot;text/html&amp;quot;, OOo will pass the URL specified in the src attribute to a browser. If you specify a different type, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;inst:update type=&amp;quot;application/octet-stream&amp;quot; src=&amp;quot;http://openoffice.bouncer.osuosl.org/?product=OpenOffice.org&amp;amp;os=solarissparcwjre&amp;amp;lang=en-US&amp;amp;version=2.4&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OOo will download the referenced file itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The other supported reply format, which also allows to include several components or several versions of a single component, is to embed the update document in an [http://tools.ietf.org/wg/atompub/draft-ietf-atompub-format/rfc4287.txt atom feed].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang”en-US”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;title&amp;gt;OpenOffice.org Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;The OpenOffice.org Project&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uri&amp;gt;http://openoffice.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;updatefeed@openoffice.org&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;entry&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;OpenOffice.org 2.2 available&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot;&lt;br /&gt;
        href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9e&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
    &amp;lt;summary&amp;gt;Click here to go to the download page.&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;category term=&amp;quot;OpenOffice.org_2_en-US_fr&amp;quot; label=&amp;quot;OpenOffice.org 2.2 US english/french&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;content type=&amp;quot;application/xml&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;inst:id&amp;gt;OpenOffice.org_2_en-US_fr&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
        &amp;lt;inst:version&amp;gt;2.2.0-5&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
        &amp;lt;inst:buildid&amp;gt;9095&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
        &amp;lt;inst:os&amp;gt;Solaris&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
        &amp;lt;inst:arch&amp;gt;SPARC&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
        &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/inst:description&amp;gt;&lt;br /&gt;
    &amp;lt;/content&amp;gt;&lt;br /&gt;
  &amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;description.xml&amp;#039;&amp;#039; OpenOffice.org 3.x update information example&lt;br /&gt;
&lt;br /&gt;
The following content of a &amp;#039;&amp;#039;description.xml&amp;#039;&amp;#039; directly references update information for a German Windows OpenOffice.org 3.3.0:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang=&amp;quot;en-US&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Product Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;updated&amp;gt;2011-01-01T08:00:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
&amp;lt;author&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;The OpenOffice Project&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;uri&amp;gt;http://openoffice.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;updatefeed@openoffice.org&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/author&amp;gt;&lt;br /&gt;
&amp;lt;id&amp;gt;urn:uuid:76676544&amp;lt;/id&amp;gt;&lt;br /&gt;
&amp;lt;entry&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Update available&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;id&amp;gt;urn:uuid:76676544&amp;lt;/id&amp;gt;&lt;br /&gt;
        &amp;lt;!-- IMPORTANT: category MUST be equal with UpdateID in version.ini --&amp;gt;&lt;br /&gt;
        &amp;lt;category term=&amp;quot;OpenOffice.org_3_de&amp;quot; label=&amp;quot;OpenOffice.org update&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;updated&amp;gt;2011-01-01T08:00:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
        &amp;lt;summary&amp;gt;Text below download information (should be localized)&amp;lt;/summary&amp;gt;&lt;br /&gt;
        &amp;lt;content type=&amp;quot;application/xml&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:id&amp;gt;OpenOffice.org_3_de&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:version&amp;gt;&amp;#039;new version information&amp;#039;&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- buildid must be higher as installed version --&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:buildid&amp;gt;9580&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:os&amp;gt;Windows&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:arch&amp;gt;x86&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- app/octet-stream generates direct download as background-process --&amp;gt;&lt;br /&gt;
                        &amp;lt;!--&amp;lt;inst:update type=&amp;quot;application/octet-stream&amp;quot; src=&amp;quot;http://download.services.openoffice.org/files/localized/de/3.3.0/OOo_3.3.0_Win_x86_install-wJRE_de.exe&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- text/html opens src-link in default browser --&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://download.openoffice.org&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/inst:description&amp;gt;&lt;br /&gt;
        &amp;lt;/content&amp;gt;&lt;br /&gt;
&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: to allow proper filtering, the &amp;lt;tt&amp;gt;term&amp;lt;/tt&amp;gt; tag of the &amp;lt;category&amp;gt; node of the &amp;lt;atom:entry&amp;gt; element must contain the &amp;lt;inst:id&amp;gt; string of the component to be updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Extension developers might prefer to link to the update description file instead of embedding it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang”en-US”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;title&amp;gt;My Extention Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Extension Developer&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uri&amp;gt;http://example.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;update@example.org&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;entry&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Version 2 available&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot;&lt;br /&gt;
        href=&amp;quot;http://example.org/myextension/latest.html&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;MyExtension+version&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
    &amp;lt;category term=&amp;quot;MyExtension&amp;quot; label=&amp;quot;My Extension&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;content type=&amp;quot;application/xml&amp;quot; src=&amp;quot;http://example.org/myextension/latest/myextension.update.xml&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: to allow proper filtering, the &amp;lt;tt&amp;gt;term&amp;lt;/tt&amp;gt; tag of the &amp;lt;category&amp;gt; node of the &amp;lt;atom:entry&amp;gt; element must contain the &amp;lt;identifier&amp;gt; value of the extension to be updated.&lt;br /&gt;
&lt;br /&gt;
= A glance on the code for the Apache OpenOffice 3.4 release =&lt;br /&gt;
&lt;br /&gt;
The following describes some deeper insight of the &amp;quot;Check for Updates...&amp;quot; code in the office. It should help us to re-activate a corresponding web service when Apache OpenOffice 3.4 has been released. (Do we need a real web service? Something to be discussed.)&lt;br /&gt;
&lt;br /&gt;
The information given here is based on the work of Regina (regina at apache dot org), Ariel (arielch at apache dot org) and Kay (kschenk at apache dot org) found in the corresponding mailing list thread on ooo-dev - see http://s.apache.org/e2u.&lt;br /&gt;
Having this information gave me (orw at apache dot org) the right pointers for deeper investigations.&lt;br /&gt;
&lt;br /&gt;
== summary information about request to &amp;lt;UpdateURL&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;UpdateURL&amp;gt;, found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt; of the office installation is typically an HTTP URL.&lt;br /&gt;
The office sends a GET request to this URL. Two header fields are included in this request which are already mentioned above.&lt;br /&gt;
These are &amp;quot;Accept-Language&amp;quot; and &amp;quot;User-Agent&amp;quot;.&lt;br /&gt;
* &amp;quot;Accept-Language&amp;quot; contains the language of current locale - found in configuration item &amp;quot;org.openoffice.Setup/L10N&amp;quot;, attribute &amp;quot;ooLocale&amp;quot;&lt;br /&gt;
* &amp;quot;User-Agent&amp;quot; contains needed information to identify the installed office version - see above. The information matches the following pattern which is found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt;:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;PRODUCT&amp;gt; (${buildid}; ${_OS}; ${_ARCH}; BundledLanguages=${AllLanguages}) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
On platforms other than Windows the &amp;lt;UpdateURL&amp;gt; contains (at least since OOo 3.3) a query part. It is &amp;#039;&amp;#039;?pkgfmt=&amp;lt;pkgformat&amp;gt;&amp;#039;&amp;#039; which especially for Linux platforms identifies the package format of the office installation.&lt;br /&gt;
&lt;br /&gt;
It reveals that this information can be used to create the corresponding information for the request response.&lt;br /&gt;
&lt;br /&gt;
== information about processing the request response ==&lt;br /&gt;
&lt;br /&gt;
The response is expected to be a corresponding XML snippet.&lt;br /&gt;
As shown in the above examples, two types of XML snippets as responses are possible:&lt;br /&gt;
a &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response and a &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response. The distinction between the two is made by its first element. If it is &amp;lt;feed&amp;gt; it is treated as a &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response, otherwise as a &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response ====&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response is an XML snippet which is expected to have the format as the XML snippet in file [http://svn.apache.org/repos/asf/incubator/ooo/trunk/main/instsetoo_native/util/update.xml update.xml], found in our source repository.&lt;br /&gt;
&lt;br /&gt;
The following conditions must hold to perform further evaluation of the response:&lt;br /&gt;
# value of &amp;lt;inst:os&amp;gt; matches the one of the installed office - &amp;#039;&amp;#039;${_ARCH}&amp;#039;&amp;#039;.&lt;br /&gt;
# value of &amp;lt;inst:arch&amp;gt; matches the one of the installed office - &amp;#039;&amp;#039;${_OS}&amp;#039;&amp;#039;.&lt;br /&gt;
# value of &amp;lt;inst:buildid&amp;gt; is greater than the one of the installed office - &amp;#039;&amp;#039;${buildid}&amp;#039;&amp;#039;.&lt;br /&gt;
If these conditions hold, the following information is retrieved:&lt;br /&gt;
# values of attributes &amp;lt;src&amp;gt; and &amp;lt;type&amp;gt; of &amp;lt;inst:update&amp;gt;&lt;br /&gt;
#* if value of &amp;lt;type&amp;gt; equals &amp;quot;text/html&amp;quot;, the value of &amp;lt;src&amp;gt; is taken as an website from which the new version can be downloaded manually. Otherwise (also in case that attribute &amp;lt;type&amp;gt; is missing) the value of &amp;lt;src&amp;gt; is interpreted as a download link to the new version.&lt;br /&gt;
#* all &amp;lt;inst:update&amp;gt; elements are evaluated. The information of the first one is used - provide download of version or provide link to download website. The purpose of the other is not known.&lt;br /&gt;
# value of &amp;lt;inst:version&amp;gt; - will be shown in the corresponding dialog.&lt;br /&gt;
# value of &amp;lt;inst:buildid&amp;gt; - currently its purpose is not known.&lt;br /&gt;
If the first information - download website or download link - can be found in the XML snippet, the corresponding dialog will state that a new version is available. The user can then download it manually or can trigger an automatic download.&lt;br /&gt;
&lt;br /&gt;
If no download website/link is found, the dialog will state that the installed office is up to date.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response ====&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response is expected to conform to [http://tools.ietf.org/wg/atompub/draft-ietf-atompub-format/rfc4287.txt atom feed] - as stated above in the example area.&lt;br /&gt;
Each content of the &amp;lt;content&amp;gt; element of an atom entry (&amp;lt;entry&amp;gt; element) whose &amp;lt;category&amp;gt; element has an attribute &amp;lt;term&amp;gt; whose value matches the &amp;lt;UpdateId&amp;gt; value found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt; of the installed office is treated as &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response. &lt;br /&gt;
&lt;br /&gt;
The first of these &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; responses from which a download website or a download link could be retrieved that matches the above given conditions is taken - the following ones are not processed. It will be shown to the user that a new version is available, and the user can trigger the download manually or automatically. One further information is taken from this atom entry - the content of the &amp;lt;summary&amp;gt; element. It is shown in the corresponding dialog.&lt;br /&gt;
&lt;br /&gt;
If no download website/link is found, the dialog will state that the installed office is up to date.&lt;br /&gt;
&lt;br /&gt;
[[Category:Spec]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Update_Notification_Protocol&amp;diff=235376</id>
		<title>Update Notification Protocol</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Update_Notification_Protocol&amp;diff=235376"/>
		<updated>2014-07-10T09:42:20Z</updated>

		<summary type="html">&lt;p&gt;Od: Redirected page to Update Service&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; #REDIRECT [[Update Service]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Update_Service&amp;diff=235375</id>
		<title>Update Service</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Update_Service&amp;diff=235375"/>
		<updated>2014-07-10T09:41:33Z</updated>

		<summary type="html">&lt;p&gt;Od: Created page with &amp;quot;= Available Update Feeds =  = Update Notification Protocol =  == Introduction ==  Since version 2.0.3 OpenOffice.org users of builds providing an UpdateURL can manually check ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Available Update Feeds =&lt;br /&gt;
&lt;br /&gt;
= Update Notification Protocol =&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Since version 2.0.3 OpenOffice.org users of builds providing an UpdateURL can manually check for available updates by invoking &amp;quot;Help -&amp;gt; Check for Updates ..&amp;quot; . Starting with version 2.0.4 OpenOffice.org can perform this check automatically in a user configurable interval. &lt;br /&gt;
&lt;br /&gt;
This is an attempt to define a second version of the update notification protocol, which is better extendable, can also be used for [[Extensions | extensions]] and no longer uses http post requests.&lt;br /&gt;
&lt;br /&gt;
{{Documentation/Note|Note: Even though this document is a draft, it seems to be the actually implemented version as of OpenOffice.org 3.3. See http://s.apache.org/e2u for more information.}}&lt;br /&gt;
&lt;br /&gt;
== Request ==&lt;br /&gt;
&lt;br /&gt;
The update notification request is a http get request to an URL, which may contain the operating system and processor type the OpenOffice.org instance is compiled for either as part of the URL or as URL parameter.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UpdateURL=http://update.services.openoffice.org/ProductUpdateService/check.Update2?_OS=Solaris&amp;amp;_ARCH=SPARC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UpdateURL=http://www.example.org/MyProduct/MyOS/MyArch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User-Agent field ==&lt;br /&gt;
&lt;br /&gt;
To reduce the amount of transfered data when asking for OpenOffice.org updates, the user agent field contains all information required to identify a specific build: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
User-Agent: OpenOffice.org/2.2 (680m212 (Build:9263); Solaris; SPARC; BundledLanguages=en-US_fr)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Accept-Language field ==&lt;br /&gt;
&lt;br /&gt;
To be able to return language specific feeds, OpenOffice.org sets the Accept-Language http request header field to the UI language currently in use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Accept-Language: en-GB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Update documents and feeds ==&lt;br /&gt;
&lt;br /&gt;
The simplest possible reply is of the following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;inst:id&amp;gt;OpenOffice.org_2_en-US_fr&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
  &amp;lt;inst:version&amp;gt;2.2.0-5&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
  &amp;lt;inst:buildid&amp;gt;9095&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
  &amp;lt;inst:os&amp;gt;Solaris&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
  &amp;lt;inst:arch&amp;gt;SPARC&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
  &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/inst:description&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As the type attribute of the update tag is &amp;quot;text/html&amp;quot;, OOo will pass the URL specified in the src attribute to a browser. If you specify a different type, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;inst:update type=&amp;quot;application/octet-stream&amp;quot; src=&amp;quot;http://openoffice.bouncer.osuosl.org/?product=OpenOffice.org&amp;amp;os=solarissparcwjre&amp;amp;lang=en-US&amp;amp;version=2.4&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OOo will download the referenced file itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The other supported reply format, which also allows to include several components or several versions of a single component, is to embed the update document in an [http://tools.ietf.org/wg/atompub/draft-ietf-atompub-format/rfc4287.txt atom feed].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang”en-US”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;title&amp;gt;OpenOffice.org Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;The OpenOffice.org Project&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uri&amp;gt;http://openoffice.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;updatefeed@openoffice.org&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;entry&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;OpenOffice.org 2.2 available&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot;&lt;br /&gt;
        href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9e&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
    &amp;lt;summary&amp;gt;Click here to go to the download page.&amp;lt;/summary&amp;gt;&lt;br /&gt;
    &amp;lt;category term=&amp;quot;OpenOffice.org_2_en-US_fr&amp;quot; label=&amp;quot;OpenOffice.org 2.2 US english/french&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;content type=&amp;quot;application/xml&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;inst:id&amp;gt;OpenOffice.org_2_en-US_fr&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
        &amp;lt;inst:version&amp;gt;2.2.0-5&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
        &amp;lt;inst:buildid&amp;gt;9095&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
        &amp;lt;inst:os&amp;gt;Solaris&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
        &amp;lt;inst:arch&amp;gt;SPARC&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
        &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/inst:description&amp;gt;&lt;br /&gt;
    &amp;lt;/content&amp;gt;&lt;br /&gt;
  &amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;description.xml&amp;#039;&amp;#039; OpenOffice.org 3.x update information example&lt;br /&gt;
&lt;br /&gt;
The following content of a &amp;#039;&amp;#039;description.xml&amp;#039;&amp;#039; directly references update information for a German Windows OpenOffice.org 3.3.0:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang=&amp;quot;en-US&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Product Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;updated&amp;gt;2011-01-01T08:00:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
&amp;lt;author&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;The OpenOffice Project&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;uri&amp;gt;http://openoffice.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;updatefeed@openoffice.org&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/author&amp;gt;&lt;br /&gt;
&amp;lt;id&amp;gt;urn:uuid:76676544&amp;lt;/id&amp;gt;&lt;br /&gt;
&amp;lt;entry&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Update available&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;id&amp;gt;urn:uuid:76676544&amp;lt;/id&amp;gt;&lt;br /&gt;
        &amp;lt;!-- IMPORTANT: category MUST be equal with UpdateID in version.ini --&amp;gt;&lt;br /&gt;
        &amp;lt;category term=&amp;quot;OpenOffice.org_3_de&amp;quot; label=&amp;quot;OpenOffice.org update&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;updated&amp;gt;2011-01-01T08:00:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
        &amp;lt;summary&amp;gt;Text below download information (should be localized)&amp;lt;/summary&amp;gt;&lt;br /&gt;
        &amp;lt;content type=&amp;quot;application/xml&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;inst:description xmlns:inst=&amp;quot;http://installation.openoffice.org/description&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:id&amp;gt;OpenOffice.org_3_de&amp;lt;/inst:id&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:version&amp;gt;&amp;#039;new version information&amp;#039;&amp;lt;/inst:version&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- buildid must be higher as installed version --&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:buildid&amp;gt;9580&amp;lt;/inst:buildid&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:os&amp;gt;Windows&amp;lt;/inst:os&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:arch&amp;gt;x86&amp;lt;/inst:arch&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- app/octet-stream generates direct download as background-process --&amp;gt;&lt;br /&gt;
                        &amp;lt;!--&amp;lt;inst:update type=&amp;quot;application/octet-stream&amp;quot; src=&amp;quot;http://download.services.openoffice.org/files/localized/de/3.3.0/OOo_3.3.0_Win_x86_install-wJRE_de.exe&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- text/html opens src-link in default browser --&amp;gt;&lt;br /&gt;
                        &amp;lt;inst:update type=&amp;quot;text/html&amp;quot; src=&amp;quot;http://download.openoffice.org&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/inst:description&amp;gt;&lt;br /&gt;
        &amp;lt;/content&amp;gt;&lt;br /&gt;
&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: to allow proper filtering, the &amp;lt;tt&amp;gt;term&amp;lt;/tt&amp;gt; tag of the &amp;lt;category&amp;gt; node of the &amp;lt;atom:entry&amp;gt; element must contain the &amp;lt;inst:id&amp;gt; string of the component to be updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Extension developers might prefer to link to the update description file instead of embedding it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;feed xmlns=&amp;quot;http://www.w3.org/2005/Atom&amp;quot; xml:lang”en-US”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;title&amp;gt;My Extention Update Feed&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=&amp;quot;http://update.services.openoffice.org/ooo/snapshot.html&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
  &amp;lt;author&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Extension Developer&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;uri&amp;gt;http://example.org&amp;lt;/uri&amp;gt;&lt;br /&gt;
    &amp;lt;email&amp;gt;update@example.org&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;entry&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Version 2 available&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot;&lt;br /&gt;
        href=&amp;quot;http://example.org/myextension/latest.html&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;MyExtension+version&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;updated&amp;gt;2006-11-06T18:30:02Z&amp;lt;/updated&amp;gt;&lt;br /&gt;
    &amp;lt;category term=&amp;quot;MyExtension&amp;quot; label=&amp;quot;My Extension&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;content type=&amp;quot;application/xml&amp;quot; src=&amp;quot;http://example.org/myextension/latest/myextension.update.xml&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/feed&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: to allow proper filtering, the &amp;lt;tt&amp;gt;term&amp;lt;/tt&amp;gt; tag of the &amp;lt;category&amp;gt; node of the &amp;lt;atom:entry&amp;gt; element must contain the &amp;lt;identifier&amp;gt; value of the extension to be updated.&lt;br /&gt;
&lt;br /&gt;
= A glance on the code for the Apache OpenOffice 3.4 release =&lt;br /&gt;
&lt;br /&gt;
The following describes some deeper insight of the &amp;quot;Check for Updates...&amp;quot; code in the office. It should help us to re-activate a corresponding web service when Apache OpenOffice 3.4 has been released. (Do we need a real web service? Something to be discussed.)&lt;br /&gt;
&lt;br /&gt;
The information given here is based on the work of Regina (regina at apache dot org), Ariel (arielch at apache dot org) and Kay (kschenk at apache dot org) found in the corresponding mailing list thread on ooo-dev - see http://s.apache.org/e2u.&lt;br /&gt;
Having this information gave me (orw at apache dot org) the right pointers for deeper investigations.&lt;br /&gt;
&lt;br /&gt;
== summary information about request to &amp;lt;UpdateURL&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;UpdateURL&amp;gt;, found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt; of the office installation is typically an HTTP URL.&lt;br /&gt;
The office sends a GET request to this URL. Two header fields are included in this request which are already mentioned above.&lt;br /&gt;
These are &amp;quot;Accept-Language&amp;quot; and &amp;quot;User-Agent&amp;quot;.&lt;br /&gt;
* &amp;quot;Accept-Language&amp;quot; contains the language of current locale - found in configuration item &amp;quot;org.openoffice.Setup/L10N&amp;quot;, attribute &amp;quot;ooLocale&amp;quot;&lt;br /&gt;
* &amp;quot;User-Agent&amp;quot; contains needed information to identify the installed office version - see above. The information matches the following pattern which is found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt;:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;PRODUCT&amp;gt; (${buildid}; ${_OS}; ${_ARCH}; BundledLanguages=${AllLanguages}) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
On platforms other than Windows the &amp;lt;UpdateURL&amp;gt; contains (at least since OOo 3.3) a query part. It is &amp;#039;&amp;#039;?pkgfmt=&amp;lt;pkgformat&amp;gt;&amp;#039;&amp;#039; which especially for Linux platforms identifies the package format of the office installation.&lt;br /&gt;
&lt;br /&gt;
It reveals that this information can be used to create the corresponding information for the request response.&lt;br /&gt;
&lt;br /&gt;
== information about processing the request response ==&lt;br /&gt;
&lt;br /&gt;
The response is expected to be a corresponding XML snippet.&lt;br /&gt;
As shown in the above examples, two types of XML snippets as responses are possible:&lt;br /&gt;
a &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response and a &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response. The distinction between the two is made by its first element. If it is &amp;lt;feed&amp;gt; it is treated as a &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response, otherwise as a &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response ====&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response is an XML snippet which is expected to have the format as the XML snippet in file [http://svn.apache.org/repos/asf/incubator/ooo/trunk/main/instsetoo_native/util/update.xml update.xml], found in our source repository.&lt;br /&gt;
&lt;br /&gt;
The following conditions must hold to perform further evaluation of the response:&lt;br /&gt;
# value of &amp;lt;inst:os&amp;gt; matches the one of the installed office - &amp;#039;&amp;#039;${_ARCH}&amp;#039;&amp;#039;.&lt;br /&gt;
# value of &amp;lt;inst:arch&amp;gt; matches the one of the installed office - &amp;#039;&amp;#039;${_OS}&amp;#039;&amp;#039;.&lt;br /&gt;
# value of &amp;lt;inst:buildid&amp;gt; is greater than the one of the installed office - &amp;#039;&amp;#039;${buildid}&amp;#039;&amp;#039;.&lt;br /&gt;
If these conditions hold, the following information is retrieved:&lt;br /&gt;
# values of attributes &amp;lt;src&amp;gt; and &amp;lt;type&amp;gt; of &amp;lt;inst:update&amp;gt;&lt;br /&gt;
#* if value of &amp;lt;type&amp;gt; equals &amp;quot;text/html&amp;quot;, the value of &amp;lt;src&amp;gt; is taken as an website from which the new version can be downloaded manually. Otherwise (also in case that attribute &amp;lt;type&amp;gt; is missing) the value of &amp;lt;src&amp;gt; is interpreted as a download link to the new version.&lt;br /&gt;
#* all &amp;lt;inst:update&amp;gt; elements are evaluated. The information of the first one is used - provide download of version or provide link to download website. The purpose of the other is not known.&lt;br /&gt;
# value of &amp;lt;inst:version&amp;gt; - will be shown in the corresponding dialog.&lt;br /&gt;
# value of &amp;lt;inst:buildid&amp;gt; - currently its purpose is not known.&lt;br /&gt;
If the first information - download website or download link - can be found in the XML snippet, the corresponding dialog will state that a new version is available. The user can then download it manually or can trigger an automatic download.&lt;br /&gt;
&lt;br /&gt;
If no download website/link is found, the dialog will state that the installed office is up to date.&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response ====&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;feed&amp;#039;&amp;#039; response is expected to conform to [http://tools.ietf.org/wg/atompub/draft-ietf-atompub-format/rfc4287.txt atom feed] - as stated above in the example area.&lt;br /&gt;
Each content of the &amp;lt;content&amp;gt; element of an atom entry (&amp;lt;entry&amp;gt; element) whose &amp;lt;category&amp;gt; element has an attribute &amp;lt;term&amp;gt; whose value matches the &amp;lt;UpdateId&amp;gt; value found in file &amp;lt;version.ini&amp;gt; resp. &amp;lt;versionrc&amp;gt; of the installed office is treated as &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; response. &lt;br /&gt;
&lt;br /&gt;
The first of these &amp;#039;&amp;#039;simple&amp;#039;&amp;#039; responses from which a download website or a download link could be retrieved that matches the above given conditions is taken - the following ones are not processed. It will be shown to the user that a new version is available, and the user can trigger the download manually or automatically. One further information is taken from this atom entry - the content of the &amp;lt;summary&amp;gt; element. It is shown in the corresponding dialog.&lt;br /&gt;
&lt;br /&gt;
If no download website/link is found, the dialog will state that the installed office is up to date.&lt;br /&gt;
&lt;br /&gt;
[[Category:Spec]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=User:Od&amp;diff=235374</id>
		<title>User:Od</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=User:Od&amp;diff=235374"/>
		<updated>2014-07-10T09:38:43Z</updated>

		<summary type="html">&lt;p&gt;Od: /* TESTING */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/People}}&lt;br /&gt;
I am Oliver-Rainer Wittmann, working since July 2002 on OpenOffice.org and now Apache OpenOffice.&lt;br /&gt;
My userId at former OpenOffice.org was od@openoffice.org.&lt;br /&gt;
My userId at Apache OpenOffice is orw@apache.org.&lt;br /&gt;
Until August 2011 I was employed by Sun/Oracle as an software engineer.&lt;br /&gt;
Since September 2011 I am employed by IBM as an advisory software engineer.&lt;br /&gt;
&lt;br /&gt;
I am also a member of the OASIS ODF TC since December 2006. Thus, I am working on ODF standardization and ODF interoperability.&lt;br /&gt;
&lt;br /&gt;
[[User:Od/TextAlignment]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== misc notes ==&lt;br /&gt;
*External hunspell component contains certain path definitions into former OpenOffice.org installation/user directories. See hunspell-1.3.2/src/tools/hunspell.cxx&lt;br /&gt;
*External mythes component contains patch file with former Sun copyright and license header&lt;br /&gt;
*main/ooo_custom_images/industrial/README contains former Oracle/Sun copyright and license header&lt;br /&gt;
*CHECK REMOVAL&lt;br /&gt;
**gid_Brand_Profileitem_Bootstrap_Errorreport_Server&lt;br /&gt;
**STR_REG_VAL_APPCAPABILITY_DESCRIPTION_OOO&lt;br /&gt;
*CHECK ADJUSTMENT of &amp;#039;&amp;#039;OpenOffice.org&amp;#039;&amp;#039;&lt;br /&gt;
**main/sfx2/source/doc/doc.src&lt;br /&gt;
**main/xmlsecurity/source/dialogs/digitalsignaturesdialog.src&lt;br /&gt;
*correct &amp;lt;get_downloadname_productname&amp;gt; in main/solenv/bin/modules/installer/download.pm&lt;br /&gt;
*REMOVAL of &amp;#039;&amp;#039;usage tracking&amp;#039;&amp;#039; stuff&lt;br /&gt;
&lt;br /&gt;
== TESTING ==&lt;br /&gt;
[[wikipublishertest]]&lt;br /&gt;
[[Update Service]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Product_Release&amp;diff=235354</id>
		<title>Product Release</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Product_Release&amp;diff=235354"/>
		<updated>2014-06-30T09:16:53Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Apache OpenOffice 4.x */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apache OpenOffice ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org was [http://incubator.apache.org/projects/openofficeorg.html transferred] to the [http://www.apache.org/foundation/ Apache Software Foundation] on June 1st, 2011 and it [https://blogs.apache.org/OOo/entry/openoffice_graduates_from_the_apache became an Apache Top-Level Project] on October 17, 2012.&lt;br /&gt;
&lt;br /&gt;
The development model of the popular productivity suite changed to benefit from the huge experience the Foundation has with managing open source projects.&lt;br /&gt;
&lt;br /&gt;
New releases of the product are accordingly named &amp;#039;&amp;#039;&amp;#039;Apache OpenOffice&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Apache OpenOffice 4.x ===&lt;br /&gt;
&lt;br /&gt;
* [https://blogs.apache.org/OOo/entry/the_apache_openoffice_project_announce Apache OpenOffice 4.1.0] (Apr. 29th, 2014)&lt;br /&gt;
* [https://blogs.apache.org/OOo/entry/announcing_apache_openoffice_4_0 Apache OpenOffice 4.0.1] (Oct. 1st, 2013)&lt;br /&gt;
* [https://blogs.apache.org/OOo/entry/a_short_celebration_and_then Apache OpenOffice 4.0.0] (Juli 23rd, 2013)&lt;br /&gt;
&lt;br /&gt;
=== Apache OpenOffice 3.4 ===&lt;br /&gt;
&lt;br /&gt;
* [http://blogs.apache.org/OOo/entry/announcing_apache_openoffice_3_41 Apache OpenOffice 3.4.1] (August 23rd, 2012)&lt;br /&gt;
** additional languages Danish, Norwegian, Swedish, Korean, Polish, Basque, Asturian and Scottish Gaelic (January 30th, 2013)&lt;br /&gt;
* [http://ooo-site.staging.apache.org/news/aoo34.html Apache OpenOffice 3.4.0] (May 8th 2012)&lt;br /&gt;
&lt;br /&gt;
== Older Product Releases of OpenOffice.org ==&lt;br /&gt;
&lt;br /&gt;
For release information please see the technical [http://development.openoffice.org/releases/index.html Release Notes] and a detailed [http://www.openoffice.org/dev_docs/features/index.html feature overview].&lt;br /&gt;
&lt;br /&gt;
For a list of uploaded Developer Snapshots and Release Candidates/Releases see the [[Product_Release/builds_uploaded | table of uploaded builds]]. The most recent builds can be downloaded on the [http://download.openoffice.org download webpage].&lt;br /&gt;
&lt;br /&gt;
For guidance on announcing new releases see [[PolicyMirrorLinking]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Released OpenOffice.org 3.x.x ===&lt;br /&gt;
&lt;br /&gt;
* [[OOoRelease33|OpenOffice.org 3.3.0]] (January 26th, 2011)&lt;br /&gt;
* [[OOoRelease321|OpenOffice.org 3.2.1]] (June 4th, 2010)&lt;br /&gt;
* [[OOoRelease32|OpenOffice.org 3.2.0]] (February 11th, 2010)&lt;br /&gt;
* [[OOoRelease311|OpenOffice.org 3.1.1]] (August 31st, 2009)&lt;br /&gt;
* [[OOoRelease31|OpenOffice.org 3.1.0]] (May 7th, 2009)&lt;br /&gt;
* [[OOoRelease301|OpenOffice.org 3.0.1]] (January 27th, 2009)&lt;br /&gt;
* [[OOoRelease30|OpenOffice.org 3.0.0]] (October 13th, 2008)&lt;br /&gt;
&lt;br /&gt;
=== Released OpenOffice.org 2.x.x ===&lt;br /&gt;
&lt;br /&gt;
* [[OOoRelease243|OpenOffice.org 2.4.3]] (September 04th, 2009)&lt;br /&gt;
* [[OOoRelease242|OpenOffice.org 2.4.2]] (October 28th, 2008)&lt;br /&gt;
* [[OOoRelease241|OpenOffice.org 2.4.1]] (June 10th, 2008)&lt;br /&gt;
* [[OOoRelease24|OpenOffice.org 2.4]] (March 27th, 2008)&lt;br /&gt;
* [[OOoRelease231|OpenOffice.org 2.3.1]] (December 4th, 2007)&lt;br /&gt;
* [[OOoRelease23|OpenOffice.org 2.3]] (September 17th, 2007)&lt;br /&gt;
* [[OOoRelease221|OpenOffice.org 2.2.1]] (June 12th, 2007)&lt;br /&gt;
* [[OOoRelease22|OpenOffice.org 2.2]] (March 29th, 2007)&lt;br /&gt;
* [[OOoRelease205|OpenOffice.org 2.1]] (December 12th, 2006)&lt;br /&gt;
* [[OOoRelease204|OpenOffice.org 2.0.4]] (October 13th, 2006)&lt;br /&gt;
* [[OOoRelease203|OpenOffice.org 2.0.3]] (June 29th, 2006)&lt;br /&gt;
* [[OOoRelease202|OpenOffice.org 2.0.2]] (March 8th, 2006)&lt;br /&gt;
* [[OOoRelease201|OpenOffice.org 2.0.1]] (December 21st, 2005)&lt;br /&gt;
* OpenOffice.org 2.0.0 (October 21st, 2005)&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org 1.1 ===&lt;br /&gt;
&lt;br /&gt;
* OpenOffice.org 1.1.5 (September 9th, 2005)&lt;br /&gt;
* OpenOffice.org 1.1.4 (December 22th, 2004)&lt;br /&gt;
* OpenOffice.org 1.1.3 (October 4th, 2004)&lt;br /&gt;
* OpenOffice.org 1.1.2 (June 18th, 2004)&lt;br /&gt;
* OpenOffice.org 1.1.1 &lt;br /&gt;
* OpenOffice.org 1.1.0 (October 1st, 2003)&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org 1.0 ===&lt;br /&gt;
&lt;br /&gt;
* OpenOffice.org 1.0.3 (April 10th, 2003)&lt;br /&gt;
* OpenOffice.org 1.0.2 (January 20th, 2003) (tag &amp;quot;OpenOffice_1_0_2&amp;quot;)&lt;br /&gt;
* OpenOffice.org 1.0.1 (July 17th, 2002) (tag &amp;quot;OpenOffice_1_0_1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Older releases can be retrieved via the [ftp://archive.services.openoffice.org/pub/openoffice-archive/stable Archive Server].&lt;br /&gt;
&lt;br /&gt;
[[Category:Releases]]&lt;br /&gt;
[[Category:Quality Assurance]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=OOXML_Framework&amp;diff=235263</id>
		<title>OOXML Framework</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=OOXML_Framework&amp;diff=235263"/>
		<updated>2014-06-10T11:11:53Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The OOXML framework targets the import of OfficeOpen XML documents and tries to do as much of this work automatically.&lt;br /&gt;
By reading the OOXML schema files and producing a parser skeleton it removes the necessity of managing XML contexts manually.&lt;br /&gt;
&lt;br /&gt;
=Design=&lt;br /&gt;
The design of the new OOXML import framework adds a layer of abstraction on top of a push parser.  The events for start tags, end tags or text are handled by the new import framework.  Rules for this are derived directly from the specifications.  These introduce the concept of complex types and simple types.  Very simplified a complex type describes parent-child relationships between elements while simple types describe the types of attribute values.  It is the task of the framework to do the translation from elements to complex types and preprocess attribute values according to their simple types.  This has several advantages over a classical bare-bones push parser:&lt;br /&gt;
* There are a few cases where the same element is mapped to different complex types.  This disambiguation is now done automatically by the framework.&lt;br /&gt;
* The callbacks are more readable because they are directly tied to a complex type which can be looked up in the spec.&lt;br /&gt;
* Much of the low level processing is now done automatically and therefore &lt;br /&gt;
** does not obfuscate the import code&lt;br /&gt;
** is less error prone&lt;br /&gt;
** requires the developer to write less code&lt;br /&gt;
** is potentially faster&lt;br /&gt;
&lt;br /&gt;
The connection between OOXML parser and importer callbacks is done via a domain specific language (DSL).  This, together with the automatic preprocessing of the specifications, allows the development of automatic analysis and processing programs.  These allow us to&lt;br /&gt;
* analyze how much of the specification is handled by import callbacks and thus&lt;br /&gt;
* tell us which complex types and attributes still need more work&lt;br /&gt;
* compile documentation contained in the document code&lt;br /&gt;
* track progress of the development&lt;br /&gt;
* improve the development process by providing means to e.g. search for the implementation of a certain element or complex type&lt;br /&gt;
* add logging and debugging functionality on demand&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
The OOXML framework has its home in the main/ooxml module. &lt;br /&gt;
The implementation work is tracked by [https://issues.apache.org/ooo/show_bug.cgi?id=125035 issue 125035].&lt;br /&gt;
&lt;br /&gt;
In source/framework you can find these framework components:&lt;br /&gt;
;SchemaParser: (under development) A parser for schema files and a parser generator for the actual OOXML parsers (yet to come).&lt;br /&gt;
;JavaOOXMLParser: (under development) A demonstration parser of OOXML documents that is based on parser tables created by the SchemaParser.  Its main purpose is to test the output of the SchemaParser.  It is not intended as a runtime component of OpenOffice.&lt;br /&gt;
&lt;br /&gt;
[[Category:Office Open XML]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=OOXML_Framework&amp;diff=235262</id>
		<title>OOXML Framework</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=OOXML_Framework&amp;diff=235262"/>
		<updated>2014-06-10T11:10:43Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The OOXML framework targets the import of OfficeOpen XML documents and tries to do as much of this work automatically.&lt;br /&gt;
By reading the OOXML schema files and producing a parser skeleton it removes the necessity of managing XML contexts manually.&lt;br /&gt;
&lt;br /&gt;
=Design=&lt;br /&gt;
The design of the new OOXML import framework adds a layer of abstraction on top of a push parser.  The events for start tags, end tags or text are handled by the new import framework.  Rules for this are derived directly from the specifications.  These introduce the concept of complex types and simple types.  Very simplified a complex type describes parent-child relationships between elements while simple types describe the types of attribute values.  It is the task of the framework to do the translation from elements to complex types and preprocess attribute values according to their simple types.  This has several advantages over a classical bare-bones push parser:&lt;br /&gt;
* There are a few cases where the same element is mapped to different complex types.  This disambiguation is now done automatically by the framework.&lt;br /&gt;
* The callbacks are more readable because they are directly tied to a complex type which can be looked up in the spec.&lt;br /&gt;
* Much of the low level processing is now done automatically and therefore &lt;br /&gt;
** does not obfuscate the import code&lt;br /&gt;
** is less error prone&lt;br /&gt;
** requires the developer to write less code&lt;br /&gt;
** is potentially faster&lt;br /&gt;
&lt;br /&gt;
The connection between OOXML parser and importer callbacks is done via a domain specific language (DSL).  This, together with the automatic preprocessing of the specifications, allows the development of automatic analysis and processing programs.  These allow us to&lt;br /&gt;
* analyze how much of the specification is handled by import callbacks and thus&lt;br /&gt;
* tell us which complex types and attributes still need more work&lt;br /&gt;
* compile documentation contained in the document code&lt;br /&gt;
* track progress of the development&lt;br /&gt;
* improve the development process by providing means to e.g. search for the implementation of a certain element or complex type&lt;br /&gt;
* add logging and debugging functionality on demand&lt;br /&gt;
&lt;br /&gt;
=Implementation=&lt;br /&gt;
The OOXML framework has its home in the main/ooxml module. &lt;br /&gt;
The implementation work is tracked by [https://issues.apache.org/ooo/show_bug.cgi?id=125035 issue 125035].&lt;br /&gt;
&lt;br /&gt;
In source/framework you can find these framework components:&lt;br /&gt;
;SchemaParser: (under development) A parser for schema files and a parser generator for the actual OOXML parsers (yet to come).&lt;br /&gt;
;JavaOOXMLParser: (under development) A demonstration parser of OOXML documents that is based on parser tables created by the SchemaParser.  Its main purpose is to test the ouput of the SchemaParser.  It is not inteded as a runtime component of OpenOffice.&lt;br /&gt;
&lt;br /&gt;
[[Category:Office Open XML]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=IRC_Communication&amp;diff=234683</id>
		<title>IRC Communication</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=IRC_Communication&amp;diff=234683"/>
		<updated>2014-04-24T12:02:17Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OpenOffice.org]] project uses [[wikipedia:Internet Relay Chat|IRC]] for direct and immediate online communication. Please see [http://www.google.com/calendar/embed?src=k4bgtc8bil9cs2a77lhh1r998g%40group.calendar.google.com google calendar] for schedules.&lt;br /&gt;
&lt;br /&gt;
== IRC Network: Freenode (irc.freenode.net) ==&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| [irc://irc.freenode.net/Openoffice.org #Openoffice.org] || Users and generic channel, please use this for questions related to OOo usage&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/dev.openoffice.org #dev.openoffice.org] || Channel for developers discussing building and extending OpenOffice.org&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/specs.openoffice.org #specs.openoffice.org] || Specifications and development processes&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/qa.openoffice.org #qa.openoffice.org] || [[:Category:Quality Assurance|QA]] channel&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/ooo-api #ooo-api] || [[API]] channel related to API programming, SDK, developer documentation (formerly api.openoffice.org).&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/chart2.openoffice.org #chart2.openoffice.org] || [[Chart2]] channel&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/ooonlc #ooonlc] || [[NLC|Native Language]] Talk Room&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/debian-oo #debian-oo] || Debian OO.o packaging channel (This is now on irc.oftc.net)&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/openoffice.org-de #openoffice.org-de] || Germanophone channel&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/openoffice.org-it #openoffice.org-it] || Italian channel&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/openoffice.org-pl #openoffice.org-pl] || Polish channel&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/openoffice.org-zh #openoffice.org-zh] || Chinese channel&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/cs.openoffice.org #cs.openoffice.org] || Czech channel (serves also Slovak users)&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/openoffice.et #openoffice.et] || Estonian channel&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/fr.openoffice.org #fr.openoffice.org] || Francophone channel&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/nl.openoffice.org #nl.openoffice.org] || Dutch channel&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/ru.openoffice.org #ru.openoffice.org] || Russian channel&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/OOoES #OOoES] || Spanish Channel&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/broffice.org #broffice.org] || Brazilian Channel&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/dba.openoffice.org-de #dba.openoffice.org-de] || Germanophone channel to help with the Base-Modul of OpenOffice.org&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/ooo_macport #ooo_macport] || Native [[Mac OS X]] (Aqua) port of OpenOffice.org developer channel&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/ooo-ext #ooo-ext] || [[Extensions]] channel&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/ux.openoffice.org #ux.openoffice.org] || [[User Experience]] channel&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/odftoolkit #odftoolkit] || [[ODF_Toolkit|ODF Toolkit]] channel (discussing strategies, next steps, ...)&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/education.openoffice.org #education.openoffice.org] || [[Education_Project|Education Project]] channel (everything about Education project, ...)&lt;br /&gt;
|-&lt;br /&gt;
| [irc://irc.freenode.net/openoffice.org-docs #openoffice.org-docs] || [[Documentation|Documentation Project]] channel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== IRC Network: HanIRC (irc.hanirc.org) ==&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| [irc://irc.hanirc.org/openoffice #openoffice] || Korean channel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== IRC info ==&lt;br /&gt;
&lt;br /&gt;
* [http://irchelp.org/irchelp/new2irc.html New to IRC info]&lt;br /&gt;
* Make sure you register your nick with [[wikipedia:freenode|freenode]], just follow the [http://freenode.net/faq.shtml#nicksetup instructions]&lt;br /&gt;
* If you like [[wikipedia:X-Chat|X-Chat]] but have to use windows sometimes, here is a free win32 [http://www.silverex.org/download/ version ]&lt;br /&gt;
* A client for Mac OS X is [http://colloquy.info/ Colloquy]&lt;br /&gt;
* An extension for Firefox is [https://addons.mozilla.org/en-US/firefox/addon/16 ChatZilla]&lt;br /&gt;
* To create a new channel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  /join #new-channel-oo&lt;br /&gt;
  /msg chanserv register #new-channel-oo [password]&lt;br /&gt;
  /msg chanserv access #new-channel-oo add [who_should_autoop_there_1] [level]&lt;br /&gt;
  /msg chanserv access #new-channel-oo add [who_should_autoop_there_2_and_more] [level]&lt;br /&gt;
  /msg chanserv set #new-channel-oo guard on&lt;br /&gt;
  /msg chanserv level #new-channel set autoop [level-for-autoop]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Who is Who? ==&lt;br /&gt;
&lt;br /&gt;
A list of people &amp;amp;amp; accounts is available: [[DomainDeveloper]]&lt;br /&gt;
[[Category:Website]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Communication&amp;diff=234682</id>
		<title>Communication</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Communication&amp;diff=234682"/>
		<updated>2014-04-24T11:56:32Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Communication within the OpenOffice.org project}}&lt;br /&gt;
{| align=right style=&amp;quot;margin-left: 15px; border:1px solid #aaaaaa; background-color:#f9f9f9; padding:5px; font-size: 95%;&amp;quot; class=box&lt;br /&gt;
|--- &lt;br /&gt;
!align=center |&lt;br /&gt;
&lt;br /&gt;
[[Image:ooo-main-logo-2col_200px.gif]]&lt;br /&gt;
&lt;br /&gt;
[[Main Page|OpenOffice.org Wiki]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
{{ListofProjects}}&lt;br /&gt;
&amp;lt;!-- ^^ go to [[Template:ListofProjects]] to edit this master list, used on project templates --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:1.1em&amp;quot;&amp;gt;&lt;br /&gt;
The most important ways of communication in the OpenOffice.org project are:&lt;br /&gt;
* Users of OpenOffice.org will find help, tips and advice on the [http://forum.openoffice.org/ User Community Forums].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* OpenOffice.org uses [http://openoffice.apache.org/mailing-lists.html mailing lists/newsgroups for detailed discussions].&amp;lt;ref&amp;gt;Those can also be used via other services, for example: [http://old.nabble.com/OpenOffice-f12770.html nabble], [http://dir.gmane.org/index.php?prefix=gmane.comp.openoffice gmane], [http://markmail.org/search/?q=openoffice markmail], [http://www.mail-archive.com/find.php?domains=www.mail-archive.com&amp;amp;q=openoffice&amp;amp;sa=Search&amp;amp;sitesearch=www.mail-archive.com&amp;amp;client=pub-7266757337600734&amp;amp;forid=1&amp;amp;lists=all mail-archive] and [http://marc.info/ MARC].&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* OpenOffice.org project uses [[IRC_Communication |IRC for direct and immediate online communication]].&amp;lt;ref&amp;gt;Wikipedia has some general informations about [[wikipedia:Internet Relay Chat|Internet Relay Chat (IRC)]].&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The [[Main Page|OpenOffice.org Wiki]] (where you are right now) is also an important way of communication, especially for specifications and development documentation.&amp;lt;ref&amp;gt;See also the [[:Category:MainIndex|Main Index of the OpenOffice.org Wiki]].&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* An alternative [https://cwiki.apache.org/confluence/display/OOOUSERS/Wiki+Home planning wiki] for the migration and project oriented initiatives is located on the following site.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://planet.services.openoffice.org Planet OpenOffice.org] aggregates the latest news from a lot of sources including the major OpenOffice.org blogs.--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
*[[IRC Communication]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Website]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Communication&amp;diff=234681</id>
		<title>Communication</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Communication&amp;diff=234681"/>
		<updated>2014-04-24T11:55:33Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Communication within the OpenOffice.org project}}&lt;br /&gt;
{| align=right style=&amp;quot;margin-left: 15px; border:1px solid #aaaaaa; background-color:#f9f9f9; padding:5px; font-size: 95%;&amp;quot; class=box&lt;br /&gt;
|--- &lt;br /&gt;
!align=center |&lt;br /&gt;
&lt;br /&gt;
[[Image:ooo-main-logo-2col_200px.gif]]&lt;br /&gt;
&lt;br /&gt;
[[Main Page|OpenOffice.org Wiki]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
{{ListofProjects}}&lt;br /&gt;
&amp;lt;!-- ^^ go to [[Template:ListofProjects]] to edit this master list, used on project templates --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:1.1em&amp;quot;&amp;gt;&lt;br /&gt;
The most important ways of communication in the OpenOffice.org project are:&lt;br /&gt;
* Users of OpenOffice.org will find help, tips and advice on the [http://forum.openoffice.org/ User Community Forums].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* OpenOffice.org uses [http://incubator.apache.org/openofficeorg/mailing-lists.html mailing lists/newsgroups for detailed discussions].&amp;lt;ref&amp;gt;Those can also be used via other services, for example: [http://old.nabble.com/OpenOffice-f12770.html nabble], [http://dir.gmane.org/index.php?prefix=gmane.comp.openoffice gmane], [http://markmail.org/search/?q=openoffice markmail], [http://www.mail-archive.com/find.php?domains=www.mail-archive.com&amp;amp;q=openoffice&amp;amp;sa=Search&amp;amp;sitesearch=www.mail-archive.com&amp;amp;client=pub-7266757337600734&amp;amp;forid=1&amp;amp;lists=all mail-archive] and [http://marc.info/ MARC].&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* OpenOffice.org project uses [[IRC_Communication |IRC for direct and immediate online communication]].&amp;lt;ref&amp;gt;Wikipedia has some general informations about [[wikipedia:Internet Relay Chat|Internet Relay Chat (IRC)]].&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The [[Main Page|OpenOffice.org Wiki]] (where you are right now) is also an important way of communication, especially for specifications and development documentation.&amp;lt;ref&amp;gt;See also the [[:Category:MainIndex|Main Index of the OpenOffice.org Wiki]].&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* An alternative [https://cwiki.apache.org/confluence/display/OOOUSERS/Wiki+Home planning wiki] for the migration and project oriented initiatives is located on the following site.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://planet.services.openoffice.org Planet OpenOffice.org] aggregates the latest news from a lot of sources including the major OpenOffice.org blogs.--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
*[[IRC Communication]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Website]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=XML_Signature_support_without_Mozilla&amp;diff=234668</id>
		<title>XML Signature support without Mozilla</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=XML_Signature_support_without_Mozilla&amp;diff=234668"/>
		<updated>2014-04-17T05:55:04Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains random notes to provide XML DSig support without Mozilla.&lt;br /&gt;
&lt;br /&gt;
We need to use:&lt;br /&gt;
* System XmlSec instead of &amp;lt;code&amp;gt;external/libxmlsec&amp;lt;/code&amp;gt;. This is now a [http://bonsai.go-oo.org/cvslog.cgi?file=external/libxmlsec/xmlsec1-1.2.6.patch patched] version of [http://www.aleksey.com/xmlsec/download/xmlsec1-1.2.6.tar.gz XmlSec 1.2.6]&lt;br /&gt;
* System NSS and NSPR instead of the bundled Mozilla libraries. We need to be careful about shared libraries conflict. &lt;br /&gt;
&lt;br /&gt;
Mozilla (&amp;lt;code&amp;gt;MOZ:moz&amp;lt;/code&amp;gt;) is also needed in the &amp;lt;code&amp;gt;dba/connectivity&amp;lt;/code&amp;gt; module for addressbook integration.&lt;br /&gt;
&lt;br /&gt;
Do we have with problem sharing databases with Mozilla ([https://bugzilla.mozilla.org/show_bug.cgi?id=217538 Mozilla bug 217538:  softoken databases cannot be shared between multiple processes])?&lt;br /&gt;
&lt;br /&gt;
Steps to do:&lt;br /&gt;
*Update XmlSec to&lt;br /&gt;
** provide  &amp;lt;code&amp;gt;xmlSecNssAppliedKeysMngrCreate, xmlSecNssAppliedKeysMngrSymKeyLoad, xmlSecNssAppliedKeysMngrPubKeyLoad xmlSecNssAppliedKeysMngrPriKeyLoad&amp;lt;/code&amp;gt;&lt;br /&gt;
** Check X.509 certificate verification semantics in (possible API breakage here)&lt;br /&gt;
** Verify rest of the patch&lt;br /&gt;
** Make sure internal XmlSec tests pass&lt;br /&gt;
* Verify that XmlSec is built with NSS support. &lt;br /&gt;
* Provide &amp;lt;code&amp;gt;SYSTEM_NSPR, SYSTEM_NSS, SYSTEM_XMLSEC&amp;lt;/code&amp;gt; environment variables.&lt;br /&gt;
* Modify &amp;lt;code&amp;gt;xml/xmlsecurity&amp;lt;/code&amp;gt; module to use system NSS, NSPR and XmlSec library. Preliminary patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
--- xmlsecurity/util/makefile.mk.orig	2008-04-10 01:46:36.053917594 +0200&lt;br /&gt;
+++ xmlsecurity/util/makefile.mk	2008-04-10 01:46:44.443729469 +0200&lt;br /&gt;
@@ -47,11 +47,6 @@&lt;br /&gt;
 .INCLUDE :  settings.mk&lt;br /&gt;
 .INCLUDE :	$(PRJ)$/util$/target.pmk&lt;br /&gt;
 &lt;br /&gt;
-.IF &amp;quot;$(WITH_MOZILLA)&amp;quot; == &amp;quot;NO&amp;quot;&lt;br /&gt;
-@all:&lt;br /&gt;
-	@echo &amp;quot;No mozilla -&amp;gt; no nss -&amp;gt; no libxmlsec -&amp;gt; no xmlsecurity...&amp;quot;&lt;br /&gt;
-.ENDIF&lt;br /&gt;
-&lt;br /&gt;
 # --- Files --------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 BMP_IN=$(PRJ)$/res&lt;br /&gt;
--- xmlsecurity/source/xmlsec/nss/makefile.mk.orig	2008-04-10 01:46:58.976404741 +0200&lt;br /&gt;
+++ xmlsecurity/source/xmlsec/nss/makefile.mk	2008-04-10 02:20:30.562702818 +0200&lt;br /&gt;
@@ -55,11 +55,6 @@&lt;br /&gt;
 &lt;br /&gt;
 .IF &amp;quot;$(CRYPTO_ENGINE)&amp;quot; == &amp;quot;nss&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
-.IF &amp;quot;$(WITH_MOZILLA)&amp;quot; == &amp;quot;NO&amp;quot;&lt;br /&gt;
-@all:&lt;br /&gt;
-	@echo &amp;quot;No mozilla -&amp;gt; no nss -&amp;gt; no libxmlsec -&amp;gt; no xmlsecurity/nss&amp;quot;&lt;br /&gt;
-.ENDIF&lt;br /&gt;
-&lt;br /&gt;
 .IF &amp;quot;$(SYSTEM_MOZILLA)&amp;quot; != &amp;quot;YES&amp;quot;&lt;br /&gt;
 MOZ_INC = $(SOLARVERSION)$/$(INPATH)$/inc$(UPDMINOREXT)$/mozilla&lt;br /&gt;
 NSS_INC = $(MOZ_INC)$/nss&lt;br /&gt;
@@ -70,6 +65,20 @@&lt;br /&gt;
 NSPR_INC = $(MOZ_INC)$/nspr&lt;br /&gt;
 .ENDIF&lt;br /&gt;
 &lt;br /&gt;
+.IF &amp;quot;$(SYSTEM_NSS)&amp;quot; == &amp;quot;YES&amp;quot;&lt;br /&gt;
+XMLSEC_INC = /usr/local/include/xmlsec1&lt;br /&gt;
+.ELSE&lt;br /&gt;
+XMLSEC_INC = $(PRJ)$/source$/xmlsec&lt;br /&gt;
+.ENDIF&lt;br /&gt;
+&lt;br /&gt;
+.IF &amp;quot;$(SYSTEM_NSS)&amp;quot; == &amp;quot;YES&amp;quot;&lt;br /&gt;
+NSS_INC = /usr/local/include/nss/nss&lt;br /&gt;
+.ENDIF&lt;br /&gt;
+&lt;br /&gt;
+.IF &amp;quot;$(SYSTEM_NSPR)&amp;quot; == &amp;quot;YES&amp;quot;&lt;br /&gt;
+NSPR_INC = /usr/local/include/nspr&lt;br /&gt;
+.ENDIF&lt;br /&gt;
+&lt;br /&gt;
 .IF &amp;quot;$(GUI)&amp;quot;==&amp;quot;UNX&amp;quot;&lt;br /&gt;
 .IF &amp;quot;$(COMNAME)&amp;quot;==&amp;quot;sunpro5&amp;quot;&lt;br /&gt;
 CFLAGS += -features=tmplife&lt;br /&gt;
@@ -121,12 +130,11 @@&lt;br /&gt;
 SOLARINC += \&lt;br /&gt;
  -I$(MOZ_INC) \&lt;br /&gt;
 -I$(NSPR_INC) \&lt;br /&gt;
--I$(PRJ)$/source$/xmlsec&lt;br /&gt;
+-I$(NSS_INC) \&lt;br /&gt;
+-I$(XMLSEC_INC)&lt;br /&gt;
 &lt;br /&gt;
 .IF &amp;quot;$(SYSTEM_MOZILLA)&amp;quot; == &amp;quot;YES&amp;quot;&lt;br /&gt;
-SOLARINC += -DSYSTEM_MOZILLA $(NSS_INC)&lt;br /&gt;
-.ELSE&lt;br /&gt;
-SOLARINC += -I$(NSS_INC)&lt;br /&gt;
+SOLARINC += -DSYSTEM_MOZILLA &lt;br /&gt;
 .ENDIF&lt;br /&gt;
 &lt;br /&gt;
 SLOFILES = \&lt;br /&gt;
--- xmlsecurity/source/xmlsec/makefile.mk.orig	2008-04-10 01:45:40.800153175 +0200&lt;br /&gt;
+++ xmlsecurity/source/xmlsec/makefile.mk	2008-04-10 01:46:02.219673838 +0200&lt;br /&gt;
@@ -53,10 +53,6 @@&lt;br /&gt;
 CDEFS += -DXMLSEC_CRYPTO_MSCRYPTO -DXMLSEC_NO_XSLT&lt;br /&gt;
 .ELSE&lt;br /&gt;
 CDEFS += -DXMLSEC_CRYPTO_NSS -DXMLSEC_NO_XSLT&lt;br /&gt;
-.IF &amp;quot;$(WITH_MOZILLA)&amp;quot; == &amp;quot;NO&amp;quot;&lt;br /&gt;
-@all:&lt;br /&gt;
-	@echo &amp;quot;No mozilla -&amp;gt; no nss -&amp;gt; no libxmlsec -&amp;gt; no xmlsecurity..&amp;quot;&lt;br /&gt;
-.ENDIF&lt;br /&gt;
 .ENDIF&lt;br /&gt;
 &lt;br /&gt;
 # --- Files --------------------------------------------------------&lt;br /&gt;
--- xmlsecurity/prj/build.lst.orig	2008-04-10 01:40:35.017991731 +0200&lt;br /&gt;
+++ xmlsecurity/prj/build.lst	2008-04-10 01:40:57.763482421 +0200&lt;br /&gt;
@@ -1,4 +1,4 @@&lt;br /&gt;
-xs	xmlsecurity	:	xmloff unotools offapi unoil svx MOZ:moz SO:moz_prebuilt LIBXMLSEC:libxmlsec NULL&lt;br /&gt;
+xs	xmlsecurity	:	xmloff unotools offapi unoil svx LIBXMLSEC:libxmlsec NULL&lt;br /&gt;
 xs	xmlsecurity                                                        usr1	 -	all	xs_mkout	NULL&lt;br /&gt;
 xs	xmlsecurity\inc				                                       nmake -	all	xs_inc NULL&lt;br /&gt;
 xs	xmlsecurity\source\framework                                       nmake -	all	xs_fw xs_inc NULL&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Related:&lt;br /&gt;
* {{CWS|systemmozilla|SRC680}}&lt;br /&gt;
* [http://qa.openoffice.org/issues/buglist.cgi?issue_type=DEFECT&amp;amp;issue_type=ENHANCEMENT&amp;amp;issue_type=FEATURE&amp;amp;issue_type=PATCH&amp;amp;issue_status=UNCONFIRMED&amp;amp;issue_status=NEW&amp;amp;issue_status=STARTED&amp;amp;issue_status=REOPENED&amp;amp;issue_status=RESOLVED&amp;amp;email1=&amp;amp;emailtype1=exact&amp;amp;emailassigned_to1=1&amp;amp;email2=&amp;amp;emailtype2=exact&amp;amp;emailreporter2=1&amp;amp;issueidtype=include&amp;amp;issue_id=&amp;amp;changedin=&amp;amp;votes=&amp;amp;chfieldfrom=&amp;amp;chfieldto=&amp;amp;chfieldvalue=&amp;amp;short_desc=mozilla&amp;amp;short_desc_type=allwords&amp;amp;long_desc=&amp;amp;long_desc_type=allwords&amp;amp;issue_file_loc=&amp;amp;issue_file_loc_type=fulltext&amp;amp;status_whiteboard=&amp;amp;status_whiteboard_type=fulltext&amp;amp;keywords=&amp;amp;keywords_type=anytokens&amp;amp;field0-0-0=noop&amp;amp;type0-0-0=noop&amp;amp;value0-0-0=&amp;amp;cmdtype=doit&amp;amp;order=%27%27&amp;amp;Submit+query=Submit+query all isues with mozilla in subject]&lt;br /&gt;
* {{Bug|6391|Mozilla 1.0 does not support concurrent multiple versions using same profile (FIXED)}}&lt;br /&gt;
* {{Bug|8864|Accessing LDAP or Outlook/Express should not activate Mozilla prefs}}&lt;br /&gt;
* {{Bug|65775|update mozilla bootstrap stuff for a recent mozilla API}}&lt;br /&gt;
* {{Bug|81295|Adopt Mac OS X crypto API instead of using Mozilla&amp;#039;s}}&lt;br /&gt;
* [http://go-oo.org/developers/ooo-build/patches/src680/system-xmlsec.diff Patch to use system XmlSec from 2005]&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://www.aleksey.com/xmlsec/news.html XmlSec library]&lt;br /&gt;
* [http://thread.gmane.org/gmane.text.xml.xmlsec/1572 XmlSec 1.2.8 Release Notes - partial NSS support]&lt;br /&gt;
[[Category:Security]][[Category:Digital Signature]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=234571</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=234571"/>
		<updated>2014-03-21T10:31:10Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Changes in detail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort/Completed}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field (left part of the below screen shot). Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;User Field&amp;#039;&amp;#039;&amp;#039; inserted visible in the document is not an Input Field and is not in the scope of the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable (left part of the below screen shot). Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;Simple Variable&amp;#039;&amp;#039;&amp;#039; inserted visible in the document is not an Input Field and as the &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Field&amp;#039;&amp;#039;&amp;#039; is not in the scope of the in-place editing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes to solve {{Bug|33737}} are given in detail. The changes only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;. Thus, the following use of term &amp;lt;nowiki&amp;gt;Input Field&amp;lt;/nowiki&amp;gt; &amp;#039;&amp;#039;&amp;#039;only&amp;#039;&amp;#039;&amp;#039; denotes these two types of Input Fields.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:InputField-cursor-inside-and-outside.png|1000px|center|screen shots showing cursor right before an Input Field and inside an Input Field]]&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Word binary filter (WW8 filter) ====&lt;br /&gt;
In general Input Fields will be exported as Microsoft Word FORMTEXT fields.&amp;lt;br /&amp;gt;&lt;br /&gt;
Exceptions are imported Microsoft Word FILLIN fields - these will be exported as Microsoft Word FILLIN fields unless the Input Field&amp;#039;s help text or tooltip text is filled.&lt;br /&gt;
&lt;br /&gt;
==== Documents in read-only mode ====&lt;br /&gt;
In-place editing of Input Fields is allowed when the document is in read-only mode. This is the same behavior as for text frames or sections for whose option to be editable in read-only mode has been set.&amp;lt;br /&amp;gt;&lt;br /&gt;
Also the field shadings for Input Fields are visible when the document is in read-only mode.&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* Default Formatting while the cursor is inside an Input Field.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* All of the above areas when having a multi-selection.&lt;br /&gt;
* Save and Load of documents containing Input Fields.&lt;br /&gt;
* Exchange of documents containing Input Fields in ODF with previous OpenOffice versions.&lt;br /&gt;
* Exchange of documents containing Input Fields in Microsoft Word binary file format with Microsoft Word.&lt;br /&gt;
* HTML export and import of text documents containing Input Fields - assure no change to previous versions.&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=API/Incompatible_API_changes&amp;diff=234559</id>
		<title>API/Incompatible API changes</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=API/Incompatible_API_changes&amp;diff=234559"/>
		<updated>2014-03-18T10:25:36Z</updated>

		<summary type="html">&lt;p&gt;Od: /* OpenOffice 4.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Incompatible API changes}}&lt;br /&gt;
&lt;br /&gt;
This page gives an overview about incompatible changes of API&amp;#039;s as well configuration data or other relevant data that can have influence on existing macros and/or extensions. The goal is that besides the pure documentation of the change a possible migration path for developers should be documented and should help during the migration to adapt the change in own macros or own extensions. A collaboration of core developers together with macro/extension developers is important for the eco-system around OpenOffice.&lt;br /&gt;
&lt;br /&gt;
== OpenOffice 4.0 ==&lt;br /&gt;
&lt;br /&gt;
[[Category:API]]&lt;br /&gt;
&lt;br /&gt;
see also [[Extensions/Extensions_and_Apache_OpenOffice_4.0]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Product_Release&amp;diff=234544</id>
		<title>Product Release</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Product_Release&amp;diff=234544"/>
		<updated>2014-02-26T13:41:20Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Apache OpenOffice 3.4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apache OpenOffice ==&lt;br /&gt;
&lt;br /&gt;
OpenOffice.org was [http://incubator.apache.org/projects/openofficeorg.html transferred] to the [http://www.apache.org/foundation/ Apache Software Foundation] on June 1st, 2011 and it [https://blogs.apache.org/OOo/entry/openoffice_graduates_from_the_apache became an Apache Top-Level Project] on October 17, 2012.&lt;br /&gt;
&lt;br /&gt;
The development model of the popular productivity suite changed to benefit from the huge experience the Foundation has with managing open source projects.&lt;br /&gt;
&lt;br /&gt;
New releases of the product are accordingly named &amp;#039;&amp;#039;&amp;#039;Apache OpenOffice&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Apache OpenOffice 4.x ===&lt;br /&gt;
&lt;br /&gt;
* [https://blogs.apache.org/OOo/entry/announcing_apache_openoffice_4_0 Apache OpenOffice 4.0.1] (Oct. 1st, 2013)&lt;br /&gt;
* [https://blogs.apache.org/OOo/entry/a_short_celebration_and_then Apache OpenOffice 4.0.0] (Juli 23rd, 2013)&lt;br /&gt;
&lt;br /&gt;
=== Apache OpenOffice 3.4 ===&lt;br /&gt;
&lt;br /&gt;
* [http://blogs.apache.org/OOo/entry/announcing_apache_openoffice_3_41 Apache OpenOffice 3.4.1] (August 23rd, 2012)&lt;br /&gt;
** additional languages Danish, Norwegian, Swedish, Korean, Polish, Basque, Asturian and Scottish Gaelic (January 30th, 2013)&lt;br /&gt;
* [http://ooo-site.staging.apache.org/news/aoo34.html Apache OpenOffice 3.4.0] (May 8th 2012)&lt;br /&gt;
&lt;br /&gt;
== Older Product Releases of OpenOffice.org ==&lt;br /&gt;
&lt;br /&gt;
For release information please see the technical [http://development.openoffice.org/releases/index.html Release Notes] and a detailed [http://www.openoffice.org/dev_docs/features/index.html feature overview].&lt;br /&gt;
&lt;br /&gt;
For a list of uploaded Developer Snapshots and Release Candidates/Releases see the [[Product_Release/builds_uploaded | table of uploaded builds]]. The most recent builds can be downloaded on the [http://download.openoffice.org download webpage].&lt;br /&gt;
&lt;br /&gt;
For guidance on announcing new releases see [[PolicyMirrorLinking]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Released OpenOffice.org 3.x.x ===&lt;br /&gt;
&lt;br /&gt;
* [[OOoRelease33|OpenOffice.org 3.3.0]] (January 26th, 2011)&lt;br /&gt;
* [[OOoRelease321|OpenOffice.org 3.2.1]] (June 4th, 2010)&lt;br /&gt;
* [[OOoRelease32|OpenOffice.org 3.2.0]] (February 11th, 2010)&lt;br /&gt;
* [[OOoRelease311|OpenOffice.org 3.1.1]] (August 31st, 2009)&lt;br /&gt;
* [[OOoRelease31|OpenOffice.org 3.1.0]] (May 7th, 2009)&lt;br /&gt;
* [[OOoRelease301|OpenOffice.org 3.0.1]] (January 27th, 2009)&lt;br /&gt;
* [[OOoRelease30|OpenOffice.org 3.0.0]] (October 13th, 2008)&lt;br /&gt;
&lt;br /&gt;
=== Released OpenOffice.org 2.x.x ===&lt;br /&gt;
&lt;br /&gt;
* [[OOoRelease243|OpenOffice.org 2.4.3]] (September 04th, 2009)&lt;br /&gt;
* [[OOoRelease242|OpenOffice.org 2.4.2]] (October 28th, 2008)&lt;br /&gt;
* [[OOoRelease241|OpenOffice.org 2.4.1]] (June 10th, 2008)&lt;br /&gt;
* [[OOoRelease24|OpenOffice.org 2.4]] (March 27th, 2008)&lt;br /&gt;
* [[OOoRelease231|OpenOffice.org 2.3.1]] (December 4th, 2007)&lt;br /&gt;
* [[OOoRelease23|OpenOffice.org 2.3]] (September 17th, 2007)&lt;br /&gt;
* [[OOoRelease221|OpenOffice.org 2.2.1]] (June 12th, 2007)&lt;br /&gt;
* [[OOoRelease22|OpenOffice.org 2.2]] (March 29th, 2007)&lt;br /&gt;
* [[OOoRelease205|OpenOffice.org 2.1]] (December 12th, 2006)&lt;br /&gt;
* [[OOoRelease204|OpenOffice.org 2.0.4]] (October 13th, 2006)&lt;br /&gt;
* [[OOoRelease203|OpenOffice.org 2.0.3]] (June 29th, 2006)&lt;br /&gt;
* [[OOoRelease202|OpenOffice.org 2.0.2]] (March 8th, 2006)&lt;br /&gt;
* [[OOoRelease201|OpenOffice.org 2.0.1]] (December 21st, 2005)&lt;br /&gt;
* OpenOffice.org 2.0.0 (October 21st, 2005)&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org 1.1 ===&lt;br /&gt;
&lt;br /&gt;
* OpenOffice.org 1.1.5 (September 9th, 2005)&lt;br /&gt;
* OpenOffice.org 1.1.4 (December 22th, 2004)&lt;br /&gt;
* OpenOffice.org 1.1.3 (October 4th, 2004)&lt;br /&gt;
* OpenOffice.org 1.1.2 (June 18th, 2004)&lt;br /&gt;
* OpenOffice.org 1.1.1 &lt;br /&gt;
* OpenOffice.org 1.1.0 (October 1st, 2003)&lt;br /&gt;
&lt;br /&gt;
=== OpenOffice.org 1.0 ===&lt;br /&gt;
&lt;br /&gt;
* OpenOffice.org 1.0.3 (April 10th, 2003)&lt;br /&gt;
* OpenOffice.org 1.0.2 (January 20th, 2003) (tag &amp;quot;OpenOffice_1_0_2&amp;quot;)&lt;br /&gt;
* OpenOffice.org 1.0.1 (July 17th, 2002) (tag &amp;quot;OpenOffice_1_0_1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Older releases can be retrieved via the [ftp://archive.services.openoffice.org/pub/openoffice-archive/stable Archive Server].&lt;br /&gt;
&lt;br /&gt;
[[Category:Releases]]&lt;br /&gt;
[[Category:Quality Assurance]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Building_on_Windows&amp;diff=232877</id>
		<title>Documentation/Building Guide AOO/Building on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Building_on_Windows&amp;diff=232877"/>
		<updated>2014-01-21T08:14:11Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Building Guide AOO TOC&lt;br /&gt;
|ShowNextPage=none&lt;br /&gt;
|ShowPrevPage=none&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{DISPLAYTITLE:Building on Windows}}&lt;br /&gt;
[[Category:Windows]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
&lt;br /&gt;
For general information on how to build Apache OpenOffice from source code, see the [[Documentation/Building_Guide_AOO|platform independent page]].&lt;br /&gt;
&lt;br /&gt;
{{Template:Documentation/Windows|This document explains the platform specific details.}}&lt;br /&gt;
For building Apache OpenOffice the [http://www.cygwin.com Cygwin environment] is required.  Cygwin is a set of programs that run on Windows but emulate a complete Unix command line environment. &lt;br /&gt;
&lt;br /&gt;
As compiler we use Microsoft&amp;#039;s Visual C++ 2008, not the gcc from Cygwin.  Therefore Visual Studio Express/Professional (version 2008 or later) can be used for debugging.&lt;br /&gt;
&lt;br /&gt;
To use this document you should be familiar with a bourne command line interpreter (sh or bash), but you need not be a UNIX shell wizard.&lt;br /&gt;
{{Template:Documentation/Tip|If you have never used a Unix shell, you might want to take a look at the [http://tldp.org/LDP/GNU-Linux-Tools-Summary/html/index.html shell introduction at TLDP].}}&lt;br /&gt;
&lt;br /&gt;
=Build requirements=&lt;br /&gt;
&lt;br /&gt;
Additionally to the [[Documentation/Building Guide AOO#General_Build_Requirements|general build requirements]] you need&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;width: 25%&amp;quot;|What&lt;br /&gt;
! Where to get&lt;br /&gt;
!style=&amp;quot;width: 20%&amp;quot;|How to install&lt;br /&gt;
|-&lt;br /&gt;
| Windows 7 (recommended), Windows Vista, Windows XP&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Cygwin&lt;br /&gt;
| http://www.cygwin.com, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;, minimum version: 1.5.10, preferred: current version]&lt;br /&gt;
&lt;br /&gt;
See [[#Setting up Cywin|below]] for setting up cygwin and the required packages.&lt;br /&gt;
| (default)&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1&lt;br /&gt;
| http://www.microsoft.com/en-us/download/details.aspx?id=3138&lt;br /&gt;
&lt;br /&gt;
It brings the Visual Studio 2008 C++ compiler with it.&lt;br /&gt;
&lt;br /&gt;
This is either a DVD image or a net installer. You can either mount the DVD with a suitable tool, burn it do a DVD or use tools like winrar or 7zip to extract files from the ISO file directly. You don&amp;#039;t need to install samples or documentation (saves a lot of disk space). It will also install the .NET Framework 3.5 SDK.  It might be best to install the Windows SDK into the default directory, and if not that into one without capital letters in the path.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
| vcredist_x86.exe, download found [http://www.microsoft.com/en-us/download/search.aspx?q=Microsoft%20Visual%20C%2b%2b%202008%20Redistributable%20Package&amp;amp;p=0&amp;amp;r=10&amp;amp;t=&amp;amp;s=availabledate~Descending here]&lt;br /&gt;
It is just packed as it is into the installation package.&lt;br /&gt;
&lt;br /&gt;
The exact download URL may have changed. In that case you have to search Microsoft&amp;#039;s website.&lt;br /&gt;
| main/external/vcredist&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft Visual C++ 2008 SP1 Redistributable Package (x64)&lt;br /&gt;
| vcredist_x64.exe, download found [http://www.microsoft.com/en-us/download/search.aspx?q=Microsoft%20Visual%20C%2b%2b%202008%20Redistributable%20Package&amp;amp;p=0&amp;amp;r=10&amp;amp;t=&amp;amp;s=availabledate~Descending here]&lt;br /&gt;
It is just packed as it is into the installation package.&lt;br /&gt;
&lt;br /&gt;
The exact download URL may have changed. In that case you have to search Microsoft&amp;#039;s website.&lt;br /&gt;
| main/external/vcredist&lt;br /&gt;
|-&lt;br /&gt;
| GDI+ Redistributable&lt;br /&gt;
| http://www.microsoft.com/downloads/details.aspx?familyid=6A63AB9C-DF12-4D41-933C-BE590FEAA05A&amp;amp;displaylang=en.  Genuine Windows Validation required.&lt;br /&gt;
| main/external/gdiplus&lt;br /&gt;
|-&lt;br /&gt;
| Runtime libraries 10.0&lt;br /&gt;
| msvcp100.dll and msvcr100.dll for Java 7 support - see issue [https://issues.apache.org/ooo/show_bug.cgi?id=120979 120979].&lt;br /&gt;
Get them from the Microsoft Visual C++ 2010 Redistributable Package (x86) from the Microsoft site - http://www.microsoft.com/en-us/download/search.aspx?q=Microsoft+Visual+C%2b%2b+2010+Redistributable&lt;br /&gt;
| main/external/msvcp100&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| dbghelp.dll&lt;br /&gt;
| http://msdn.microsoft.com/en-us/library/windows/desktop/ms679309%28v=vs.85%29.aspx&lt;br /&gt;
&lt;br /&gt;
The exact download URL may have changed. In that case you have to search Microsoft&amp;#039;s website.&lt;br /&gt;
&lt;br /&gt;
Search for it on your PC or on the web. E.g., it is part of the Windows Driver Kit.&lt;br /&gt;
| main/external/dbghelp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Driver Kit Version 7.1.0&lt;br /&gt;
| http://www.microsoft.com/downloads/details.aspx?id=11800&lt;br /&gt;
&lt;br /&gt;
To enable ATL and ActiveX in the build - it is optional&lt;br /&gt;
&lt;br /&gt;
related configure options are:&lt;br /&gt;
--with-atl-include, --with-atl-lib-dir, --with-mfc-include-dir, --with-mfc-lib-dir&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Microsoft DirectX SDK&lt;br /&gt;
| http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
&lt;br /&gt;
To enable DirectX in the build - it is optional&lt;br /&gt;
&lt;br /&gt;
related configure option is:&lt;br /&gt;
--with-directx-home&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Unicode NSIS, version 2.46.5&lt;br /&gt;
| http://code.google.com/p/unsis/downloads/detail?name=nsis-2.46.5-Unicode-setup.exe&amp;amp;can=2&amp;amp;q= &lt;br /&gt;
&lt;br /&gt;
If Unicode NSIS is available, a self contained Windows installer is created in addition to the MSI installer files - it is optional&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When building Apache OpenOffice 3.4.x or 4.0.x you need to provide some additional binaries:&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Runtime libraries 7.1&lt;br /&gt;
| msvcr71.dll for Mozilla libraries. Search for them on the web or on your PC. These files should be named as all lower case. Sometimes when downloaded they are upper case and this will cause &amp;#039;file not found&amp;#039; errors towards the end of the build))&lt;br /&gt;
| main/external/msvcp71 &lt;br /&gt;
|-&lt;br /&gt;
| Runtime libraries 8.0&lt;br /&gt;
| msvcp80.dll and msvcr80.dll for Mozilla libraries. Search for them on the web or on your PC.&lt;br /&gt;
| main/external/msvcp80&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Remarks=&lt;br /&gt;
&lt;br /&gt;
{{Template:Documentation/Note|OOo uses some Mozilla libraries. Building the corresponding sources is only possible with the VC2003 compiler so you have to use precompiled libraries that require the msvx71 libraries mentioned above. On Windows the Mozilla libraries are needed only for Mozilla address book support. Unfortunately a bug in the module dependencies makes it necessary that the Mozilla libaries are used anyway as otherwise building the module &amp;lt;tt&amp;gt;xmlsecurity&amp;lt;/tt&amp;gt; fails.}}&lt;br /&gt;
&lt;br /&gt;
= Setting up Cygwin =&lt;br /&gt;
&lt;br /&gt;
Go to http://www.cygwin.com/ and download and install the current 32bit version.&lt;br /&gt;
{{Template:Documentation/Caution|Make sure that you keep the filetype set to “Unix/binary”.}}&lt;br /&gt;
{{Template:Documentation/Caution|Make sure that the PATH variable in your cygwin shell does not contain any unquoted blanks and quotes, otherwise configure will not work}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Additional packages for Cygwin to serve the AOO build ===&lt;br /&gt;
&lt;br /&gt;
Cygwin consists of some basic and a lot of optional packages. As building AOO needs some of these optional packages you have to select them in the installer.&lt;br /&gt;
Here&amp;#039;s a complete list of the required packages:&lt;br /&gt;
* Category Archive:&lt;br /&gt;
** unzip&lt;br /&gt;
** zip&lt;br /&gt;
* Category Devel :&lt;br /&gt;
** autoconf&lt;br /&gt;
** bison&lt;br /&gt;
** flex&lt;br /&gt;
** gcc-g++&lt;br /&gt;
** gperf&lt;br /&gt;
** make&lt;br /&gt;
** patch&lt;br /&gt;
** readline&lt;br /&gt;
** subversion (if you want to use svn inside the cygwin shell to checkout and update your working copy of AOO)&lt;br /&gt;
* Category Net&lt;br /&gt;
** openssh&lt;br /&gt;
** openssl&lt;br /&gt;
* Category Perl&lt;br /&gt;
** perl - see [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] for additional Perl modules&lt;br /&gt;
* Category Shells&lt;br /&gt;
** mintty&lt;br /&gt;
* Category Utils&lt;br /&gt;
** gnupg&lt;br /&gt;
* Category Web&lt;br /&gt;
** wget&lt;br /&gt;
&lt;br /&gt;
{{Template:Documentation/Note|The installer will automatically check and download some more packages needed by whose listed here. The whole process takes roughly 20 minutes.}}&lt;br /&gt;
&lt;br /&gt;
=== Breaking links to executable ===&lt;br /&gt;
&lt;br /&gt;
Within the Cygwin Toolkit, some executables might be symlinks: awk.exe and gunzip.exe, tar.exe (in older releases only). This can lead to a break of the build later, and the symlinks should be replaced by copies of the command they link to. &lt;br /&gt;
&lt;br /&gt;
To check this, execute:&lt;br /&gt;
&lt;br /&gt;
 ls -l /bin/awk.exe&lt;br /&gt;
&lt;br /&gt;
whether e.g. awk.exe is a symlink. In version 1.5.24-2 awk.exe is a link to gawk.exe. The shell will show this by putting out “awk.exe -&amp;gt; gawk.exe”. In this case gawk.exe must be copied to awk.exe by executing: &lt;br /&gt;
&lt;br /&gt;
 cd /bin&lt;br /&gt;
 rm awk.exe&lt;br /&gt;
 cp gawk.exe awk.exe&lt;br /&gt;
&lt;br /&gt;
In case you overlook something here or you have a newer Cygwin version with additional symlinks not mentioned here it&amp;#039;s not a problem. You will get a helpful error message about an existing link in the configuration step (configure) later. The message will tell you which link you have to remove and you can do it following the advice given above for the awk.exe/gawk.exe pair.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installing additional perl modules in cygwin ===&lt;br /&gt;
&lt;br /&gt;
As explained some perl modules must be installed with CPAN. The necessary command in the cygwin shell is&lt;br /&gt;
&lt;br /&gt;
 perl -MCPAN -e shell&lt;br /&gt;
&lt;br /&gt;
If this command is executed the first time CPAN will ask for configuration. Choose autoconfiguration. &lt;br /&gt;
&lt;br /&gt;
{{Template:Documentation/Caution|Please note that CPAN is not able to deal with usernames containing spaces. To work around this fact, when CPAN asks you to specify the &amp;#039;&amp;#039;CPAN build and cache directory&amp;#039;&amp;#039;, change the default suggestion to &amp;lt;tt&amp;gt;/cpan&amp;lt;/tt&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
At the end the CPAN shell appeared and is ready to accept commands for installations. Each module is installed by typing &amp;lt;code&amp;gt;install $MODULENAME&amp;lt;/code&amp;gt;. The modules that must be installed are:&lt;br /&gt;
&lt;br /&gt;
* Archive::Zip&lt;br /&gt;
* LWP::UserAgent&lt;br /&gt;
* XML::Parser (though it seems that this is already installed; doesn&amp;#039;t hurt to do it)&lt;br /&gt;
&lt;br /&gt;
CPAN will detect if a selected module depends on other modules and it will offer to download them also. As explained please just confirm this.&lt;br /&gt;
&lt;br /&gt;
{{Template:Documentation/Caution|I got an error message from CPAN somewhat like the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;C:\cygwin\bin\perl.exe: *** unable to remap C:\cygwin\bin\cygiconv-2.dll to same&lt;br /&gt;
address as parent(0x7C0000) != 0x7D0000&amp;lt;/pre&amp;gt;&lt;br /&gt;
To fix this, I had to exit the Cygwin shell, run cmd.exe, then type &amp;quot;c:\cygwin\bin\ash.exe&amp;quot; to start the minimal shell, then type &amp;lt;code&amp;gt;/bin/rebaseall&amp;lt;/code&amp;gt;. Then CPAN worked when I ran it again.}}&lt;br /&gt;
&lt;br /&gt;
= Configure switches (Windows specific) =&lt;br /&gt;
&lt;br /&gt;
Additionally to the general [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configure switches]] there are several that only have to be used on Windows or have Windows specific values.&lt;br /&gt;
&lt;br /&gt;
Typical values for the compiler and SDK. If default installation paths are used these configure switches are not needed:&lt;br /&gt;
  --with-frame-home=&amp;quot;/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.0&amp;quot;&lt;br /&gt;
  --with-psdk-home=&amp;quot;/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.0&amp;quot;&lt;br /&gt;
  --with-midl-path=&amp;quot;/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.0/Bin&amp;quot;&lt;br /&gt;
For DirectX:&lt;br /&gt;
  --with-directx-home=&amp;quot;C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)&amp;quot;&lt;br /&gt;
For ATL and ActiveX:&lt;br /&gt;
  --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71&lt;br /&gt;
  --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386&lt;br /&gt;
  --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42&lt;br /&gt;
  --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&lt;br /&gt;
&lt;br /&gt;
And some more:&lt;br /&gt;
  --enable-pch&lt;br /&gt;
  --enable-dbgutil&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232851</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232851"/>
		<updated>2014-01-16T11:36:51Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort/Completed}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field (left part of the below screen shot). Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;User Field&amp;#039;&amp;#039;&amp;#039; inserted visible in the document is not an Input Field and is not in the scope of the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable (left part of the below screen shot). Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;Simple Variable&amp;#039;&amp;#039;&amp;#039; inserted visible in the document is not an Input Field and as the &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Field&amp;#039;&amp;#039;&amp;#039; is not in the scope of the in-place editing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;. Thus, the following use of term &amp;lt;nowiki&amp;gt;Input Field&amp;lt;/nowiki&amp;gt; denotes these two types of Input Fields.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:InputField-cursor-inside-and-outside.png|1000px|center|screen shots showing cursor right before an Input Field and inside an Input Field]]&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Word binary filter (WW8 filter) ====&lt;br /&gt;
In general Input Fields will be exported as Microsoft Word FORMTEXT fields.&amp;lt;br /&amp;gt;&lt;br /&gt;
Exceptions are imported Microsoft Word FILLIN fields - these will be exported as Microsoft Word FILLIN fields unless the Input Field&amp;#039;s help text or tooltip text is filled.&lt;br /&gt;
&lt;br /&gt;
==== Documents in read-only mode ====&lt;br /&gt;
In-place editing of Input Fields is allowed when the document is in read-only mode. This is the same behavior as for text frames or sections for whose option to be editable in read-only mode has been set.&amp;lt;br /&amp;gt;&lt;br /&gt;
Also the field shadings for Input Fields are visible when the document is in read-only mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* Default Formatting while the cursor is inside an Input Field.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* All of the above areas when having a multi-selection.&lt;br /&gt;
* Save and Load of documents containing Input Fields.&lt;br /&gt;
* Exchange of documents containing Input Fields in ODF with previous OpenOffice versions.&lt;br /&gt;
* Exchange of documents containing Input Fields in Microsoft Word binary file format with Microsoft Word.&lt;br /&gt;
* HTML export and import of text documents containing Input Fields - assure no change to previous versions.&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232850</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232850"/>
		<updated>2014-01-16T11:31:08Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort/Completed}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field (left part of the below screen shot). Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;User Field&amp;#039;&amp;#039;&amp;#039; inserted visible in the document is not an Input Field and is not in the scope of the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;. Thus, the following use of term &amp;lt;nowiki&amp;gt;Input Field&amp;lt;/nowiki&amp;gt; denotes these two types of Input Fields.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:InputField-cursor-inside-and-outside.png|1000px|center|screen shots showing cursor right before an Input Field and inside an Input Field]]&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Word binary filter (WW8 filter) ====&lt;br /&gt;
In general Input Fields will be exported as Microsoft Word FORMTEXT fields.&amp;lt;br /&amp;gt;&lt;br /&gt;
Exceptions are imported Microsoft Word FILLIN fields - these will be exported as Microsoft Word FILLIN fields unless the Input Field&amp;#039;s help text or tooltip text is filled.&lt;br /&gt;
&lt;br /&gt;
==== Documents in read-only mode ====&lt;br /&gt;
In-place editing of Input Fields is allowed when the document is in read-only mode. This is the same behavior as for text frames or sections for whose option to be editable in read-only mode has been set.&amp;lt;br /&amp;gt;&lt;br /&gt;
Also the field shadings for Input Fields are visible when the document is in read-only mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* Default Formatting while the cursor is inside an Input Field.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* All of the above areas when having a multi-selection.&lt;br /&gt;
* Save and Load of documents containing Input Fields.&lt;br /&gt;
* Exchange of documents containing Input Fields in ODF with previous OpenOffice versions.&lt;br /&gt;
* Exchange of documents containing Input Fields in Microsoft Word binary file format with Microsoft Word.&lt;br /&gt;
* HTML export and import of text documents containing Input Fields - assure no change to previous versions.&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/TOC&amp;diff=232687</id>
		<title>Writer/TOC</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/TOC&amp;diff=232687"/>
		<updated>2014-01-08T16:16:53Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&amp;lt;center&amp;gt;Table of Contents Improvements&amp;lt;/center&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;On Path to Vision&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;Author: chengjh/zhengfan(@apache.org)&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Overall Description== &lt;br /&gt;
TOC (Table of Contents) is a significant feature in AOO Writer. Although, it has provided powerful capabilities to benefit end users for productivity, the following areas, especially the fidelity with MS Word, still need improvements. I propose them and put them as the candidates of the next release.&lt;br /&gt;
&lt;br /&gt;
==Descriptions of Main Problems==&lt;br /&gt;
&lt;br /&gt;
== Loading of MS Word TOC ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Binary Format===&lt;br /&gt;
* The TOC data of a MS Word document is not parsed completely. And the actual TOC data is from silently updating once a MS Word Document loaded. Thus, the fidelity can not be ensured especially when the document contents that impact TOC have been changed after creating TOC in MS Word. &lt;br /&gt;
* After TOC has been created in MS Word, and then the paragraphs applied with Heading styles are deleted or applied Heading styles un-applied to the paragraphs that have been collected into TOC. Once such MS Word binary document launched into Apache OpenOffice.org Writer, the TOC will disappear.&lt;br /&gt;
* After TOC has been created in MS Word, and then new paragraphs are applied with Heading styles. Once such MS Word binary document launched into Apache OpenOffice.org Writer,new entries will be added to TOC.&lt;br /&gt;
* The tab between chapter number and TOC entry lost when loading a MS Word document, which leads to different gap between chapter number and TOC entry. That looks different from MS Word.&lt;br /&gt;
====Status====&lt;br /&gt;
&lt;br /&gt;
Ongoing&lt;br /&gt;
&lt;br /&gt;
====Function Specification====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Abstract&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Give a solution for preserving the TOC contents in DOC files, via interpreting corresponding TOC entries data inside the MS Office Word 2003 .DOC binary format file, instead of the current implementation, in which generating the TOC contents via collected heading line information of the main contents inside the DOC files.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Motivation&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The current Apache OpenOffice.org do not preserve the exact TOC entries contents via interpreting the TOC entries contents caches stored inside MS Office Word 2003 DOC format files, but generating TOC entries contents depend on collected heading paragraphs contents after loading whole document main contents. &lt;br /&gt;
&lt;br /&gt;
Such TOC loading strategy inside Apache OpenOffice.org leads 3 main issues show as below:&lt;br /&gt;
&lt;br /&gt;
# Bad fidelity on representing specified type of MS Word DOC. Considering a MS Word DOC in which contains several heading paragraphs and a TOC. If we delete all the main contents except the TOC and save the document, then reopen the file inside MS Word, the TOC would be the exactly the same as before. But if we open it inside the Apache OpenOffice.org, the TOC will be totally empty;&lt;br /&gt;
# The manually created/removed TOC entries contents will be lost; Some users of Word would like to add or remove TOC entries manually after generating TOC inside MS Word. Such manual modifications happens on TOC contents will be representing perfectly inside MS word when reopen the DOC files. But, such manual modifications will be lost when loading the DOC files inside Apache OpenOffice.org;&lt;br /&gt;
# The paragraph/text/field attributes assigned in TOC block will be lost; In some specified TOC generating mode, the paragraph/text/field attributes assigned on a heading paragraph may finally affect the TOC corresponding content entry representing. But in current Apache OpenOffice.org, such type of TOC inside MS Word Document, will be generated follow the standard TOC entries paragraph/text/field formatting;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Detailed Specification&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The original TOC loading process introduction and the improvement of this feature&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In the current Word DOC TOC loading process, there are generally steps of work:&lt;br /&gt;
&lt;br /&gt;
# Verifying the exact position of TOC block in the document;&lt;br /&gt;
# Parsing the TOC field expression and creating the internal TOC model with TOC entries pattern and TOC collecting rules accordingly;&lt;br /&gt;
# Jump over the TOC field representation cache part;&lt;br /&gt;
# Jump over the TOC field representation cache range corresponding paragraph/text/field attributes;&lt;br /&gt;
# Collecting the heading paragraphs while loading the main contents of the document depend on said collecting rules;&lt;br /&gt;
# Generating the TOC entries depend on said TOC entries pattern;&lt;br /&gt;
&lt;br /&gt;
In this MS Word DOC filter improvement focus on TOC contents cache, we will give following strategy changes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;Heading paragraphs collecting step removal, indicate the step 5 above;&amp;lt;/s&amp;gt;&lt;br /&gt;
* TOC generating/updating step removal, indicate the step 6 above;&lt;br /&gt;
* TOC contents cache parsing step addition, expand the step 3 above;&lt;br /&gt;
* TOC contents cache range corresponding paragraph/text/field attributes parsing, expend the step 4 above;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The behavioral difference leads by this improvement&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This section is described by a user scenarios table.&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;#&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Scenario Description&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Comment&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;1&amp;lt;/center&amp;gt;&lt;br /&gt;
| In Apache OpenOffice.org with this improvement, open MS Word DOC document that:&lt;br /&gt;
&lt;br /&gt;
* Has had several heading paragraphs and corresponding generated TOC inside;&lt;br /&gt;
* All the main contents except the TOC are deleted;&lt;br /&gt;
&lt;br /&gt;
Result:&lt;br /&gt;
&lt;br /&gt;
The TOC contents cache preserved;&lt;br /&gt;
| In further specified cases, some modifications may happens to the main contents, but the TOC was not updated before saving. In the current Apache OpenOffice.org, loaded TOC will always keep accordance exactly with the main contents/heading paragraphs. With this feature, we just preserve the TOC contents cache recorded in the DOC document anyway.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;2&amp;lt;/center&amp;gt;&lt;br /&gt;
| In Apache OpenOffice.org with this improvement, open MS Word DOC document that:&lt;br /&gt;
&lt;br /&gt;
* Has a generated TOC inside;&lt;br /&gt;
* The TOC block was modified manually by user, such as inserted new paragraphs, or(and) deleted paragraphs; &lt;br /&gt;
&lt;br /&gt;
Result:&lt;br /&gt;
&lt;br /&gt;
The user manually modifications happened on TOC are preserved;&lt;br /&gt;
| In some special manually modified TOC cases, the TOC formatting result may be not as good as the generated one. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;center&amp;gt;3&amp;lt;/center&amp;gt;&lt;br /&gt;
| In Apache OpenOffice.org with this improvement, open MS Word DOC document that:&lt;br /&gt;
&lt;br /&gt;
* Has several heading paragraphs and special text attributes such as strikethrough line and outline font and font color applied on whole or part of current paragraph;&lt;br /&gt;
* Has a corresponding generated TOC inside;&amp;lt;br/&amp;gt; Result:&amp;lt;br/&amp;gt; The text attributes applied onto TOC entries accordingly;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Impact on Import/Export filters&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Support of the new paragraph style&amp;#039;s List Level attribute in import/export filter for the following file formats:&lt;br /&gt;
&lt;br /&gt;
* Microsoft Word binary format (WW8)&lt;br /&gt;
&lt;br /&gt;
====Design Description====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The brief introduction of TOC in DOC files&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The TOC record in main content stream&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In MS Word 2003 Binary format, TOC was described as nested field, which field expression is “TOC” with external parameters. Same as all the types of field defined in MS Word 2003 binary format, TOC field start with key control word &amp;#039;0x13&amp;#039;, followed with the field expression; After the field expression, if the field has the representing content inside (Toggled the field code off, in MS Word), then there will be an optional key control word &amp;#039;0x14&amp;#039; to separate the field expression and field representation contents. Finally, there will be another key control word &amp;#039;0x15&amp;#039; indicate the termination of the field.&lt;br /&gt;
&lt;br /&gt;
As we described above, the TOC in said format is defined as a nested field, which actually means that each TOC entry inside the representation content of TOC, is composed by some other types of field, such as HYPERLINK field and Page Reference field. In MS Word, if create a TOC with default settings, the created TOC will contain several TOC entries indicate several outline paragraphs inside current document. Each of said entry is actually a hyperlink field append a paragraph break key word &amp;#039;0x0D&amp;#039;. Further more, there will be a PAGEREF type field at the last of HPERLINK field representation content, for representing the page number. Referring to the following tables:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;composition of page reference field inside TOC&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Start&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Field expression&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Separator &amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Field Representation&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;0x13&amp;#039;&lt;br /&gt;
| “PAGEREF”&lt;br /&gt;
| External parameter&lt;br /&gt;
| &amp;#039;0x14&amp;#039;&lt;br /&gt;
| Page Numbering&lt;br /&gt;
| &amp;#039;0x15&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;External Parameter of page reference field would include:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| \h&lt;br /&gt;
| Creates a hyperlink to the bookmarked paragraph.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \p&lt;br /&gt;
| Causes the field to display its position relative to the source&lt;br /&gt;
&lt;br /&gt;
bookmark. If the PAGEREF field is on the same page as the&lt;br /&gt;
&lt;br /&gt;
bookmark, it omits &amp;quot;on page #&amp;quot; and returns &amp;quot;above&amp;quot; or &amp;quot;below&amp;quot;&lt;br /&gt;
&lt;br /&gt;
only. If the PAGEREF field is not on the same page as the&lt;br /&gt;
&lt;br /&gt;
bookmark, the string &amp;quot;on page #&amp;quot; is used.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Composition of hyperlink field inside TOC&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Start&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Field expression&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Separator &amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Field Representation&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;0x13&amp;#039;&lt;br /&gt;
| “HYPERLINK”&lt;br /&gt;
| External parameter&lt;br /&gt;
| &amp;#039;0x14&amp;#039;&lt;br /&gt;
| Common text&lt;br /&gt;
| Page reference field&lt;br /&gt;
| &amp;#039;0x15&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;External Parameter of hyperlink field would include:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| \l &amp;#039;&amp;#039;field-argument&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;text &amp;#039;&amp;#039;in this switch&amp;#039;s &amp;#039;&amp;#039;field-argument &amp;#039;&amp;#039;specifies a location in the file, such as a bookmark, where this hyperlink will jump.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \m&lt;br /&gt;
| Appends coordinates to a hyperlink for a server-side image map.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \n&lt;br /&gt;
| Causes the destination site to be opened in a new window.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \o &amp;#039;&amp;#039;field-argument&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;text &amp;#039;&amp;#039;in this switch&amp;#039;s &amp;#039;&amp;#039;field-argument &amp;#039;&amp;#039;specifies the Screen-Tip text for the hyperlink.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \t &amp;#039;&amp;#039;field-argument&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;text &amp;#039;&amp;#039;in this switch&amp;#039;s &amp;#039;&amp;#039;field-argument &amp;#039;&amp;#039;specifies the target to which the link should be redirected. Use this switch to link from a frames page to a page that you want to appear outside of the frames page.&lt;br /&gt;
&lt;br /&gt;
The permitted values for &amp;#039;&amp;#039;text &amp;#039;&amp;#039;are:&lt;br /&gt;
&lt;br /&gt;
* _top, whole page (the default)&lt;br /&gt;
* _self, same frame&lt;br /&gt;
* _blank, new window&lt;br /&gt;
* _parent, parent frame&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Composition of TOC field&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Start&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Field expression&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Separator &amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Field Representation&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;End&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;0x13&amp;#039;&lt;br /&gt;
| “TOC”&lt;br /&gt;
| External parameter&lt;br /&gt;
| &amp;#039;0x14&amp;#039;&lt;br /&gt;
| TOC entries&lt;br /&gt;
| &amp;#039;0x15&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Composition of TOC entries:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| TOC Entry&lt;br /&gt;
| TOC Entry&lt;br /&gt;
| TOC Entry&lt;br /&gt;
| TOC Entry&lt;br /&gt;
| …...&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Composition of TOC entry:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Hyperlink Field&lt;br /&gt;
| &amp;#039;0x0D&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;External Parameter of TOC field would include:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| \a&amp;#039;&amp;#039; field-argument&amp;#039;&amp;#039;&lt;br /&gt;
| Includes captioned items, but omits caption labels and numbers. The identifier designated by &amp;#039;&amp;#039;text &amp;#039;&amp;#039;in this switch&amp;#039;s &amp;#039;&amp;#039;field-argument &amp;#039;&amp;#039;corresponds to the caption label.&lt;br /&gt;
&lt;br /&gt;
Use \c to build a table of captions with labels and numbers.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \b &amp;#039;&amp;#039;field-argument &amp;#039;&amp;#039;&lt;br /&gt;
| Includes entries only from the portion of the document marked by the bookmark named by &amp;#039;&amp;#039;text &amp;#039;&amp;#039;in this switch&amp;#039;s &amp;#039;&amp;#039;field-argument&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \c &amp;#039;&amp;#039;field-argument&amp;#039;&amp;#039;&lt;br /&gt;
| Includes figures, tables, charts, and other items that are numbered&lt;br /&gt;
&lt;br /&gt;
by a SEQ field. The sequence identifier designated by&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;text &amp;#039;&amp;#039;in this switch&amp;#039;s &amp;#039;&amp;#039;field-argument&amp;#039;&amp;#039;, which corresponds to the&lt;br /&gt;
&lt;br /&gt;
caption label, shall match the identifier in the corresponding SEQ&lt;br /&gt;
&lt;br /&gt;
field.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \d&amp;#039;&amp;#039; field-argument&amp;#039;&amp;#039;&lt;br /&gt;
| When used with \s, the &amp;#039;&amp;#039;text &amp;#039;&amp;#039;in this switch&amp;#039;s &amp;#039;&amp;#039;field-argument &amp;#039;&amp;#039;defines&lt;br /&gt;
&lt;br /&gt;
the separator between sequence and page numbers. The default&lt;br /&gt;
&lt;br /&gt;
separator is a hyphen (-).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \f&amp;#039;&amp;#039; field-argument &amp;#039;&amp;#039;&lt;br /&gt;
| Includes only those TC fields whose identifier exactly matches the&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;text &amp;#039;&amp;#039;in this switch&amp;#039;s &amp;#039;&amp;#039;field-argument &amp;#039;&amp;#039;(which is typically a letter).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \h&lt;br /&gt;
| Makes the table of contents entries hyperlinks.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \l &amp;#039;&amp;#039;field-argument &amp;#039;&amp;#039;&lt;br /&gt;
| Includes TC fields that assign entries to one of the levels specified&lt;br /&gt;
&lt;br /&gt;
by &amp;#039;&amp;#039;text &amp;#039;&amp;#039;in this switch&amp;#039;s &amp;#039;&amp;#039;field-argument &amp;#039;&amp;#039;as a range having the form&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;startLevel&amp;#039;&amp;#039;-&amp;#039;&amp;#039;endLevel&amp;#039;&amp;#039;, where &amp;#039;&amp;#039;startLevel &amp;#039;&amp;#039;and &amp;#039;&amp;#039;endLevel &amp;#039;&amp;#039;are integers,&lt;br /&gt;
&lt;br /&gt;
and &amp;#039;&amp;#039;startLevel &amp;#039;&amp;#039;has a value equal-to or less-than &amp;#039;&amp;#039;endLevel&amp;#039;&amp;#039;. TC fields&lt;br /&gt;
&lt;br /&gt;
that assign entries to lower levels are skipped.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \n &amp;#039;&amp;#039;field-argument&amp;#039;&amp;#039;&lt;br /&gt;
| Without &amp;#039;&amp;#039;field-argument&amp;#039;&amp;#039;, omits page numbers from the table of&lt;br /&gt;
&lt;br /&gt;
contents. Page numbers are omitted from all levels unless a range&lt;br /&gt;
&lt;br /&gt;
of entry levels is specified by &amp;#039;&amp;#039;text &amp;#039;&amp;#039;in this switch&amp;#039;s &amp;#039;&amp;#039;field-argument&amp;#039;&amp;#039;. A&lt;br /&gt;
&lt;br /&gt;
range is specified as for \l.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \o &amp;#039;&amp;#039;field-argument&amp;#039;&amp;#039;&lt;br /&gt;
| Uses paragraphs formatted with all or the specified range of builtin&lt;br /&gt;
&lt;br /&gt;
heading styles. Headings in a style range are specified by &amp;#039;&amp;#039;text &amp;#039;&amp;#039;in&lt;br /&gt;
&lt;br /&gt;
this switch&amp;#039;s &amp;#039;&amp;#039;field-argument &amp;#039;&amp;#039;using the notation specified as for \l,&lt;br /&gt;
&lt;br /&gt;
where each integer corresponds to the style with a style ID of&lt;br /&gt;
&lt;br /&gt;
HeadingX (e.g. 1 corresponds to Heading1). If no heading range is&lt;br /&gt;
&lt;br /&gt;
specified, all heading levels used in the document are listed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \p &amp;#039;&amp;#039;field-argument &amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;text &amp;#039;&amp;#039;in this switch&amp;#039;s &amp;#039;&amp;#039;field-argument &amp;#039;&amp;#039;specifies a sequence of&lt;br /&gt;
&lt;br /&gt;
characters that separate an entry and its page number. The default&lt;br /&gt;
&lt;br /&gt;
is a tab with leader dots.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \s &amp;#039;&amp;#039;field-argument&amp;#039;&amp;#039;&lt;br /&gt;
| For entries numbered with a SEQ field, adds a prefix to&lt;br /&gt;
&lt;br /&gt;
the page number. The prefix depends on the type of entry. &amp;#039;&amp;#039;text &amp;#039;&amp;#039;in&lt;br /&gt;
&lt;br /&gt;
this switch&amp;#039;s &amp;#039;&amp;#039;field-argument &amp;#039;&amp;#039;shall match the identifier in the SEQ&lt;br /&gt;
&lt;br /&gt;
field.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \t &amp;#039;&amp;#039;field-argument&amp;#039;&amp;#039;&lt;br /&gt;
| Uses paragraphs formatted with styles other than the built-in&lt;br /&gt;
&lt;br /&gt;
heading styles. &amp;#039;&amp;#039;text &amp;#039;&amp;#039;in this switch&amp;#039;s &amp;#039;&amp;#039;field-argument &amp;#039;&amp;#039;specifies those&lt;br /&gt;
&lt;br /&gt;
styles as a set of comma-separated doublets, with each doublet&lt;br /&gt;
&lt;br /&gt;
being a comma-separated set of style name and table of content&lt;br /&gt;
&lt;br /&gt;
level. \t can be combined with \o.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \u&lt;br /&gt;
| Uses the applied paragraph outline level.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \w&lt;br /&gt;
| Preserves tab entries within table entries.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \x&lt;br /&gt;
| Preserves newline characters within table entries.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| \z&lt;br /&gt;
| Hides tab leader and page numbers in Web layout view.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The TOC record in PLC stream&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
As we know, MS Word 2003 binary format record SPRMs with corresponding CPs in PLC streams for specified types of properties. All the fields also applying the same data structure, and all the field corresponding field SPRMs are recorded in PLC stream named PLCFLD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The AOO current design of TOC loading&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The current design of loading TOC in MS Word 2003 binary format in AOO, is not a real “LOADING” way, but actually a “GENERATING” way, for the current design of AOO not trying to parse the cached representation contents of TOC field. &lt;br /&gt;
&lt;br /&gt;
After catching the TOC field start key word in main content stream, the current loading design will remark the TOC block position in the document and just parse the TOC field expression and parameters for creating the TOC entry token patterns, and jump over all the cached TOC field representation contents at all. The current loading process will collect all the outline paragraphs with heading paragraph styles or corresponding outline level settings, when performing load of rest part of document, and generate TOC entries depend on the TOC entry tokens patterns one by one. And this mechanism of TOC loading leads the several issues as we already known.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Detailed Design of TOC loading Enhancement&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TOC Cached representation content loading&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For the TOC type field recorded in the main content stream, do no jump the cached representation contents any more. &lt;br /&gt;
&lt;br /&gt;
# In the TOC loading function &amp;#039;&amp;#039;SwWW8ImplReader::Read_F_TOX()&amp;#039;&amp;#039;, return field status as FLD_TEXT, which indicate the rest part of field: representation content should be parsed, instead of FLD_OK, which indicate the rest part of field: representation content should be ignored;&lt;br /&gt;
# In the page reference field loading function &amp;#039;&amp;#039;SwWW8ImplReader::Read_F_PgRef()&amp;#039;&amp;#039;, return field status as FLD_TEXT, which indicate the rest part of field: representation content should be parsed, instead of FLD_OK, which indicate the rest part of field: representation content should be ignored, if current loading page reference field is inside a TOC field;&lt;br /&gt;
# Mark the TOC field and hyperlink field as nestable field types, in the external function &amp;#039;&amp;#039;AcceptableNestedField()&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# When parsing a page reference field inside a TOC field cached representation contents, convert the page reference field representation content as the common text string, for specified interoperability issue of ODF.&lt;br /&gt;
# If there is no hyperlink field inside, convert the page reference field as a hyperlink;&lt;br /&gt;
# In the finial step of field loading process: &amp;#039;&amp;#039;SwWW8ImplReader:: End_Field()&amp;#039;&amp;#039;, give corresponding branch for dealing with TOC field, hyperlink field and page reference field.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TOC entries generating&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For rest part of document loading, do not collecting and generating TOC entries anymore:&lt;br /&gt;
&lt;br /&gt;
# in the TOC loading function &amp;#039;&amp;#039;SwWW8ImplReader::Read_F_TOX(), &amp;#039;&amp;#039;disable the TOC updating flag after parsing the TOC expression; &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TOC block and rest part of document positing&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For the TOC field start step and end step, move the CURRENT insertion position of document;&lt;br /&gt;
&lt;br /&gt;
# in the TOC loading function &amp;#039;&amp;#039;SwWW8ImplReader::Read_F_TOX(), &amp;#039;&amp;#039;move the CURRENT insertion position into the TOC section;&lt;br /&gt;
# in the finial step of field loading process: &amp;#039;&amp;#039;SwWW8ImplReader:: End_Field()&amp;#039;&amp;#039;, move the CURRENT insertion position of document back to the next position of TOC section;&lt;br /&gt;
&lt;br /&gt;
===OOXML Format===&lt;br /&gt;
&lt;br /&gt;
Same with binary file format.&lt;br /&gt;
&lt;br /&gt;
====Status====&lt;br /&gt;
&lt;br /&gt;
Not Started...&lt;br /&gt;
&lt;br /&gt;
==Customized Formats of TOC Entry==&lt;br /&gt;
&lt;br /&gt;
===Binary Format===&lt;br /&gt;
&lt;br /&gt;
The customized character attributes will be lost when loading MS Word TOC created by un-checking &amp;quot;Use hyperlinks instead of page numbers&amp;quot;. To this kind of TOC,the customized character attributes of the target paragraphs can be collected into TOC in MS Word.&lt;br /&gt;
&lt;br /&gt;
====Status====&lt;br /&gt;
&lt;br /&gt;
Not Started&lt;br /&gt;
&lt;br /&gt;
===OOXML Format===&lt;br /&gt;
&lt;br /&gt;
Same with binary file format.&lt;br /&gt;
&lt;br /&gt;
====Status====&lt;br /&gt;
&lt;br /&gt;
Not Started&lt;br /&gt;
&lt;br /&gt;
==Export TOC to MS Word==&lt;br /&gt;
&lt;br /&gt;
===Binary Format===&lt;br /&gt;
&lt;br /&gt;
* Saving MS Word Binary Format Back&lt;br /&gt;
The width of tab between chapter numbering and TOC entry will be changed.&lt;br /&gt;
&lt;br /&gt;
* Saving ODT to MS Word Binary&lt;br /&gt;
The jumping hyperlink info will be lost when exporting odt TOC to MS Word binary TOC.&lt;br /&gt;
&lt;br /&gt;
====Status====&lt;br /&gt;
&lt;br /&gt;
Not Started&lt;br /&gt;
&lt;br /&gt;
===OOXML Format===&lt;br /&gt;
&lt;br /&gt;
====Status====&lt;br /&gt;
&lt;br /&gt;
Not Started&lt;br /&gt;
&lt;br /&gt;
==TOC Jumping with Page Numbers Only==&lt;br /&gt;
&lt;br /&gt;
Jump info will be lost when loading MS Word TOC created by un-checking &amp;quot;Use hyperlinks instead of page numbers&amp;quot;. To this kind of TOC,end users can only press ctrl+mouse to click the page number of the TOC entry for jumping in MS Word.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Not Started&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accessibility==&lt;br /&gt;
&lt;br /&gt;
The current TOC dialog can not meet the accessibility requirements.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Not Started&lt;br /&gt;
&lt;br /&gt;
==Usability==&lt;br /&gt;
&lt;br /&gt;
The current TOC dialog is difficult for end users to understand and use..Most end users can just only create a TOC by default, confusing to customize the attributes and styles.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Not Started,need UX designer..&lt;br /&gt;
&lt;br /&gt;
==Comments==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Writer/Effort/Completed]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232686</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232686"/>
		<updated>2014-01-08T16:16:02Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort/Completed}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;. Thus, the following use of term &amp;lt;nowiki&amp;gt;Input Field&amp;lt;/nowiki&amp;gt; denotes these two types of Input Fields.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:InputField-cursor-inside-and-outside.png|1000px|center|screen shots showing cursor right before an Input Field and inside an Input Field]]&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Word binary filter (WW8 filter) ====&lt;br /&gt;
In general Input Fields will be exported as Microsoft Word FORMTEXT fields.&amp;lt;br /&amp;gt;&lt;br /&gt;
Exceptions are imported Microsoft Word FILLIN fields - these will be exported as Microsoft Word FILLIN fields unless the Input Field&amp;#039;s help text or tooltip text is filled.&lt;br /&gt;
&lt;br /&gt;
==== Documents in read-only mode ====&lt;br /&gt;
In-place editing of Input Fields is allowed when the document is in read-only mode. This is the same behavior as for text frames or sections for whose option to be editable in read-only mode has been set.&amp;lt;br /&amp;gt;&lt;br /&gt;
Also the field shadings for Input Fields are visible when the document is in read-only mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* Default Formatting while the cursor is inside an Input Field.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* All of the above areas when having a multi-selection.&lt;br /&gt;
* Save and Load of documents containing Input Fields.&lt;br /&gt;
* Exchange of documents containing Input Fields in ODF with previous OpenOffice versions.&lt;br /&gt;
* Exchange of documents containing Input Fields in Microsoft Word binary file format with Microsoft Word.&lt;br /&gt;
* HTML export and import of text documents containing Input Fields - assure no change to previous versions.&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Sidebar_for_Developers&amp;diff=232199</id>
		<title>Sidebar for Developers</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Sidebar_for_Developers&amp;diff=232199"/>
		<updated>2013-11-11T13:03:27Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Context Specification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will teach you how to write panels for the sidebar,&lt;br /&gt;
either as extensions or in the core (core means C++ code&lt;br /&gt;
in the OpenOffice source repository). &lt;br /&gt;
&lt;br /&gt;
For a general description of concepts and names please see the main [[sidebar]] page.&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
The sidebar development is finished and part of the 4.0 release.  Here is how it looks:&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:sidebar-2013-04-15.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==General Information==&lt;br /&gt;
&lt;br /&gt;
Some bugzilla meta issues regarding the sidebar:&lt;br /&gt;
&lt;br /&gt;
Original implementation of the sidebar for OpenOffice 4.0: [https://issues.apache.org/ooo/show_bug.cgi?id=121420 121420]&lt;br /&gt;
&lt;br /&gt;
Open bugs for post 4.0: [https://issues.apache.org/ooo/show_bug.cgi?id=122364 122364]&lt;br /&gt;
&lt;br /&gt;
Enhancement ideas and requests: [https://issues.apache.org/ooo/show_bug.cgi?id=122257 122257]&lt;br /&gt;
&lt;br /&gt;
Much of what has to be done to write a new sidebar panel is the same&lt;br /&gt;
for extensions and core.&lt;br /&gt;
&lt;br /&gt;
First you have to decide where and when to show the new panel.&lt;br /&gt;
&lt;br /&gt;
;Where: Panels can be shown in any of the existing decks or in a new deck.  Inside a deck the new panel can be displayed above, below, or in between existing panels.&lt;br /&gt;
;When: The set of visible panels in the property deck changes with the current configuration.  Other decks usually show always the same panel, regardless of the context.  But these are not hardwired rules. New panels can behave differently, when there is a good reason.&lt;br /&gt;
&lt;br /&gt;
The implementation of a panel has only to implement two interfaces:&lt;br /&gt;
&amp;lt;code&amp;gt;css::ui::XUIElement&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;css::ui::XToolPanel&amp;lt;/code&amp;gt;.  &amp;lt;code&amp;gt;The css::ui::XSidebarPanel&amp;lt;/code&amp;gt; interface&lt;br /&gt;
is optional.&lt;br /&gt;
&lt;br /&gt;
Panels are created by factories via the &amp;lt;code&amp;gt;css::ui::XUIElementFactory&amp;lt;/code&amp;gt; interface.&lt;br /&gt;
If you add a panel to the core then you will probably use one of the&lt;br /&gt;
existing panel factories in SVX, SW, SC, or SD.  An extension will&lt;br /&gt;
usually bring its own factory.&lt;br /&gt;
&lt;br /&gt;
There is a description of each deck and each panel in the Sidebar.xcu&lt;br /&gt;
file.  Decks don&amp;#039;t have any implementation per-deck.  They are only&lt;br /&gt;
described by their properties in the XCU file.  Panels have both&lt;br /&gt;
implementation and a XCU description.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Contexts==&lt;br /&gt;
&lt;br /&gt;
The following table shows the association between panels and dialogs for all supported contexts.  It also lists whether panels are initially displayed expanded or collapsed and the uno command to use to open a more detailed dialog.  Applications are abreviated:&lt;br /&gt;
* SC - Calc&lt;br /&gt;
* SD - Draw and Impress&lt;br /&gt;
* SW - Writer&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable sortable&amp;quot;&lt;br /&gt;
!Panel&lt;br /&gt;
!Application&lt;br /&gt;
!Context&lt;br /&gt;
!Initially visible&lt;br /&gt;
!Detail dialog command&lt;br /&gt;
|-&lt;br /&gt;
|Alignment             ||SC||    Auditing              ||yes||   .uno:Hyphenate&lt;br /&gt;
|-&lt;br /&gt;
|Alignment             ||SC||    Cell                  ||yes||   .uno:Hyphenate&lt;br /&gt;
|-&lt;br /&gt;
|Alignment             ||SC||    EditCell              ||yes||   .uno:Hyphenate&lt;br /&gt;
|-&lt;br /&gt;
|Alignment             ||SC||    Pivot                 ||yes||   .uno:Hyphenate&lt;br /&gt;
|-&lt;br /&gt;
|Area                  ||SC||    Draw                  ||yes||   .uno:FormatArea&lt;br /&gt;
|-&lt;br /&gt;
|Area                  ||SD||    3DObject              ||yes||   .uno:FormatArea&lt;br /&gt;
|-&lt;br /&gt;
|Area                  ||SD||    Draw                  ||yes||   .uno:FormatArea&lt;br /&gt;
|-&lt;br /&gt;
|Area                  ||SD||    TextObject            ||no ||   .uno:FormatArea&lt;br /&gt;
|-&lt;br /&gt;
|Area                  ||SW||    Draw                  ||yes||   .uno:FormatArea&lt;br /&gt;
|-&lt;br /&gt;
|Cell Appearance       ||SC||    Auditing              ||yes||   .uno:FormatCellDialog&lt;br /&gt;
|-&lt;br /&gt;
|Cell Appearance       ||SC||    Cell                  ||yes||   .uno:FormatCellDialog&lt;br /&gt;
|-&lt;br /&gt;
|Cell Appearance       ||SC||    Pivot                 ||yes||   .uno:FormatCellDialog&lt;br /&gt;
|-&lt;br /&gt;
|Graphic               ||SC||    Graphic               ||yes||   -none-&lt;br /&gt;
|-&lt;br /&gt;
|Graphic               ||SD||    Graphic               ||yes||   -none-&lt;br /&gt;
|-&lt;br /&gt;
|Graphic               ||SW||    Graphic               ||yes||   -none-&lt;br /&gt;
|-&lt;br /&gt;
|Line                  ||SC||    Draw                  ||yes||   .uno:FormatLine&lt;br /&gt;
|-&lt;br /&gt;
|Line                  ||SC||    Graphic               ||yes||   .uno:FormatLine&lt;br /&gt;
|-&lt;br /&gt;
|Line                  ||SD||    3DObject              ||yes||   .uno:FormatLine&lt;br /&gt;
|-&lt;br /&gt;
|Line                  ||SD||    Draw                  ||yes||   .uno:FormatLine&lt;br /&gt;
|-&lt;br /&gt;
|Line                  ||SD||    Graphic               ||yes||   .uno:FormatLine&lt;br /&gt;
|-&lt;br /&gt;
|Line                  ||SD||    TextObject            ||no ||   .uno:FormatLine&lt;br /&gt;
|-&lt;br /&gt;
|Line                  ||SW||    Draw                  ||yes||   .uno:FormatLine&lt;br /&gt;
|-&lt;br /&gt;
|Number Format         ||SC||    Auditing              ||no ||   .uno:FormatCellDialog&lt;br /&gt;
|-&lt;br /&gt;
|Number Format         ||SC||    Cell                  ||no ||   .uno:FormatCellDialog&lt;br /&gt;
|-&lt;br /&gt;
|Number Format         ||SC||    Pivot                 ||no ||   .uno:FormatCellDialog&lt;br /&gt;
|-&lt;br /&gt;
|Wrap                  ||SW||    Graphic               ||yes||   .uno:ObjectWrapDialog&lt;br /&gt;
|-&lt;br /&gt;
|Wrap                  ||SW||    OLE                   ||yes||   .uno:ObjectWrapDialog&lt;br /&gt;
|-&lt;br /&gt;
|Wrap                  ||SW||    Frame                 ||yes||   .uno:ObjectWrapDialog&lt;br /&gt;
|-&lt;br /&gt;
|Layouts               ||SD||    DrawPage              ||yes||   -none-&lt;br /&gt;
|-&lt;br /&gt;
|Layouts               ||SD||    HandoutPage           ||yes||   -none-&lt;br /&gt;
|-&lt;br /&gt;
|Layouts               ||SD||    NotesPage             ||yes||   -none-&lt;br /&gt;
|-&lt;br /&gt;
|Layouts               ||SD||    SlidesorterPage       ||yes||   -none-&lt;br /&gt;
|-&lt;br /&gt;
|Page                  ||SW||    Table                 ||no ||   .uno:PageDialog&lt;br /&gt;
|-&lt;br /&gt;
|Page                  ||SW||    Text                  ||no ||   .uno:PageDialog&lt;br /&gt;
|-&lt;br /&gt;
|Paragraph             ||SC||    DrawText              ||yes||   .uno:ParagraphDialog&lt;br /&gt;
|-&lt;br /&gt;
|Paragraph             ||SD||    3DObject              ||yes||   .uno:ParagraphDialog&lt;br /&gt;
|-&lt;br /&gt;
|Paragraph             ||SD||    Draw                  ||no ||   .uno:ParagraphDialog&lt;br /&gt;
|-&lt;br /&gt;
|Paragraph             ||SD||    DrawText              ||yes||   .uno:ParagraphDialog&lt;br /&gt;
|-&lt;br /&gt;
|Paragraph             ||SD||    Graphic               ||no ||   .uno:ParagraphDialog&lt;br /&gt;
|-&lt;br /&gt;
|Paragraph             ||SD||    Table                 ||yes||   .uno:ParagraphDialog&lt;br /&gt;
|-&lt;br /&gt;
|Paragraph             ||SD||    TextObject            ||yes||   .uno:ParagraphDialog&lt;br /&gt;
|-&lt;br /&gt;
|Paragraph             ||SW||    Annotation            ||yes||   .uno:ParagraphDialog&lt;br /&gt;
|-&lt;br /&gt;
|Paragraph             ||SW||    DrawText              ||yes||   .uno:ParagraphDialog&lt;br /&gt;
|-&lt;br /&gt;
|Paragraph             ||SW||    Table                 ||yes||   .uno:ParagraphDialog&lt;br /&gt;
|-&lt;br /&gt;
|Paragraph             ||SW||    Text                  ||yes||   .uno:ParagraphDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SC||    Draw                  ||no ||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SC||    Form                  ||yes||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SC||    Graphic               ||no ||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SC||    Media                 ||yes||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SC||    MultiObject           ||yes||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SC||    OLE                   ||yes||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SD||    3DObject              ||yes||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SD||    Draw                  ||no ||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SD||    Form                  ||yes||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SD||    Graphic               ||no ||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SD||    Media                 ||yes||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SD||    MultiObject           ||yes||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SD||    OLE                   ||yes||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SD||    TextObject            ||no ||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SW||    Draw                  ||no ||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SW||    Form                  ||yes||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SW||    Graphic               ||yes||   .uno:GraphicDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SW||    Media                 ||yes||   .uno:TransformDialog&lt;br /&gt;
|-&lt;br /&gt;
|Position and Size     ||SW||    OLE                   ||yes||   .uno:FrameDialog&lt;br /&gt;
|-&lt;br /&gt;
|Table Design          ||SD||    Table                 ||yes||   -none-&lt;br /&gt;
|-&lt;br /&gt;
|Text                  ||SC||    Auditing              ||yes||   .uno:CellTextDlg&lt;br /&gt;
|-&lt;br /&gt;
|Text                  ||SC||    Cell                  ||yes||   .uno:CellTextDlg&lt;br /&gt;
|-&lt;br /&gt;
|Text                  ||SC||    DrawText              ||yes||   .uno:FontDialog&lt;br /&gt;
|-&lt;br /&gt;
|Text                  ||SC||    EditCell              ||yes||   .uno:FontDialog&lt;br /&gt;
|-&lt;br /&gt;
|Text                  ||SC||    Pivot                 ||yes||   .uno:CellTextDlg&lt;br /&gt;
|-&lt;br /&gt;
|Text                  ||SD||    3DObject              ||yes||   .uno:FontDialog&lt;br /&gt;
|-&lt;br /&gt;
|Text                  ||SD||    Draw                  ||no ||   .uno:FontDialog&lt;br /&gt;
|-&lt;br /&gt;
|Text                  ||SD||    DrawText              ||yes||   .uno:FontDialog&lt;br /&gt;
|-&lt;br /&gt;
|Text                  ||SD||    Graphic               ||no ||   .uno:FontDialog&lt;br /&gt;
|-&lt;br /&gt;
|Text                  ||SD||    OutlineTExt           ||yes||   .uno:FontDialog&lt;br /&gt;
|-&lt;br /&gt;
|Text                  ||SD||    Table                 ||yes||   .uno:FontDialog&lt;br /&gt;
|-&lt;br /&gt;
|Text                  ||SD||    Textobj               ||yes||   .uno:FontDialog&lt;br /&gt;
|-&lt;br /&gt;
|Text                  ||SW||    Annotation            ||yes||   .uno:FontDialog&lt;br /&gt;
|-&lt;br /&gt;
|Text                  ||SW||    DrawText              ||yes||   .uno:FontDialog&lt;br /&gt;
|-&lt;br /&gt;
|Text                  ||SW||    Table                 ||yes||   .uno:FontDialog&lt;br /&gt;
|-&lt;br /&gt;
|Text                  ||SW||    Text                  ||yes||   .uno:FontDialog&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There are some simple documents for Writer, Calc and Impress illustrate how switch to any of the contexts:&lt;br /&gt;
*Writer: [[File:Contexts-Writer.odt]]&lt;br /&gt;
*Calc: [http://people.apache.org/~af/sidebar/qa/Contexts-Calc.ods Contexts-Calc.ods]&lt;br /&gt;
*Impress: [http://people.apache.org/~af/sidebar/qa/Contexts-Impress.odp Contexts-Impress.odp]&lt;br /&gt;
&lt;br /&gt;
==Implemenation design==&lt;br /&gt;
&lt;br /&gt;
The UI of the sidebar consists of two major components:&lt;br /&gt;
&lt;br /&gt;
*The buttons in the vertical tab bar on the right switch manually between sidebar decks.&lt;br /&gt;
*The content area contains a two-tier hierarchy of deck and content panels. There is one deck visible at any one time. It contains one or more content panels. A content panel can be displayed expanded or collapsed. &lt;br /&gt;
&lt;br /&gt;
The visible deck and content panels depend on the current context.  Each context change may result in replacing one set of visible panels with another or changing the whole deck.  A context consists of two strings:&lt;br /&gt;
*The id of the current application (like &amp;lt;code&amp;gt;com.sun.star.text.TextDocument&amp;lt;/code&amp;gt; for Writer).&lt;br /&gt;
*The name of the actual context (like &amp;lt;code&amp;gt;Text&amp;lt;/code&amp;gt; for text editing, &amp;lt;code&amp;gt;Table&amp;lt;/code&amp;gt; for editing table content, or &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt; for the default context)&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
What makes up a context depends on the application.  For example &amp;lt;code&amp;gt;Text&amp;lt;/code&amp;gt; is the default context for Writer but in Impress you have to select a text object to enter that context.&lt;br /&gt;
&lt;br /&gt;
====Context change notification====&lt;br /&gt;
Context changes are broadcast office wide via the &amp;lt;code&amp;gt;com::sun::star::ui::ContextChangeEventMultiplexer&amp;lt;/code&amp;gt; singleton service and &amp;lt;code&amp;gt;com::sun::star::ui::XContextChangeEventMultiplexer&amp;lt;/code&amp;gt; interface.  In order to restrict the communication to one application window there exists the concept of the event focus.  When you register as context change event listener or broadcast a change notification then you pass a event focus object.  Only when listener and broadcaster use the same event focus object then the notification will pass from broadcaster to listener.  Typically the event focus object is the controller of the application.&lt;br /&gt;
&lt;br /&gt;
To make life easier for developers there exists the &amp;lt;code&amp;gt;svx::sidebar::ContextChangeEventMultiplexer&amp;lt;/code&amp;gt; frontend that&lt;br /&gt;
- figures out the application name and event focus from either a given &amp;lt;code&amp;gt;frame::XController&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;SfxViewShell&amp;lt;/code&amp;gt; object.&lt;br /&gt;
- accepts only enum values from &amp;lt;code&amp;gt;sfx2::sidebar::EnumContext::Context&amp;lt;/code&amp;gt; to prevent typos in context names to not correctly deliver context change events.&lt;br /&gt;
&lt;br /&gt;
On the receiving side of context change events there is the &amp;lt;code&amp;gt;sfx2::sidebar::SidebarPanelBase&amp;lt;/code&amp;gt; base class for panel implementations.  Let your panel implement the &amp;lt;code&amp;gt;sfx2::sidebar::IContextChangeReceiver&amp;lt;/code&amp;gt; interface, use SidebarPanelBase (which probably needs a better name) as glue code between the sidebar framework and your panel and context change events will be delivered to you via the &amp;lt;code&amp;gt;IContextChangeReceiver::HandleContextChange()&amp;lt;/code&amp;gt; method.  Not all panels need to be informed about context changes.  For many it is enough that they are activated for some contexts and deactivated for others.&lt;br /&gt;
              &lt;br /&gt;
====Forced context changes====&lt;br /&gt;
By default the property deck is displayed.  The user can switch between decks by clicking on buttons in the tab bar.  This will result in the forced notification of a context change.&lt;br /&gt;
&lt;br /&gt;
===Defining the set of decks and panels===&lt;br /&gt;
Apart from the actual implementation the sidebar framework needs to know which decks and panels exists, which panels are to be displayed in each deck and for what configuration to display each deck and panel.&lt;br /&gt;
&lt;br /&gt;
The configuration files &amp;lt;code&amp;gt;Sidebar.xcs&amp;lt;/code&amp;gt; (schema) and &amp;lt;code&amp;gt;Sidebar.xcu&amp;lt;/code&amp;gt; (data) can be found in the &amp;lt;code&amp;gt;main/officecfg&amp;lt;/code&amp;gt; module.  They describe a list of decks and a list of panels.&lt;br /&gt;
&lt;br /&gt;
====Decks====&lt;br /&gt;
Each deck has&lt;br /&gt;
*a unique id (&amp;quot;Id&amp;quot;) which is referenced by panels that are to be displayed in the deck&lt;br /&gt;
*a localized title (&amp;quot;Title&amp;quot;) for display in the deck title bar&lt;br /&gt;
*two URLs for the icon in the tab bar, one (&amp;quot;IconURL&amp;quot;) is the default icon, the other (&amp;quot;HighContrastIconURL&amp;quot;) is used when high contrast mode is active&lt;br /&gt;
*an integer number (&amp;quot;OrderIndex&amp;quot;) that describes the order in which deck icons are displayed in the tab bar; higher values result in locations farther down.&lt;br /&gt;
*a string list of context descriptions (&amp;quot;ContextList&amp;quot;) that specify for which contexts to display the deck; see more details about this in one of the next sections.&lt;br /&gt;
&lt;br /&gt;
====Panels====&lt;br /&gt;
&lt;br /&gt;
Each panel has&lt;br /&gt;
*a unique id (&amp;quot;DeckId&amp;quot;) which references a deck by its &amp;quot;Id&amp;quot; field; the panel will only be displayed in the referenced deck&lt;br /&gt;
*a localized title (&amp;quot;Title&amp;quot;) for display in the deck title bar&lt;br /&gt;
*a flag (&amp;quot;TitleBarIsOptional&amp;quot;) that indicates whether the title bar can be omitted when the panel is the only one in the deck&lt;br /&gt;
*a command name (&amp;quot;DefaultMenuCommand&amp;quot;) for opening a dialog with more detailed options (eg. &amp;quot;.uno:FormatArea&amp;quot;); when no command is given then no menu icon will be displayed in the panel title bar&lt;br /&gt;
*an integer number (&amp;quot;OrderIndex&amp;quot;) that describes the order in which panels are placed in their deck; higher values result in locations farther down.&lt;br /&gt;
*a string list of context descriptions (&amp;quot;ContextList&amp;quot;) that specify for which contexts to display the deck.  See more details about this in the the next section.&lt;br /&gt;
*a URL for specifying the implementation (&amp;quot;ImplementationURL&amp;quot;) like &amp;lt;code&amp;gt;private:resource/toolpanel/SvxPanelFactory/AreaPropertyPanel&amp;lt;/code&amp;gt;.&lt;br /&gt;
    &lt;br /&gt;
====Context Specification====&lt;br /&gt;
The &amp;quot;ContextList&amp;quot; properties of both decks and panels have basically a table form that is evaluated after each context change.  If one of its rows matches the new context then deck or panel is displayed.&lt;br /&gt;
&lt;br /&gt;
Rows are really separated by semicolons (or whatever you specify in the opening &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; tag).  Formatting them into rows just makes reading their content easier.  Each row contains three or four values which are separated by commas.  Leading and trailing spaces are ignored.&lt;br /&gt;
&lt;br /&gt;
Columns are:&lt;br /&gt;
;Application name:&lt;br /&gt;
This can be the full application name as returned by &amp;lt;code&amp;gt;frame.ModuleManager&amp;lt;/code&amp;gt; but to increase readability shorter names can also be used.  There is a special name, &amp;lt;code&amp;gt;DrawImpress&amp;lt;/code&amp;gt; for the common case that decks and panels are handled exactly  the same in Draw and Impress.  Similarily &amp;lt;code&amp;gt;WriterVariants&amp;lt;/code&amp;gt; covers the applications Writer, Writer Globaldocument, Writer/Web, Writer Form Document, Writer Form Design Document and Writer Report Design Document.&lt;br /&gt;
Recognized values are:&lt;br /&gt;
 com.sun.star.text.TextDocument&lt;br /&gt;
 com.sun.star.text.GlobalDocument&lt;br /&gt;
 com.sun.star.text.WebDocument&lt;br /&gt;
 com.sun.star.xforms.XMLFormDocument&lt;br /&gt;
 com.sun.star.sdb.FormDesign&lt;br /&gt;
 com.sun.star.sdb.TextReportDesign&lt;br /&gt;
 com.sun.star.sheet.SpreadsheetDocument&lt;br /&gt;
 com.sun.star.presentation.PresentationDocument&lt;br /&gt;
 com.sun.star.drawing.DrawingDocument&lt;br /&gt;
&lt;br /&gt;
 Writer&lt;br /&gt;
 WriterGlobal&lt;br /&gt;
 WriterWeb&lt;br /&gt;
 WriterXML&lt;br /&gt;
 WriterForm&lt;br /&gt;
 WriterReport&lt;br /&gt;
 Calc&lt;br /&gt;
 Impress&lt;br /&gt;
 Draw&lt;br /&gt;
   &lt;br /&gt;
 DrawImpress&lt;br /&gt;
 WriterVariants&lt;br /&gt;
 any&lt;br /&gt;
 none&lt;br /&gt;
Most of these are self explanatory.  &amp;lt;code&amp;gt;DrawImpress&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WriterAndWeb&amp;lt;/code&amp;gt; have been explained above.  &amp;lt;code&amp;gt;any&amp;lt;/code&amp;gt; matches any application while &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt; matches no application.  Use &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt; to disable deck or panel temporarily during development.&lt;br /&gt;
;Context name:&lt;br /&gt;
Recognized values are &amp;lt;code&amp;gt;3DObject&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Annotation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Auditing&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Cell&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Chart&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Draw&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DrawPage&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DrawText&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;EditCell&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Form&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Frame&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Graphic&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;HandoutPage&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MasterPage&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Media&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Multiobj&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OLE&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OutlineText&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Pivot&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SlidesorterPage&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Table&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Text&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TextObject&amp;lt;/code&amp;gt;.&lt;br /&gt;
It is, however, possible to invent your own context names.&lt;br /&gt;
The special value &amp;lt;code&amp;gt;any&amp;lt;/code&amp;gt; matches any context name.&lt;br /&gt;
;Initial state:&lt;br /&gt;
Can be either &amp;lt;code&amp;gt;visible&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;hidden&amp;lt;/code&amp;gt;.&lt;br /&gt;
For decks this state decides whether the deck is initially enabled or disabled.  You can change this state at runtime via the top button in the sidebar tab bar.&lt;br /&gt;
For panels this state controls whether the panel is initially expanded or collapsed.  Click on the panel title bar to toggle this state.&lt;br /&gt;
;Menu command override:&lt;br /&gt;
This optional value is only used for panels.  It overrides the &amp;quot;DefaultMenuCommand&amp;quot; for the panel.&lt;br /&gt;
&lt;br /&gt;
Here is an example for the &amp;quot;Area&amp;quot; property panel:&lt;br /&gt;
    &amp;lt;prop oor:name=&amp;quot;ContextList&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;value oor:separator=&amp;quot;;&amp;quot;&amp;gt;&lt;br /&gt;
            Calc,        Draw,       visible ;&lt;br /&gt;
            DrawImpress, 3DObject,   visible ;&lt;br /&gt;
            DrawImpress, Draw,       visible ;&lt;br /&gt;
            DrawImpress, TextObject, hidden  ;&lt;br /&gt;
            Writer,      Draw,       visible ;&lt;br /&gt;
        &amp;lt;/value&amp;gt;&lt;br /&gt;
    &amp;lt;/prop&amp;gt;&lt;br /&gt;
The panel will be displayed for the &amp;quot;Draw&amp;quot; context for all applications.  For Draw and Impress it will also be shown for contexts &amp;quot;3DObject&amp;quot; and &amp;quot;TextObject&amp;quot;.  The panel will be initially expanded except for the &amp;quot;TextObject&amp;quot; context for Draw and Impress.  For this context it will be initially collapsed.&lt;br /&gt;
&lt;br /&gt;
===Legacy addons===&lt;br /&gt;
Legacy addons are find in the application specific WindowState configuration files and instaniated via the existing ui::UIElementFactoryManager infrastructure is used.&lt;br /&gt;
5.3 Sidebar&lt;br /&gt;
&lt;br /&gt;
==Panel via extension==&lt;br /&gt;
&lt;br /&gt;
Here are detailed information about what to do to write an extension&lt;br /&gt;
that provides new decks and panels.  Writing the actual extension is&lt;br /&gt;
described elsewhere and not described in detail here.&lt;br /&gt;
&lt;br /&gt;
Here is a checklist of what an extension has to bring:&lt;br /&gt;
&lt;br /&gt;
*A Sidebar.xcu snippet that will be merged in the global Sidebar.xcu file on extension registration .  It describes the decks and panels that are provided by the extension.&lt;br /&gt;
* A Factories.xcu snippet that will be merged into the global Factories.xcu file on extension registration.  It describes the factory that creates the new panels.&lt;br /&gt;
* Implementation of the new panels.&lt;br /&gt;
* Implementation of the new panel factory.&lt;br /&gt;
* Optional: if your extension brings its own UNO commands then you have to supply your own protocol handler.  This requires a ProtocolHandler.xcu snippet and an implementation of the XDispatchProvider interface.&lt;br /&gt;
* Implementation of the __writeRegistryServiceInfo() and __getServiceFactory() methods for registering and creation of the panel factory and protocol handler.&lt;br /&gt;
* A manifest.xml file that lists the files that the extension provides and that have to be deployed when the extension is installed.&lt;br /&gt;
* A description.xml file that provides general properties about the extension such as name, version, supported platforms, minimal OpenOffice version, and about you, the author/publisher.&lt;br /&gt;
&lt;br /&gt;
That may sound like more than it really is.  The demo extension that is described below has a total of 15 source files (10 Java files, 3 XCU files, 2 XML files).&lt;br /&gt;
&lt;br /&gt;
===Example: Analog Clock Extension===&lt;br /&gt;
Let&amp;#039;s see how this looks in a real (but simple) demo extension.  The extension provides a new &amp;quot;Tools&amp;quot; deck and one panel.  The panel is shown in the new deck and displays the current time as analog clock. It does that by using a canvas, that is provided by the sidebar framework.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:analog-clock-screenshot.png]]&lt;br /&gt;
&lt;br /&gt;
You can find the source code as Eclipse project [http://people.apache.org/~af/clock/AnalogClock.zip here] and the extension [http://people.apache.org/~af/clock/AnalogClock.oxt here].&lt;br /&gt;
&lt;br /&gt;
====Files====&lt;br /&gt;
This section only shows the important or interesting parts of source code files.  The full source and the extension can be found elsewhere.&lt;br /&gt;
&lt;br /&gt;
=====Sidebar.xcu=====&lt;br /&gt;
&lt;br /&gt;
The Sidebar.xcu file has two entries.  The one for the new &amp;quot;Tools&amp;quot;&lt;br /&gt;
deck looks like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;node oor:name=&amp;quot;ToolsDeck&amp;quot; oor:op=&amp;quot;replace&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;prop oor:name=&amp;quot;Title&amp;quot; oor:type=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;value xml:lang=&amp;quot;en-US&amp;quot;&amp;gt;Tools&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/prop&amp;gt;&lt;br /&gt;
        &amp;lt;prop oor:name=&amp;quot;Id&amp;quot; oor:type=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;value&amp;gt;ToolsDeck&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/prop&amp;gt;&lt;br /&gt;
        &amp;lt;prop oor:name=&amp;quot;IconURL&amp;quot; oor:type=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;value&amp;gt;vnd.sun.star.extension://org.apache.openoffice.sidebar.AnalogClock/icons/tools-large.png&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/prop&amp;gt;&lt;br /&gt;
        &amp;lt;prop oor:name=&amp;quot;ContextList&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;value oor:separator=&amp;quot;;&amp;quot;&amp;gt;&lt;br /&gt;
                any, any, visible ;&lt;br /&gt;
           &amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/prop&amp;gt;&lt;br /&gt;
    &amp;lt;/node&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The name of the outer node, &amp;quot;ToolsDeck&amp;quot; in this case, can be any string.  The only constraint is, that it has to be unique among the&lt;br /&gt;
deck nodes.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Id&amp;quot; property is referenced by the panel below.  It could also be referenced by panels from other extensions.  This tools&lt;br /&gt;
deck could be the deck for a whole family of panels that come from more than one extensions.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;IconURL&amp;quot; property defines the icon to use in the tab bar for the button that switches to the &amp;quot;Tools&amp;quot; deck.  The value has three parts. The firs part is the protocol for files that are provided by an extension: &amp;quot;vnd.sun.star.extension://&amp;quot;.  The second part is the name of the extension as defined in the description.xml file.  The third part is the relative path of where the icon can be found.  That means that the OXT extension file has an entry &amp;quot;icons/tools-large.png&amp;quot;. When the extension is registered, this file is copied to somewhere inside the user part of the OpenOffice file system.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;ContextList&amp;quot; property will be explained below.  The panel description has the exact same property.&lt;br /&gt;
&lt;br /&gt;
The second entry in the Sidebar.xcu file describes the new panel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;node oor:name=&amp;quot;AnalogClockPanel&amp;quot; oor:op=&amp;quot;replace&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;prop oor:name=&amp;quot;Title&amp;quot; oor:type=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;value xml:lang=&amp;quot;en-US&amp;quot;&amp;gt;Analog Clock&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/prop&amp;gt;&lt;br /&gt;
        &amp;lt;prop oor:name=&amp;quot;Id&amp;quot; oor:type=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;value&amp;gt;AnalogClockPanel&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/prop&amp;gt;&lt;br /&gt;
        &amp;lt;prop oor:name=&amp;quot;DeckId&amp;quot; oor:type=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;value&amp;gt;ToolsDeck&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/prop&amp;gt;&lt;br /&gt;
        &amp;lt;prop oor:name=&amp;quot;ContextList&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;value oor:separator=&amp;quot;;&amp;quot;&amp;gt;&lt;br /&gt;
                any, any, visible ;&lt;br /&gt;
            &amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/prop&amp;gt;&lt;br /&gt;
        &amp;lt;prop oor:name=&amp;quot;ImplementationURL&amp;quot; oor:type=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;value&amp;gt;private:resource/toolpanel/AnalogClockPanelFactory/AnalogClockPanel&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/prop&amp;gt;&lt;br /&gt;
        &amp;lt;prop oor:name=&amp;quot;OrderIndex&amp;quot; oor:type=&amp;quot;xs:int&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;value&amp;gt;100&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/prop&amp;gt;&lt;br /&gt;
        &amp;lt;prop oor:name=&amp;quot;WantsCanvas&amp;quot; oor:type=&amp;quot;xs:boolean&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;value&amp;gt;true&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/prop&amp;gt;&lt;br /&gt;
        &amp;lt;prop oor:name=&amp;quot;DefaultMenuCommand&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;value&amp;gt;org.apache.openoffice.sidebar:ShowAnalogClockOptionsDialog&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/prop&amp;gt;&lt;br /&gt;
    &amp;lt;/node&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Again, the node name &amp;quot;AnalogClockPanel&amp;quot; is an arbitrary string that only has to be unique, this time among the node names for all panels, not just the ones provided by the extension.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Id&amp;quot; property is a unique name that is used internally in the sidebar framework.  It is not referenced from any XCU file.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;DeckId&amp;quot; property references the &amp;quot;Id&amp;quot; property of the deck that was defined above.  Therefore it has the same value: &amp;quot;ToolsDeck&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The value of the &amp;quot;ContextList&amp;quot; property defines when to show the panel.  Its value consists of one or more lines separated by semicolons.  The choice of separator string and the notation of using separate lines are conventions that increase readability.  Each line can have three or four, comma separated values.  This separator is hard-coded and not a convention.  The values are: application name, context name, whether or not the panel is expanded by default.  More on this and the optional fourth value can be found [[http://wiki.openoffice.org/wiki/Sidebar#Panels_and_Decks|here]].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;ImplementationURL&amp;quot; property tells the sidebar framework where to find the service that implements the panel.  It has three parts: The prefix &amp;quot;private:resource/toolpanel&amp;quot; is required by the XUIElementFactory and the framework that manages these factories. The second part &amp;quot;AnalogClockPanelFactory&amp;quot; is the name of the ui element factory as defined by the &amp;quot;Name&amp;quot; property in the Factories.xcu file.  The third part &amp;quot;AnalogClockPanel&amp;quot; is interpreted by the factory itself and can be freely chosen.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;OrderIndex&amp;quot; property defines an index that is used to sort panels that are displayed in a deck.  Smaller values lead to positions higher up, larger values lead to positions further down.  The standard sidebar panels start with a value of 100 and increase in steps of 100.  This allows other panels to go before or in between.&lt;br /&gt;
&lt;br /&gt;
The value of the &amp;quot;WantsCanvas&amp;quot; property defaults to &amp;quot;false&amp;quot; and all standard panels use this default.  In our case, however, we set it to &amp;quot;true&amp;quot; because we want to paint into our panel with a canvas.  This property is interpreted by the sidebar framework and causes a canvas object being setup and passed to the panel factory when the panel is created.  This feature is experimental but only uses standard techniques.&lt;br /&gt;
&lt;br /&gt;
With the &amp;quot;DefaultMenuCommand&amp;quot; property we define the command that is dispatched when the user clicks on the &amp;quot;More Options&amp;quot; button in the panel title bar.  We can not define a command in the usual &amp;quot;.uno:&amp;lt;command-name&amp;gt;&amp;quot; syntax and have to resort to commands provided by a new protocol handler.  Therefore the syntax of the command looks a bit unfamiliar: &amp;quot;org.apache.openoffice.sidebar:ShowAnalogClockOptionsDialog&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=====Factories.xcu=====&lt;br /&gt;
&lt;br /&gt;
The panel factory is registered with this XCU snippet:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;node oor:name=&amp;quot;WorkbenchPanelFactory&amp;quot; oor:op=&amp;quot;replace&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;prop oor:name=&amp;quot;Type&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;value&amp;gt;toolpanel&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/prop&amp;gt;&lt;br /&gt;
        &amp;lt;prop oor:name=&amp;quot;Name&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;value&amp;gt;AnalogClockPanelFactory&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/prop&amp;gt;&lt;br /&gt;
            &amp;lt;prop oor:name=&amp;quot;Module&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;value/&amp;gt;&lt;br /&gt;
        &amp;lt;/prop&amp;gt;&lt;br /&gt;
        &amp;lt;prop oor:name=&amp;quot;FactoryImplementation&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;value&amp;gt;org.apache.openoffice.sidebar.AnalogClockPanelFactory&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/prop&amp;gt;&lt;br /&gt;
    &amp;lt;/node&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The &amp;quot;Type&amp;quot; property has to have the &amp;quot;toolpanel&amp;quot; value.&lt;br /&gt;
&lt;br /&gt;
We can chose the &amp;quot;Name&amp;quot; property as we like.  It just has to be identical to the middle part in the &amp;quot;ImplementationURL&amp;quot; value for the new panel.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Module&amp;quot; property remains empty.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;FactoryImplementation&amp;quot; property defines the service name of the implementation of the panel factory.  It can be chosen freely but has to be identical to what the panel factory says its service name is. This service name does not have to be an &amp;#039;official&amp;#039; service name with a service description in offapi or, in our case, a service description provided by the extension.  But an explicit service description is a good thing for a real-life extension.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====ProtocolHandler.xcu=====&lt;br /&gt;
&lt;br /&gt;
To define the command that opens the options dialog we have these lines:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;node oor:name=&amp;quot;org.apache.openoffice.sidebar.ProtocolHandler&amp;quot; oor:op=&amp;quot;replace&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;prop oor:name=&amp;quot;Protocols&amp;quot; oor:type=&amp;quot;oor:string-list&amp;quot;&amp;gt;&lt;br /&gt;
      	    &amp;lt;value&amp;gt;org.apache.openoffice.sidebar*&amp;lt;/value&amp;gt;&lt;br /&gt;
      	&amp;lt;/prop&amp;gt;&lt;br /&gt;
    &amp;lt;/node&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In contrast to node names used in Sidebar.xcu this node name is used to find the protocol handler.  It is the service name of our new protocol handler class.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Protocols&amp;quot; property defines the command prefix that all our commands have to have.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====manifest.xml=====&lt;br /&gt;
&lt;br /&gt;
The manifest of the extension (the java archive has its own manifest, more on this later) looks like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
        &amp;lt;manifest:manifest xmlns:manifest=&amp;quot;http://openoffice.org/2001/manifest&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;manifest:file-entry&lt;br /&gt;
            manifest:media-type=&amp;quot;application/vnd.sun.star.uno-component;type=Java&amp;quot;&lt;br /&gt;
            manifest:full-path=&amp;quot;AnalogClock.jar&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;manifest:file-entry&lt;br /&gt;
            manifest:media-type=&amp;quot;application/vnd.sun.star.configuration-data&amp;quot;&lt;br /&gt;
            manifest:full-path=&amp;quot;registry/data/org/openoffice/Office/UI/Factories.xcu&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;manifest:file-entry&lt;br /&gt;
            manifest:media-type=&amp;quot;application/vnd.sun.star.configuration-data&amp;quot;&lt;br /&gt;
            manifest:full-path=&amp;quot;registry/data/org/openoffice/Office/UI/Sidebar.xcu&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;manifest:file-entry&lt;br /&gt;
            manifest:media-type=&amp;quot;application/vnd.sun.star.configuration-data&amp;quot;&lt;br /&gt;
            manifest:full-path=&amp;quot;registry/ProtocolHandler.xcu&amp;quot; /&amp;gt; &lt;br /&gt;
    &amp;lt;/manifest:manifest&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
It tells the extension manager that the three XCU files that we have seen above have to be merged into their global counterparts. Additionally our extension brings one JAR file that contains the actual implementation: &amp;quot;AnalogClock.jar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====description.xml=====&lt;br /&gt;
&lt;br /&gt;
This is the description of the extension:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;identifier value=&amp;quot;org.apache.openoffice.sidebar.AnalogClock&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;version value=&amp;quot;1.0&amp;quot; /&amp;gt;      &amp;lt;dependencies&amp;gt;&lt;br /&gt;
    &amp;lt;OpenOffice.org-minimal-version value=&amp;quot;4.0&amp;quot; d:name=&amp;quot;Apache OpenOffice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
  &amp;lt;publisher&amp;gt;&lt;br /&gt;
      &amp;lt;name xlink:href=&amp;quot;http://www.openoffice.org&amp;quot; lang=&amp;quot;en&amp;quot;&amp;gt;Apache Software Foundation&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;/publisher&amp;gt;&lt;br /&gt;
  &amp;lt;display-name&amp;gt;&lt;br /&gt;
    &amp;lt;name lang=&amp;quot;en&amp;quot;&amp;gt;Analog Clock for Sidebar&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;/display-name&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The &amp;quot;identifier&amp;quot; property is referenced by the &amp;quot;IconURL&amp;quot; property of our panel description in Sidebar.xcu.  It is an arbitrary name that is chosen by the extension author.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;version&amp;quot; property tells you that this is the first version of the extension.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;OpenOffice.org-minimal-version&amp;quot; property in the &amp;quot;dependencies&amp;quot; section makes sure that the extension can not be installed in older versions of OpenOffice.  Version 4.0 is the first one with support for the sidebar.&lt;br /&gt;
&lt;br /&gt;
Both the &amp;quot;publisher&amp;quot; property and the &amp;quot;display-name&amp;quot; property are used in the extension manager dialog to represent the extension.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Classes====&lt;br /&gt;
&lt;br /&gt;
The largest part of the implementation is about generic extension functionality.  Here is an overview of the classes in the extension:&lt;br /&gt;
&lt;br /&gt;
=====Component=====&lt;br /&gt;
&lt;br /&gt;
The Component class implements two methods that tell the extension manager what services are supported by the extension and how to create instances of them.  The two services supported by this extension are the panel factory which is named, well, PanelFactory, and the protocol handler, ProtocolHandler.&lt;br /&gt;
&lt;br /&gt;
=====PanelFactory=====&lt;br /&gt;
&lt;br /&gt;
The PanelFactory class implements two interfaces.&lt;br /&gt;
&lt;br /&gt;
XServiceInfo: The XServiceInfo interface with its methods getImplementationname(), supportsService() and getSupportedServiceName() is a generic interface implemented by every class that implements a UNO service.  Note that we use a service name without explicit service description.  This may not be good form but it helps to keep the amount of generic extension code down.&lt;br /&gt;
&lt;br /&gt;
XUIElementFactory: This interface has only one method.  The &amp;quot;createUIElement()&amp;quot; method is called indirectly by the sidebar framework to create a new panel object. This happens when the sidebar is initialized or whenever a panel becomes visible but not when it is expanded.  The first of the two arguments is the resource URL that specifies which panel to create.  This is more useful for factories that can create more than one type of panel.  In our factory we only check that the given resource URL is really the one that it supports. The major part of the factory code is processing the second argument, a list of PropertyValues.  These values are meant to be passed on to the new panel.  Not every factory and not every panel need all properties.  Our factory only uses two, the &amp;quot;ParentWindow&amp;quot; property and the &amp;quot;Canvas&amp;quot; property.  The later one is the only property that is provided on demand.  This demand is flagged by setting the &amp;quot;WantsCanvas&amp;quot; property to &amp;quot;true&amp;quot; in the panel description in Sidebar.xcu.  It is the responsibility of the new panel to create a child window in the given parent window.  Position and size of that window are controller by the sidebar framework.  The panel only has to react to size changes.&lt;br /&gt;
&lt;br /&gt;
constructor: The constructor of the panel factory is called with an XComponentContext object because of the FactoryHelper that we use in Component.  This context is later passed to the panel and used there to get access to a service factory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====PanelBase=====&lt;br /&gt;
&lt;br /&gt;
The implementation of the actual panel is split into two classes.  The base class PanelBase contains everything that other panels might also need.  The other, AnalogClockPanel, is a derived class and provides the actual content of the panel.&lt;br /&gt;
&lt;br /&gt;
Most of the work in PanelBase takes place in its Initialize() method that is called from the AnalogClockPanel constructor.  It creates a child window in the parent window that was given as &amp;quot;ParentWindow&amp;quot; property to the the panel factory.&lt;br /&gt;
&lt;br /&gt;
The PanelBase class implements four interfaces.&lt;br /&gt;
&lt;br /&gt;
XToolPanel with its Window attribute (and the getWindow() method) gives access to the panel child window.  It is used by the layouter in the sidebar framework to position and size the panel.  Its second method createAccessible() is the entry point for supporting the UNO accessibility API.  It is really implemented in this demo, it just returns the generic accessibility implementation of VCL windows.  But if the panel where a regular dialog this might already be enough.&lt;br /&gt;
&lt;br /&gt;
XWindowListener is implemented in order to be informed when the size of the panel window changes or when the panel is shown or hidden.  In our extension all these methods result in a call to the abstract Layout() method which is implemented in AnalogClockPanel.&lt;br /&gt;
&lt;br /&gt;
XSidebarPanel has one method, getHeightForWidth().  In PanelBase there is a default implementation that tells the sidebar panel layouter to use the current window size and not to change it.&lt;br /&gt;
&lt;br /&gt;
XComponent is supported to give the owner of the panel, the sidebar framework, the opportunity to dispose the panel.  In Java this is especially useful because of the missing destructors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====AnalogClockPanel=====&lt;br /&gt;
&lt;br /&gt;
This is the center of the whole extension.  It implements a simple analog clock that is displayed via an XCanvas object.  It extends the PanelBase base class and does not implement any additional interfaces.&lt;br /&gt;
&lt;br /&gt;
In its constructor it sets up some frequently used variables.  For the canvas these are instances of ViewState and RenderState.  Additionally a timer is started that calls back two times per second.  Calling back more than once per second prevents temporal aliasing where irregularities in the time can lead to one call being made very shortly after the beginning of a second and the following call is made very shortly before the end of the second.  As both calls will report the same time, the clock would not be updated until the third call and therefore show the same time for almost two seconds.  Two seconds don&amp;#039;t sound like much but this would be a visible stuttering.&lt;br /&gt;
&lt;br /&gt;
The Layout() method that is called every time the window is resized or shown just stores the new size.  The little layouting that is done for the clock face is done on every repaint.&lt;br /&gt;
&lt;br /&gt;
The clock is painted in the PaintCurrentTime() method.  A circle represents the clock face.  Three hands for hours, minutes and seconds show the current time.  All very simple.  The clock face and the hands are created as Java Shape objects, one Ellipse2D and three Line2D objects.  These are painted in DrawShape() onto the XCanvas.  Java allows us to iterate over the individual parts of the shape paths, each part being a moveto, lineto, curveto (quadratic or cubic) or closing.  These are converted in appropriate canvas draw commands. Here is the snippet that process the cubic bezier parts of each curve:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    final PathIterator aPathIterator = aShape.getPathIterator(null);&lt;br /&gt;
    final double[] aCoordinates = new double[6];&lt;br /&gt;
    double nX = 0;&lt;br /&gt;
    double nY = 0;&lt;br /&gt;
    while ( ! aPathIterator.isDone())&lt;br /&gt;
    {&lt;br /&gt;
        switch (aPathIterator.currentSegment(aCoordinates))&lt;br /&gt;
        {&lt;br /&gt;
            ...&lt;br /&gt;
            case PathIterator.SEG_CUBICTO:&lt;br /&gt;
                 // It looks like the canvas bezier curve definition is broken.&lt;br /&gt;
                 // We have to swap the second control point and the end point of the curve.&lt;br /&gt;
                 mxCanvas.drawBezier(&lt;br /&gt;
                     new RealBezierSegment2D(&lt;br /&gt;
                          nX,nY,&lt;br /&gt;
                          aCoordinates[0], aCoordinates[1],&lt;br /&gt;
                          aCoordinates[4], aCoordinates[5]),&lt;br /&gt;
                     new RealPoint2D(aCoordinates[2], aCoordinates[3]),&lt;br /&gt;
                     maViewState,&lt;br /&gt;
                     maRenderState);&lt;br /&gt;
                 nX = aCoordinates[4];&lt;br /&gt;
                 nY = aCoordinates[5];&lt;br /&gt;
                 break;&lt;br /&gt;
             ...&lt;br /&gt;
        }&lt;br /&gt;
        apathIterator.next();&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Note that in the constructor of RealBezierSegment2D the second bezier control point and the and point of the  curve have changed places. This is a workaround for a bug in the canvas implementation.&lt;br /&gt;
&lt;br /&gt;
The dispose() method stops the time, to avoid callbacks to a dead.&lt;br /&gt;
&lt;br /&gt;
The two methods GetColor() and SetColor() allow the options dialog to change the colors of clock face and hands.  More on that in the description of class AnalogClockOptionsDialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====UIElement=====&lt;br /&gt;
&lt;br /&gt;
This class implements the XUIElement interface and is just a wrapper around the panel implementation.  It could be integrated into the PanelBase class but the separation hopefully makes the separate responsibilities more clear.  The XUIElement interface mostly provides access to some objects like XFrame, resource URL (that is the URL given to the panel factory to create the panel) and the element type (for sidebar panels always css.ui.UIElementType.TOOLPANEL).  The only interesting method is getRealInterface() which probably should better be named getRealObject() or getRealImplementation().  It allows separation of generic UIElement code and specialized panel implementation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====AnalogClockOptionsDialog=====&lt;br /&gt;
&lt;br /&gt;
This dialog lets the user change the colors of clock face and all three hands at run time.  It demonstrates how to provide a &amp;quot;MoreOptions&amp;quot; dialog in an extension.&lt;br /&gt;
&lt;br /&gt;
Because it is a new dialog there is no UNO command for it.  Therefore we have to create a new command as well.  But the extension framework does not allow extensions to create commands in the &amp;quot;.uno:&amp;lt;command&amp;gt;&amp;quot; syntax so we have to provide a new protocol with the ProtocolHandler. How this is done has already been explained.&lt;br /&gt;
&lt;br /&gt;
The dispatch() method of the ProtocolHandler calls the static AnalogClockOptionsDialog.Show() method.  When the dialog is already visible it does nothing.  Otherwise it creates a new dialog and shows it.&lt;br /&gt;
&lt;br /&gt;
The first thing the dialog does is to activate the system look and feel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    try &lt;br /&gt;
    {&lt;br /&gt;
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());&lt;br /&gt;
    }&lt;br /&gt;
    catch (Exception e)&lt;br /&gt;
    {&lt;br /&gt;
        e.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This makes the dialog look less &amp;#039;Javaish&amp;#039; and more like any other dialog on the platform the extension runs on.&lt;br /&gt;
&lt;br /&gt;
The dialog consists of four radio buttons, a &amp;#039;Close&amp;#039; button, and a color chooser.  The radio buttons connect the color chooser with either the clock face or one of the three hands.  Selecting a color in the color chooser directly changes the respective color in the running clock panel.  The close button closes the dialog, as does the closer in the dialog title bar.&lt;br /&gt;
&lt;br /&gt;
====Building the extension====&lt;br /&gt;
&lt;br /&gt;
The easiest part of the extension is the hardest part to describe. How the extension is built---compiled, creation of the jar file, creation of the oxt file---depends on the development environment you use.&lt;br /&gt;
&lt;br /&gt;
=====Eclipse=====&lt;br /&gt;
&lt;br /&gt;
The AnalogClock extension has been developed with Eclipse.  It was created as standard Java project with separate directories for source and compiled files.  Open the properties dialog for the new project and under Java Build Path-&amp;gt;Libraries add references to external JARs java_uno.jar, juh.jar, jurt.jar and unoil.jar.  All of them can be found in the program/classes directory of an OpenOffice installation. Alternatively search for them in an OpenOffice SDK.  Under the src directory add directories icons, registry, META-INF for the non-Java files that are part of the extension.&lt;br /&gt;
&lt;br /&gt;
Export the project as Ant buildfile.  Just click through the export dialog.  This creates a file build.xml toplevel in the project.  Add a second buildfile beside it, eg build2.xml:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?eclipse.ant.import?&amp;gt;&lt;br /&gt;
    &amp;lt;project basedir=&amp;quot;.&amp;quot; default=&amp;quot;otx&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;target name=&amp;quot;jar&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;jar destfile=&amp;quot;dist/AnalogClock.jar&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;fileset dir=&amp;quot;bin&amp;quot; includes=&amp;quot;**/*.class&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;/fileset&amp;gt;&lt;br /&gt;
                &amp;lt;manifest&amp;gt;&lt;br /&gt;
                    &amp;lt;attribute&lt;br /&gt;
                        name=&amp;quot;RegistrationClassName&amp;quot;&lt;br /&gt;
                        value=&amp;quot;org.apache.openoffice.sidebar.Component&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/manifest&amp;gt;&lt;br /&gt;
            &amp;lt;/jar&amp;gt;&lt;br /&gt;
        &amp;lt;/target&amp;gt;&lt;br /&gt;
        &amp;lt;target name=&amp;quot;otx&amp;quot; depends=&amp;quot;jar&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;zip destfile=&amp;quot;dist/AnalogClock.oxt&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;zipfileset dir=&amp;quot;src&amp;quot; includes=&amp;quot;META-INF/manifest.xml&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;zipfileset dir=&amp;quot;dist&amp;quot; includes=&amp;quot;AnalogClock.jar&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;zipfileset dir=&amp;quot;src&amp;quot; includes=&amp;quot;description.xml&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;zipfileset dir=&amp;quot;src&amp;quot; includes=&amp;quot;registry/**&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;zipfileset dir=&amp;quot;src&amp;quot; includes=&amp;quot;icons/tools-large.png&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/zip&amp;gt;&lt;br /&gt;
        &amp;lt;/target&amp;gt;&lt;br /&gt;
    &amp;lt;/project&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
It has two targets.  The &amp;quot;jar&amp;quot; target creates the jar file that creates all the compiled .class files under bin/.  It also create a manifest file that registers the Component class as &amp;quot;RegistrationClassName&amp;quot;.  This is how the extension manager knows which class implements the __writeRegistryServiceInfo() and __getServiceFactory() functions.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;otx&amp;quot; target depends on the &amp;quot;jar&amp;quot; target.  It creates the AnalogClock.oxt file in another top level directory dist/ and adds the various files that make up the extension: the manifest.xml, the jar archive, the description.xml, all xcu files under registry/ and the icon in icons/ that is used in the tab bar of the sidebar for the new deck.&lt;br /&gt;
&lt;br /&gt;
Export the Ant buildfile a second time, again just click through the dialog.  This will automatically add a reference of the second ant file to the first.&lt;br /&gt;
&lt;br /&gt;
To save a few clicks you can make the Ant view always visible (menu Window-&amp;gt;Show View, select Ant).  In the view click on the &amp;quot;Add Buildfiles&amp;quot;.  In the dialog that pops up, expand the entry for your project file and select build.xml.  Click OK and the Ant view will show an entry for the otx target.  Double click it and the jar and oxt files are built.  Remember that on Eclipse you don&amp;#039;t have to compile Java code.  That is done automatically in the background when you save a Java file.&lt;br /&gt;
&lt;br /&gt;
The extension is added to OpenOffice like any other extension. Tools-&amp;gt;Extension Manager opens the extension manager dialog.  Click the add button, regardless of wether the extension is already registered or not.  Navigate to the dist/ directory under the project path of the extension project.  Click on Open and finish the installation of the extension.  Restart OpenOffice.  You should see a new button for the new deck.  Click on that button and the analog clock should appear.&lt;br /&gt;
&lt;br /&gt;
Errors during the installation of the extension are hard to find because the extension manager seldomly presents meaningful error messages and debugging at this stage is not possible.  Therefore the full source code still contains a simple Log class that is used to write some diagnostic messages and stack traces to file.  This may help to pinpoint errors at this stage.  If you want to use it, just set its static msLogFilename variable to a valid file name.&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* UX&lt;br /&gt;
**[[AOO_UX_Design_Exploration_-_Task_Pane_Content_-_Information_Design|UX design exploration]]&lt;br /&gt;
**[[AOO_UX_Design_Exploration_-_Docked_Task_Pane_Container_-_Pane_Header_User_Interface_Design|Pane Header UI Design]]&lt;br /&gt;
**[[AOO_UX_Design_Exploration_-_Task_Pane_Content_Panel_-_User_Interface_Design_Proposals|UX Design propoals]]&lt;br /&gt;
* Symphony&lt;br /&gt;
** Assessment of the [[AOO_Symphony_UX_Migration/Merge_Analysis_-_Task_Pane|migrating the Symphony sidebar]].&lt;br /&gt;
** Older proposal to use the [[Sidebar_Proposal_by_IBM|Symphony sidebar]].&lt;br /&gt;
* AOO&lt;br /&gt;
** Overview of an existing but unfinished attempt of implementing [[Framework/Article/Tool_Panels_Internals|tool panels]].&lt;br /&gt;
** Introduction to [[Framework/Article/Tool Panels|writing tool panels]].&lt;br /&gt;
** Description of the [[Drawing framework|drawing framework]], that is used by the Impress tool panel.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232198</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232198"/>
		<updated>2013-11-11T10:11:38Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;. Thus, the following use of term &amp;lt;nowiki&amp;gt;Input Field&amp;lt;/nowiki&amp;gt; denotes these two types of Input Fields.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:InputField-cursor-inside-and-outside.png|1000px|center|screen shots showing cursor right before an Input Field and inside an Input Field]]&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Word binary filter (WW8 filter) ====&lt;br /&gt;
In general Input Fields will be exported as Microsoft Word FORMTEXT fields.&amp;lt;br /&amp;gt;&lt;br /&gt;
Exceptions are imported Microsoft Word FILLIN fields - these will be exported as Microsoft Word FILLIN fields unless the Input Field&amp;#039;s help text or tooltip text is filled.&lt;br /&gt;
&lt;br /&gt;
==== Documents in read-only mode ====&lt;br /&gt;
In-place editing of Input Fields is allowed when the document is in read-only mode. This is the same behavior as for text frames or sections for whose option to be editable in read-only mode has been set.&amp;lt;br /&amp;gt;&lt;br /&gt;
Also the field shadings for Input Fields are visible when the document is in read-only mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* Default Formatting while the cursor is inside an Input Field.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* All of the above areas when having a multi-selection.&lt;br /&gt;
* Save and Load of documents containing Input Fields.&lt;br /&gt;
* Exchange of documents containing Input Fields in ODF with previous OpenOffice versions.&lt;br /&gt;
* Exchange of documents containing Input Fields in Microsoft Word binary file format with Microsoft Word.&lt;br /&gt;
* HTML export and import of text documents containing Input Fields - assure no change to previous versions.&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=File:InputField-cursor-inside-and-outside.png&amp;diff=232197</id>
		<title>File:InputField-cursor-inside-and-outside.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=File:InputField-cursor-inside-and-outside.png&amp;diff=232197"/>
		<updated>2013-11-11T10:08:43Z</updated>

		<summary type="html">&lt;p&gt;Od: Screen shots showing the cursor right before an Input Field and inside an Input Field&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screen shots showing the cursor right before an Input Field and inside an Input Field&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232188</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232188"/>
		<updated>2013-11-08T11:00:52Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Documents in read-only mode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;. Thus, the following use of term &amp;lt;nowiki&amp;gt;Input Field&amp;lt;/nowiki&amp;gt; denotes these two types of Input Fields.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Word binary filter (WW8 filter) ====&lt;br /&gt;
In general Input Fields will be exported as Microsoft Word FORMTEXT fields.&amp;lt;br /&amp;gt;&lt;br /&gt;
Exceptions are imported Microsoft Word FILLIN fields - these will be exported as Microsoft Word FILLIN fields unless the Input Field&amp;#039;s help text or tooltip text is filled.&lt;br /&gt;
&lt;br /&gt;
==== Documents in read-only mode ====&lt;br /&gt;
In-place editing of Input Fields is allowed when the document is in read-only mode. This is the same behavior as for text frames or sections for whose option to be editable in read-only mode has been set.&amp;lt;br /&amp;gt;&lt;br /&gt;
Also the field shadings for Input Fields are visible when the document is in read-only mode.&lt;br /&gt;
&lt;br /&gt;
==== [more changes ?] ====&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* Default Formatting while the cursor is inside an Input Field.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* All of the above areas when having a multi-selection.&lt;br /&gt;
* Save and Load of documents containing Input Fields.&lt;br /&gt;
* Exchange of documents containing Input Fields in ODF with previous OpenOffice versions.&lt;br /&gt;
* Exchange of documents containing Input Fields in Microsoft Word binary file format with Microsoft Word.&lt;br /&gt;
* HTML export and import of text documents containing Input Fields - assure no change to previous versions.&lt;br /&gt;
* [more areas?]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232182</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232182"/>
		<updated>2013-11-07T17:17:28Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Areas which need high attention during testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;. Thus, the following use of term &amp;lt;nowiki&amp;gt;Input Field&amp;lt;/nowiki&amp;gt; denotes these two types of Input Fields.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Word binary filter (WW8 filter) ====&lt;br /&gt;
In general Input Fields will be exported as Microsoft Word FORMTEXT fields.&amp;lt;br /&amp;gt;&lt;br /&gt;
Exceptions are imported Microsoft Word FILLIN fields - these will be exported as Microsoft Word FILLIN fields unless the Input Field&amp;#039;s help text or tooltip text is filled.&lt;br /&gt;
&lt;br /&gt;
==== Documents in read-only mode ====&lt;br /&gt;
Allow in-place editing of Input Fields when the document is in read-only mode. This is the same behavior as for text frames or sections for whose option to be editable in read-only mode has been set.&lt;br /&gt;
&lt;br /&gt;
==== [more changes ?] ====&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* Default Formatting while the cursor is inside an Input Field.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* All of the above areas when having a multi-selection.&lt;br /&gt;
* Save and Load of documents containing Input Fields.&lt;br /&gt;
* Exchange of documents containing Input Fields in ODF with previous OpenOffice versions.&lt;br /&gt;
* Exchange of documents containing Input Fields in Microsoft Word binary file format with Microsoft Word.&lt;br /&gt;
* HTML export and import of text documents containing Input Fields - assure no change to previous versions.&lt;br /&gt;
* [more areas?]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=BUGZILLA/FAQ&amp;diff=232181</id>
		<title>BUGZILLA/FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=BUGZILLA/FAQ&amp;diff=232181"/>
		<updated>2013-11-07T12:18:58Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Meaning of bracketed pseudo key words in the summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists several FAQ how to use the [https://issues.apache.org/ooo/ AOO-BUGZILLA]&lt;br /&gt;
&lt;br /&gt;
== Attachments and Sample Documents ==&lt;br /&gt;
&lt;br /&gt;
=== What are good Sample Documents? ===&lt;br /&gt;
Providing a sample document usually helps to reproduce a problem and to test the fix.&lt;br /&gt;
Sample documents should be minimal, e.g. if you notice a bug in the upper left corner on page 345 of a 1000 page document then it is advisable to check whether the bug can still be replicated if the other pages are removed. Removing as much content that does not impact the reproducibility of the bug helps everyone who wants to work on that bug report.&lt;br /&gt;
&lt;br /&gt;
=== How to use attached sample documents for multiple Bug Reports ===&lt;br /&gt;
If an appropriate document to reproduce the problem or to show the problem (screenshot) already does exist in Bugzilla, please [https://wiki.documentfoundation.org/QA/Bugzilla/FAQ#How_to_use_attached_sample_documents_for_multiple_Bug_Reports cite the document instead of attaching it again]. That saves time, because other users, who might know the existing attachment, do not need to check whether the new attachment contains new information (and only looks similar) or simply is a clone.&lt;br /&gt;
&lt;br /&gt;
== Bug Summary ==&lt;br /&gt;
Be as concise as possible in the bug Summary. The more specific a bug summary is the more useful it is for others such as when you report a new bug you will notice that bugzilla tries to find similar bugs that might be of interest. So instead of having a summary &amp;quot;Bug in Writer!!!&amp;quot; please be more specific and write e.g. &amp;quot;Writer prints green text underlines as blue on a Windows GDI printer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Meaning of bracketed branch names in the summary ===&lt;br /&gt;
Development often happens in [https://en.wikipedia.org/wiki/Branching_%28revision_control%29 code branches]. Development branches are usually very interesting because they contain important new features or major cleanups. But code in branches is mostly not yet ready for general consumptions and needs to be extensively tested before it can be integrated. When such branches are tested the bugs found are very valuable for everyone working on that branch but of little value for the general public. So if a problem occurs only on a development branch then please use the bracketed branch name in the bug summary to make things as clear as possible. Examples of such tags used were e.g. [sidebar], [ia2], [aw080], etc. If the integration of a code branch into the mainline has introduced problems then adding the branch tag also makes very much sense.&lt;br /&gt;
&lt;br /&gt;
=== Meaning of bracketed pseudo key words in the summary ===&lt;br /&gt;
In order to make bug summaries as concise as possible experienced bug reporters used pseudo tags directly in the summary. They are often obsolete nowadays because some bugzilla fields are better suited for marking the kind of bug.&lt;br /&gt;
&lt;br /&gt;
Examples for pseudo tags that were used are:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[Regression]&amp;#039;&amp;#039;&amp;#039; Deprecated tag for AOO regression issues. The &amp;quot;regression&amp;quot; keyword should be added to the &amp;#039;&amp;#039;&amp;#039;Keywords&amp;#039;&amp;#039;&amp;#039; field instead.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[RFE]&amp;#039;&amp;#039;&amp;#039; deprecated for &amp;#039;&amp;#039;Request For Enhancement&amp;#039;&amp;#039;. Set the &amp;#039;&amp;#039;&amp;#039;Issue Type&amp;#039;&amp;#039;&amp;#039; selector to ENHANCEMENT instead.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[WW8]&amp;#039;&amp;#039;&amp;#039; Bug related to WW8 import filter (WW8 denotes the Microsoft Word binary file format - [http://msdn.microsoft.com/en-us/library/cc313153%28v=office.12%29.aspx specification found here])&lt;br /&gt;
&lt;br /&gt;
== Bug STATUS ==&lt;br /&gt;
&lt;br /&gt;
=== CONFIRMED ===&lt;br /&gt;
==== Should I report new bugs with initial Status CONFIRMED? ====&lt;br /&gt;
The CONFIRMED status means that the bug report is clear enough and has sufficient details for another person to replicate the bug on another system.&lt;br /&gt;
So the answer is generally &amp;#039;&amp;#039;&amp;#039;no&amp;#039;&amp;#039;&amp;#039;! Even if you are pretty sure that you found a real bug and added lots of relevant information, generally following the [http://en.wikipedia.org/wiki/Two-man_rule#Other_uses Two Men Rule] results in better reports, what leads to faster bug fixing costing less developer resources. But of course, if you are an experienced bug tester (relevant contribution in more than 100 bugs or similar qualification), you might find good reasons to ignore the Two Men Rule and to select initial Status CONFIRMED&lt;br /&gt;
&lt;br /&gt;
==== When should I change Status from UNCONFIRMED to CONFIRMED? ==== &lt;br /&gt;
Please do not change to CONFIRMED only because you were able to reproduce reporter&amp;#039;s observations. The right moment for CONFIRMED is when [http://www.openoffice.org/qa/issue_handling/basic_rules.html#complete all relevant information]  has been gained. &lt;br /&gt;
# Report is a [[QA/HowToFileIssue#Principles|Good Bug Report]]&lt;br /&gt;
## Check for duplicates has been proceeded?&lt;br /&gt;
## Summary is clear and specific enough to distinguish the reported bug from other similar ones&lt;br /&gt;
## Sample Document available? Even if it seems to be simple for QA staff to create own sample documents, it saves a lot of time if a sample is attached. and Additionally the sample document can contribute additional relevant information (Localization, Language, Formatting caused by repoerter&amp;#039;s very special &amp;#039;&amp;#039;New Document Templates&amp;#039;&amp;#039;, ...&lt;br /&gt;
# Other selectors with correct contents?&lt;br /&gt;
## Relation to Operating System checked?&lt;br /&gt;
## Most early OO Version with what the bug has been observed selected (if possible, do your own tests with older versions)&lt;br /&gt;
## Appropriate Importance?&lt;br /&gt;
## Keywords appropriate?&lt;br /&gt;
# All or at least most relevant aspects of the bug are listed in the report&lt;br /&gt;
&lt;br /&gt;
If these conditions are fulfilled you should select CONFIRMED. But of course, it&amp;#039;s a matter of consideration, an important CRASH-Regression should be taken by developers as soon as possible, here it would be inappropriate to leave Status UNCONFIRMED because some minor questions are without answer.&lt;br /&gt;
&lt;br /&gt;
== Mixed ==&lt;br /&gt;
=== From where can I download latest test versions? ===&lt;br /&gt;
You can test latest bug fixes with unstable test builds from [http://ci.apache.org/projects/openoffice/index.html here].&lt;br /&gt;
&lt;br /&gt;
=== How To Crash AOO ===&lt;br /&gt;
For some investigations it is necessary to provoke a crash. You can find possibilities how to crash AOO with this [https://issues.apache.org/ooo/buglist.cgi?bug_status=CONFIRMED&amp;amp;bug_status=ACCEPTED&amp;amp;bug_status=REOPENED&amp;amp;f1=days_elapsed&amp;amp;list_id=79579&amp;amp;longdesc=crash&amp;amp;longdesc_type=allwordssubstr&amp;amp;o1=lessthan&amp;amp;query_format=advanced&amp;amp;resolution=---&amp;amp;short_desc=crash&amp;amp;short_desc_type=allwordssubstr&amp;amp;v1=100 Bugzilla query], what shows current crash-bugs.&lt;br /&gt;
&lt;br /&gt;
=== What is the appropriate &amp;#039;&amp;#039;Version&amp;#039;&amp;#039; in Bugzilla Version selector? ===&lt;br /&gt;
The most early AOO or OOo version with what the problem has been observed.  For &amp;#039;&amp;#039;Regression&amp;#039;&amp;#039; bugs &amp;#039;&amp;#039;Version&amp;#039;&amp;#039; information will help developers to find the code change what causes the problem.&lt;br /&gt;
&lt;br /&gt;
In August 2013 the syntax for &amp;#039;&amp;#039;&amp;#039;AOO&amp;#039;&amp;#039;&amp;#039; versions in the selector has been changed, the &amp;#039;&amp;#039;AOO&amp;#039;&amp;#039; prefix has been dropped for most AOO versions. For historical reasons (?)[https://issues.apache.org/ooo/report.cgi?x_axis_field=product&amp;amp;y_axis_field=component&amp;amp;z_axis_field=&amp;amp;no_redirect=1&amp;amp;query_format=report-table&amp;amp;short_desc_type=allwordssubstr&amp;amp;short_desc=&amp;amp;longdesc_type=allwordssubstr&amp;amp;longdesc=&amp;amp;bug_file_loc_type=allwordssubstr&amp;amp;bug_file_loc=&amp;amp;keywords_type=allwords&amp;amp;keywords=&amp;amp;bug_id=&amp;amp;bug_id_type=anyexact&amp;amp;votes=&amp;amp;votes_type=greaterthaneq&amp;amp;version=AOO340-dev&amp;amp;version=AOO400-dev&amp;amp;version=AOO410-dev&amp;amp;version=AOO+3.4.0&amp;amp;version=AOO+3.4.1&amp;amp;version=AOO+4.0&amp;amp;version=AOO+4.0.0&amp;amp;emailtype1=substring&amp;amp;email1=&amp;amp;emailtype2=substring&amp;amp;email2=&amp;amp;emailtype3=substring&amp;amp;email3=&amp;amp;chfieldvalue=&amp;amp;chfieldfrom=&amp;amp;chfieldto=Now&amp;amp;j_top=AND&amp;amp;f1=noop&amp;amp;o1=noop&amp;amp;v1=&amp;amp;format=table&amp;amp;action=wrap some Versions] with AOO prefix remained. If you work on such a bug report please always think about switching to a &amp;quot;modern&amp;quot; version.&lt;br /&gt;
&lt;br /&gt;
=== How to connect a Bug report to a Tracking Bug ===&lt;br /&gt;
If you want to add a Bug report (like [https://issues.apache.org/ooo/show_bug.cgi?id=122762 Bug 122762]) to a TASK Tracking Bug (like [https://issues.apache.org/ooo/show_bug.cgi?id=122364 Tracking  Bug 122364]), the best way is &lt;br /&gt;
# Add Bug number to &amp;#039;&amp;#039;Depends on&amp;#039;&amp;#039; field in TASK Tracking Bug&lt;br /&gt;
# [https://issues.apache.org/ooo/show_bug.cgi?id=122364#c3 Cite] complete Heading line of &amp;quot;Depends-On-Bug&amp;quot; in a &amp;#039;&amp;#039;Comment&amp;#039;&amp;#039; in the TASK Tracking Bug. &lt;br /&gt;
:: So all interested users listed in CC of TASK Tracking Bug will get a summary of the new bug with mail from bugzilla@apache.org and can see immediately what the reported problem is - no need for a detour to the tracking Bug (and several clicks).&lt;br /&gt;
&lt;br /&gt;
=== How to attach screenshots with additional graphic contents ===&lt;br /&gt;
If you want to add some graphic contents to a screenshot to make it more comprehensible, you should copy the clipboard contents with the screenshot to a new DRAW document and add emphasis, text ideas, callouts, pointer arrows or whatever in the Draw document. If you save it with &amp;#039;File -&amp;gt; Properties -&amp;gt; Security - open File Readonly&amp;#039; before aou attach it in the Bug, the document is protected against unintended edits, but can be edited if appropriate by other users.&lt;br /&gt;
&lt;br /&gt;
=== What is the best file type for screenshots? ===&lt;br /&gt;
Graphic formats with lossless compression like &amp;quot;PNG&amp;quot; are much more suitable than JPG, because no compression artifacts compound recognition of details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Quality Assurance]]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232179</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232179"/>
		<updated>2013-11-07T12:02:13Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Areas which need high attention during testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;. Thus, the following use of term &amp;lt;nowiki&amp;gt;Input Field&amp;lt;/nowiki&amp;gt; denotes these two types of Input Fields.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Word binary filter (WW8 filter) ====&lt;br /&gt;
In general Input Fields will be exported as Microsoft Word FORMTEXT fields.&amp;lt;br /&amp;gt;&lt;br /&gt;
Exceptions are imported Microsoft Word FILLIN fields - these will be exported as Microsoft Word FILLIN fields unless the Input Field&amp;#039;s help text or tooltip text is filled.&lt;br /&gt;
&lt;br /&gt;
==== Documents in read-only mode ====&lt;br /&gt;
Allow in-place editing of Input Fields when the document is in read-only mode. This is the same behavior as for text frames or sections for whose option to be editable in read-only mode has been set.&lt;br /&gt;
&lt;br /&gt;
==== [more changes ?] ====&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* All of the above areas when having a multi-selection.&lt;br /&gt;
* Save and Load of documents containing Input Fields.&lt;br /&gt;
* Exchange of documents containing Input Fields in ODF with previous OpenOffice versions.&lt;br /&gt;
* Exchange of documents containing Input Fields in Microsoft Word binary file format with Microsoft Word.&lt;br /&gt;
* HTML export and import of text documents containing Input Fields - assure no change to previous versions.&lt;br /&gt;
* [more areas?]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232178</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232178"/>
		<updated>2013-11-07T12:00:19Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Areas which need high attention during testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;. Thus, the following use of term &amp;lt;nowiki&amp;gt;Input Field&amp;lt;/nowiki&amp;gt; denotes these two types of Input Fields.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Word binary filter (WW8 filter) ====&lt;br /&gt;
In general Input Fields will be exported as Microsoft Word FORMTEXT fields.&amp;lt;br /&amp;gt;&lt;br /&gt;
Exceptions are imported Microsoft Word FILLIN fields - these will be exported as Microsoft Word FILLIN fields unless the Input Field&amp;#039;s help text or tooltip text is filled.&lt;br /&gt;
&lt;br /&gt;
==== Documents in read-only mode ====&lt;br /&gt;
Allow in-place editing of Input Fields when the document is in read-only mode. This is the same behavior as for text frames or sections for whose option to be editable in read-only mode has been set.&lt;br /&gt;
&lt;br /&gt;
==== [more changes ?] ====&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* Save and Load of documents containing Input Fields.&lt;br /&gt;
* Exchange of documents containing Input Fields in ODF with previous OpenOffice versions.&lt;br /&gt;
* Exchange of documents containing Input Fields in Microsoft Word binary file format with Microsoft Word.&lt;br /&gt;
* HTML export and import of text documents containing Input Fields - assure no change to previous versions.&lt;br /&gt;
* [more areas?]&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232176</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232176"/>
		<updated>2013-11-07T11:59:43Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Documents in read-only mode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;. Thus, the following use of term &amp;lt;nowiki&amp;gt;Input Field&amp;lt;/nowiki&amp;gt; denotes these two types of Input Fields.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Word binary filter (WW8 filter) ====&lt;br /&gt;
In general Input Fields will be exported as Microsoft Word FORMTEXT fields.&amp;lt;br /&amp;gt;&lt;br /&gt;
Exceptions are imported Microsoft Word FILLIN fields - these will be exported as Microsoft Word FILLIN fields unless the Input Field&amp;#039;s help text or tooltip text is filled.&lt;br /&gt;
&lt;br /&gt;
==== Documents in read-only mode ====&lt;br /&gt;
Allow in-place editing of Input Fields when the document is in read-only mode. This is the same behavior as for text frames or sections for whose option to be editable in read-only mode has been set.&lt;br /&gt;
&lt;br /&gt;
==== [more changes ?] ====&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* Save and Load of documents containing Input Fields.&lt;br /&gt;
* Exchange of documents containing Input Fields in ODF with previous OpenOffice versions.&lt;br /&gt;
* Exchange of documents containing Input Fields in Microsoft Word binary file format with Microsoft Word.&lt;br /&gt;
* HTML export and import of text documents containing Input Fields - assure no change to previous versions.&lt;br /&gt;
* &amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - MORE ITEMS WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232175</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232175"/>
		<updated>2013-11-07T11:57:41Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Changes in detail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;. Thus, the following use of term &amp;lt;nowiki&amp;gt;Input Field&amp;lt;/nowiki&amp;gt; denotes these two types of Input Fields.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Word binary filter (WW8 filter) ====&lt;br /&gt;
In general Input Fields will be exported as Microsoft Word FORMTEXT fields.&amp;lt;br /&amp;gt;&lt;br /&gt;
Exceptions are imported Microsoft Word FILLIN fields - these will be exported as Microsoft Word FILLIN fields unless the Input Field&amp;#039;s help text or tooltip text is filled.&lt;br /&gt;
&lt;br /&gt;
==== Documents in read-only mode ====&lt;br /&gt;
Allow in-place editing of Input Fields when the document is in read-only mode. This is the same behavior as for text frames or sections for whose option to be editable in read-only mode has been set.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - DOCUMENTATION OF MORE CHANGES WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* Save and Load of documents containing Input Fields.&lt;br /&gt;
* Exchange of documents containing Input Fields in ODF with previous OpenOffice versions.&lt;br /&gt;
* Exchange of documents containing Input Fields in Microsoft Word binary file format with Microsoft Word.&lt;br /&gt;
* HTML export and import of text documents containing Input Fields - assure no change to previous versions.&lt;br /&gt;
* &amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - MORE ITEMS WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232169</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232169"/>
		<updated>2013-11-07T08:42:19Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;. Thus, the following use of term &amp;lt;nowiki&amp;gt;Input Field&amp;lt;/nowiki&amp;gt; denotes these two types of Input Fields.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Word binary filter (WW8 filter) ====&lt;br /&gt;
In general Input Fields will be exported as Microsoft Word FORMTEXT fields.&amp;lt;br /&amp;gt;&lt;br /&gt;
Exceptions are imported Microsoft Word FILLIN fields - these will be exported as Microsoft Word FILLIN fields unless the Input Field&amp;#039;s help text or tooltip text is filled.&lt;br /&gt;
&lt;br /&gt;
==== Editable Input Fields in read-only mode ====&lt;br /&gt;
Allow in-place editing of Input Fields in read-only mode&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - DOCUMENTATION OF MORE CHANGES WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* Save and Load of documents containing Input Fields.&lt;br /&gt;
* Exchange of documents containing Input Fields in ODF with previous OpenOffice versions.&lt;br /&gt;
* Exchange of documents containing Input Fields in Microsoft Word binary file format with Microsoft Word.&lt;br /&gt;
* HTML export and import of text documents containing Input Fields - assure no change to previous versions.&lt;br /&gt;
* &amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - MORE ITEMS WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232166</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232166"/>
		<updated>2013-11-07T08:12:10Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Areas which need high attention during testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;. Thus, the following use of term &amp;lt;nowiki&amp;gt;Input Field&amp;lt;/nowiki&amp;gt; denotes these two types of Input Fields.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Word binary filter (WW8 filter) ====&lt;br /&gt;
In OpenOffice created Input Fields will be exported as Microsoft Word FORMTEXT fields.&lt;br /&gt;
&lt;br /&gt;
Imported Microsoft Word FORMTEXT fields will be exported as Microsoft Word FORMTEXT fields.&lt;br /&gt;
&lt;br /&gt;
No change for import and export for Microsoft Word FILLIN fields. In general these fields will be exported as Microsoft Word FILLIN fields unless the Input Field&amp;#039;s help text or tooltip text is filled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - DOCUMENTATION OF MORE CHANGES WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* Save and Load of documents containing Input Fields.&lt;br /&gt;
* Exchange of documents containing Input Fields in ODF with previous OpenOffice versions.&lt;br /&gt;
* Exchange of documents containing Input Fields in Microsoft Word binary file format with Microsoft Word.&lt;br /&gt;
* HTML export and import of text documents containing Input Fields - assure no change to previous versions.&lt;br /&gt;
* &amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - MORE ITEMS WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232165</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232165"/>
		<updated>2013-11-07T08:11:42Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Changes in detail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;. Thus, the following use of term &amp;lt;nowiki&amp;gt;Input Field&amp;lt;/nowiki&amp;gt; denotes these two types of Input Fields.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the in-place editing.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Word binary filter (WW8 filter) ====&lt;br /&gt;
In OpenOffice created Input Fields will be exported as Microsoft Word FORMTEXT fields.&lt;br /&gt;
&lt;br /&gt;
Imported Microsoft Word FORMTEXT fields will be exported as Microsoft Word FORMTEXT fields.&lt;br /&gt;
&lt;br /&gt;
No change for import and export for Microsoft Word FILLIN fields. In general these fields will be exported as Microsoft Word FILLIN fields unless the Input Field&amp;#039;s help text or tooltip text is filled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - DOCUMENTATION OF MORE CHANGES WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* Save and Load of documents containing Input Fields.&lt;br /&gt;
* Exchange of documents with/from previous OpenOffice versions.&lt;br /&gt;
* &amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - MORE ITEMS WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232164</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232164"/>
		<updated>2013-11-07T08:06:05Z</updated>

		<summary type="html">&lt;p&gt;Od: /* Changes in detail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;. Thus, the following use of term &amp;lt;nowiki&amp;gt;Input Field&amp;lt;/nowiki&amp;gt; denotes these two types of Input Fields.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the in-place editing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Word binary filter (WW8 filter) ====&lt;br /&gt;
In OpenOffice created Input Fields will be exported as Microsoft Word FORMTEXT fields.&lt;br /&gt;
&lt;br /&gt;
Imported Microsoft Word FORMTEXT fields will be exported as Microsoft Word FORMTEXT fields.&lt;br /&gt;
&lt;br /&gt;
No change for import and export for Microsoft Word FILLIN fields. In general these fields will be exported as Microsoft Word FILLIN fields unless the Input Field&amp;#039;s help text or tooltip text is filled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - DOCUMENTATION OF MORE CHANGES WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* Save and Load of documents containing Input Fields.&lt;br /&gt;
* Exchange of documents with/from previous OpenOffice versions.&lt;br /&gt;
* &amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - MORE ITEMS WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232163</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232163"/>
		<updated>2013-11-07T07:42:28Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;. Thus, the following use of term &amp;lt;nowiki&amp;gt;Input Field&amp;lt;/nowiki&amp;gt; denotes these two types of Input Fields.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the in-place editing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Word binary filter ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - DOCUMENTATION OF MORE CHANGES WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* Save and Load of documents containing Input Fields.&lt;br /&gt;
* Exchange of documents with/from previous OpenOffice versions.&lt;br /&gt;
* &amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - MORE ITEMS WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232162</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232162"/>
		<updated>2013-11-07T07:00:38Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the possible in-place editing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - DOCUMENTATION OF MORE CHANGES WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* &amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - MORE ITEMS WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232159</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232159"/>
		<updated>2013-11-06T14:26:01Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the possible in-place editing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - DOCUMENTATION OF MORE CHANGES WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;br /&gt;
* &amp;lt;big&amp;gt;&amp;lt;big&amp;gt;NOT COMPLETE - MORE ITEMS WILL FOLLOW.&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232155</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232155"/>
		<updated>2013-11-06T14:14:41Z</updated>

		<summary type="html">&lt;p&gt;Od: (checkpoint save)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
==== No Field Names for Input Fields ====&lt;br /&gt;
Field Names are no longer shown for Input Fields. Via Menu - View - Field Names the Field Names of all fields could be displayed instead of the fields content. This will no longer work for Input Fields due to the possible in-place editing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232154</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232154"/>
		<updated>2013-11-06T13:52:48Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
In the following the changes being in progress to solve {{Bug|33737}} are given in detail. Currently the changes will only affect &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== Edit content of Input Fields ====&lt;br /&gt;
To modify/provide the content of an Input Field it is possible to directly perform the corresponding edit operations inside the document&amp;#039;s text area. No additional popup dialog is needed.&amp;lt;br /&amp;gt;&lt;br /&gt;
As an Input Field can only contain text content most insertion operations are not allowed while the cursor is inside an Input Field. Also pasting operations and drop operations are not allowed. Pasting unformatted text (e.g. on Windows via SHIFT-CTRL-ALT-V) shall be possible.&lt;br /&gt;
&lt;br /&gt;
==== Enter/Leaving Input Fields ====&lt;br /&gt;
To enable the user to enter respectively leave an Input Field special hidden characters are inserted for the cursor traveling. Thus, the cursor can be positioned before an Input Field and text can be inserted before the Input Field. After a cursor move to the right the Input Field is entered and text at the beginning of the Input Field can be inserted. Similar cursor traveling is possible at the end of the Input Field. The cursor can be placed right behind an Input Field and text can be inserted behind the Input Field. After a cursor move to the left the Input Field is entered and text at the end of the Input Field can be inserted.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Entering and Leaving an Input Field will be indicated to the user by drawing a bounding rectangle around the Input Field when the cursor is inside the Input Field.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: provide screen shots&lt;br /&gt;
&lt;br /&gt;
Clicking with the mouse pointer into an Input Field will in general select its text content in order to enable the user to directly replace the Input Field&amp;#039;s content.&lt;br /&gt;
&lt;br /&gt;
==== Traveling between Input Fields ====&lt;br /&gt;
Traveling from one Input Field to the next respectively previous one with the keyboard is possible via TAB-Key respectively via SHIFT-TAB-Key. When traveling the complete content of the Input Field is selected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To insert a TAB character inside an Input Field using the keyboard the CTRL-TAB-Key have to be used.&lt;br /&gt;
&lt;br /&gt;
==== Selection of Input Fields ====&lt;br /&gt;
Any text selection inside an Input Fields is possible. When text outside an Input Field is part of a text selection only the complete Input Field can be added to the text selection. Thus, it is not possible to select a part of an Input Field&amp;#039;s text content and other text content in one selection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Areas which need high attention during testing ==&lt;br /&gt;
* Only text content shall be inserted into Input Fields.&lt;br /&gt;
* No formatting shall be possible inside Input Fields.&lt;br /&gt;
* Applying a formatting while the cursor is inside an Input Field shall be applied to the complete Input Field.&lt;br /&gt;
* No other attributes, like a hyperlink, a ruby, a page break or a column break, shall be possible inside Input Fields.&lt;br /&gt;
* The insertion of a &amp;#039;New Paragraph&amp;#039; character or the key input of the ENTER-Key shall result into an insertion of a line break inside an Input Field.&lt;br /&gt;
* Undo/Redo actions regarding Input Fields.&lt;br /&gt;
* Functionality of other fields shall not be affected.&lt;br /&gt;
* Applying formatting or other attributes to text content.&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232153</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232153"/>
		<updated>2013-11-06T11:45:32Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source to document the corresponding changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface, but each has a different purpose.&amp;lt;br /&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;Text Input Fields&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;User Variable Input Fields&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Currently no changes are made for &amp;#039;&amp;#039;&amp;#039;Simple Variable Input Fields&amp;#039;&amp;#039;&amp;#039; for solving {{Bug|33737}}.&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the Microsoft Word binary file format import/export filter these Simple Variable Input Fields are mapped to Microsoft Word ASK fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Areas affected by the changes ==&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232152</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232152"/>
		<updated>2013-11-06T11:05:55Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source for the corresponding user interface changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface each for different purpose.&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Microsoft Word has support for so-called Document Variables. The value of such variables can be shown in a Microsoft Word document, but are created/deleted/set via Microsoft Word macro (aka Visual Basic). These Document Variables seem to be comparable with ODF&amp;#039;s User Variables, but currently there is no mapping between these in OpenOffice.&lt;br /&gt;
A User Variable Input Field is treated as Text Input Field when exporting an OpenOffice text document to the Microsoft Word binary format.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user variable.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a simple variable. The value of a simple variable at a certain document position equals the value of the last set value - that is the difference to a user variable.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:variable-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a simple variable. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created simple variable.&lt;br /&gt;
[[Image:Dialog-variable-input.png|1000px|center|dialog to create Simple Variable and a corresponding Simple Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
&lt;br /&gt;
== Areas affected by the changes ==&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=File:Dialog-variable-input.png&amp;diff=232151</id>
		<title>File:Dialog-variable-input.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=File:Dialog-variable-input.png&amp;diff=232151"/>
		<updated>2013-11-06T10:43:49Z</updated>

		<summary type="html">&lt;p&gt;Od: OpenOffice dialog to create a Simple Variable and the corresponding Input Field&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenOffice dialog to create a Simple Variable and the corresponding Input Field&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232150</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232150"/>
		<updated>2013-11-06T10:33:49Z</updated>

		<summary type="html">&lt;p&gt;Od: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source for the corresponding user interface changes for the users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface each for different purpose.&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to prompt the user to set the value of a user variable. The value of a user variable is the same throughout the complete document.&lt;br /&gt;
&lt;br /&gt;
In ODF such a field is represented by ODF element &amp;lt;text:user-field-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog on pane Variables. In advance the user has to create a user field. Then the user has to choose Type &amp;#039;Input Field&amp;#039; and has to select the corresponding created user field.&lt;br /&gt;
[[Image:Dialog-user-field-input.png|1000px|center|dialog to create User Variable and a corresponding User Variable Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
&lt;br /&gt;
ODF &amp;lt;text:variable-input&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
&lt;br /&gt;
== Areas affected by the changes ==&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=File:Dialog-user-field-input.png&amp;diff=232149</id>
		<title>File:Dialog-user-field-input.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=File:Dialog-user-field-input.png&amp;diff=232149"/>
		<updated>2013-11-06T10:31:58Z</updated>

		<summary type="html">&lt;p&gt;Od: OpenOffice dialog to create a User Variable Input Field&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenOffice dialog to create a User Variable Input Field&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232148</id>
		<title>Writer/Input Fields</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Writer/Input_Fields&amp;diff=232148"/>
		<updated>2013-11-06T10:16:36Z</updated>

		<summary type="html">&lt;p&gt;Od: (checkpoint save)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Writer Project|Category=Writer/Effort}}&lt;br /&gt;
&lt;br /&gt;
= In-place editing of Input Fields =&lt;br /&gt;
&lt;br /&gt;
Purpose of this page is provide information on the solution for {{Bug|33737}}. This information should serve the corresponding quality assurance efforts. It can be also used as the source for the corresponding user interface changes for the users.&lt;br /&gt;
&lt;br /&gt;
== Input Fields - three of a kind ==&lt;br /&gt;
&lt;br /&gt;
We have three fields which are all named &amp;#039;Input Field&amp;#039; in the user interface each for different purpose.&lt;br /&gt;
&lt;br /&gt;
==== Text Input Field ====&lt;br /&gt;
This is a field to prompt the user for an input. The field has a description and its content holds the user&amp;#039;s input.&lt;br /&gt;
&lt;br /&gt;
In the OpenDocument file format (ODF) such a field is represented by ODF element &amp;lt;text:text-input&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When importing Microsoft Word documents (binary file format, *.doc) Microsoft Word fields FILLIN and FORMTEXT are imported as Text Input Fields.&lt;br /&gt;
&lt;br /&gt;
The user interface to create such a field is found in the Fields dialog (Menu - Insert - Fields - Others) on pane Functions. Here the user has to choose Type &amp;#039;Input Field&amp;#039;.&lt;br /&gt;
[[Image:Dialog-text-input.png|500px|center|dialog to create Text Input Field]]&lt;br /&gt;
&lt;br /&gt;
==== User Variable Input Field ====&lt;br /&gt;
This is a field to the value of a user variable&lt;br /&gt;
ODF &amp;lt;text:user-field-input&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Simple Variable Input Field ====&lt;br /&gt;
&lt;br /&gt;
ODF &amp;lt;text:variable-input&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in detail ==&lt;br /&gt;
&lt;br /&gt;
== Areas affected by the changes ==&lt;/div&gt;</summary>
		<author><name>Od</name></author>
	</entry>
</feed>