You are not logged in. Click here to log in.

codeBeamer Application Lifecycle Management (ALM)

Search In Project

Search inClear

Tags:  not added yet
This wiki page is about documenting the various settings of the Application configuration.

You can reach Application configuration in System Admin --> Application configuration.

Application configuration contains various sections (top level tags), typically each section configures one feature/area of codeBeamer. The sections can contain sub-elements, and each can have several attributes too. This wiki page documents them.

Table of Contents


"installation" section

Configures installation location and the most important installation attributes.

See also: Customizing remote issue reporting in the footer

A typical example

"installation" : {
  "cbhome" : "/home/zluspai/cbhome/cb/",
  "remoteURL" : "http://localhost:8080/cb/remote-api",
  "setup" : false
}

"interactive" section

Configures interactive parts; allow personalization of texts. Personalize the logo and welcome texts appearing on Codebeamer pages.

A typical example

"interactive" : {
  "exportTypes" : "excel",
  "itemsPerPage" : 25,
  "recentHistoryItems" : 5,
  "verboseErrorPage" : true,
  "registration-text" : {
    "format" : "W"
  },
  "slogan-text" : {
    "format" : "H"
  },
  "welcome-text" : {
    "format" : "W"
  },
  "login-text" : {
    "format" : "W"
  },
  "warnLowDiskSpace" : {
    "enabled" : true,
    "minFreeDisk" : 10240,
    "minPercentage" : 5
  }
}

CB 10.1

"interactive" {
    "minAvailablePhysicalMemoryPercentage" : 10,
    "minAvailableMemoryPercentage" : 50,
    "notEnoughTotalMemoryCheckEnabled" : true
}

warnLowDiskSpace's properties

emailTo

separated email addresses to send email to. If empty then sysadmins will be notified

"emailTo" : "administrator@example.com;admin@example.com"

enabled

boolean value to enable/disable the feaute.

default: true


emailFrequency

how often the email should be sent in seconds

default: 86400 //24 * 60 *60 (1 day in seconds)

minimum: 3600 //(1 hour)


minFreeDisk

minimum free space in MB that triggers the warning email, by default 10 Gbytes.

default: 10240 //10GB


minPercentage

the minimum percentage of the disk space that triggers a warning

default: 5 //5%

"diskSpaceVolumes" section

Since CB 10.0.

Multiple disk volumes can be monitored with this property. It has to be used together with warnLowDiskSpace.


name

this will be the disk's name in the warning email


path

path of disk to be monitored


threshold (optional)

minimum free space in MB that triggers the warning email, by default 10 Gbytes.

default: 10240 //10GB


Multiple disk volumes example for Windows

"diskSpaceVolumes" : [ {
    "name" : "diskC",
    "path" : "C:\\",
    "threshold" : 10240
  }, {
    "name" : "diskE",
    "path" : "E:\\",
    "threshold" : 20480
  }, {
    "name" : "diskF",
    "path" : "F:\\"
  } ],


Multiple disk volumes example for Linux

"diskSpaceVolumes" : [ {
    "name" : "disk1",
    "path" : "/dev/sda1",
    "threshold" : 10240
  }, {
    "name" : "disk2",
    "path" : "/dev/sda2",
    "threshold" : 20480
  }, {
    "name" : "disk3",
    "path" : "/dev/sda3"
  } ],

Full Example

"interactive" : {
    "warnLowDiskSpace" : {
        "emailTo" : "administrator@example.com",
        "enabled" : true,
        "minFreeDisk" : 90000,
        "minPercentage" : 50,
        "emailFrequency" : 3600
    }
},
"diskSpaceVolumes" : {
    "name" : "linux",
    "path" : "/dev/nvme0n1p6",
    "threshold" : 90000
},

"projectsDir" section

Configures project directory, work directory where projects are built and SCM repositories are stored. That is: ${cbhome}/repository/src directory as default.

A typical example

"projectsDir" : {
  "text" : "/home/codebeamer/CB/repository/src directory"
}

"officeedit" section

Office-edit can be configured in this section, see: Office Edit for configuration options see: Installation

A typical example

"officeedit" : {
  "enabled" : true
}

"breadcrumbs" section

Breadcrumbs configuration: configures how the breadcrumbs of CB look like: how the labels in the breadcrumb shortened see: CB:/images/issuetypes/bug.gifYou must login to see this link. Register now, if you have no user account yet.

A typical example

"breadcrumbs": {
  "middle" : true,
  "replacementString" : "~"
}

"pagingconfig" section

Paging subconfig: configures how the paging works on few UI elements: the comment and history tabs of items

A typical example

"pagingconfig": {
  "commentPageSize" : 20,
  "historyPageSize" : 20
}

"sysadmin" section

(deprecated)


"serviceDesk" section

