Version 9.0 Installable Version Release Notes
See also:
Preparing for a First Installation
For First-Time Installation of the Application Server, ensure that dependent utilities are at the minimum levels specified in the Software Requirements.
Starting an Upgrade
Configure MySQL for Quartz Cluster
- If you are running a Quartz Cluster, you need to configure MySQL to set the transaction level to read-committed and the replication mode to row level.
- Learn more: Setting up a Quartz Cluster
Finishing an Upgrade
Reallocate Application Resources and Republish Packages
In version 9.0, new application resources (Objects, Web Tabs, Classes, Pages, Static Resources, Sites, and Components) are always created as part of the current application, and are not automatically available to all applications running in the current tenancy. That arrangement achieves a desirable separation that simplifies application development.
In order to assure backward compatibility, however, the upgrade process from version 8.2 to version 9.0 makes sure that all such resources are made available to every application in the tenancy. That allocation ensured that no applications were broken by the upgrade.
But as a side effect, applications published as packages now contain every resource in the tenancy--not just the resources that the application previously included in the package.
To reallocate those resources:
- Go to Settings > Global Resources > Resource Sharing
- Click [Edit]
- Select each application that will be published as a package
- For each application, go through the list of resources.
- For each resource that is not supposed to be part of the application package, move the resource from the Selected list back to the Available list.
- You can now republish the package.
(Republishing is necessary. Older packages do not work with the new version of the platform.)
Update Dependent Utilities
- After an Upgrade, it is strongly recommended that you update the JDK and MySQL to these minimum levels:
- JDK 7.0, release _06 or higher
- MySQL 5.5
- (The platform can be upgraded without updating these utilities, but it has been fully tested with them, both for functionality and for optimum performance.)
Install Open Office
- OpenOffice is now used to generate compound PDF documents from the new Word and Excel Print Template Formats.
- Before users work with that feature, therefore, OpenOffice needs to be installed and launched at system startup.
- Learn more: Software Requirements
Notable Changes
Functional Changes
Support for Report Subqueries
- A new tenant-management capability has been added, to allow for Subquery Filters in Views and Reports.
- This functionality is resource-intensive, and should not be granted indiscriminately.
Packaging Restrictions Removed
- Restrictions on the packaging process have been removed, in order to simplify development efforts:
- Items in a subscribed package, as well as the package itself, can now be republished by any tenant who has package publishing privileges.
- In addition, any tenant with the capability to create a package can include system objects, so Tenant Capabilities no longer includes the Package System-Generated Objects option.
"Development Tenancy" Capability Replaced by Sandboxes
- Sandboxes should be used for development, now that packaging restrictions have been removed.
API Changes
Tenant Capability Changes
- A new tag has been added: <subquery_filter>, with values true or false.
- Learn more: REST API:tenantCapabilities Resource
User API Changes
- In the User object, role_id field has been removed, and the accessProfileId field has been added. In addition, the custom_security_question and security_answer fields are provided.
- Learn more: REST user Resource
Role API Changes
- Global and administrative permissions are now specified in Access Profiles, rather than in Roles. Inconsequence:
- The REST Role resource no longer contains globally_manage_permission, web_tabs_access_permission, or administrative permissions sections.
- The Role object still contains permissions for self-owned records and team-owned records, but they are no longer wrapped in an individually_manage_permission tag.
- In the Java API, the RoleBean no longer contains an AdministrativePermissionsBean, or a method to access it.
- Learn more: REST role Resource, Java [RoleBean]
New Access Profile APIs
- The new Access Profile object specifies global and administrative permissions. Using the Java APIs, it is accessed like any other object (objectId = ACCESSPROFILE).
- Learn more: REST accessProfile Resource
New Application Access APIs
- The Application Access object specifies users who can access an application, and the roles they can assume. Using the Java APIs, it is accessed like any other object (objectId = APPLICATION_ACCESS).
- Developers who previously used the REST user_team resource to manage use Roles will now do so using the applicationAccess resource.
- Learn more: REST applicationAccess Resource
Field Metadata Changes
- For Lookup fields, the REST field Resource contains a new parameter, includeAllObjects. It identifies lookup fields that are allowed to target any object.
- Learn more: REST Multi Object Lookup example