Document your webMethods solutions

DOCGEN 6.0
Document your webMethodsď›› solutions
DocGen
User Guide
DocGen User Guide
Vanguard Integration Pty Ltd
Suite 2.01, 365 Little Collins Street
Melbourne, VIC 3000
Phone: +61 3 8676 0445 Fax: +61 3 9602 3445
Email: info@vanguardintegration.com
www.vanguardintegration.com
© Vanguard Integration Pty Ltd
Melbourne, Australia
All rights reserved
Integration Server is a trademark and webMethods is a registered trademark of webMethods, Inc.
Java is a trademark of Sun Microsystems.
Other products and brand names are trademarks of their respective owners.
Table of Contents
About this guide ................................................................................................................................... 1
What is DocGen? .................................................................................................................................. 1
DocGen System Requirements ........................................................................................................... 1
Installing the software ........................................................................................................................ 2
Installing your license ......................................................................................................................... 2
Starting DocGen ................................................................................................................................... 4
Key concepts........................................................................................................................................ 5
Generating your first “Documentation Set”....................................................................................... 7
Generation overview............................................................................................................................ 9
Specifying the output location ......................................................................................................... 10
Selecting packages to document..................................................................................................... 11
Linking to other documentation sets............................................................................................... 13
Identifying the documentation set ................................................................................................... 14
Excluding dependencies ................................................................................................................... 15
Securing access to documentation.................................................................................................. 15
Locating resources (icons) ............................................................................................................... 16
Overview of the Status / History page ............................................................................................. 22
Changing a documentation set Id and title ..................................................................................... 23
Re-generating documentation .......................................................................................................... 24
Removing documentation from the history page ............................................................................ 24
Deleting generated documentation.................................................................................................. 24
Outdated documentation................................................................................................................... 25
Scheduling re-generation of documentation ................................................................................... 26
Changing the documentation’s look-and-feel.................................................................................. 26
Controlling access to DocGen .......................................................................................................... 27
SOFTWARE LICENSE AGREEMENT .................................................................................................. 28
D O C G E N
U S E R
G U I D E
Introduction
S Y M B O L
K E Y
Key concept
About this guide
Useful tip
This user guide will help you get the most out of DocGen.
Definition
Note
The symbol key (left) shows the symbols used in this manual and their
meaning.
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.
DocGen System Requirements
Edit your startup
(server.sh or
DocGen is developed to run on webMethods Integration Server version 6.0
and beyond. Documentation generation consumes system resources in the
following manner:
server.bat) to
increase the
memory available
to the webMethods
Integration Server
Java process.
generated documentation consumes disk space
documentation indexes are built and held in memory while
generating. The more services that are included in a single
documentation set, the bigger the indexes will be, and consequently
more memory will be required
generating documentation uses a single webMethods Server Thread
(per concurrently executing documentation generation task).
generating documentation is a CPU-intensive operation. The faster
your CPU, the faster your documentation will be generated.
1
1
Chapter
Getting Started
Installing the software
DocGen is provided as an installable webMethods package. Simply place the
package (zip) file in the Integration Server’s replicate/inbound directory and
use the webMethods Administrator Package Management page to install and
activate the package.
Your package
name will be
slightly different to
the one pictured,
reflecting a
different build
number.
FIGURE 1. Installing DocGen using Package Management.
Consult the webMethods Administrator Guide documentation for further
information.
It is recommended
that you place
your license file in
the
IntegrationServer’s
config directory.
This protects the
license file from
Installing your license
DocGen requires a valid license file in order to function. CustomWare
provides the license file to you when you purchase DocGen. You can also
request a temporary license from the CustomWare web site for the purpose
of evaluating DocGen. The license file is called DocGen.lic, and can be
placed in the config directory of either the Integration Server, or the DocGen
package itself.
being overwritten
if you install future
releases of
DocGen.
2
You can also paste the contents of a license file into the text area on the
License Info page, which is useful if you don’t have a simple way to access
to the Integration Server’s config directory through the file system.
3
2
Chapter
Quick Start Guide
Use this section to get a brief overview of some of
DocGen’s key concepts and generate your first
documentation.
Starting DocGen
You may need to
“refresh” your
browser window
to see the updated
Solutions menu.
DocGen installs itself as a “solution” in the Integration Server, and will
appear in the Solutions menu on the Integration Server’s Administration
page. Selecting the DocGen… menu item will open the DocGen home page
in a new browser window. You can also access the DocGen home page
directly with the URL http://server:port/DocGen. Replace “server” and “port”
with the correct values for your Integration Server (e.g.
http://localhost:5555/DocGen).
FIGURE 2.
DocGen installs as a Solution.
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
Document types
are all examples of
a node.
Key concepts
DocGen creates HTML documentation for one or more webMethods
packages at a time. Each request to generate documentation creates a new
“documentation set” (containing the documentation for one or more selected
packages).
5
Documentation
Sets can contain
one or more
packages.
A documentation
FIGURE 4.
set generates one
node page per
documented node.
Node pages are
not duplicated
within a
documentation set.
Linked packages
are included in the
index, but
documentation for
A single documentation set can contain one or more packages.
A documentation set contains individual documentation pages for each node
in the set (node pages), plus package-level indexes for each package in the
set. In addition, there are top-level index pages to provide overall indexes
across all packages in the set and links to individual package indexes.
Node pages are only generated for packages you have selected to
“document” or “document excluding source” (more on these options below).
Index pages provide access to node pages and are generated for all
packages that are included in the documentation set. Each node is
documented once and only once within a single documentation set, but
indexes may be created multiple times if documentation is being generated
“inside the package being generated” for multiple packages.
linked nodes is
accessed through
browser (HTML)
links.
Documentation sets can be “linked” to previously generated documentation
(for other packages). For example, you might create a documentation set for
a utility package and then link to it from individual solution packages. Linked
packages are included in the top-level and package-level indexes for the
new documentation set, but the documentation for nodes within the linked
package is accessed via HTML hyperlinks.
The example diagram (below) shows two documentation sets, “SolutionSet”
and “UtilitySet”. UtilitySet contains two utility packages, one of which
(“UtilityA”) is used in the “SolutionA” package. In creating the SolutionSet
documentation, the UtilityA package is included as a “linked” package. The
dashed lines indicate that links (hyperlinks) will exist to the UtilityA package
from both the SolutionA package node pages as well as the SolutionSet
package- and top-level indexes.
FIGURE 5.
SolutionSet documentation set with "linked" UtilityA package from previously generated UtilitySet.
6
Generating your first “Documentation Set”
Let’s 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.
We’ll 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.
FIGURE 6.
Generating documentation for a single package.
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.
FIGURE 7.
Documentation generate request has been made.
Documentation is generated in a separate execution “thread”. Select the
“Status / History” option from the sidebar menu to check progress of the
current documentation generation job(s).
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.
FIGURE 10.
Sample generated documentation.
That’s all there is to it!
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.
FIGURE 11. The Generate page.
9
Use the generate page to specify:
1) A location for your generated documentation;
2) The package(s) to be documented in this set;
3) Any (previously documented) packages (if any) to link to from this
set.
You can also specify:
1) A title and unique ID for your documentation;
2) Dependencies to exclude from the generated documentation;
3) Security permissions (only when generating documentation within
packages);
4) Whether resources should be copied into the new documentation set
(the default) or linked to from another package.
Specifying the output location
If you generate
directly into the
/pub directory for
a package, any
Use the drop-down control beside “Create documentation” to choose a
location for your documentation. You can generate documentation in one of
three possible locations:
1) Inside the package being documented.
existing home
page for that
package will be
replaced by
DocGen’s
generated
index.html page.
10
Use this option to create documentation you want to include with the
package. The documentation is created relative to the package’s
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.
Generate your
documentation
into a separate
“Documentation”
package, directly
into the /pub
directory. You can
then access your
documentation
using
http://yourServer:p
You
cannot specify
ort/Documentation
access
control or a
.
resource location
for documentation
sets generated into
a directory.
2) In a separate package.
Use this option to create documentation in a separate package. The
documentation is created relative to the package’s directory (i.e.
IntegrationServer/<separatePackageName>/…).
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.
Once you select this option, you are able to specify a destination
package for the documentation (from your existing packages), or
create a new package to hold the generated documentation.
3) In a (file-system) directory
Use this option to create documentation into a directory. The
documentation is created into the directory you specify (the “directory
name” and “path within directory” are combined to form the full toplevel destination directory). Any relative paths will be relative to the
Integration Server’s current working directory.
Selecting packages to document
A documentation
set must contain at
least one
Select the packages you want to include in the documentation set from the
list of packages on the Generate page, by clicking the radio button in either
the “Document (and link)” or “Exclude source” column. Clicking the
underlined column heading will set all packages to the selected option.
documented
package.
Fully documented packages will have a page for each node in the package.
Flow and Java nodes will include the source code for the node.
11
FIGURE 12. Sample node - documented with source code
Use the “exclude
source” option to
If you choose to “exclude source” for a package, then there will still be a
page for all nodes in the package, but pages for any Flow and Java nodes
will not include their source code.
generate API-style
documentation.
12
FIGURE 13. Sample node - documented with source code excluded
Linking to other documentation sets
DocGen does not
check whether or
not linked
documentation
A documentation set contains a node page for every node in the
documented packages in the set. You can also access the documentation for
nodes in other packages by “linking” to those other packages. You would
commonly do this for utility packages, by first creating a “utility”
documentation set containing the utility package(s), and then linking to the
utility packages when you generate documentation sets for your solutions.
exists. You can
generate linked
documentation
after the
documentation
that is linking to it.
Create a separate
documentation set
for your utility
packages, and
then link to those
“Linked” packages will appear in the indexes for your documentation set,
and any references within the documented packages (e.g. an INVOKE step
in a Flow service calling a service in a linked package) will appear as
hyperlinks in the generated documentation of the node making the
reference.
DocGen uses this approach (automatically) when you choose to document
multiple packages with a location of “inside the package being documented”.
Each documented package will have a set of index pages that include all
documented nodes, but the node pages will only be created once. Each
node page will appear only in the documentation pages generated for it’s
package.
packages from
your solutions
documentation.
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.
Use relative links
FIGURE 14. Use the link prefix options to control how references to linked packages are formed.
where possible –
this makes your
generated
documentation
more usable from
the file system.
Don’t include
“/pub” when
specifying links to
documentation
within packages –
this does not form
To override the standard link prefix, you need to first select the “Override
prefix” checkbox. This will enable the “Link URL Prefix Override” for that
package, allowing you to type in the appropriate link prefix for that package.
The link URL prefix is included verbatim (with the exception of any
“<packageName>” string replacement done by DocGen).
For example, assume that you have generated documentation for a utility
package (“Utilities”) into the pub/docs directory of that package, and you
now want to generate documentation for another package containing links
to the Utilities package documentation. When generating your new
package’s documentation, you would select the “Link Only” option for the
Utilities package, and set the Link URL Prefix Override for Utilities to
“/<packageName>/docs”.
part of the URL to
access the contents
of the /pub
directory.
Identifying the documentation set
Each “documentation set” has a unique documentation set ID used to
identify it, plus a title which appears on the first page of the documentation.
Use the “Documentation set ID” and “Documentation set title” fields on the
14
Generate page to set these values. You can also edit these values for
generated documentation sets from the Status/History page.
Clicking one of the
column titles (e.g.
“Exclude
dependencies”)
sets all packages
to the selected
FIGURE 15. Use the set ID and title fields to identify your documentation set
state.
Excluding dependencies
When generating
documentation for
utility packages,
first exclude all
dependencies from
other packages,
and then select the
utility packages to
document.
Each node page has a “Used / Referenced by” section that lists places where
that node is referenced from. If the reference is from within the
documentation set, then the list item will be a hyperlink; otherwise it will
appear as plain text.
By default, DocGen shows you every place that a particular node is used or
referenced from. There are occasions where you don’t want all of these
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
documentation for use by external parties (who might be confused by
references to services that they don’t have on their servers).
For publicly
distributed
documentation,
Use the “Exclude dependencies” option to exclude selected packages from
the list of packages used to create the “used / referenced from” dependency
lists for documented nodes.
use the “exclude
source” option.
Securing access to documentation
If you generate documentation into the Integration Server’s package
hierarchy, by selecting a location of either “inside the package being
documented” or “in a separate package”, you can use the Integration Server’s
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.
If you are using
ACL security, you
need to reload the
package(s)
containing the
Use the Read access control (ACL security) drop down list box to select an
appropriate ACL group you want to allow access to the generated
documentation. A “.access” file is generated for each page in each directory.
You need to reload the package(s) for the .access file to take effect. You can
read more about security and using ACL settings to secure web pages in the
webMethods Administrator’s 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.
Icons used in the
generated
documentation are
copied from the
DocGen package’s
Locating resources (icons)
Generated documentation contains a number of icons used to identify node
types, variable types and for general navigation. These icons are copied from
DocGen’s pub/resources directory, into a doc-resources directory in the
generated documentation.
\pub\resources
directory.
16
We recommend
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 package’s
link prefix). This option is not available when generating into a directory.
you leave the
resource location
setting at the
default value,
letting DocGen
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
of this relatively minor efficiency is that the newly documented package’s
documentation is reliant on the “resource” package being available so it can
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.
To better understand the options available to you when generating
documentation, it is useful to look at the content and underlying structure of
some generated documentation.
To illustrate, we will generate a documentation set containing two packages
(ATestPackage and SampleQueueAndResubmit) plus a link back to a
package
documented
earlier
(ASamplePackage).
The
SampleQueueAndResubmit package will be created with source code
excluded, which is a useful option for generating API documentation.
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
Let’s examine the output documentation created by DocGen.
The title you
specify when
generating appears
on the first page
seen by users of
the
documentation.
Use it to identify
the documentation
set.
Figure 18. Content of the sample documentation (combining several independent screenshots).
The top-level index contains multiple different indexes into the
documentation:- short (node) name, full (namespace) name, by node type
and by namespace (directory style). Each package in the documentation set
contains the same index types for nodes within that package. Documented
packages contain a page for each documented node. For Flow and Java
nodes, source code is generally included, but you may choose to exclude it
when generating.
Now let’s take a look at the directory structure for this documentation set.
19
FIGURE 19. Output directory structure.
The top-level directory is named according to the options provided on the
generate page. In this case, we chose to generate into the file-system, so the
top-level directory is a combination of the directory name plus the path
within the directory. When generating into a package, only the path within
the (package) directory is available as an option.
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”.
Linked packages
do not contain
node pages. A
linked package is
a link to node
documentation in
another
documentation set.
Under the top-level directory is a sub-directory for each package included in
the documentation set. This package sub-directory contains the packagelevel index pages. If the package is documented in this set (either including
or excluding source code) then the package subdirectory also includes a
directory structure that reflects the webMethods namespace, containing
documentation for the nodes within the package.
When you generate documentation for multiple packages with the location
set to “inside the package being generated”, DocGen creates documentation
inside each of the documented packages. Each package’s documentation will
contain top-level and package-level subdirectories (plus the doc-resources
directory). The package level subdirectory corresponding to the package
containing the documentation will contain the node pages for that package.
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.
Overview of the Status / History page
The Status / History page shows you the progress of any document sets
being currently generated, and also provides access to all of the document
management
functions.
The status / history
page is sorted to
show current
documentation
first, followed by
outdated
documentation.
Documentation is
sorted by
Documentation Set
Id.
22
FIGURE 21.
Overview of the Status / History page.
Changing a documentation set Id and title
Use the edit button
documentation set.
to change the unique Id and/or title of a
Selecting the icon will open the “Edit Documentation Set” page. Provide new
values for the documentation set and hit “Submit”.
FIGURE 22. The Edit Documentation Set page.
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
small delay
Use the regenerate button
to regenerate a documentation set. This is a
convenient way to update your documentation after you have made changes
to your code.
between a
generate request
and a
documentation set
appearing in the
list of currently
generating
documentation.
While it is being regenerated, a documentation set is removed from the list of
generated documentation (this helps to prevent multiple requests to regenerate the same documentation set). It will display in the list of currently
generating documentation.
Removing documentation from the history page
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).
Deleting generated documentation
You cannot delete
outdated
documentation
sets.
Deleting a
documentation set
has no effect on
linked or outdated
packages within
Use the delete button
to delete a generated documentation set, including
all generated pages. This will also remove the documentation set from the
history page, making it unavailable for other management tasks (e.g.
regenerate).
The “Path” of the package(s) in the documentation set identifies the top-level
directory for each package. This is where the delete operation will start.
The delete operation deletes files from your system, so use it
carefully. At the top-level directory (where index.html is created), it will
only delete files that DocGen has created (i.e. any other files at the top-level
are preserved). All other generated directories (i.e. package-level and
documented node directories) are removed without checking the contents.
Directories that DocGen did not create are preserved.
that set.
Regenerating a
documentation set
makes all
If you have generated documentation directly into the home page of a
package (i.e. <packageName>/pub), then DocGen will re-create a default
index.html page for that package after deleting the one generated by
DocGen.
packages in the set
current again.
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.
If a documentation set contains only outdated packages, then the entire
documentation set is treated as “outdated”.
Take backups of
your packages
Outdated documentation sets display at the bottom of the history list, using a
different colored title bar and italic font.
regularly!
Delete operations are ignored for outdated and linked packages. You can
only delete generated documentation through its current package.
25
6
Chapter
Advanced Topics
This section is intended for advanced users, and describes
ways to enhance and customize the way DocGen works.
Scheduling re-generation of documentation
You can use the built-in scheduler in the Integration Server to automatically
re-generate documentation sets. This is useful during times of active code
changes to ensure that your documentation stays “in-sync” with the actual
code.
To do this, create a simple Flow service that calls DocGen.ui:refreshDocSet,
passing the Id of the documentation set you want to regenerate (e.g.
“D O C G E N _ 0 0 0 0 5 ” . Use pub.flow:debugLog to record the message output by
refreshDocSet in your server log. Then, use the Integration Server’s task
scheduler to execute your Flow service at an appropriate time (e.g. 8pm
each night).
Changing the documentation’s look-and-feel
The look and feel of the documentation created by DocGen is affected by:
Make a backup
before changing
any of these files!
1. icons used throughout the documentation, contained in the
DocGen package’s /pub/resources directory,
2. stylesheet styles applied to text within the documentation,
contained in the DocGen package’s /templates directory, and,
26
3. template files used to generate the documentation, contained
in the DocGen package’s /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!
Controlling access to DocGen
Access to DocGen is controlled through the .access file located in the
DocGen packages/pub directory. Initially, this is set to allow access by users
within the Integration Server’s “Developers” ACL group. You can alter this
file to select a more appropriate ACL group.
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 Licensor’s products (the "Software"), subject to one of the
following conditions:
(a)
in return for a one-time license fee payable up front; or,
(b)
for the purpose of evaluating the Software for a period of not more than thirty (30) calendar days (the "Evaluation Period"),
commencing from the earliest of the "License Start Date" as displayed in the "License Info" screen, or the date you first installed the
Software.
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:
This text applies to all license types, and:
[Evaluation] this text applies to Evaluation licenses only.
[Corporate] this text applies to Corporate licenses only.
SOFTWARE LICENSE
1.
The Licensor is an Australian citizen and/or an Australian legal entity.
2.
The Licensor, as creator of an original intellectual work or product, is the sole Owner of the Software and, under the Copyright
Act 1968 (as amended) (Cth), has exclusive rights to publish and reproduce the Software, to assign, lease or licence others to use or deal
with the Software, and/or to restrict any person or legal entity from using or dealing with the Software.
3.
Under existing arrangements to protect the intellectual products of creators within Australia, which do not include any form or
scheme of registration, and under reciprocal international treaties, these exclusive rights are automatically protected and shall continue to be
protected within Australia and worldwide for at least fifty years from the moment this intellectual product was made available to the public.
4.
This is a one-time, non-exclusive, non-transferable licence to use the Software:
(i)
[Evaluation] for evaluation purposes only.
(ii)
[Corporate] in return for the one-time license fee paid by You as full and final settlement.
5.
The Licensor grants to You the right to install under Licence:
(i)
[Evaluation] one (1) copy of the Software on a single server to be used for evaluation purposes only, by up to 10
network users at any one time.
(ii)
[Corporate] multiple copies of the Software on multiple computers within Your corporate network, to be used by a
number of individual network users not to exceed your Licensed User Limit.
6.
The Software is licensed, not sold.
7.
The Software is protected by intellectual property laws of Australia and current applicable international treaties.
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