Service Provider Settings

From AgileApps Support Wiki

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

The Service Provider Settings provide options for ISVs to customize the user interface, brand the platform, and customize the user experience with personalized logos, art, fonts, color schemes, email messaging, and more.

Notepad.png

Note: To manage these settings using Command Central, see Command Central for AgileApps Administration.

1 Working with Service Provider Settings

Lock-tiny.gif

Users that have the Manage Tenants and Company Capabilities permission can manage Service Provider Settings 

1.1 Prerequisites

When configuring Service Provider Settings, have the following information should be available:

  • Name of your Service (Domain Name), Email Support Address (Secure Email Service Provider Name), Terms of Service
  • Header and Footer HTML code (Brand messaging that appears at the top and bottom of some pages: Login, Logout, Password Reset)
  • Header and Footer image/logo (Images that appear in the Header/Footer areas)
  • Default applications to be loaded during user registration
  • Starting application for a newly registered user
  • Application Catalog URL
    • Page that lists available applications; Users will install applications from this page
    • Default is https://{yourDomain}/networking/Service?t=9
  • Customization settings for the Customer Welcome Email (Personalize the message with the user's name, login name and password)

1.2 To Change Settings

  1. Select one of the configuration options below.
  2. Make changes:
a. If it exists, click the [Edit] button, make changes, and then click [Save].
b. Otherwise, click one of the links in the page to work with that option.
Configuration options:
Service Configuration - Customize service configuration settings
Service Header HTML - Customize service header
Service Footer HTML - Customize service footer
Service Header Image - Customize service header logo
Manage Email Templates - Customize email templates
Manage Catalog - Customize the Catalog packages (requires the same kind of format as the default catalog page noted above)

2 Service Configuration

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

2.1 Basic Service Configuration

These values define the basic service configuration:

2.1.1 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


2.1.2 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

2.1.3 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

2.1.4 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
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.)

2.1.5 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.

2.2 Email Configuration

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

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

2.2.1 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.

2.3 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.

2.4 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.

2.4.1 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.

2.5 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

2.6 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.

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
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

2.7 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

2.8 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

2.9 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.

2.10 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.

2.11 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

2.12 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.

3 Service Header HTML

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

The Service Header appears at the top of the page (header), and defines the stylesheet for these pages:

  • Login
  • Logout
  • Applications Catalog
  • Reset Password

Find a cut-and-paste example: Service Header HTML Code Sample

To Edit the Service Header HTML:

  1. Enter Raw HTML Text (Copy & Paste Raw HTML) into the editing area
  2. Click [Save]

4 Service Footer HTML

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

The Service Footer appears at the bottom of the page (footer), and defines the stylesheet for these pages:

  • Login
  • Logout
  • Catalog
  • Reset Password

Find a cut-and-paste example: Service Footer HTML Code Sample

To Edit the Service Footer HTML:

  1. Enter Raw HTML Text (Copy & Paste Raw HTML) into the editing area
  2. Click [Save]

5 Service Header Image

Use this option to change the Service Header logo. This logo appears in the heading area of every page. Required dimensions: 900px by 55px.

6 Manage Email Templates

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

With these options, Service Providers can personalize communications with tenants and build value with customized branding and messaging.

Template variables can be used to personalize the Subject or Body of the message.

Learn more:

6.1 Available Email Templates

To edit an email template:

  1. Click Manage Email Templates
  2. Select a category from the list
  3. Select a template from the category
  4. For User Notification emails:
    • Select the version of the template that corresponds to one of the languages supported in this instance of the platform.
    • Then click the folder icon to view that version
  5. Click [Edit], and modify the settings:
    Email Subject
    Subject of the email message
    Use Email Header & Footer
    Default is Yes; if enabled, displays the Service Header HTML and Service Footer HTML
    HTML Email Body
    HTML code is provided, which can be edited in place, or replaced (via cut-and-paste action from an HTML editor).

6.1.1 Email Header/Footer

Manage Email Header/Footer Settings

Email Header HTML
Email Footer HTML

Use this option to specify the Email Header and Footer HTML code used in system-generated Email Notifications. Examples of typical system-generated email notifications are:

  • Task status update/notifications
  • Welcome email message sent to new users
  • Appointment reminder email messages

The HTML code creates a template for system-generated messages, and can be used to brand your notification messages.

  1. Email Header HTML - appears at the top of system-generated email messages
  2. Email Footer HTML - appears at the bottom of system-generated email messages

Find cut-and-paste examples here:

6.1.2 Tenant

Manage Tenant Welcome Messages

Tenant Self-Registration Welcome Email
Tenant Registration by ISV Welcome Email
Email Verification

6.1.3 User

Manage User Notification Related Emails

User Welcome Email
Used in messages sent when a user account is created, and provides a link to the Login page
Reset Password Email
Used in messages sent when the user password has been reset, and provides the user's password
Forgot Password Link Email
  • Used in messages sent when the user clicks the Forgot my Password link, and provides a link to the Security Question
  • Learn more: Login
Forgot Reset Password Email
  • Used in messages sent after a user requests a password change, and provides a new, temporary password
  • Also used when a new user/tenant is added via REST API - Add a User, and a password not specified when the user record is created

6.1.4 Status

Templates for Status Notification Emails

Export Status Email
Mass Operation Status Email
Import Status Email
Report Status Email
Translation Export Status Email

6.1.5 Package

Templates for Package Notification Emails

Package Approval Email
Package Rejection Email
Package Publish Email
Package Deploy Notification Email

6.1.6 Storage Notifications

Set Up Templates for Storage Notifications

90% Storage Space Exhausted Status Email
100% Storage Space Exhausted Status Email

7 Manage Catalog

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

Notepad.png

Note: To view the catalog option when creating a new application, Marketplace Service Domain field should be blank under Community Site Configuration section of the Configure Service Settings page.

Categories
Add and delete categories. Specify category names.
Catalog
View the current Catalog
Approve Packages
Review Packages pending approval
User can either:
  • [Approve] package for publication to the catalog
  • [Reject] package, and deny publication to the catalog
In either case, an email is sent to the submitter, to tell them the outcome.
Learn more: Package Approval or Rejection
Select Packages
Choose the packages to display in the Catalog
  • Move a package to the Visible column to display it in the catalog
  • Move a package to the Hidden column to remove it from the catalog
  • Set the order of the Packages

Warn.png

Important: Including a package in the catalog is a two-step process. First it must be approved. Then it must be moved to the Visible column, in whatever order you choose.

8 Learn More