<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Creating_Help</title><link>https://sourceforge.net/p/ibd/wiki/Creating_Help/</link><description>Recent changes to Creating_Help</description><atom:link href="https://sourceforge.net/p/ibd/wiki/Creating_Help/feed" rel="self"/><language>en</language><lastBuildDate>Tue, 20 May 2014 18:43:59 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/ibd/wiki/Creating_Help/feed" rel="self" type="application/rss+xml"/><item><title>Creating_Help modified by Alessandro Vernet</title><link>https://sourceforge.net/p/ibd/wiki/Creating_Help/</link><description>&lt;div class="markdown_content"&gt;&lt;div class="toc"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#creating-the-help-html-document"&gt;Creating the Help HTML Document&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#support-for-multiple-bookmarks-per-field"&gt;Support for Multiple Bookmarks Per Field&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#different-bookmark"&gt;Different Bookmark&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#different-help-descriptions"&gt;Different Help Descriptions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h1 id="creating-the-help-html-document"&gt;Creating the Help HTML Document&lt;/h1&gt;
&lt;p&gt;The HTML help is created from the Word document by exporting it to HTML from Microsoft Word: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Microsoft Word, open the file &lt;code&gt;WEB-INF/resources/apps/exist/ibd/standard-rfp/bookmarks.doc&lt;/code&gt;. This file is not used by the application but stored in that directory for convenience. Update the file as needed. &lt;/li&gt;
&lt;li&gt;Insert bookmarks for all the form fields you wish to have a help for. &lt;ul&gt;
&lt;li&gt;When there is a field in the Word document that corresponds to the form field, use for the bookmark the same name used for the form field. If the name is too long to be used as a bookmark name, pick a shorter name and rename accordingly the field in the Word document. The Word document is stored in the same directory as &lt;code&gt;word.doc&lt;/code&gt;. If you change the name of a Word field, also change in &lt;code&gt;word-fields.xml&lt;/code&gt; (always in the same directory) the &lt;code&gt;name&lt;/code&gt; attribute for that field. &lt;/li&gt;
&lt;li&gt;When there is no field in the Word document for the form field, pick a name for the bookmark. &lt;em&gt;This name will need to be declared in an XML file yet to be specified. For now please send those names with a description of the corresponding form fields to Alex.&lt;/em&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Go to &lt;em&gt;Save As&lt;/em&gt;, in the &lt;em&gt;Save as type&lt;/em&gt; choose &lt;em&gt;Web page (.htm, .html)&lt;/em&gt;. Save the document as &lt;code&gt;help.html&lt;/code&gt; in the same directory. &lt;/li&gt;
&lt;li&gt;Edit the file with a text editor, look for &lt;code&gt;&amp;amp;lt;object&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui&amp;gt;&amp;lt;/object&amp;gt; and remove it. This is to prevent a warning on IE. &lt;/p&gt;
&lt;h1 id="support-for-multiple-bookmarks-per-field"&gt;Support for Multiple Bookmarks Per Field&lt;/h1&gt;
&lt;p&gt;The help for some fields sometimes need too point to a different bookmark depending on some condition. For instance, there is a field that corresponds to &lt;em&gt;the country of which laws have jurisdiction over the contract&lt;/em&gt;. The help for this field differs depending on the type of contract. &lt;/p&gt;
&lt;p&gt;In the UI (XForms), we want to have just one field (i.e. one XForms control). The XForms control is mapped to a field name in the Word document through &lt;code&gt;word-fields.xml&lt;/code&gt;. If there are multiple fields with the same name in the Word document, they will be all replaced by the value entered in the XForms control. &lt;/p&gt;
&lt;p&gt;The help for this field, depending on the currently selected type of contract, needs to: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Point to a different bookmark in &lt;code&gt;help-xy.html&lt;/code&gt;. &lt;/li&gt;
&lt;li&gt;Have a different help description (e.g. "See paragraph 5.4" vs. "See paragraph 6.2"). &lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="different-bookmark"&gt;Different Bookmark&lt;/h2&gt;
&lt;p&gt;Let's first see how to do point number 1. For most controls, the help bookmark name is the same as the field name. But it can be different. Here is an example of the markup that you can have in &lt;code&gt;word-fields.xml&lt;/code&gt;: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;mergefield&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Contract_Signature_Day&amp;quot;&lt;/span&gt; &lt;span class="n"&gt;xref&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Contract/Signature/Day&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;help&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;ContractType = '1'&amp;quot;&lt;/span&gt; &lt;span class="n"&gt;bookmark&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Contract_Signature_Day_1&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;/&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;help&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;ContractType = '2'&amp;quot;&lt;/span&gt; &lt;span class="n"&gt;bookmark&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Contract_Signature_Day_2&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;/&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mergefield&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;If those &lt;code&gt;help&lt;/code&gt; elements are present, when users click on the help icon each one of the &lt;code&gt;if&lt;/code&gt; expression will be evaluated, and the &lt;code&gt;bookmark&lt;/code&gt; for the first one that succeeds will be used. &lt;/p&gt;
&lt;h2 id="different-help-descriptions"&gt;Different Help Descriptions&lt;/h2&gt;
&lt;p&gt;In the resource files (&lt;code&gt;form-resources-en.xml&lt;/code&gt; and &lt;code&gt;form-resources-es.xml&lt;/code&gt;) instead of having just one &lt;code&gt;&amp;amp;lt;help&amp;amp;gt;&lt;/code&gt;, you create a second one and add an attribute on the &lt;code&gt;&amp;amp;lt;help&amp;amp;gt;&lt;/code&gt; elements to differentiate them. In the example that follows, the attribute &lt;code&gt;contract-type&lt;/code&gt; has been added. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;estimate&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;foreign&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;currency&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;Consultant&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="n"&gt;remuneration&lt;/span&gt; &lt;span class="n"&gt;ceiling&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="n"&gt;foreign&lt;/span&gt; &lt;span class="n"&gt;currency&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;hint&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;Insert&lt;/span&gt; &lt;span class="n"&gt;amount&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;currency&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Example&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;one&lt;/span&gt; &lt;span class="n"&gt;hundred&lt;/span&gt; &lt;span class="n"&gt;thousand&lt;/span&gt; &lt;span class="n"&gt;pacific&lt;/span&gt; &lt;span class="n"&gt;dollars&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;100.000&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;hint&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;help&lt;/span&gt; &lt;span class="n"&gt;contract&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;See&lt;/span&gt; &lt;span class="n"&gt;paragraph&lt;/span&gt; &lt;span class="mf"&gt;6.1&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;help&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;help&lt;/span&gt; &lt;span class="n"&gt;contract&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;2&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;See&lt;/span&gt; &lt;span class="n"&gt;paragraph&lt;/span&gt; &lt;span class="mf"&gt;6.2&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;help&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;estimate&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;foreign&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;currency&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Then edit the corresponding XForms control. In that control, the help would normally read: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;xforms&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;help&lt;/span&gt; &lt;span class="n"&gt;ref&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;$form-resources/estimate-foreign-currency/help&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;/&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Since there are now multiple &lt;code&gt;&amp;amp;lt;help&amp;amp;gt;&lt;/code&gt;, you need to indicate which one to choose. To select the one that has an attribute &lt;code&gt;contract-type&lt;/code&gt; equal to the currently selected contract, write (if you wish, you can put the two lines that follow on just one line): &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;xforms&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;help&lt;/span&gt; &lt;span class="n"&gt;ref&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;$form-resources/estimate-foreign-currency/help&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;contract&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;instance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;form&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;instance&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;ContractType&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;/&amp;amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alessandro Vernet</dc:creator><pubDate>Tue, 20 May 2014 18:43:59 -0000</pubDate><guid>https://sourceforge.net1e25d0b2d199cdd83cb8cc45338785cdd3a92669</guid></item></channel></rss>