AgileApps Support Wiki Pre Release

Difference between revisions of "Service Configuration"

From AgileApps Support Wiki
imported>Aeric
 
(34 intermediate revisions by 2 users not shown)
Line 19: Line 19:
|Recaptcha Public Key
|Recaptcha Public Key
|-
|-
|Legal Notices||Includes the Software AG Legal Notices||<tt>http://documentation.softwareag.com/legal/ Legal Notices</tt>
|Legal Notices||Includes the Software AG Legal Notices||<tt>http://documentation.softwareag.com/legal/</tt>
|-
|-
|Error Notification Email Address||An email message is sent to this address when errors occur||<tt>customer_support@mydomain.com </tt>
|Error Notification Email Address||An email message is sent to this address when errors occur||<tt>customer_support@mydomain.com </tt>
Line 31: Line 31:
|Temp Directory||Used as a temporary storage location||<tt>/temp/ </tt>
|Temp Directory||Used as a temporary storage location||<tt>/temp/ </tt>
|-
|-
|Supported Languages || colspan="2" |Languages that are supported in this instance of the platform, and are available for selection by tenants.<br> ''Learn more:'' [[Translation Workbench]]
|Supported Languages || colspan="2" |Languages that are supported in this instance of the platform, and are available for selection by tenants.<br> ''Learn more:'' [[Language Translation]]
|-
|Whitelisted File Types||Supported file types you can upload to the application||<tt></tt>
|-
|Max Uncompressed File Size Limit (MB)||This is the maximum size for an uncompressed file that you can upload to the AgileApps platform. This limit is applicable only to package upload, static resource upload, and custom template. It is not applicable to file field, attachments, and so on.||<tt>500</tt>
|}
|}


Line 50: Line 54:
===Email Configuration===
===Email Configuration===
Configuration for all the emails sent from the {{enterprisebrand}}.
Configuration for all the emails sent from the {{enterprisebrand}}.
====Authentication Type====
Choose the desired authentication type from the authentication type dropdown.
=====Basic configuration=====


:{| border="1" cellpadding="5" cellspacing="0"
:{| border="1" cellpadding="5" cellspacing="0"
Line 61: Line 70:
|-
|-
|Password ||Password related to the user/login name for the email-relay service||
|Password ||Password related to the user/login name for the email-relay service||
|}
=====OAuth configuration=====
{{Note|
* The OAuth configuration is supported only for '''Gmail server'''.
* Currently, we do not support configuration for other email servers such as '''Outlook''' and others due to some limitations in the respective email platforms.
}}
{{Tip|For information about configuring Gmail server, refer'''''[https://agileappscloud.info/aadev/Registering_your_Application_in_the_External_Mail_Server#Using_Gmail_as_your_Mail_Server Using Gmail as your server mail server]''''' article.}}
:{| border="1" cellpadding="5" cellspacing="0"
!Parameter
!Description
!Typical Value
|-
|Host || The IP address of the email host, or the domain name || smtp.gmail.com
|-
|Port || The port number used to access the Mailbox || 587
|-
|Username || Enter the username ||
|-
|Client ID || Enter the client ID copied from Google console ||
|-
| Client secret || Enter the client secret key copied from Google console ||
|-
| Scope || Enter the URL that you added in the Gmail scopes section while registering your project in the Google Cloud console ||
|-
| Grant Type || The option ''Authorization Code'' is pre-selected in the dropdown ||
|-
| Auth URL || Enter the Auth URL || https://accounts.google.com/o/oauth2/auth
|-
| Access Token URL || Enter the access token URL || https://oauth2.googleapis.com/token
|-
| Redirect URL || Enter the redirect URL || https://localhost:8284/networking/rest/token
|-
| Authorization Code || Enter the authorization code ||
|}
|}


