product name not being picked up in Infocenter
-
- Posts: 44
- Joined: Tue Mar 13, 2012 5:01 pm
product name not being picked up in Infocenter
I see simply "Help - ", where my product name should be inserted after hyphen. I can remove the "Help - " prefix by changing a setting in the properties.ini file, but then since it's entirely empty, the tab title defaults to my ip address.
My understanding is that that title comes from the "product name" inserted in the plugins.properties file, and mine includes it. I can include the contents of that plus my plugins.xml and config.ini files, which seem to be related to this subject.
I am getting one last error message from Tomcat when these deploy, after resolving all the other ones. It looks like this:
I've tried to resolve this various ways from info I found online, but no luck so far. The feature.xml file is inside the .jar file, and seems to contain the required info. I don't know if this is related to the title/product name issue.!ENTRY org.eclipse.update.configurator 4 0 2012-04-14 17:56:38.300
!MESSAGE Unable to find feature.xml in directory: /apache-tomcat/work/Catalina/localhost/com.xxx.xxx/eclipse/features/org.eclipse.help.infocenter_feature_1.0.0.jar
One reason I'm curious to ask here is that one other forum post elsewhere described precisely the same symptoms with the missing browser title, and he happened to mention that he had generated his Eclipse Help from Oxygen XML also. I think it's more likely that we both just missed something, but just wondering if anyone here in particular would have any clues. Thanks for any advice,
plugin.xml
<plugin id="com.xxx.xxx" name="XXX Reference Guide">
<extension point="org.eclipse.help.toc">
<toc file="xxx_xxx_.xml" primary="true"/>
</extension>
<extension point="org.eclipse.help.index">
<index file="index.xml"/>
</extension>
<extension id="helpProduct" point="org.eclipse.core.runtime.products">
<product name="XXX Reference Guide" application="" />
</extension>
</plugin>
config.ini
plugin.properties#Eclipse Runtime Configuration File
#Substitute the product name below with the name of your product plugin if you want to be able to
#customize the help appearance
#eclipse.product=org.eclipse.productname
eclipse.product=com.xxx.xxx.helpProduct
# NLS_MESSAGEFORMAT_NONE
# NLS_ENCODING=UTF-8
name=ABC Reference Guide
providerName=DITA
-
- Posts: 4141
- Joined: Fri Mar 28, 2003 2:12 pm
Re: product name not being picked up in Infocenter
Post by sorin_ristache »
The title of your help plugin should come from the label attribute of the toc element (the root element) from your file xxx_xxx_.xml which holds the Table of Contents and which you declared by:H_Too_Oh wrote:I see simply "Help - ", where my product name should be inserted after hyphen.
Code: Select all
<extension point="org.eclipse.help.toc">
<toc file="xxx_xxx_.xml" primary="true"/>
</extension>
Please post all these files or better send them as a zip archive (for preserving the directory structure) via our problem report page.H_Too_Oh wrote:My understanding is that that title comes from the "product name" inserted in the plugins.properties file, and mine includes it. I can include the contents of that plus my plugins.xml and config.ini files, which seem to be related to this subject.
You should place the feature.xml file in unpacked version on the server, that is outside of a jar file. Just place it in a directory of the server and specify that directory in the server configuration file instead of the jar file org.eclipse.help.infocenter_feature_1.0.0.jar.H_Too_Oh wrote:I am getting one last error message from Tomcat when these deploy, after resolving all the other ones. It looks like this:
I've tried to resolve this various ways from info I found online, but no luck so far. The feature.xml file is inside the .jar file, and seems to contain the required info. I don't know if this is related to the title/product name issue.!ENTRY org.eclipse.update.configurator 4 0 2012-04-14 17:56:38.300
!MESSAGE Unable to find feature.xml in directory: /apache-tomcat/work/Catalina/localhost/com.xxx.xxx/eclipse/features/org.eclipse.help.infocenter_feature_1.0.0.jar
Regards,
Sorin
-
- Posts: 44
- Joined: Tue Mar 13, 2012 5:01 pm
Re: product name not being picked up in Infocenter
Right, that makes sense. My root xxx.xxx.xml doc does have what I want in the label tag, but it's not making its way to the <title> </title> tag of the html that's being generated as the Infocenter, that is, what appears in the browser tab as text.The title of your help plugin should come from the label attribute of the toc element (the root element) from your file xxx_xxx_.xml which holds the Table of Contents and which you declared by:
Thanks. That cleared that error message. It didn't make anything else work, unfortunately, I was hoping somehow that was the problem with this other issue.You should place the feature.xml file in unpacked version on the server, that is outside of a jar file. Just place it in a directory of the server and specify that directory in the server configuration file instead of the jar file org.eclipse.help.infocenter_feature_1.0.0.jar.
I'll post my files to the problem report page, good to know about that.
Another angle on this while I'm here: Just now I managed to at least get the plugin_customization.ini file inside my plugin to be used when launching my plugin directly in Eclipse, by using a -pluginCustomization argument in the command line:. The full command looks like this with the customization argument in bold:
Isn't there a way to accomplish this also with my plugin inside a .war file? Because that's how I'm launching it, in Tomcat, I'm not usually using Eclipse, I only did to test that out to see if I had everything arranged correctly. In the .war archive, my plugin_customization.ini file is never being found and has no effect. The command won't work I think, I'm just starting Apache Tomcat with the command line, so there must be something needed inside the .war?java -classpath /Applications/eclipse/plugins/org.eclipse.help.base_3.6.2.v201202080800.jar org.eclipse.help.standalone.Infocenter -pluginCustomization /Applications/eclipse/plugins/cust_plugin/plugin_customization.ini -command start -eclipsehome /Applications/eclipse -port 8081
May be outside the scope of this forum but if anyone has a clue, I'd love to hear it.
Thanks again,
-
- Posts: 4141
- Joined: Fri Mar 28, 2003 2:12 pm
Re: product name not being picked up in Infocenter
Post by sorin_ristache »
We will look at your files once you send them.H_Too_Oh wrote:I'll post my files to the problem report page, good to know about that.
Regards,
Sorin
-
- Posts: 4141
- Joined: Fri Mar 28, 2003 2:12 pm
Re: product name not being picked up in Infocenter
Post by sorin_ristache »
Thank you for the zip file but it contains many jar files. What is the Eclipse Help plugin that you generated in Oxygen and that is not displayed in the Help Infocenter? What is the product title and where is it specified? In what jar files are the help files located?H_Too_Oh wrote:I'll post my files to the problem
report page, good to know about that.
Regards,
Sorin
-
- Posts: 44
- Joined: Tue Mar 13, 2012 5:01 pm
Re: product name not being picked up in Infocenter
Just to be clear first: The product plugin is being displayed in the Infocenter. Everything works except the product name being picked up to go in the browser tab.
The product plugin is the directory located here:
Code: Select all
/spf-doc/output/war_out/com.pfm.rfp/WEB-INF/plugins/com.pfm.rfp
Those never worked for me, but I found a war file posted here that he created using those instructions with some modifications for errors, and it worked for me:
The product name as I understand it is supposed to be picked up from the file here:
Code: Select all
spf-doc/output/war_out/com.pfm.rfp/WEB-INF/configuration
Code: Select all
/spf-doc/output/war_out/com.pfm.rfp/WEB-INF/plugins/com.pfm.rfp/plugin.xml
I've customized the way my plugin appears in my Infocenter, branding it with graphics and banner and so on, by inserting my graphics and edits in those jar files, for example org.eclipse.help.base_3.5.2.v201009090800.jar and so on, just replacing the default graphics and files there (exploding the jar files and then compressing them again) since I could never get this more standard customization method to work, so that's one reason I included them.
Let me know if I can supply any more background or details.
Thanks,
-
- Posts: 4141
- Joined: Fri Mar 28, 2003 2:12 pm
Re: product name not being picked up in Infocenter
Post by sorin_ristache »
The file com.pfm.rfp\WEB-INF\plugins\com.pfm.rfp\PFM_RFP_Response.xml is declared as the Table of Contents file in the plugin descriptor com.pfm.rfp\WEB-INF\plugins\com.pfm.rfp\plugin.xml and it starts with:H_Too_Oh wrote:The product plugin is the directory located here:
Code: Select all
/spf-doc/output/war_out/com.pfm.rfp/WEB-INF/plugins/com.pfm.rfp
Code: Select all
<toc label="..." topic="preface.html">
It seems a problem of Infocenter setup. I am sorry, I don't know why the help title from the label attribute is not displayed in the Infocenter. Maybe other users with more Infocenter knowledge know the answer.H_Too_Oh wrote:The rest of the .jar files surrounding it compose the standalone implementation of an Eclipse Infocenter, as described in these instructions:
Those never worked for me, but I found a war file posted here that he created using those instructions with some modifications for errors, and it worked for me:
...
I've customized the way my plugin appears in my Infocenter, branding it with graphics and banner and so on, by inserting my graphics and edits in those jar files, for example org.eclipse.help.base_3.5.2.v201009090800.jar and so on, just replacing the default graphics and files there
Regards,
Sorin
-
- Posts: 44
- Joined: Tue Mar 13, 2012 5:01 pm
Re: product name not being picked up in Infocenter
One other question, since Oxygen has an "Eclipse Plugin" transformation built in, do you have any examples of that working as an Infocenter help plugin where the title is picked up in the browser tab, I mean even using Eclipse to deploy it? Since that's really the only other way to deploy an Eclipse plugin, other than packaging it in a .war file as I'm doing, to be deployed in an Apache Tomcat server.
I know this can be done since I was packaging Eclipse Help plugins last year into a .war file and deploying them the same way. And the browser title worked. Unfortunately I don't have access to the .war file template/model I was using then, and the plugin was generated from a different xml editing tool.
-
- Posts: 4141
- Joined: Fri Mar 28, 2003 2:12 pm
Re: product name not being picked up in Infocenter
Post by sorin_ristache »
The Oxygen User Manual for the Oxygen plugin for Eclipse was created using the Eclipse Help transformation. When the Oxygen plugin is installed the user manual is displayed in the Eclipse SDK platform from menu Help -> Help Contents.H_Too_Oh wrote:One other question, since Oxygen has an "Eclipse Plugin" transformation built in, do you have any examples of that working as an Infocenter help plugin where the title is picked up in the browser tab, I mean even using Eclipse to deploy it?
We do not have an example working as an Infocenter plugin.
Regards,
Sorin
-
- Posts: 44
- Joined: Tue Mar 13, 2012 5:01 pm
Re: product name not being picked up in Infocenter
-
- Posts: 44
- Joined: Tue Mar 13, 2012 5:01 pm
Re: product name not being picked up in Infocenter
Inside my product plugin is: META-INF/MANIFEST.MF, and the manifest.mf file contains:
Bundle-SymbolicName: has to be followed by the plugin id, not the plugin name. When the Eclipse Help transformation generates the manifest.mf file, it seems to pick up the symbolic name entry from the name of the plugin directory. So I changed the plugin directory name and the plugin id so that they match.Bundle-Version: 0.0.0
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Localization: plugin
Bundle-Name: %name
Bundle-Vendor: %providerName
Eclipse-LazyStart: true
Bundle-SymbolicName: customization.test; singleton:=true
Here's what my plugin.xml file looks like now:
"Test Label" now appears in my browser tab. I could also use <product name="%productName" in the plugin.xml file and then it would pick up a productName entry that I could put in the plugin.properties file instead, which I'll probably want to do, but this was the first time I had anything at all in the browser tab other than generic default info.<?xml version="1.0" encoding="utf-8"?>
<plugin name="test name" id ="customization.test">
<extension point="org.eclipse.help.toc">
<toc file="customization_test.xml" primary="true"/>
</extension>
<extension id="helpProduct" point="org.eclipse.core.runtime.products" >
<product name="Test Label" application=""/>
</extension>
<extension point="org.eclipse.help.index">
<index file="index.xml"/>
</extension>
</plugin>
Which brings me to my next question: Now that I have all of the customization working, how can I get the plugin.xml to be generated to look like above? What comes out of the Eclipse Help transformation from Oxygen looks like this:
It's just lacking the middle extension, plus not using a plugin name or id, just <plugin>. I could add those things with a script after generating the plugin from Oxygen but there's probably a better way.<?xml version="1.0" encoding="utf-8"?>
<plugin>
<extension point="org.eclipse.help.toc">
<toc file="customization_test.xml" primary="true"/>
</extension>
<extension point="org.eclipse.help.index">
<index file="index.xml"/>
</extension>
</plugin>
I also now have to figure out how to generate the Infocenter HTML pages (splash page and banner) and the css that controls them, plus the plugin_customization file, since these all now go right in my product plugin. Up to now, I had them hard-wired into the .jar files that make up the .war file template, into which I put my product plugin. That way they weren't erased each time I generated a plugin, since the .war file template structure stayed put. I don't think this will be a problem, but I haven't tried yet. I assume I can just include any HTML pages at the top level and they'll go through. Can I include something like a plugin_customization.ini just as part of the project?
Thanks,
-
- Posts: 4141
- Joined: Fri Mar 28, 2003 2:12 pm
Re: product name not being picked up in Infocenter
Post by sorin_ristache »
A better way would be to modify the DITA transformation for Eclipse Help output. You will need to modify an XSLT stylesheet from DITA Open Toolkit. Please look at the XSLT templateH_Too_Oh wrote:Which brings me to my next question: Now that I have all of the customization working, how can I get the plugin.xml to be generated to look like above?
. . .
It's just lacking the middle extension, plus not using a plugin name or id, just <plugin>. I could add those things with a script after generating the plugin from Oxygen but there's probably a better way.
Code: Select all
<xsl:template match="*[contains(@class, ' map/map ')]" mode="eclipse.plugin">
Code: Select all
[Oxygen-install-dir]/frameworks/dita/DITA-OT/xsl/map2pluginImpl.xsl
Regards,
Sorin
-
- Posts: 44
- Joined: Tue Mar 13, 2012 5:01 pm
Re: product name not being picked up in Infocenter
This may seem like a simple question, but can you tell me how I can include a plugin_customization.ini file, and two HTML files, inside the generated product plugin folder? I don't want or need the HTML pages to be generated as dita topics, just simple HTML for the interface. I can't seem to get how this is done.
I have the .war file bundling automated, so that Oxygen generates the product plugin in the right place inside an expanded .war structure, then a script bundles the entire structure into the .war file and deploys it in Tomcat. So after clicking "Transform now" in Oxygen I can go directly to the URL and see the Infocenter with my changes. To get this branding though, the last thing remaining that I have to do by hand is insert these into the product plugin before bundling the .war file:
plugin_customization.ini
banner.html
footer.html
These will be different for different products, so they need to be generated with each bookmap separately.
If I build an HTML file inside of Oxygen, put a reference to it from the bookmap and mark it "toc=no", I don't get the file included in the customization.test plugin directory output. And I don't know how to insert the plugin_customization.ini file at all.
Thanks,
-
- Posts: 44
- Joined: Tue Mar 13, 2012 5:01 pm
Re: product name not being picked up in Infocenter
There is one other thing I wanted to mention: One of the reasons that the Eclipse Standalone Help Infocenter deployed in a .war file wasn't working was white space before and after the <mainbooktitle> tag. I don't think it's just Oxygen, possibly the DTD, or even just DITA. It caused a problem with the plugin.properties file in particular, putting the name on another line. Actually I think it's not just white space but read as a carriage return. Here was the result in the plugin.xml file:
Code: Select all
<plugin name="
 Customization Test