This contains the Service Desk configuration: Service Desk

A typical example

"serviceDesk" : {
  "trackerOrder" : "1,2,3",
  "title" : {
    "text" : "myTitle"
  }
}

"ie-strict-mode" section

Configures of Internet Explorer can access CB in compatibility mode. See: CB:/images/issuetypes/task.gifYou must login to see this link. Register now, if you have no user account yet.

A typical example

"ie-strict-mode" : {
  "enabled" : true
}

CB:/images/space.gif

"monitor" section

Configures built in monitoring for CB.

A typical example

"monitor" : {
  "mbeanEnabled" : true
}

"database" section

This part configures database connection. See: Post-installation Configuration

A typical example

"database": {
  "JDBC_ConnectionURL" : "jdbc:mysql://localhost:3306/codebeamer?autoReconnect=true&zeroDateTimeBehavior=convertToNull&emulateLocators=true&characterEncoding=UTF-8",
  "JDBC_Driver" : "com.mysql.jdbc.Driver",
  "JDBC_Password" : "...",
  "JDBC_Username" : "cbroot"
}

"background" section

Configure scheduling of background processes like document indexing (for search).

A typical example

"background" : {
  "hour" : 1,
  "inboxPolling" : 900,
  "minute" : 5,
  "period" : 86400
}

"login" section

Configures login/authentication handling.

A typical example

"login": {
  "accountLink" : "",
  "allowToEditEmail" : true,
  "anonymous" : "",
  "captchaEnabled" : false,
  "companyMandatory" : false,
  "cookiesAllowed" : true,
  "displayLastActivityDate" : true,
  "forgetCookies" : true,
  "gravatars" : false,
  "log-expiration" : 30,
  "logoffURL" : "/login.spr",
  "newAccountRole" : "user",
  "passwordPolicy" : "",
  "permission" : "",
  "phoneMandatory" : false,
  "postalAddressMandatory" : false,
  "registration" : "",
  "sendLostPasswordPerMail" : true,
  "showDenyCause" : true,
  "showPresence" : true,
  "showRecovery" : false,
  "inviteByEmailTimeoutInDays" : 1,
  "passwordResetEmailTimeout" : "PT5M",
  "single-signon" : {
    "user-id-header" : "x-user-global-id"
  }
}

CB 10.1:

From version 10.1 "cookiesAllowed" default value changed to false.


"pdfHandler" section

Configure the maximum main memory for pdf handler in bytes.

A typical example

"pdfHandler" : {
    "max-memory" : ‭104857600‬
  }

"audit" section

We can set which events are stored in audit log.

A typical example

"audit": {
  "removerjob" : {
    "days" : 180
  },
  "loginlog" : {
    "login" : true,
    "logout" : true,
    "systemlogout" : true
  },
  "workitemlog" : {
    "create" : true,
    "delete" : true,
    "remove" : true,
    "restore" : true,
    "update" : true
  },
  "artifactlog" : {
    "create" : true,
    "delete" : true,
    "remove" : true,
    "restore" : true,
    "update" : true
  },
  "permissionlog" : {
    "create" : true,
    "delete" : true,
    "update" : true
  }
}

"hierarchy" section

Rules how field values should be aggregated up/distributed down the issue/item hierarchy

Defines a rule how to aggregate a field value up the a item/issue hierarchy, or how to distribute a field value down the item/issue hierarchy

A typical example

  "hierarchy" : {
    "rule" : [ {
      "class" : "com.intland.codebeamer.manager.hierarchy.MinimumRule",
      "desc" : "Set parent value to smallest child value",
      "id" : 1,
      "name" : "Minimum"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.MaximumRule",
      "desc" : "Set parent value to largest child value",
      "id" : 2,
      "name" : "Maximum"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.SummationRule",
      "desc" : "Set parent value to sum/total of child values",
      "id" : 3,
      "name" : "Sum/Total"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.AverageRule",
      "desc" : "Set parent value to average of child values",
      "id" : 4,
      "name" : "Average"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.UnionRule",
      "desc" : "Set parent value to the union of child values",
      "id" : 5,
      "name" : "Union"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.IntersectionRule",
      "desc" : "Set parent value to the intersection of child values",
      "id" : 6,
      "name" : "Intersection"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.DistributionRule",
      "desc" : "Set child value to parent value",
      "id" : 7,
      "name" : "Set"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.DefaultRule",
      "desc" : "Use parent value as default child value",
      "id" : 8,
      "name" : "Default"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.LeastRule",
      "desc" : "Set child value to least of parent/child value",
      "id" : 9,
      "name" : "Least"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.GreatestRule",
      "desc" : "Set child value to greatest of parent/child value",
      "id" : 10,
      "name" : "Greatest"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.FractionRule",
      "desc" : "Set child value to fraction of parent value",
      "id" : 11,
      "name" : "Fraction"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.RetainRule",
      "desc" : "Retain only child values that are also parent values",
      "id" : 12,
      "name" : "Subset"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.MergeRule",
      "desc" : "Add missing parent values to child values",
      "id" : 13,
      "name" : "Superset"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.MeanStatusRule",
      "desc" : "Set parent status to mean children status",
      "id" : 14,
      "name" : "Mean status"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.CloseChildrenOnParentCloseRule",
      "desc" : "On parent close, close children recursively",
      "id" : 15,
      "name" : "Close recursively"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.CloseOnlyIfAllChildrenClosedRule",
      "desc" : "On parent close, all children must be closed",
      "id" : 16,
      "name" : "Close restricted"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.CloseParentAfterLastChildCloseRule",
      "desc" : "Close parent after closing last child",
      "id" : 17,
      "name" : "Close upwards"
    } ]
  }