Line 70: Line 115:
:* '''Password -''' The password used to access the mailbox. (This field appears only when editing.)
:* '''Password -''' The password used to access the mailbox. (This field appears only when editing.)
:* '''[Test Email Configuration] -''' Click this button to test the settings.
:* '''[Test Email Configuration] -''' Click this button to test the settings.
===Apache Configuration===
Use the Apache configuration only if you use Apache web server to configure AgileApps.
:* Apache Port - If you leave this field blank, it does not have any implications to the current settings of AgileApps. A single Apache web port serves all the requests made to the Apache server.
===Document Server===
Change the values in the Document Server Configuration section only if your document server is different from http://127.0.0.1/networking.
{{Note|Any changes you make to the default configurations, requires a memcache restart and an AgileApps server restart.}}
:* Enable document server change - Select this option to activate the subsequent fields for this configuration.
:* Document Server - Enter the value for your Document Server. For example, http://localhost:8284/networking.  By default, this field is inactive. Also, ensure that the port number that you specify here matches the value of the port number that you enter in '''com.softwareag.catalina.connector.https.pid-<portnumber>.properties''' file or '''com.softwareag.catalina.connector.https.pid-<portnumber>.properties''' file depending on the type of connection you are using (HTTP or HTTPS). By default, the HTTP ports are used to serve the document server requests.
{{Note|If you are running more than one instance of AgileApps on the same machine, then ensure that the http/https port configuration for both AgileApps instances is different.}}
{{Note|Do not block HTTP port 80 at firewall level. You need to enable HTTP redirection at web server level with default document server configuration, in case of an HTTPD or NGINX configured web server in front of AgileApps server.}}
:* Public Document Server - Enter the value for your Public Document Server. This value can be same as the Document Server or different depending on your application setup.
:* Import Document Server - Enter the value for your Import Document Server. This value can be same as the Document Server or different depending on your application setup.
====Configuring the Document Server====
You can configure Document Storage in the following ways:
:* Using Mount Point: You can share the document storage with all AgileApps servers by sharing a disk space among the AgileApps servers using a mount point, so that the document storage is available locally to the AgileApps server. This is the recommended approach to share Document storage using mount point among the server, so that if one backend AgileApps server goes down, it will not impact the document upload, download, or delete operations.
:* Configure a dedicated AgileApps Server as Document Storage using the IP address of the AgileApps Server in '''Document Server Configuration''' of Service Provider settings. In this Approach, any document upload, download, or delete operation call goes to the dedicated AgileApps Server and if this dedicated AgileApps server goes down, then you will not be able to upload, download, or delete the documents.
===Template Configuration===
Use this section to configure the filename extensions that are supported in the template ZIP file. If the zip file contains any unsupported filename extension, then the template installation fails. For more information about installing a template, see [[How to Create a Custom User Interface (CUI)]].
In the '''Whitelisted File Types''' section, provide the list of file extensions that you want to support. By default, the following filename extensions are supported:
{{Note|If you leave this field empty, all default extensions will be supported.}}
:*html
:*css
:*js
:*png
:*jpeg
:*jpg
:*json
:*gif
:*txt


===Develop Configuration===
===Develop Configuration===
Line 113: Line 191:
:;Global Tenancy ID: The ID of tenant from which objects are shared.
:;Global Tenancy ID: The ID of tenant from which objects are shared.
:;Global Tenancy Shared Object List: A comma separated list of [[Object ID]]s that are shared.
:;Global Tenancy Shared Object List: A comma separated list of [[Object ID]]s that are shared.
===User Configuration===
Configuration for all the emails sent from the {{enterprisebrand}}.
:{| border="1" cellpadding="5" cellspacing="0"
!Parameter
!Description
!DefaultValue
|-
|Enable User Deletion|| This is a mandatory configuration to enable the '''Delete User''' functionality in the application. When set to '''Yes''', you can select '''Delete User''' option in the '''Manage Tenant Capabilities''' page for the respective tenants. To delete a user, both '''Enable User Deletion''' and '''Delete User''' options should be enabled.||<tt>Yes</tt>
|-
|Enable Alias Creation on Deleting User || Allows you to create an alias when you delete a user from the application. The system uses the first two letters of your first name and the first two letters of your last name to create the alias.||<tt>Yes</tt>
|-
|}
===Security Headers Configuration===
Enter the whitelisted domains for Content Security Policy (CSP) and Cross Origin Resource Sharing (CORS) headers. The domains listed here are parsed and added dynamically to the request / response headers for the tenant. Content access to and from AgileApps is not restricted for the domains listed here. Use comma separated values to list multiple domains. For more information, see [[Security Headers Settings]].