Code: Select all
# NLS_MESSAGEFORMAT_NONE
# NLS_ENCODING=UTF-8
name=
Customization Test
providerName=DITA
Code: Select all
<bookmap id="customization.test">
<booktitle>
<mainbooktitle>Customization Test</mainbooktitle>
</booktitle>
Code: Select all
<bookmap id="customization.test"><booktitle><mainbooktitle>Customization Test</mainbooktitle></booktitle>
Thanks,
-
- Posts: 4141
- Joined: Fri Mar 28, 2003 2:12 pm
Re: product name not being picked up in Infocenter
Post by sorin_ristache »
You don't have to edit the bookmap XML file and remove the spaces. You can fix the value of the name attribute in plugin.xml by replacing in the map2pluginImpl.xsl stylesheetH_Too_Oh wrote:There is one other thing I wanted to mention: One of the reasons that the Eclipse Standalone Help Infocenter deployed in a .war file wasn't working was white space before and after the <mainbooktitle> tag. I don't think it's just Oxygen, possibly the DTD, or even just DITA. It caused a problem with the plugin.properties file in particular, putting the name on another line. Actually I think it's not just white space but read as a carriage return. Here was the result in the plugin.xml file:
and in the plugin.properties file:Code: Select all
<plugin name="
 Customization Test