CB:/images/space.gif

"listeners" section

(deprecated)

"scc" section


Configures source code control modules.

A typical example

  "scc" : {
    "hg" : {
      "mr-pull-url" : "http://localhost:8080/cb/hg/,ssh://soma@localhost/hg/,http://localhost:8000/",
      "mr-push-url" : "http://localhost:8080/cb/hg/,ssh://soma@localhost/hg/",
      "webconf" : "scmweb/hgweb.config",
      "hgserve" : {
        "port" : 8000,
        "start" : true,
        "stop" : true
      }
    },
    "git" : {
      "http-backend" : "/usr/lib/git-core/git-http-backend",
      "mr-pull-url" : "http://localhost:8080/cb/git/,ssh://soma@localhost/git/,git://localhost/",
      "mr-push-url" : "http://localhost:8080/cb/git/,ssh://soma@localhost/git/",
      "use-git-auth-script" : true,
      "daemon" : {
        "port" : 9418,
        "start" : true,
        "stop" : true
      }
    },
    "svn" : {
      "mr-access-url" : "svn://localhost/",
      "svnserve_start" : false,
      "svnserve" : {
        "start" : false
      }
    }
  }

"date" section

Configures date formats.

This is the default date and time formatting. Every user can configure his own format, thus you should NOT modify this value here.

Timezone: Sets time zone code default for dates like "Europe/London". See the full list on create/update user form Time zone droplist.

A typical example

"date" : {
  "date" : "MMM dd yyyy",
  "datetime" : "MMM dd HH:mm yyyy"
  "timezone": "Europe/London"
}

"mail" section

Configures email: outgoing SMTP server and related attributes.

A typical example

  "mail" : {
    "background" : true,
    "checkConnection" : false,
    "host" : "YOURHOST",
    "localname" : "localhost",
    "onlyToProjectMembers" : false,
    "password" : "YOURPASSWORD",
    "recipientsLimit" : -1,
    "serverPort" : 8080,
    "serverScheme" : "http",
    "showProjectNameInSubjects" : false,
    "smtp-port" : 587,
    "ssl" : false,
    "startTLS" : true,
    "usePersonal" : true,
    "user" : "YOURUSER",
    "props" : {
      "prop" : {
        "key" : "mail.smtp.starttls.enable",
        "text" : "true"
      }
    }
  }

"document" section

Configures document handling/Document Management

A typical example

"document": {
  "access-log" : true,
  "auto_restore_from_trash" : "30s",
  "display-plain-text-as-html" : false,
  "log-expiration" : 0,
  "storage-path" : ""
}

storage-path can be a path on the local hard drive.

If you have customized documents directory with "storage-path" application key, please ensure a copy of docs/1 subfolder is still present in cbhome/repository in order to ensure after upgrade the initial directory-check will be passed.

"search" section

Configures searching and indexing

A typical example

  "search" : {
    "delay" : 9000,
    "fuzzy-similarity-factor" : 0.6,
    "incremental-indexing" : true,
    "length" : 2,
    "lucene-cfs-ratio" : 0.1,
    "max-fuzzy-terms" : 10,
    "max-indexing-size" : "standard",
    "operator" : "and",
    "pattern-sufix" : "*",
    "period" : 6000,
    "short-word-length" : 3
    "full-indexing-activated" : true
  },
  "indexer" : {
    "full" : {
      "cronExpression" : "0  12 ?  THU"
    }
  }

"wiki" section

Configures how the wiki and wysiwyg editor behaves in the system.

A typical example