Latest revision as of 06:13, 24 May 2024

Service Provider URL: http://{yourDomain}/networking/Service?t=1&targetpage=ViewPort.jsp
Settings > Service Provider Settings > Service Configuration

Basic Service Configuration

These values define the basic service configuration:

First-Time Service Configuration

Configure the Service Settings and specify Service and Domain names:
Parameter Description Typical Value
Service Name Name of the service provider Financiocorp Services
Prefix for Service Domain Optional subdomain name

Allowed characters: a-z, A-Z, 0-9, - (alphanumeric, plus hyphen)

Example: service

Service Domain The Domain Name part of the URL mydomain.com
Domain URL

Read Only
Automatically populated as:

Prefix + Service Domain

service.mydomain.com


Subsequent Configuration

These additional parameters become available after the initial configuration is complete.

Parameter Description Typical Value
Recaptcha Private Key After signing up for Google's reCaptcha implementation of the Captcha service, enter the public and private keys here. (They are used to interact with that service.)
Recaptcha Public Key
Legal Notices Includes the Software AG Legal Notices http://documentation.softwareag.com/legal/
Error Notification Email Address An email message is sent to this address when errors occur customer_support@mydomain.com
No Reply Email Address The email address to use for messages sent by the platform, when replies are not permitted systemadministrator@mydomain.com
Help Domain Required field; Domain name for user help; This page is opened in a new browser window when Help is invoked from the platform http://www.mydomain.com/help
Document Directory File location for email attachments and generated documents /usr/local/
Temp Directory Used as a temporary storage location /temp/
Supported Languages Languages that are supported in this instance of the platform, and are available for selection by tenants.
Learn more: Language Translation
Whitelisted File Types Supported file types you can upload to the application
Max Uncompressed File Size Limit (MB) This is the maximum size for an uncompressed file that you can upload to the AgileApps platform. This limit is applicable only to package upload, static resource upload, and custom template. It is not applicable to file field, attachments, and so on. 500

Service Domain

The Service Domain is required, and must comply with the following guidelines:
  • The Service Domain name must be unique
  • Service Domain names can contain the following characters:
  • alphanumeric (a-z, A-Z, 0-9)
  • hyphen (-)
  • period, dot, full stop (.), used as the delimiter in the Prefix for Service Domain

Prefix for Service Domain

If Tenant Subdomains are enabled in the platform, this value defines the service provider's subdomain. If they are not, then the prefix adds text to the domain name that happens to include a dot (period).

The prefix field accepts alphanumerics and the underscore. The prefix is added to the Service Domain setting to produce the (read-only) Domain URL.

Examples
Prefix for Service Domain Service Domain Domain URL(Read Only)
www.abc.com www.abc.com
xyz www.abc.com xyz.abc.com
xyz abc.com xyz.abc.com

Reserved Subdomains
Admins can specify which subdomains are restricted from creation by normal tenants in the LongJump interface. When a user enters a restricted subdomain on the tenant creation page, an error message appears below that field. By default, a set of subdomains are added as reserved subdomains. It can be updated as per the requirement.

Accessing Reserved Subdomains
  1. Go to LongJump > Configure Service Settings > Edit.
  2. In the Reserved Subdomains field, type the subdomains you wish to restrict.
    Subdomains should be entered as comma-separated-values, with no spaces before or after the comma.
  3. Ensure that you restart the server after making changes to the LongJump platform.
Considerations
  • You already know that you use this URL to manage tenants:
http://{yourPrefix}.{yourDomain}/networking/Service?t=1&targetpage=ViewPort.jsp
  • You can also access the platform in the same way that other tenants do, using a URL of this kind:
https://{yourPrefix}.{yourDomain}.com/networking/servicedesk/index.jsp
  • That URL gives you the ServiceDesk application and other applications, just like any other tenant.
(Without Tenant Subdomains, you can still log in to the platform to access applications--but there can be no Service Portal. That capability exists only when there is distinctive a URL that no other tenant would use to log on. If Tenant Subdomains are not enabled, then all tenants use the same URL to log in.)

Help Domain