Code: Select all
# NLS_MESSAGEFORMAT_NONE
# NLS_ENCODING=UTF-8
name=
Customization Test
providerName=DITA
Code: Select all
<xsl:value-of select="*[contains(@class, ' topic/title ')]"/>
Code: Select all
<xsl:value-of select="normalize-space(*[contains(@class, ' topic/title ')])"/>
Regards,
Sorin
-
- Posts: 44
- Joined: Tue Mar 13, 2012 5:01 pm
Re: product name not being picked up in Infocenter
When I try inserting
Code: Select all
normalize-space(
...in a similar place (lines 9 or 10, in the code sample below) I get errors, but I don't know how the syntax works, clearly:
Code: Select all
1. <xsl:template match="*[contains(@class, ' map/map ')]" mode="eclipse.properties">
2. <xsl:text># NLS_MESSAGEFORMAT_NONE</xsl:text><xsl:value-of select="$newline"/>
3. <xsl:text># NLS_ENCODING=UTF-8</xsl:text><xsl:value-of select="$newline"/>
4. <!--<xsl:value-of select="$newline"/>-->
5. <xsl:choose>
6. <xsl:when test="@title">
7. <xsl:text>name=</xsl:text><xsl:value-of select="@title"/>
8. </xsl:when>
9. <xsl:when test="*[contains(@class, ' topic/title ')]">
10. <xsl:text>name=</xsl:text><xsl:apply-templates select="*[contains(@class,' topic/title ')]" mode="text-only"/>
11. </xsl:when>
12. <xsl:otherwise>
13. <xsl:text>name=Sample Title</xsl:text>
14. </xsl:otherwise>
15. </xsl:choose>
16. <xsl:value-of select="$newline"/>
17. <xsl:text>providerName=</xsl:text><xsl:value-of select="$provider"/>
18. </xsl:template>
This is the template that produces the eclipse.properties file, which is the one that causes the browser tab label to be blank. It looks like this:
Code: Select all
# NLS_MESSAGEFORMAT_NONE
# NLS_ENCODING=UTF-8
name=
Customization Test
providerName=DITA
-
- Posts: 44
- Joined: Tue Mar 13, 2012 5:01 pm
Re: product name not being picked up in Infocenter
-
- Posts: 4141
- Joined: Fri Mar 28, 2003 2:12 pm
Re: product name not being picked up in Infocenter
Post by sorin_ristache »
Please replace the whole templateH_Too_Oh wrote:When I try inserting
Code: Select all
normalize-space(
...in a similar place (lines 9 or 10, in the code sample below) I get errors, but I don't know how the syntax works, clearly:
Code: Select all
<xsl:template match="*[contains(@class, ' map/map ')]" mode="eclipse.properties">
Code: Select all
<xsl:template match="*[contains(@class, ' map/map ')]" mode="eclipse.properties">
<xsl:text># NLS_MESSAGEFORMAT_NONE</xsl:text><xsl:value-of select="$newline"/>
<xsl:text># NLS_ENCODING=UTF-8</xsl:text><xsl:value-of select="$newline"/>
<!--<xsl:value-of select="$newline"/>-->
<xsl:variable name="nameLine">
<xsl:choose>
<xsl:when test="@title">
<xsl:text>name=</xsl:text><xsl:value-of select="@title"/>
</xsl:when>
<xsl:when test="*[contains(@class, ' topic/title ')]">
<xsl:text>name=</xsl:text><xsl:apply-templates select="*[contains(@class,' topic/title ')]" mode="text-only"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>name=Sample Title</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:value-of select="normalize-space($nameLine)"/>
<xsl:value-of select="$newline"/>
<xsl:text>providerName=</xsl:text><xsl:value-of select="$provider"/>
</xsl:template>
Regards,
Sorin
-
- Posts: 44
- Joined: Tue Mar 13, 2012 5:01 pm
Re: product name not being picked up in Infocenter
Code: Select all
<book title>
<topic title>
<topic title><topic title>
<topic title>
-
- Posts: 4141
- Joined: Fri Mar 28, 2003 2:12 pm
Re: product name not being picked up in Infocenter
Post by sorin_ristache »
Code: Select all
<bookmap>
<booktitle>
<mainbooktitle>Customization Test</mainbooktitle>
</booktitle>
...
Regards,
Sorin
-
- Posts: 44
- Joined: Tue Mar 13, 2012 5:01 pm
Re: product name not being picked up in Infocenter
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE bookmap PUBLIC "-//OASIS//DTD DITA BookMap//EN" "bookmap.dtd">
<bookmap id="customization.test">
<booktitle>
<mainbooktitle>Customization Test</mainbooktitle></booktitle>
<bookmeta>
<prodinfo>
<prodname>CustomizationTest</prodname>
<vrmlist>
<vrm version=""/>
</vrmlist>
</prodinfo>
</bookmeta>
<part>
<chapter href="customization_test_chap.dita">
<topicref href="customization_test_topic.dita"/>
</chapter>
</part>
</bookmap>
Code: Select all
<xsl:template match="*[contains(@class, ' map/map ')]" mode="eclipse.properties">
...
<xsl:text>providerName=</xsl:text><xsl:value-of select="$provider"/>
</xsl:template>
Using an "Eclipse Help" transformation.
In any case it seems now if I just remove the spaces in the DITA source file, it does now save that way, I'm not sure why it didn't seem to earlier. So I can just save them all that way for these projects, that will be fine.
Thanks for the help,
-
- Posts: 44
- Joined: Tue Mar 13, 2012 5:01 pm
Re: product name not being picked up in Infocenter
I got your replacement template working. I had commented the old one out and put yours below it, everything looked correct with the comment marks, the old one was totally grayed out, I tried several more times and double-checked everything, but it wasn't working. Finally I tried deleting the old one entirely and pasting yours in, and that worked. I inserted some spaces between the booktitle tags to test it and now it removes them.
Who knows what I had done, but anyway just to let you know, and thanks again.
-
- Posts: 4141
- Joined: Fri Mar 28, 2003 2:12 pm
Re: product name not being picked up in Infocenter
Post by sorin_ristache »
Regards,
Sorin
Return to “DITA (Editing and Publishing DITA Content)”
- Oxygen XML Editor/Author/Developer
- ↳ Feature Request
- ↳ Common Problems
- ↳ DITA (Editing and Publishing DITA Content)
- ↳ SDK-API, Frameworks - Document Types
- ↳ DocBook
- ↳ TEI
- ↳ XHTML
- ↳ Other Issues
- Oxygen XML Web Author
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Content Fusion
- ↳ Feature Request
- ↳ Common Problems
- Oxygen JSON Editor
- ↳ Feature Request
- ↳ Common Problems
- Oxygen PDF Chemistry
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Feedback
- ↳ Feature Request
- ↳ Common Problems
- Oxygen XML WebHelp
- ↳ Feature Request
- ↳ Common Problems
- XML
- ↳ General XML Questions
- ↳ XSLT and FOP
- ↳ XML Schemas
- ↳ XQuery
- NVDL
- ↳ General NVDL Issues
- ↳ oNVDL Related Issues
- XML Services Market
- ↳ Offer a Service