Oracle Documaker Controller
This controller provisions and maintains Oracle Documaker Enterprise Edition and Oracle Documaker Mobile. The following versions have been tested and are supported.
-
Documaker 12.6.2
-
Documaker 12.6.3
-
Documaker 12.6.4
The documentation assumes that the user has prior knowledge of working with MintPress SDK and/or MintPress Runtime.
How to Use the Controller
The controller can be used in two ways, (a) Using the MintPress Controllers Directly (b) Using MintPress Runtime JSON Format.
Using this controller directly
A fully documented script to create a single node Documaker domain is here.
Using MintPress Runtime JSON Format
Sample single node JSON format that are supported via MintPress Runtime are located:
FAQ
Q. How to encrypt tablespaces used by Documaker.
A. Documaker tablespaces can be encrypted by setting the following property:
Property | Scope | Value | Description |
---|---|---|---|
documaker_tablespace_options | Installation | ENCRYPTION ENCRYPT | This will encypt the tablespace used by the JMS and DMKR* Schemas for Documaker |
documaker_tablespace_options | Installation | ENCRYPTION USING ‘AES192’ ENCRYPT | This will encypt the tablespace used by the JMS and DMKR* Schemas for Documaker using AES192, remember to put the single quotes |
Q. How to create Documaker Administrators Group A. Starting MintPress 3.9.0+, MintPress creates a Weblogic group in the DefaultAuthenticator, the value is determined by the property documaker_admin_group
, default value being Documaker Administrators
. You can override this value by adding the property in the TemplateList section.
Q. How to create Documaker Administrator Users A. Starting MintPress 3.9.0+, MintPress creates a Weblogic user in the DefaultAuthenticator, the value is determined by the property documaker_admin_users
which must be a Hash. The default value is set to:
{'documaker': 'D0cumakero1'}
This will create the documaker
user with the password being D0cumakero1
. You can override this by adding this property in the TemplateList section. The Documaker Administrator User and Groups are both created together, i.e. you can’t just create one. e.g.:
"templateList": [
{
"name": "OracleDocumaker::TemplateSet",
"attributes": {
"OracleDocumaker::TemplateSet": {
"documaker_admin_users": {
"rb1": "{AES2}4kiwbvG2RzzVcPdfS9sg7Q=={/IV}Td+XQleHXjuGB+lNlDAd3bQ==",
"rb2": "{AES2}XCOxsnd94d+uBzWf2UnFcg=={/IV}TYxYR1q3soaFLN7E3Jxlwog=="
},
"documaker_admin_group":"Documaker Administrators"
}
}
}
Q. How to prevent MintPress creating Documaker Admin Group and Users A. If you do not want MintPress to create Documaker administrator group and users, set the property create_application_users
to false in the TemplateList. e.g.
"templateList": [
{
"name": "OracleDocumaker::TemplateSet",
"attributes": {
"OracleDocumaker::TemplateSet": {
"create_application_users":"false"
}
}
}
Q. How to start Documaker Native Services (Docupresent and Docfactory)
A. The start/stop services are available via the Runtime Console. If you wish to start/stop the services using the MintPress Controllers directly, the following will work. Refer to the sample script here to see how to use the methods.
include MintPress::OracleDocumaker
docserver_instance = DocserverInstance.new(instance_fmw_home: '/oracle/app/binaries/fmw/', host: docu_host)
docfactory_instance = DocfactoryInstance.new(instance_fmw_home: '/oracle/app/binaries/fmw/', host: docu_host)
# Start the services
docserver_instance.start
docfactory_instance.start
# Stop the services
docserver_instance.stop
docfactory_instance.stop
# Get the status
# True/false running?
puts docserver_instance.running?
# State RUNNING/STOPPED/STARTING/STOPPING
puts docserver_instance.state
# Alternatly, they can be stopped/started via the implied instances on the installation,
# so if you're doing a full setup you can reuse that object. The instances in the hash will always
# be called "hostname_docfactor" and "hostname_docserver"
documaker_install = MintPress::OracleDocumaker::Installation.new(<documaker properties, see 'Using this controller directly' for example >)
documaker_install.instances.each do |name, instance|
puts "Starting #{name}"
instance.start
puts "Starting #{name}"
instance.stop
end
# If you've build a domain with documaker, the instances will also be started/stopped by the domain.start_all/domain.stop_all functions, and
# become available in the domain.instances object
documaker_domain.instances.each do |name, instance|
puts "Starting #{name}"
instance.start
puts "Starting #{name}"
instance.stop
end
The controller will wait 30 seconds for the process to start, and then up to 300 seconds for the instance to become available. Under heavy system load, this can be exceeded - to adjust these, set the process_start_timeout
, start_timeout
and stop_timeout
properties on the instance objects. You can also use the start_async/stop_async functions if you wish to manage the state yourself, tracking the running?
or state
functions to determine if your instances are up. domain.start_all will do essentially this, with some timeouts.
# Start both instances in parallel
documaker_install.instances.each do |name, instance|
instance.start_async
end
# Wait until they are running
documaker_install.instances.each do |name, instance|
while !instance.running?
sleep 1
end
end
Q. How to prevent DMKR* (DMKR_ADMIN, DMKR_ASLINE) schemas from dropping during clobber action.
A. To prevent these schemas from clobbering, set the drop_dmkr_schema property to false. Remember that this will also prevent the JMS* (JMS_TLOG) schema to be deleted. Refer to the properties table below on where to place this property.
Q. How to add/change Docfactory properties, e.g. docfactory worker threads.
A. You can change the values for Docfactory and Docserver instances by passing in the values via the JSON file or via the SDK. When using the JSON file, you can piass any supported values for the Docfactory class as follows:
{
"name": "documaker",
"product": "OracleDocumaker",
"version": "12.6.4",
"installPath": "/oracle/app/binaries/documaker/fmw/odee_12",
"softwareStage": "/oracle/stage/documaker/12.6.4",
"dependsonList": [
"soa",
"oracleclient"
],
"attributes": {
"newworld": "true",
"OracleDocumaker": {
"fmw_home": "/oracle/app/binaries/documaker/fmw",
"java_home": "/oracle/app/binaries/documaker/java",
"install_documaker_mobile": "true",
<other properties>,
"docfactory":
{
"docfactory_worker_threads": "9"
},
"docserver":
{
"docserver_home": "non_default_home"
}
}
}
Documaker Properties Reference
The scope can either be “Installation” or “Template” which signifies where to put these properties under. When using with MintPress Runtime, properties with “Installation” scope must be under the “Documaker” Installation under the installationList. When using MintPress Controllers, it must be passed as properties to the Installation object. As a general rule, any property that does not has a default value is a mandatory property and the value must be supplied. All properties whose default value are under a “#{ }” block are calculated based on the property referred in the block.
Installation Properties
See the reference documentation for a complete list of the installation property details
Template Properties
See the reference documentation for a complete list of the template property details