As a Service Provider, you might create a help website to align with a customer's branded instance of the platform. In this case, the URL of the help website would be used as the default Help Domain. When a user clicks the Help link in the platform, that URL opens in a new browser window.

Email Configuration

Configuration for all the emails sent from the AgileApps Cloud platform.

Authentication Type

Choose the desired authentication type from the authentication type dropdown.

Basic configuration
Parameter Description Typical Value
Hostname For Email-relay Server Hostname localhost
User Name User/login name for the email-relay service
Password Password related to the user/login name for the email-relay service
OAuth configuration

Notepad.png

Note:

  • The OAuth configuration is supported only for Gmail server.
  • Currently, we do not support configuration for other email servers such as Outlook and others due to some limitations in the respective email platforms.

Thumbsup.gif

Tip: For information about configuring Gmail server, referUsing Gmail as your server mail server article.

Parameter Description Typical Value
Host The IP address of the email host, or the domain name smtp.gmail.com
Port The port number used to access the Mailbox 587
Username Enter the username
Client ID Enter the client ID copied from Google console
Client secret Enter the client secret key copied from Google console
Scope Enter the URL that you added in the Gmail scopes section while registering your project in the Google Cloud console
Grant Type The option Authorization Code is pre-selected in the dropdown
Auth URL Enter the Auth URL https://accounts.google.com/o/oauth2/auth
Access Token URL Enter the access token URL https://oauth2.googleapis.com/token
Redirect URL Enter the redirect URL https://localhost:8284/networking/rest/token
Authorization Code Enter the authorization code

Bounced Email Configuration

Use this option to designate a mailbox you have set up to handle bounced messages (messages sent from the platform that come back because they cannot be delivered).

  • Enable Bounced Email Processing - Yes or No
  • Hostname - The server that hosts the mailbox you set up
  • Mailbox Address - The address of the mailbox. (It is accessed using the POP3 protocol.)
  • Password - The password used to access the mailbox. (This field appears only when editing.)
  • [Test Email Configuration] - Click this button to test the settings.

Apache Configuration

Use the Apache configuration only if you use Apache web server to configure AgileApps.

  • Apache Port - If you leave this field blank, it does not have any implications to the current settings of AgileApps. A single Apache web port serves all the requests made to the Apache server.

Document Server

Change the values in the Document Server Configuration section only if your document server is different from http://127.0.0.1/networking.

Notepad.png

Note: Any changes you make to the default configurations, requires a memcache restart and an AgileApps server restart.

  • Enable document server change - Select this option to activate the subsequent fields for this configuration.
  • Document Server - Enter the value for your Document Server. For example, http://localhost:8284/networking. By default, this field is inactive. Also, ensure that the port number that you specify here matches the value of the port number that you enter in com.softwareag.catalina.connector.https.pid-<portnumber>.properties file or com.softwareag.catalina.connector.https.pid-<portnumber>.properties file depending on the type of connection you are using (HTTP or HTTPS). By default, the HTTP ports are used to serve the document server requests.

Notepad.png

Note: If you are running more than one instance of AgileApps on the same machine, then ensure that the http/https port configuration for both AgileApps instances is different.

Notepad.png

Note: Do not block HTTP port 80 at firewall level. You need to enable HTTP redirection at web server level with default document server configuration, in case of an HTTPD or NGINX configured web server in front of AgileApps server.

  • Public Document Server - Enter the value for your Public Document Server. This value can be same as the Document Server or different depending on your application setup.
  • Import Document Server - Enter the value for your Import Document Server. This value can be same as the Document Server or different depending on your application setup.

Configuring the Document Server

You can configure Document Storage in the following ways:

  • Using Mount Point: You can share the document storage with all AgileApps servers by sharing a disk space among the AgileApps servers using a mount point, so that the document storage is available locally to the AgileApps server. This is the recommended approach to share Document storage using mount point among the server, so that if one backend AgileApps server goes down, it will not impact the document upload, download, or delete operations.
  • Configure a dedicated AgileApps Server as Document Storage using the IP address of the AgileApps Server in Document Server Configuration of Service Provider settings. In this Approach, any document upload, download, or delete operation call goes to the dedicated AgileApps Server and if this dedicated AgileApps server goes down, then you will not be able to upload, download, or delete the documents.