{
  "defaultMode" : "wysiwyg",
  "jsCompressingMode" : "none",
  "styles" : {
    "style" : [ {
      "name" : "commentbox",
      "text" : "float: right; width: 20%; border: 2px solid #E5E5E5; background: #F5F5F5; font-size: 7pt; padding: 4px; margin-left: 4px;"
    }, {
      "name" : "blue",
      "text" : "color: blue;"
    }, {
      "name" : "cyan",
      "text" : "color: cyan;"
    }, {
      "name" : "gray",
      "text" : "color: gray;"
    }, {
      "name" : "green",
      "text" : "color: green;"
    }, {
      "name" : "magenta",
      "text" : "color: magenta;"
    }, {
      "name" : "orange",
      "text" : "color: orange;"
    }, {
      "name" : "pink",
      "text" : "color: pink;"
    }, {
      "name" : "red",
      "text" : "color: red;"
    }, {
      "name" : "yellow",
      "text" : "color: yellow;"
    } ]
  }
}

"licenses" section

Defines multiple licenses for (clustered) CodeBeamer servers using the same/shared installation.

This may contain several license entries inside: CB tries to load the appropriate one matching with the current host's ID.

Note: typically users should not edit this section, but just copy-paste licenses provided by Intland !

A typical example

{
  "license" : [ {
    "code" : "34932A47089C0922",
    "expire" : "Dec-31-2008",
    "hostid" : "WIN-29-26-ED-D4"
  }, {
    "code" : "2D412757B4846E21",
    "expire" : "Dec-31-2008",
    "hostid" : "WIN-1D-48-29-CE"
  } ]
}

timeout

You can specify the session timeout for floating licenses in minutes.

Default value is 90 min.

Minimum value is 60 min.

"timeout" : 60,

CB 10.0:

timeout unit is changed to seconds

"timeout" : 3600,

CB 10.1:

timeout is deprecated and no longer processed.

Use session section's timeout configurations instead.


License with timeout full example

