How do we make help files for custom HDK nodes accessible to the help system?
Apparently logged earlier as 28985.
Oh, and also: how to add my own examples to the help system.
cheers,
-Mark
Help files for HDK nodes
9313 12 1-
- mark_visser
- Member
- 71 posts
- Joined:
- Offline
-
- mark_visser
- Member
- 71 posts
- Joined:
- Offline
-
- Gerome
- Member
- 85 posts
- Joined: July 2005
- Offline
Well I dont if it is what you want; Embedded help into the DSO which is being despreciated, I havent yet seen the other way
Usually I embedded into the help of the DSO but there is a node (see below) saying it should be external.
Regarding getting help into the main help (and example) I dont if it is possible but SESI will answer better.
bool OP_FBX_Export_Operator::getHDKHelp(UT_String &help) const
{
help = “<html><body>”;
help = “<h3>FBX Geometry Export SOP</h3>”;
Blabla Help.
help += “</body></html>”;
// Note: HDK developers are discouraged from embedding help
// in their C files and should use external help when possible.
// The getHDKHelp() must return true if it is to be used in place of
// other forms of help (eg. custom, OTL, or Houdini help).
return true;
Usually I embedded into the help of the DSO but there is a node (see below) saying it should be external.
Regarding getting help into the main help (and example) I dont if it is possible but SESI will answer better.
bool OP_FBX_Export_Operator::getHDKHelp(UT_String &help) const
{
help = “<html><body>”;
help = “<h3>FBX Geometry Export SOP</h3>”;
Blabla Help.
help += “</body></html>”;
// Note: HDK developers are discouraged from embedding help
// in their C files and should use external help when possible.
// The getHDKHelp() must return true if it is to be used in place of
// other forms of help (eg. custom, OTL, or Houdini help).
return true;
-
- mark_visser
- Member
- 71 posts
- Joined:
- Offline
Hey Gerome,
Thanks! Not really what I want though, cause houdini 9 has a REALLY nice system for converting a wiki-type markup language into the pretty help pages we see in the browser (including the cross-referenced examples).
I have a feeling that there is currently no way other than copying the files into the system mozilla subdir (ew). I hope it's rectified soon! I can't be the only developer that wants their users to have documentation. :-)
cheers,
-Mark
Thanks! Not really what I want though, cause houdini 9 has a REALLY nice system for converting a wiki-type markup language into the pretty help pages we see in the browser (including the cross-referenced examples).
I have a feeling that there is currently no way other than copying the files into the system mozilla subdir (ew). I hope it's rectified soon! I can't be the only developer that wants their users to have documentation. :-)
cheers,
-Mark
-
- Gerome
- Member
- 85 posts
- Joined: July 2005
- Offline
-
- edward
- Member
- 8081 posts
- Joined: July 2005
- Offline
-
- mark_visser
- Member
- 71 posts
- Joined:
- Offline
-
- edward
- Member
- 8081 posts
- Joined: July 2005
- Offline
Untested code:
bool MyNode::getHDKHelp(UT_String &help) const
{
UT_String full_path;
if (HoudiniFindFile(“config/Help/MyNode.txt”, full_path))
{
FS_Reader reader(full_path);
UT_OStrStream os;
UTcopyStreamToStream(*reader.getStream(), os);
os << ends;
help.harden(os.str());
os.rdbuf()->freeze(false);
return true;
}
return false;
}
bool MyNode::getHDKHelp(UT_String &help) const
{
UT_String full_path;
if (HoudiniFindFile(“config/Help/MyNode.txt”, full_path))
{
FS_Reader reader(full_path);
UT_OStrStream os;
UTcopyStreamToStream(*reader.getStream(), os);
os << ends;
help.harden(os.str());
os.rdbuf()->freeze(false);
return true;
}
return false;
}
-
- mark_visser
- Member
- 71 posts
- Joined:
- Offline
edward
I think overriding OP_Operator::getHDKHelp() should work if it returns the wiki format.
I added some magic to my build system to generate the getHDKHelp() call automatically from my node.txt help file at build time. It works, sorta.
The tag doesn't seem to work.
It generates a link to http://localhost:48626/nodes/sop/mycustomsop [localhost]
But this doesn't exist. The URI for hdk custom SOPs appears to be dynamically generated and thus can't be linked: example: wyciwyg
/5/about:blankThere is no obvious way to include images, since they are referenced from $HFS/mozilla.
Screen shots are the obvious use for putting images in node help.
There's no way to add to the cross-linked example system.
The example system is pretty cool. It would be great if we could add to it.
So at the moment custom HDK SOPs are second-class citizens when it comes to the help system. OTLs as well, unless I'm missing something obvious.
An ideal solution would be a $HOUDINI_HELP_DIR env var we could point at d directory mirroring the structure in $HFS/mozilla.
cheers,
-Mark
-
- mchaput
- Staff
- 515 posts
- Joined: July 2005
- Offline
The “old” way of displaying node help in the embedded browser was to use a Mozilla API call to “inject” a string (pulled out of the node's help field) into the browser. That was always problematic, including not being able to link to the content (because it's not “really” in the help).
The “new” way is for the help server to notice requests to “/nodes/X/Y” and pull the help out of assets on the fly using HOM and serve it.
HDK nodes currently use the “old” way of displaying help. I'm not sure if HOM supports getting help from HDK nodes, but if it does, it should be easy for us to switch HDK nodes to the “new” way.
I basically know nothing about the HDK; if anyone wants to postulate their ideal method for associating help with HDK nodes here, go right ahead.
The “new” way is for the help server to notice requests to “/nodes/X/Y” and pull the help out of assets on the fly using HOM and serve it.
HDK nodes currently use the “old” way of displaying help. I'm not sure if HOM supports getting help from HDK nodes, but if it does, it should be easy for us to switch HDK nodes to the “new” way.
I basically know nothing about the HDK; if anyone wants to postulate their ideal method for associating help with HDK nodes here, go right ahead.
Edited by - March 27, 2008 17:18:32
-
- mchaput
- Staff
- 515 posts
- Joined: July 2005
- Offline
Also, putting a wiki-formatted file in HOUDINIPATH/help/nodes/X/Y.txt (e.g. ~/houdini9.1/help/nodes/obj/mynode.txt) should work, including being able to link to it with .
This is somewhat “experimental” in the current version (as in, try it, see if it works, and if not, I'll try to fix it), but we're committed to solidifying it in the next version.
This is somewhat “experimental” in the current version (as in, try it, see if it works, and if not, I'll try to fix it), but we're committed to solidifying it in the next version.
-
- mark_visser
- Member
- 71 posts
- Joined:
- Offline
-
- rafal
- Staff
- 1471 posts
- Joined: July 2005
- Offline
in addition you can override OP_Operator::getOpHelpURL() to return true and to fill the URL string (eg, “file
//my/help/repo” or "http://my.company.help.url.com [my.company.help.url.com]“) for the help browser to display the web page that contains help for that operator.
EDIT: you can also use env variables in the URL string, which will get expanded by Houdini before they are used in the help browser, eg, getOpHelpURL(”file:$HH/config/Help/sop/my_op")
//my/help/repo” or "http://my.company.help.url.com [my.company.help.url.com]“) for the help browser to display the web page that contains help for that operator.EDIT: you can also use env variables in the URL string, which will get expanded by Houdini before they are used in the help browser, eg, getOpHelpURL(”file:$HH/config/Help/sop/my_op")
-
- Quick Links