Template Configuration

Use this section to configure the filename extensions that are supported in the template ZIP file. If the zip file contains any unsupported filename extension, then the template installation fails. For more information about installing a template, see How to Create a Custom User Interface (CUI). In the Whitelisted File Types section, provide the list of file extensions that you want to support. By default, the following filename extensions are supported:

Notepad.png

Note: If you leave this field empty, all default extensions will be supported.

  • html
  • css
  • js
  • png
  • jpeg
  • jpg
  • json
  • gif
  • txt

Develop Configuration

Java code running in a tenancy is subject to strict limits--or governors:

  • Some settings put limits on the number of resources that tenants can use, to prevent infinite loops and other kinds of runaway programs. The limits apply to each tenant execution interval--from the time that the platform application instance gives control to tenant code, until the time that control returns to the platform. Up to that limit, an application can use as many resources as it wants. But once a constraint is exceeded, the executing code aborts with an exception.
  • Other settings restrict the kinds of Java classes that can be used, to prevent unwarranted access to the server and/or security violations.

The Service Provider Settings can be used to tighten those restrictions, ameliorate them, or lift them entirely.

Considerations
  • Settings are global. They apply to all tenants in the platform instance.
  • Settings apply to scheduled (background) jobs, as well as foreground applications.
  • The minimum for all numeric settings is "1".
  • Changes to these settings take effect only when the platform application instance is restarted.

Here are the default settings:

Parameter Description Default Value
Apply Governors in Java Code? Whether or not governors are applied to this platform instance. A development instance may want to turn them off, in some cases. Any multi-tenant production instance will want them on, to ensure that a runaway program in one tenant does not interfere with other tenants.

Notepad.png

Note: Currently, the code governance is available for Linux installations only.

Yes
Max Number of Statements allowed The maximum number of Java code statements that can be run during an execution interval. 10000


Maximum String Length allowed The total size of all strings allocated in the Java heap space during an execution interval. 30000


Maximum CPU Time allowed (milliseconds) The maximum number of CPU milliseconds that can be consumed during an execution interval. 60000


Java classes not allowed in code There are certain Java classes which are disallowed in tenant classes, to prevent access to the server and any compromise of server security. (They are, however, allowed in global classes developed by the ISV for use by all tenants.)

In order to protect the security of the server, enter a comma-separated list of fully qualified Java Class Names for this option. At compile time, application will check if any of these classes are referenced in the user code and throw an exception if they are. Note that this will take effect only after the server is restarted.

<syntaxhighlight lang="java" enclose="div"> java.lang.System, java.lang.Runtime, java.lang.Class, java.lang.ClassLoader, java.lang.Thread, java.lang.ThreadGroup, java.lang.ThreadLocal, java.lang.Runnable, java.lang.Compiler, java.lang.RuntimePermission,

java.lang.reflect.AccessibleObject, java.lang.reflect.Array, java.lang.reflect.Constructor, java.lang.reflect.Field, java.lang.reflect.Method, java.lang.reflect.Modifier, java.lang.reflect.Proxy, java.lang.reflect.ReflectPermission,

java.io.FileReader, java.io.FileWriter, java.io.FileInputStream, java.io.FileOutputStream,

java.net.DatagramSocket, java.net.DatagramSocketImpl, java.net.HttpURLConnection, java.net.Inet4Address, java.net.Inet6Address, java.net.InetAddress, java.net.InetSocketAddress, java.net.JarURLConnection, java.net.MulticastSocket, java.net.ServerSocket, java.net.Socket, java.net.URL, java.net.URI, java.net.URLClassLoader, java.net.URLConnection, java.net.URLStreamHandler, java.lang.Process, java.lang.ProcessBuilder </syntaxhighlight>

Libraries supported in Java Code

When compiling user-defined code, the platform allows certain libraries like jars or internal java packages:

  • If a custom library is required, the jar can be placed in the ../tomcat/lib folder of the Apache Tomcat installation
  • To include these library files, enter a comma-separated list of such jar files for this option
  • Note that this will take effect only after the server is restarted.
Empty


No. of Objects in Database Views

