0
Document your webMethods solutions
DocGen
User Guide
DocGen User Guide
Email: info@vanguardintegration.com
www.vanguardintegration.com
Melbourne, Australia
Other products and brand names are trademarks of their respective owners.
Table of Contents
About this guide ................................................................................................................................... 1
Key concepts........................................................................................................................................ 5
Generation overview............................................................................................................................ 9
Outdated documentation................................................................................................................... 25
Introduction
S Y M B O L K E Y
What is DocGen?
DocGen is a documentation generation tool for webMethods packages. It
creates high quality, indexed, hyperlinked documentation for all of the major
service and documentation types used in typical webMethods solutions.
1
1
Chapter
Getting Started
Your package
name will be
slightly different to
the one pictured,
reflecting a
different build
number.
DocGen.
You can also paste the contents of a license file into the text area on the
License Info page, which is useful if you dont have a simple way to access
to the Integration Servers config directory through the file system.
3
2
Chapter
Starting DocGen
You may need to DocGen installs itself as a solution in the Integration Server, and will
refresh your
appear in the Solutions menu on the Integration Servers Administration
page. Selecting the DocGen menu item will open the DocGen home page
browser window in a new browser window. You can also access the DocGen home page
to see the updated directly with the URL http://server:port/DocGen. Replace server and port
Solutions menu. with the correct values for your Integration Server (e.g.
http://localhost:5555/DocGen).
DocGen will start with the About page open. The sidebar menu is used to
navigate to other DocGen pages.
4
A node is a
single element
(e.g. a service or
document type)
included in a
package. Flow and FIGURE 3. DocGen "About" page
Java services,
Triggers,
Specifications, and
Key concepts
Document types DocGen creates HTML documentation for one or more webMethods
are all examples of packages at a time. Each request to generate documentation creates a new
a node.
documentation set (containing the documentation for one or more selected
packages).
5
Documentation
Sets can contain
one or more
packages.
A documentation
set generates one FIGURE 4. A single documentation set can contain one or more packages.
FIGURE 5. SolutionSet documentation set with "linked" UtilityA package from previously generated UtilitySet.
6
Generating your first Documentation Set
Lets generate some documentation! Select the Generate option from the
sidebar menu to open the Generate page. This is where you specify the
options for generating a documentation set.
Well look at the various options on this page in more detail in the next
chapter. For now, just select one of your solution packages using the radio
buttons under the Document (and link) option then hit the Generate
button.
You will get a message indicating that the request to generate the
documentation has been made and directing you to use the status/history
page to check progress.
7
FIGURE 8. Progress is displayed while generating.
Once the documentation job completes, the documentation set will appear
in the list of Generated documentation sets.
Depending on the
speed of your
FIGURE 9. Generated documentation is listed in the status/history page.
server and the size
of the package Use the URL link to open the generated documentation.
being generated,
the documentation
job may have
already completed
by the time you
open the status /
history page.
8
3
Chapter
Generating
Documentation
Use this section to gain a detailed understanding of how
to generate sophisticated documentation libraries for your
solutions.
Generation overview
The Generate page is used to specify the options used to generate a
documentation set.
9
Use the generate page to specify:
10
Use this option to create documentation you want to include with the
package. The documentation is created relative to the packages
directory (i.e. IntegrationServer/<packageName>/). It is strongly
recommended that you place the documentation under either the
/pub subdirectory or the /web subdirectory where it can be served
up as web pages by the Integration Server. The suggested default is
/pub/html_doc.
11
FIGURE 12. Sample node - documented with source code
If you choose to exclude source for a package, then there will still be a
Use the exclude
page for all nodes in the package, but pages for any Flow and Java nodes
source option to will not include their source code.
generate API-style
documentation.
12
FIGURE 13. Sample node - documented with source code excluded
13
Links to other nodes are created using standard HTML hyperlinks (e.g. href
tags). To insert a link from your documented node to a node in a linked
package, DocGen needs to be able to construct a link URL. This is done
using either the Standard Link URL prefix or the Link URL Prefix
Override.
When creating the
link, DocGen will
replace any
occurrence of
<packageName>
with the name of
the linked
package.
Dont include For example, assume that you have generated documentation for a utility
/pub when package (Utilities) into the pub/docs directory of that package, and you
now want to generate documentation for another package containing links
specifying links to
to the Utilities package documentation. When generating your new
documentation packages documentation, you would select the Link Only option for the
within packages Utilities package, and set the Link URL Prefix Override for Utilities to
this does not form /<packageName>/docs.
part of the URL to
14
Generate page to set these values. You can also edit these values for
generated documentation sets from the Status/History page.
Excluding dependencies
When generating Each node page has a Used / Referenced by section that lists places where
documentation for that node is referenced from. If the reference is from within the
utility packages,
documentation set, then the list item will be a hyperlink; otherwise it will
appear as plain text.
first exclude all
dependencies from By default, DocGen shows you every place that a particular node is used or
other packages, referenced from. There are occasions where you dont want all of these
and then select the
dependencies listed. This is particularly true in the case of utility packages,
which might be used by many solutions or if you want to generate
utility packages to
documentation for use by external parties (who might be confused by
document. references to services that they dont have on their servers).
For publicly
distributed
Use the Exclude dependencies option to exclude selected packages from
the list of packages used to create the used / referenced from dependency
documentation,
lists for documented nodes.
use the exclude
source option.
Securing access to documentation
If you generate documentation into the Integration Servers package
hierarchy, by selecting a location of either inside the package being
documented or in a separate package, you can use the Integration Servers
15
ACL security facilities to help protect your documentation from unauthorized
access. For example, you could use this feature to ensure that only members
of the Developers group can view documentation containing source code.
Use the Read access control (ACL security) drop down list box to select an
If you are using
appropriate ACL group you want to allow access to the generated
ACL security, you documentation. A .access file is generated for each page in each directory.
need to reload the You need to reload the package(s) for the .access file to take effect. You can
package(s) read more about security and using ACL settings to secure web pages in the
containing the
webMethods Administrators Guide documentation.
documentation for
the security .access
files to take effect.
For additional
protection, you
would need to
secure file-system
access to the
generated
documentation
files.
FIGURE 16. Use Read access control (ACL Security) to help secure your documentation.
16
You can choose to reference icons from a previously generated
documentation set, using the Access to resources (e.g. icons) drop-down
setting. Simply select another package, and the icons will be referenced from
that package rather than copied into the new package (using the packages
We recommend link prefix). This option is not available when generating into a directory.
you leave the
resource location Using this option will save a small amount (about 120KB) of disk space per
documented package for the icons currently used by DocGen. The flip side
setting at the
of this relatively minor efficiency is that the newly documented packages
default value, documentation is reliant on the resource package being available so it can
letting DocGen access the icons.
copy resources as
they are needed.
17
4
Chapter
The structure of
generated documentation
Use this section to gain a better understanding of the
content and structure of the documentation created by
DocGen.
Figure 17. Generating the example documentation. Only relevant options are shown here.
Once the generation process completes, the documentation set will be listed
on the status/history page, with a link to the index.html (home) page.
18
Lets examine the output documentation created by DocGen.
Figure 18. Content of the sample documentation (combining several independent screenshots).
Now lets take a look at the directory structure for this documentation set.
19
FIGURE 19. Output directory structure.
The top-level directory contains the top-level index pages and index.html
page. The icons used throughout the documentation are also located directly
under the top-level directory in a sub-directory called doc-resources.
20
FIGURE 20. Directory structure for two packages generated "inside the package being generated"
21
5
Chapter
Managing Documentation
Use this section to discover how to manage the
documentation you have generated through the Status /
History page.
22
FIGURE 21. Overview of the Status / History page.
Selecting the icon will open the Edit Documentation Set page. Provide new
values for the documentation set and hit Submit.
You need to regenerate the documentation set for any changes to the
documentation set title to take effect in the generated documentation.
23
Re-generating documentation
There may be a Use the regenerate button to regenerate a documentation set. This is a
convenient way to update your documentation after you have made changes
small delay
to your code.
between a
generate request While it is being regenerated, a documentation set is removed from the list of
and a generated documentation (this helps to prevent multiple requests to re-
generate the same documentation set). It will display in the list of currently
documentation set
generating documentation.
appearing in the
list of currently
generating Removing documentation from the history page
documentation.
Use the remove button to remove a documentation set from the history
page. The generated documentation is still available, but the documentation
set will no longer be displayed on the history page, and is not available for
other management tasks (e.g. regenerate).
24
Outdated documentation
If you document two packages into the same location, then files generated
from the first documentation set are overwritten by the second set. The
documentation attached to the first documentation set is considered by
DocGen to be outdated.
Outdated packages are displayed with a shaded background, and their Last
generated status contains a link back to the package that has replaced them.
25
6
Chapter
Advanced Topics
This section is intended for advanced users, and describes
ways to enhance and customize the way DocGen works.
26
3. template files used to generate the documentation, contained
in the DocGen packages /templates directory.
You are free to make modifications and/or replace any of these files to alter
the look and feel of the generated documentation. Make sure you keep a
backup copy of the original files though, just in case!
27
SOFTWARE LICENSE AGREEMENT
PLEASE READ THIS SOFTWARE LICENCE AGREEMENT CAREFULLY. IF YOU DO NOT AGREE WITH ANY PART OF THIS AGREEMENT,
DO NOT CLICK THE "I ACCEPT" BUTTON, OR USE THE SOFTWARE ON YOUR COMPUTER/SERVER. IF YOU CLICK THE "I ACCEPT"
BUTTON OR USE THE SOFTWARE, THIS IS TAKEN TO MEAN THAT YOU AGREE WITH ALL ITEMS IN THIS AGREEMENT.
This is the Software License Agreement ("SLA") between Vanguard Integration Pty Ltd whose ABN is 52 096 310 619 and whose registered
office is 2.01, 365 Little Collins Street, Melbourne in the State of Victoria ("The Licensor") and The Licensee ("You") who has been granted a
non-exclusive, non- transferable licence agreement for the right to use one of Licensors products (the "Software"), subject to one of the
following conditions:
The Software's "License Info" screen displays information about Your currently installed license, including "License type" and "Licensed
Users". The Licensor offers two (2) types of licenses:
(a) Evaluation - This license type is designed to provide You with the opportunity to evaluate the Software prior to purchasing it.
Up to 10 users may use an Evaluation license. You may not keep any documentation generated by the Software under an Evaluation
license, unless you purchase a Professional or Corporate license.
(b) Corporate - This license type is designed for use by project development teams working for a single company, and is designed to
include use by contractors and other non-employees of Your company. A Corporate license is limited to a maximum number of users (the
"Licensed User Limit"), representing the total number of individuals who are licensed to use the Software. You may install a Corporate
license on any servers and/or desktop and/or portable machines within Your corporate network, provided that you take reasonable steps to
ensure that:
the total number of users who can access the Software on those servers will not exceed Your Licensed User Limit; and
The Software is not made available for use outside of your corporate network.
Note: The Licensed User Limit for a Corporate License may be "Unlimited users" meaning there is no restriction on the number of
users who can use The Software, provided that The Software is used only on machines within the Licensee's corporate network.
All clauses in this agreement apply to all license types, except where a clause or section of a clause is clearly designated as applying to a
particular license type only. Where a clause or part of a clause applies only to a particular type of license, the clause(s) or part(s) of the
clause(s) that apply to Your license type are indicated by the name of the license type displayed in square brackets, in the following
manner:
SOFTWARE LICENSE
28
8. The Licensor grants to You the right to make copies of the Software for use as backup copies of the Software in service and
maintenance and restoration of the computer system and/or network server and for no other purpose.
9. If this Software contains documentation that is provided in the form of a book or printed material, You may print one copy of
such printed documentation as is needed for each of the licensed users of the Software on Your computer system or network (implied by
Clause 5 above) for use by the users in training in and operation of the Software and for no other purpose.
10. If this Software contains documentation that is provided only in electronic form, You may make this electronic documentation
available on the network upon which the Software is installed and active or may print one copy of such electronic documentation for each
of the licensed users of the Software on Your computer system or network (implied by Clause 5 above) for use by the users in training in
and operation of the Software and for no other purpose.
11. All title and intellectual property rights in and to the Software and any and all accompanying electronic and/or printed materials,
and any copies of the Software are owned by and shall remain with the Licensor.
12. All rights not specifically granted under this SLA are reserved by the Licensor.
13. You may not edit or modify the Software in any manner whatsoever without the express, signed, written agreement of the
Licensor.
14. You may not market, distribute, sublicense, lease, or rent the Software to a third party without the express, signed, written
agreement of the Licensor.
15. You may not reverse engineer, decompile, or disassemble the Software, without the express, signed, written agreement of the
Licensor.
16. You may not use the Software in connection with any purpose or in connection with any Internet site that is likely to:
(a) infringe any intellectual property rights of the Licensor or any other third party; or
(b) violate any applicable law of the Commonwealth of Australia or any State or Territory of Australia; or
(c) promote racism, hatred, or pornography.
17. Without prejudice to any other rights, the Licensor may terminate this SLA if You fail to comply with the terms and conditions of
this SLA and, in the event that this occurs, You agree to immediately remove the Software from Your computer or server or network or web
site. In such event, You must destroy all copies of the Software and all of its related documentation and component parts.
18. [Evaluation] This evaluation license terminates on expiry of the Evaluation Period. On termination of this evaluation license, unless
you purchase a Corporate or Professional license, You agree to remove the Software from Your computer or network or web site, and
destroy all copies of the Software and all of its related documentation and component parts, and any output files created by the Software in
the course of Your evaluation.
19. If You have acquired this Software Licence in Australia, this SLA is governed by the Copyright Act 1968 (as amended) (Cth), any
current relevant laws of the Commonwealth of Australia, any applicable international treaties entered into and agreed upon by the
Commonwealth of Australia, and any applicable laws and regulations of the State of Victoria. You must agree to submit to the jurisdictions
of the courts of Victoria.
20. The Software is designed to support development activities. Installation or use of The Software on production servers is not
recommended or supported by the Licensor.
LIMITED WARRANTY
21. Subject to clause 24, the Licensor warrants that the Software will perform substantially in accordance with the accompanying
documentation for a period of 90 days from the date You install the Software on Your computer or server.
22. To the extent permitted by any laws of the Commonwealth of Australia or any relevant laws or regulations of the State of Victoria,
the Licensor makes no warranties with respect to the Software and all other terms, conditions, warranties, undertakings or inducements,
whether express or implied, are hereby expressly excluded.
23. In the event that any conditions or warranties are implied by the Trade Practices Act 1974 (as amended) ("The Act"), the entire
liability of the Licensor for breach of any such conditions or warranties (other than a condition or warranty implied by s.69 of the Act) and
the exclusive remedy to You shall be limited to, at the Licensor's choice, either (a) the replacement of the Software or the supply of an
equivalent product, (b) the repair of the Software, (c) the payment of the cost of replacing the Software or of acquiring an equivalent
product, or (d) the payment of having the goods repaired. Any replacement or repaired Software will be warranted from the moment of
replacement or repair for the unused remainder of the original warranty period or 30 days, whichever is longer.
24. This limited warranty is void to the extent that failure of the Software results from modification, accident, abuse or misapplication
or any failure by You to observe obligations under Clauses 12, 13, 14, 15 and/or 20 of this Agreement.
29