"licenses" : {
    "license" : [ {
      "code" : "ABCD1234EFGH56789",
      "companyName" : "Example Company",
      "expire" : "Dec-31-2022",
      "generatedForRelease" : "9.0.0 - ...",
      "generationTime" : "Apr-15-2020 13:28",
      "generatorRelease" : "10.2.0-SNAPSHOT1",
      "hostid" : "LIN-0B:E7:19:C1:5B:18",
      "store_last_activity_time" : true,
      "timeout" : 60,
      "product" : [ {
        "type" : "ALM +Escalation +Jira integration +Branching",
        "user" : [ {
          "kind" : "floating",
          "licenses" : 10,
          "type" : "user"
        }, {
          "kind" : "named",
          "licenses" : 20,
          "type" : "user"
        } ]
      }
  } ]
},

"session" section

Since CB 10.0

Configures the session related settings.

A typical example

CB 10.0

"session": {
    "floatingLicenseSessionTimeout": 3600,
    "namedLicenseSessionTimeout": 900
}

CB 10.1

"session": {
    "floatingLicenseSessionTimeout": 60,
    "namedLicenseSessionTimeout": 15
}

floatingLicenseSessionTimeout

  • Configures the timeout of the floating license's sessions.
  • CB 10.0 unit is seconds.
  • CB 10.1 unit is minutes.
  • Minimum value is 60 minutes.
  • Default value is 90 minutes.

namedLicenseSessionTimeout

  • Configures the timeout of the named license's sessions.
  • CB 10.0 unit is seconds.
  • CB 10.1 unit is minutes.
  • Minimum value is 1 minute.
  • Default value is 90 minutes.

"LDAP" section

Configuration for LDAP authentication. Typically configured using the UI, see here: Post-installation Configuration

A typical example

See general.xml for an exmaple

"LDAP": {
  "server" : {
    "anonymousReadOnly" : false,
    "base" : "",
    "password" : "",
    "referral" : "follow",
    "url" : "ldap://your-ldap-server:389",
    "userDn" : ""
  },
  "mapping" : {
    "address" : "streetAddress",
    "city" : "L",
    "company" : "company",
    "country" : "c",
    "email" : "mail",
    "firstName" : "givenName",
    "lastName" : "sn",
    "mailSuffix" : "",
    "mobile" : "mobile",
    "name" : "sAMAccountName",
    "password" : "",
    "phone" : "telephoneNumber",
    "state" : "st",
    "status" : "",
    "timeZonePattern" : "tz",
    "title" : "",
    "zip" : "postalCode"
  },
  "realm" : {
    "enabled" : false,
    "fallback" : true,
    "storePassword" : true,
    "userBase" : "",
    "userPattern" : "",
    "userSearch" : "sAMAccountName={0}",
    "userSubtree" : true
  },
  "cache" : {
    "enabled" : true,
    "failureTTL" : 60000,
    "successTTL" : 300000
  }
}

"jvm" section

Configure who and how often gets a notification email if Codebeamer's memory grows too high

A typical example

"jvm": {
  "recipients" : "admins@intland.com"
}

"CTI" section

(deprecated)

"reports" section

Configures limits for Vintage Reports, e.g. the max. number of rows that can be exported

A typical example

"reports": {
  "export" : 5000
}

"traceability" section

Traceability Browser default configuration, see: Traceability Browser

A typical example

"traceability": {
  "ignoreRedundantsInBrowser" : true,
  "ignoreRedundantsInTab" : true,
  "maxAdditionalLevelElements" : 25000,
  "maxAdditionalLevelElementsPerItem" : 200,
  "maxFirstLevelElements" : 25000,
  "maxFirstLevelElementsPerItem" : 500,
  "pageSize" : 50
}

"review" section

Configuration for Reviews

A typical example

 "review" : {
   "hideTrackerItemReview" : true
   "maximumItemsInReview": 500
 }

"IPFilters" section

Configures IP filters, see: CB:/images/issuetypes/task.gifYou must login to see this link. Register now, if you have no user account yet.

A typical example

"IPFilters": {
  "IPFilter" : [ {
    "name" : "global",
    "text" : "Allow from 10.1.2.3"
  }, {
    "name" : "source_view",
    "text" : "Allow from 10.1.2.3"
  } ]
}

"testManagement" section

Configures TestManagement, see: codeBeamer QA: Test Management

A typical example

"testManagement": {
  "allowTiming" : true,
  "autoCopyExpectedResults" : true,
  "createTestRunForEachTestCase" : false,
  "disableEditingBuiltInFieldsName" : true,
  "forceCopyOnReRun" : true,
  "includeTestsRecursively" : false,
  "rerunClearsResults" : true,
  "runOnlyAcceptedTestCases" : true,
  "stopTimerWhileRepotingBug" : false,
  "testRunnerShowsBlock" : true,
  "testRunnerShowsEndRun" : true,
  "testSetAllowDuplicates" : false
}

"graphviz" section

(deprecated)

"slack" section

ChatOps / Slack integration configuration, see: codeBeamer Integration with Slack

A typical example

"slack": {
  "enabled" : true,
  "slackWorkspaceConfig" : {
    "botOauthToken" : "xoxb-293664950436-nt431xjdRPi0yNXTn5FUfLEl",
    "clientId" : 2.9467519112729364E11,
    "clientSecret" : "6552958917b339ca9f827b241752487f",
    "notificationsEnabled" : true,
    "slackWorkspaceName" : "MTS",
    "slackWorkspaceUrl" : "https://team-mts.slack.com",
    "teamId" : "T8NKV5M3R",
    "verificationToken" : "JfiBw7Pc1cHaROjYHyVbykE7",
    "notificationChannel" : {
      "text" : "notifications"
    }
  }
}

"GeoIP" section

Configure GeoIP service: how the IP address of a new registered user is translated to country/geo-location

A typical example

"geoIp": {
  "requestUrl" : "http://geoip1.maxmind.com/f?l=...."
}[https://codebeamer.com/cb/images/space.gif]

"projectImport" section

Project-import configuration

A typical example

"projectImport": {
  "showConfirmDialogFileSizeLimit" : 5
}

"uploads" section

Configures which kind of files can be uploaded to codeBeamer.

For details see: Configuring which files can be uploaded to codeBeamer

A typical example

"uploads": {
  "filter" : {
    "orderAllowDeny" : false,
    "denyMime" : [ {
      "text" : "image/svg+xml"
    }, {
      "text" : "text/html"
    } ],
    "allowMimeRegexp" : {
      "text" : ".*"
    }
  }
}

"metadatas" section

See: Entity Metadata

Document/Directory custom attribute definitions in display order.

A typical example

 "metadatas": {
  "metadata" : [ {
    "displayName" : "SAP Document Number",
    "key" : "sapDocNo",
    "object" : 1,
    "type" : "text"
  }, {
    "displayName" : "SAP Document Version",
    "key" : "sapDocRev",
    "object" : 1,
    "type" : "int"
  } ]
}

"trash" section

Configures project trash behaviour. In earlier versions it was not allowed to delete work items permanently from trash. Staring from version 9.1.0, it is configurable (not allowed by default). If you delete items from the trash then it may have effect on baselines.

A typical example

"trash": {
  "possibleToDeleteOnlyItems" : true
}

"cbSystemProperties" section

Set JVM system properties.

A typical example

"cbSystemProperties": {
  "props" : {
    "prop" : {
      "key" : "svnkit.http.methods",
      "text" : "Basic,Digest,Negotiate,NTLM"
    }
  }
}

CB:/images/space.gif

"websocket" section

(deprecated)

"urlValidator" section

Wiki markup and Wiki Link/URL fields can contain valid URLs like "https://codebeamer.com" in the form of [https://codebeamer.com] Available since CB 10.0

These urls can only contain valid URLs, but sometimes users may want to add:

  • custom URLs like "skype:username?call"
  • or URLs with custom schemes like "doors://codebeamer.com/mydoorspoint"

System Administrators in the Application Configuration can configure codeBeamer to allow such URLs like this:

 "urlValidator" : {
    "schemes" : "doors,myscheme",
    "regexp" : "skype:[a-z][a-z0-9\\.,\\-_]{5,31}\\?call"
  }

The example above allows URLs as below:

 doors://codebeamer.com:7892/?version=3&view=0000030
 skype:askypeuser?call

The rules are:

  • The standard URLs and schemes like "https://codebeamer.com" is always accepted: these can not be disabled.
  • Add a schemes setting: there you can list your custom URL schemes which are accepted. In this example above doors,myscheme setting means that doors or myscheme schemes are allowed: for example doors://codebeamer.com:7892/?version=3&view=0000030 or myscheme://codebeamer.com?file=dat are accepted. The rest of the url must be still valid in this case similar to any standard HTTP url: just the scheme part may vary.
  • Add a regexp setting: here you can set any valid Regular Expression: URLs matching this expression will be accepted. Be careful with your definition of the Regexp: avoid adding a very open regexp !!! Use some carefully crafted regular expression.
  • You provide both "scheme" and "regexp" in your configuration: then the URLs with matching both rules will be accepted.

Note: this is just an example of a simplified regexp which accepts simple Skype urls like "skype:skypeuser?call". For a more complete Skype url regexp see: https://github.com/kevva/skype-regex/blob/master/index.js


"validatorConfig" section

User validation can be configured since 10.1 version. This contain pattern to match against described as Java regex expressions, and validation messages as text. Below are the default config as example, this does not need to be configured. Only configure changes apart from the default values. Make sure to use the correct key and escape the patterns.

"validatorConfig" : {
	"userFormValidator" : {
		"messages" : {
			"en" : {
				"user.name.required" : "User name is required, and must start with an alpha-numeric character, and can contain only alpha-numeric and \" # - _ . @ / \" characters. Its length must be between 2 and 50 characters.",
				"user.password.required" : "Password is required.",
				"user.password.confirm.notmatching" : "Confirm password is invalid.",
				"user.title.nomatch" : "Title can contain only alpha-numeric and \" . , - \" characters. Its length must be less than 70 characters.",
				"user.firstName.required" : "First name is required, and can contain only alpha-numeric and \" # - _ . @ \" characters. Its length must be less than 70 characters.",
				"user.lastName.required" : "Last name is required, and can contain only alpha-numeric and \" # - _ . @ \" characters. Its length must be less than 70 characters.",
				"user.phone.required" : "Phone is required.",
				"user.phone.nomatch" : "Phone can contain only alpha-numeric and \" + - ( ) \" characters. Its length must be less than 70 characters.",
				"user.phone.invalid" : "Invalid phone number.",
				"user.mobile.nomatch" : "Mobile/IP Voice can contain only alpha-numeric and \" + - _ . ( ) \" characters. Its length must be less than 70 characters.",
				"user.company.required" : "Company is required.",
				"user.company.nomatch" : "Company can contain only alpha-numeric and \" + - & @ . , \" characters. Its length must be less than 70 characters.",
				"user.industry.required" : "Industry is required.",
				"user.address.required" : "Address is required.",
				"user.address.nomatch" : "Address can contain only alpha-numeric and \" + - . , / \" characters. Its length must be less than 70 characters.",
				"user.city.required" : "City is required.",
				"user.city.nomatch" : "City can contain only alphabetic, and \" - \" characters. Its length must be less than 70 characters.",
				"user.zip.required" : "Zip/postal code must be at least three characters.",
				"user.zip.nomatch" : "Zip/postal code can contain only alpha-numeric and \" - \" characters. Its length must be less than 15 characters.",
				"user.country.required" : "Country is required.",
				"user.state.nomatch" : "State/Province can contain only alphabetic, and \" - \" characters. Its length must be less than 50 characters.",
				"user.skills.nomatch" : "Skills can contain only alpha-numeric and \" . , - < > ( ) [ ] \" characters.",
				"user.dateFormatPattern.required" : "Date format is required.",
				"user.timeZonePattern.required" : "Time zone is required.",
				"error.disabled.email.address" : "Email system error, please contact Intland.",
				"error.disallowed.email.address" : "The entered e-mail address is not allowed.",
				"error.user.inactivation" : "Account is under activation.",
				"error.user.exists" : "Account name is already reserved.",
				"error.user.password.not.changed.with.format" : "Please choose a password that matches the current policy format because the password field is mandatory.",
				"error.user.password.not.changed" : "Illegal password according to current policy, format: {0}",
				"error.user.invalid.password" : "Please choose a password because the password field is mandatory.",
				"error.email.address.required" : "Email address is required.",
				"error.disallowed.email.address" : "The entered e-mail address is not allowed."
			},
			"de" : {
				"user.name.required" : "Der Benutzername muss angegeben werden, und zwischen 2 und 50 Zeichen lang sein, muss mit einem alphanumerischen Zeichen beginnen, darf nur alphanumerische Zeichen sowie \" - _ . : , ; = @ $ & ! * ( ) / \\ ? % + ~ # [ ] \" enthalten.",
				"user.password.required" : "Ein Passwort muss angegeben werden.",
				"user.password.confirm.notmatching" : "Die Wiederholung des Passworts stimmt nicht mit dem Passwort überein.",
				"user.title.nomatch" : "Titel kann nur alphanumerische und \" - _ . : , ; = @ $ & ! * ( ) / \\ ? % + ~ # [ ] \" Zeichen enthalten. Maximale Länge sind 70 Zeichen.",
				"user.firstName.required" : "Der Vorname muss angegeben werden, darf aber nur max. 70 Zeichen lang sein.",
				"user.lastName.required" : "Der Nachname muss angegeben werden, darf aber nur max. 70 Zeichen lang sein.",
				"user.phone.required" : "Die Telefon-Nr. muss angegeben werden.",
				"user.phone.nomatch" : "Telefon kann nur alphanumerische und \" + - ( ) \" Zeichen enthalten. Maximale Länge sind 70 Zeichen.",
				"user.phone.invalid" : "**Invalid phone number.",
				"user.mobile.nomatch" : "Mobile/IP Voice kann nur alphanumerische und \" + - _ . ( ) \" Zeichen enthalten. Maximale Länge sind 70 Zeichen.",
				"user.company.required" : "Die Firma muss angegeben werden.",
				"user.company.nomatch" : "Firma kann nur alphanumerische und \" + - & @ . \" Zeichen enthalten. Maximale Länge sind 70 Zeichen.",
				"user.industry.required" : "Die Branche muss angegeben werden.",
				"user.address.required" : "Die Strasse und Haus-Nr. müssen angegeben werden.",
				"user.address.nomatch" : "Adresse kann nur alphanumerische und \" - _ . : , ; = @ $ & ! * ( ) / \\ ? % + ~ # [ ] \" Zeichen enthalten. Maximale Länge sind 70 Zeichen.",
				"user.city.required" : "Die Stadt muss angegeben werden.",
				"user.city.nomatch" : "Stadt kann nur alphanumerische und \" - _ . : , ; = @ $ & ! * ( ) / \\ ? % + ~ # [ ] \" Zeichen enthalten. Maximale Länge sind 70 Zeichen.",
				"user.zip.required" : "PLZ muss angegeben werden, und mindestens 3 Ziffern haben.",
				"user.zip.nomatch" : "Postleitzahl kann nur alphanumerische und \" . , - \" Zeichen enthalten. Maximale Länge sind 15 Zeichen.",
				"user.country.required" : "Das Land muss angegeben werden.",
				"user.state.nomatch" : "Bundesland kann nur alphanumerische und \" - _ . : , ; = @ $ & ! * ( ) / \\ ? % + ~ # [ ] \" Zeichen enthalten. Maximale Länge sind 50 Zeichen.",
				"user.skills.nomatch" : "Fähigkeiten kann nur alphanumerische und \" - _ . : , ; = @ $ & ! * < > ( ) / \\ ? % + ~ # [ ] \\r \\n \" Zeichen enthalten.",
				"user.dateFormatPattern.required" : "Das Datumsformat muss angegeben werden.",
				"user.timeZonePattern.required" : "Die Zeitzone muss angegeben werden.",
				"error.disabled.email.address" : "E-Mail Systemfehler, bitte benachrichtigen Sie Intland.",
				"error.disallowed.email.address" : "Die eingegebene E-Mail Adresse ist unzulässig.",
				"error.user.inactivation" : "Benutzer Konto ist noch nicht aktiviert.",
				"error.user.exists" : "Benutzer Name ist bereits reserviert.",
				"error.user.password.not.changed.with.format" : "Die Eingabe/Änderung des Passworts ist erforderlich, und dieses muss den aktuellen Passwort-Richtlinien entsprechen.",
				"error.user.password.not.changed" : "Die Eingabe/Änderung des Passworts ist erforderlich.",
				"error.user.invalid.password" : "Ungültiges Passwort gemäß der aktuellen Richtlinie, Format: {0}",
				"error.email.address.required" : "Eine E-Mail Adresse wird benötigt.",
				"error.disallowed.email.address" : "Die eingegebene E-Mail Adresse ist unzulässig."
			}
		},
		"patterns" : {
			"userNamePattern" : "^[\\p{L}0-9+\\-_.:,;=@$&!*()/\\?\\%\\+\\~\\#\\[\\]\\\\ ]{1,50}",
			"userTitlePattern" : "^[\\p{L}0-9\\-_.:,;=@$&!*()/\\?\\%\\+\\~\\#\\[\\]\\\\ ]{1,70}",
			"namePattern" : "^[\\p{L}0-9\\-_.:,;=@$&!*()/\\?\\%\\+\\~\\#\\[\\]\\\\ ]{1,70}",
			"userPhonePattern" : "^[\\p{Digit}+\\-() ]{1,70}",
			"userMobilePattern" : "^[\\p{Alnum}+\\-_.() ]{1,70}",
			"userCompanyPattern" : "^[\\p{L}0-9+\\-_.:,;=@$&!*()/\\?\\%\\+\\~\\#\\[\\]\\\\ ]{1,70}",
			"userAddressPattern" : "^[\\p{L}0-9+\\-_.:,;=@$&!*()/\\?\\%\\+\\~\\#\\[\\]\\\\ ]{1,70}",
			"userCityPattern" : "^[\\p{L}0-9\\-_.:,;=@$&!*()/\\?\\%\\+\\~\\#\\[\\]\\\\ ]{1,70}",
			"userZipPattern" : "^[\\p{L}0-9\\-\\\\ ]{1,15}",
			"userStatePattern" : "^[\\p{L}0-9\\-_.:,;=@$&!*()/\\?\\%\\+\\~\\#\\[\\]\\\\ ]{1,50}",
			"userSkillsPattern" : "^[\\p{L}0-9\\-_.:,;=@$&!*<>()/\\?\\%\\+\\~\\#\\[\\]\\r\\n\\\\ ]+",
			"validEmailPattern" : "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*((\\.[A-Za-z]{2,}){1}$)"
		}
	}
}

"wordExport" section

Set word export properties

A typical example

"wordExport" : {
  "maxParallelProcesses" : 3,
  "timeoutSeconds" : 3600,
  "restLoaderPageSize" : 50
  "jvmArguments" : "-Xmx3G",
  "debugLogging" : false,
  "runJdwp" : false,
  "jdwpPort" : 5005,
  "enableLegacyWordExports" : false
}

Added export application URL and run/cleanup period values.

Since CB 10.1

"wordExport" : {
  "wordExportServerUrl" : "http://localhost:8081",
  "apiKeyTimeToLive" : "1D",
  "cleanupPeriod" : "1D",
  "cleanupTimeToLive": "5D",
  "reRunPeriod" : "1H"
}

"wordExport.pdfConvertMethod" section

Starting from Carmen release PDF conversion for word documents will be disabled by default.

To enable it, add the "pdfConvertMethod" property to "wordExport" config section. Valid values are: "aspose" and "msword"

Since CB Carmen

Aspose

Aspose can be enable with a valid Aspose license. License must be provided through the "aspose.license.path" system- or environment variable with the path of the license.

To enable custom Arial font for PDF generation, use the "aspose.arial.font.path" system- or environment variable with the path of the font file.

MS Word

To enable MS Word PDF conversion through Jacob framework, cb-office application must run on Windows machine with MS Word application installed.

If PDF export fails with exception "Failed to create desktop folder: ..." means that cb-office app failed to fix this bug. The folder [windows]\System32\config\systemprofile\Desktop must be created by hand and made available for CB process.

"fileCache" section

Set temporarily file storage properties.

Since CB 10.1.

A typical example

"fileCache": {
  "timeToLive" : 432000,
  "cleanupPeriod" : 86400
}

"workflowAction" section

Set workflow action properties

scriptTimeoutInSeconds (since 10.1)

Possibility to set timeout of script execution in workflow actions.

A typical example

"workflowAction" : {
   "scriptTimeoutInSeconds" : 2
}

"env.properties" file section

System properties can be defined by adding an env.properties on the configuration path. This file will be loaded before the application configuration is loaded.

The following variables can be set:

  • CB_REMOTE_API_URL
  • CB_LICENSE
  • CB_NOT_ENOUGH_TOTAL_MEMORY_CHECK_ENABLED
  • CB_MIN_AVAILABLE_MEMORY_PERCENTAGE
  • CB_MIN_AVAILABLE_PHYSICAL_MEMORY_PERCENTAGE
  • RPE_HOME
  • CB_SESSION_CLEANUP
  • CB_LOGGING_ERROR_ .. variables
  • CB_SCHEDULER_FACTORY_ .. variables

Not confiurable:

  • CB_MAC_ADDRESS
  • CB_CLUSTER_SERVER_ID
  • CB_CLUSTER_ENABLED
  • CB_RMI_ .. variables
  • CB_JGROUPS_ .. variables
  • CB_INIT_SQL_FILES

Since CB 10.3