Database Views allow the creation of custom categories that join multiple objects

  • These database views can be used as the base category for a Report
  • The maximum number of tables that are allowed is five (5), with a default value of three (3)
  • The number of joins in these tables is restricted to the maximum number + 1
Default: 3, Range is 3-5
Maximum rows in a List View

Maximum number of rows that are fetched in a List View for an object is defined by this option

  • This number is limited by the maximum int value supported by Java/MySQL i.e. 2^16 = 4G
10000
Maximum rows in a report
  • Maximum number of rows that are fetched in a report
  • This number is limited by the maximum int value supported by Java/MySQL i.e. 2^16 = 4G
5000
Maximum rows in a Scheduled Report
  • Maximum number of rows that are fetched in a report that runs in the background queue.
  • This number is limited by the maximum int value supported by Java/MySQL i.e. 2^16 = 4G
5000
Maximum Savepoints Intermediate placemarks, which identify points at which the data fields contain intact, legitimate values 5
Maximum Recursions in Java API Allow a function to call itself the specified number of times 10

Tenant Configuration

This section is used by:
Allow Unauthenticated Tenant Creation
Allows any prospective customer to create a new tenancy (a trial account).
  • Unchecked by default
  • If checked, trial accounts can be created by unauthenticated users who have a computer and network connection that meets the Minimum Client Requirements
Enable Tenant Subdomains
This setting lets customers specify a URL subdomain when registering, giving them a unique URL they can use to access their platform applications.
Learn more: Tenant Subdomains

Catalog Configuration

Configuration for application Packages:

Package Catalog URL
The URL of the Application Catalog, where Packages are published.
Default is Service?t=8 (https://{yourDomain}/networking/Service?t=8
Considerations
  • This is the older format used to display a list of published packages. In this format, only an image and a short description are displayed for each package. The newer Community Marketplace functionality can be selected in the Community section that follows. That format allows more Catalog Information to be displayed for each application package.
  • If you want to use this functionality, you should disable the Community Tenant defined in the next section. Otherwise, you should clear the Package Catalog URL field.
Learn more: Manage Catalog

Community Site Configuration

The community site is enabled by default. All users in all tenancies supported by an ISV can access and use the Community features.

Community Site settings
Enable Community
Checkbox. Enabled by default. Clear it to disable the community feature.
Community Tenancy ID
Read-only display of the Community Tenant ID.
Community Site Name
Read-only display of the name displayed on each community page.
Marketplace Service Domain
The Community Marketplace is a newer format for a list of approved packages that are available for installation. It provides a richer interface than the older Catalog format, and allows much more Catalog Information to be displayed for application packages.
  • Providing a value in this field activates the Community Marketplace.
  • The value can be the service's domain name with an optional subdomain, or the service's IP address.
Considerations
  • The specified domain or IP address must match the Service Domain specified for this installation.
  • If Tenant Subdomains are enabled, a subdomain can be specified using the format {subdomain}.{yourDomain}.
    For example: applicationcatalog.yourService.com.
  • If this value is specified, the Package Catalog URL field in the section above should be cleared.

Global Tenancy

From the designated tenancy, specified objects and the data they contain can be shared with other tenants who have installed a package that contains those objects.

Learn more: Global Data

Global Tenancy ID
The ID of tenant from which objects are shared.
Global Tenancy Shared Object List
A comma separated list of Object IDs that are shared.

User Configuration

Configuration for all the emails sent from the AgileApps Cloud platform.

Parameter Description DefaultValue
Enable User Deletion This is a mandatory configuration to enable the Delete User functionality in the application. When set to Yes, you can select Delete User option in the Manage Tenant Capabilities page for the respective tenants. To delete a user, both Enable User Deletion and Delete User options should be enabled. Yes
Enable Alias Creation on Deleting User Allows you to create an alias when you delete a user from the application. The system uses the first two letters of your first name and the first two letters of your last name to create the alias. Yes

Security Headers Configuration

Enter the whitelisted domains for Content Security Policy (CSP) and Cross Origin Resource Sharing (CORS) headers. The domains listed here are parsed and added dynamically to the request / response headers for the tenant. Content access to and from AgileApps is not restricted for the domains listed here. Use comma separated values to list multiple domains. For more information, see Security Headers Settings.