Difference between revisions of "Version 7.1 Platform Release Notes"
From LongJump Support Wiki
imported>Aeric |
imported>Aeric |
||
Line 245: | Line 245: | ||
:;[[REST_API:developConfig Resource|developConfig Resource]]: | :;[[REST_API:developConfig Resource|developConfig Resource]]: | ||
::* The <tt>namespace</tt> field has been added. | ::* The <tt>namespace</tt> field has been added. | ||
:;[[REST API:login Resource|login Resource]]: REST login can be only be done using the POST method. GET is no longer supported. | :;[[REST API:login Resource|login Resource]]: REST login can be only be done using the POST method. GET is no longer supported. |
Revision as of 22:15, 19 October 2012
See also: Doc Notes for documentation changes.
Major Enhancements
- GUI Enhancements
- Platform interactions have been overhauled from top to bottom, as explained in this video.
- Improved Charts
- Charts are better looking and load faster. New charts don’t require Flash, so they display in all browsers. Live analytics let you pivot the dimensions of a chart by re-grouping data or adding filters.
- Permissions Hierarchy for Roles and Teams
- To enhance security, the platform now enforces a Permissions Hierarchy. In summary:
- You cannot assign a privilege to a role unless you have that privilege.
- You cannot assign a role that contains a privilege you do not possess.
- You can manage roles only for members of your team and subteams.
- You can manage users only if they are members of your team or subteams.
- You can manage a team only if it is your own team or a subteam.
- You can assign users to a team only if it is your own team or a subteam.
- Composite Objects
- It is now possible to use platform interfaces to create, access, and manage multiple related records in a single, safe, Composite Object transaction. The changes include:
- The ability to define record relationships in the UI
- Support for CRUD operations and search in platform APIs.
- Bulk Uploads into Custom Objects
- It is now possible to use the REST API:bulk Resource to upload CSV data from an external file into an arbitrary Custom Object.
- Package Data
- Data can now be included in packages either by itself or along with objects and other package items. The Package Data mechanism is flexible enough to include arbitrary kinds of data, in addition to object data. This mechanism makes it possible to package data (without objects) for use any anyone who has the right application to use it.
- Tenant Data Sharing
- Using Tenant Data Sharing Policies, you can share Object data with select tenants, using Java APIs on the client side to access and manage that data. Learn more: Using the JAVA API to Access Shared Data.
Significant Changes for Users & Admins
- [Quick Add] button now available in Custom Object Lookup Window
- When doing a lookup that targets a Custom Object, it is now possible to add a new record without leaving the window, so it can be selected immediately.
- Searches are no longer confined to the current tab by default.
- Explanation: In earlier versions, "current tab" searches were supported, but with the new UI, its hard to determine which tab the user is on. Searches therefore no longer default to the current tab. To confine a search to a particular tab, it must be manually selected.
- Configuration Changes:
- This option is removed: Set Up > Personalize > Default Search Tab > Select Current Tab
- New Users created will now default to ALL tabs instead of CURRENT_TAB.
- Login lockout
- When password policies are set up to do so, users will be locked out after a specified number of failed tries, for a specified number of minutes.
- Custom fields and data policies for USER objects can now be defined
- Multi-select picklist and multi-check boxes can be configured to display labels vertically
- When displayed vertically there is no comma. For those two kinds of fields, commas are not allowed in the enumerated values. They are allowed only in the labels.
- Workflows now support Decision Boxes
- With a decision box, the state a record transfers to can be automated based on data in the record, rather than requiring a manual selection by the owner(s) of the record.
- Limited ability to modify a locked package
- A subscriber to a Locked Package can modify Custom Access Criteria. Those settings are retained during a package upgrade.
- Create/Read/Update/Delete permissions can be specified for custom objects in simple transactions
- When accessed directly, a record can be modified in one or more of these ways, depending on the permissions set for they object. (Note: They only apply to custom objects, not system objects, and they only apply when the object is accessed directly, rather than through a composite-object transaction.
- Email Campaigns
-
- The language to use for the message can now be selected. So when the message tells the recipient how to unsubscribe, for example, the directions will be given in the chosen language.
- Messages in Email Campaigns can be hosted: With this option, an email message contains a link that accesses a Vertical Response server and opens the message in the recipient's browser. This "Hosted Version" of the email gives recipients a way to display a message that isn't being displayer properly by the email client.
- Community username validation
- When creating or updating a community user, it is no longer possible to specify a name that ends with ".site". That ending is in effect a reserved word that is automatically appended to create a community username for other platform users. Although existing names with that ending will still work, they are disallowed for new users and user updates, to prevent conflicts.
- Notes and Audit logs can now be exported.
- Silent Installation support
- Specifying --silent when installing the platform suppresses input prompts, using values specified in the installation.properties file.
- An MSP can now manage selected tenant capabilities, when configured by their ISV.
- Optional email address for new tenants
- A valid email address is no longer required when creating a new tenant.
- Tenant creation disallowed via proxy login
- When an ISV does a proxy login to an MSP, a variety of tenant management operations are disallowed. The ability to create a new tenant is now disallowed, as well, since it was impossible to see the new tenant after creating it.
Significant Changes for Developers
- Object names can now be up to 32 characters long
- Custom aliases for database views can now be defined
- The aliases can then be used in Java and REST APIs, rather than platform-generated IDs.
- Field name changes
-
- When creating a new field, you get an error if the field name matches a reserved word, if it duplicates another field in the same object, or it it starts with an underscore. Such fields no longer acquire a hidden alias behind the scenes that the developer can't see.
- If there is a lookup field named X, no other field names can match the pattern X_name. That restriction prevents conflicts with automatically-generated hidden fields. (For a lookup field called Customer, for example, a hidden field called Customer_name is generated. So no other field can be called Customer_name.)
- Changes to Rich Text Area controls
-
- It is no longer possible to enable, disable, or assign a value to a Rich Text Area control.
- It is now possible to hide a Rich Text Area control.
- Multi-select picklist and multi-choice check boxes can now be configured to display labels vertically
- When displayed vertically there is no comma between the entries.
- For all fields of type Enumerated, the list of values is not allowed to have commas
- Commas are allowed only in the list of labels.
- A new URL field type has been added
- Fields of type URL can be used as identifier-fields in record locators, along with fields of type TEXT and other supported types.
- Lookup fields
-
- A Lookup field can now be displayed as either a Popup or a Drop Down.
- Lookup-dependent fields are now visible when adding and editing a record, as well as when viewing a record.
- Lookup fields can be used as record identifiers and search fields when configuring a Record Locator.
- Packaging changes
-
- Due to a fix made to enumerated fields, packages need to be republished and redeployed after the platform is upgraded when:
- The package has duplicate global picklists (two picklists with the same name), and
- a Dependent Picklist is linked to one of them.
- Packages created in Development Tenancies can now be republished by the primary tenant, without having to repackage their contents.
- A new Administrative permission has been added: Manage Packages.
- Subscribers are now able to modify Custom Access Criteria, even for a locked package.
- When an ISV user has subscribed to a package published by the ISV, components of that package now can be republished.
- Subscriber permissions can now be specified to:
- Disable validations, actions, data policies, and print templates in a package.
- Add items to a global pick list in a package.
- Delete items in a global pick list in a package.
- Modify items in a global pick list in a package.
- Data policies can now be specified for List View actions
- A data policy can be defined to modify the search before it goes into effect or to modify the list of records returned by the search.
- ObjectId and RecordId are now available in JSP-page Custom Controls
- When you use a JSP page for a Custom Control, the object and record identifiers needed to get record data are now available.
- New and augmented APIs
- Described later in these pages.
Other Changes
These platform features turned out to be either destabilizing or buggy. They have been disabled until they can be thoroughly tested and certified as fully (and safely) operational:
- The Publish to RSS option is no longer available for a Report.
- The Campaign Manager welcome screen no longer shows email credits available.
- Unanimous decisions are no longer an option in a Workflow.
- When creating an Object:
- It is no longer possible to define fields at the same time that a new object is being created. Field definition is now always the second step in a two-part process.
- It is no longer possible to importing CSV data at the same time that the object is created. That, too, is a two-part process.
- When creating an Object:
- When creating a Form:
- Conditional accordion layout is no longer available.
- The Show/Hide options no longer include a navigation pane (tree-display of form sections) for custom objects.
- The Show/Hide options no longer include back links for custom objects.
- It is no longer possible to drag an icon to create a new field at the same time that it is added to the form. An item can be dragged from the list of existing fields, only. So to add a new field to a form, it must first be created in the Fields tab.
- When creating a Form:
- It is no longer possible to specify a list of values at the same time that an Enumerated Field is created. Instead, you create the field, after which you specify a list of values for it.
- When a new record is being created for a Custom Object in accordion layout, the navigation pane that appeared on the right side is no longer present. (That pane displayed a navigation tree. Selecting an item in the tree allowed for somewhat faster navigation between sections, when multiple sections are present.)
- When creating a new Action (button) of type "Execute JavaScript", the invocation point is now always (and only) "Single Record". The "Group Action" and "Both" (Group Action and Single Record) options are still present for other Action types. So for those Actions, the button can be made be available when the user selects multiple records from a list view, as well as when the user is viewing an individual record.
Known Issues
- The jQuery library of GUI components does not seem to be fully supported by all browsers.
When it comes to printing:
- Opera: Prints well.
- Safari: Prints well, with a slightly larger, slightly darker font.
- Internet Explorer: Includes an extra first page that has nothing but a header, but otherwise prints well.
- Firefox: Includes an extra first page that has nothing but a header, then prints only one page of information.
- The jQuery library of GUI components does not seem to be fully supported by all browsers.
Bug Fixes
- New security checks on Email/Schedule of a report.
- The [Email links and Schedule Report] button is now hidden if the user does not have Export Views and Reports permission.
- Without that permission, user can no longer schedule or email any reports, including self-generated reports in the My Reports folder.
- New security checks on Email/Schedule of a report.
- Changes to Contract View and Contract Report:
- Contract View and Contract Report now display Contract Name and Contract Number in the correct fields.
- Changes to Contract View and Contract Report:
- Layout rule was not working when a grid section contained a field with the same ID, but with a different type in other object (for example, Boolean). The field type of the design object is now correctly set to "Picklist", rather than to the other type (Boolean).
- The [Reorder Folders] link in the Reports tab no longer shows hidden folders.
- When the Layout Rule activates it now displays picklist display labels instead of internal values.
- Grid section fixes
- Dynamic record section criteria is now working.
- Calendar icon of Date field now appears in the right location.
- Grid section fixes
- A data policy triggered by a workflow change action is now checked against the criteria specified for the data policy before it is allowed to fire.
- An OnLoad Script defined in Form is now triggered when view the record details of system object, as well as when viewing a custom object.
- In some circumstances, the metadata cache for a site wasn't being flushed. Newly added fields were not then seen, due to the resulting stale data. That bug has been fixed.
API Changes
AJAX API
- Ajax API
- The login method has been removed. To make an AJAX API call:
- Call AjaxInfo.setServerId(..) to login
- Use the variable $AppSessionId in the AJAX call
- AjaxInfo object
-
- setLoginName(..) has been removed.
- getLoginName(..) has been removed.
- setPassword(..) has been removed.
- getPassword(..) has been removed.
Java APIs
New (Provisional) Java APIs
These new resources are Provisional. (Full functionality may not yet be implemented.)
- Field Metadata APIs
- Programmatically manage type-defining metadata for fields.
- Form Metadata APIs
- Programmatically manage type-defining metadata for forms.
- Object Metadata APIs
- Programmatically manage type-defining metadata for Custom Objects.
- Package Metadata APIs
- Programmatically manage type-defining metadata for packages.
Java API Changes
- record handling APIs
- Fields of type File are now supported.
- getLoggedInUserInfo method
- Now returns a java.util.Locale object, along with other user details.
- getWFOwners method
- New API to get current owners of a record in workflow. This API must be used in place of a record's workflow_owner field, as this field is deprecated an no longer being updated.
- Parameters class add() method
- The signature of the method was documented incorrectly. The add(String, String) signature in the documentation has been changed to reflect the actual signature: add(String, Object).
- translateToken method
- To programmatically access translations for Custom Labels (messages) defined in the Translation Workbench.
REST API Resources
Filtering Validation in Searches
- Filtering fields in search requests are now validated, to ensure that referenced fields exist, in both composite-object and simple-object queries.
New (Provisional) REST Resources
These new resources are Provisional. (Full functionality may not yet be implemented.)
- field Resource
- Manage field metadata
- object Resource
- Manage Custom Object metadata.
- The keyColumns, searchColumns, and lookupColumns fields have been removed. They are now accessed using the recordLocator Resource.
- The primaryKeyIndex field has been removed.
- package Resource
-
- Modify, publish, and subscribe to packages using REST APIs.
REST Resource Changes
- class Resource
- A new resource used to manage Class definitions.
- composite Resource
- A new resource used to apply CRUD operations to a Composite Object (a target object plus objects it is related to).
- companyInfo Resource
-
- The namespace field is no longer included (see the developConfig Resource).
- The generated_classes_package_name field is no longer included. (see the class Resource).
- The copy_support_emails_to field now allows only valid user ids.
- The copy_import_emails_to field now allows only valid user ids.
- customPage Resource
- A new resource used to manage custom JSP pages.
- developConfig Resource
-
- The namespace field has been added.
- login Resource
- REST login can be only be done using the POST method. GET is no longer supported.
- passwordPolicy Resource
-
- The lockout_duration field was always present, but was previously undocumented. This value specifies the number of minutes user has to wait to attempt logging in after reaching the failure limit.
- record Resource
-
- Change Workflow State: New API to change the state of a record in a workflow
- Identify Workflow Owners]: New API to get current owners of a record in workflow.
- Multipart Records can be added and updated, allowing a file to be uploaded for example, by specifying the request and file content in two parts, with separate MIME types.
- Data truncation warnings: During add/update operations, MYSQL data truncation warnings are caught and returned.
- The updatePassword operation has been deprecated. Use the user Resource update password operation.
- recordLocator Resource
- Use this new resource to set the fields by which records can be searched, indexed, and looked up.
- staticResource Resource
- A new resource used to manage static resources like image files.
- tenant Resource
-
- The <state> field is no longer required when adding or updating a tenant record.
- Some tag names have changed. Older names are still supported on updates, for backwards compatibility, but all responses will contain the new names.
OLD NEW sendWelcomeEmail_box sendWelcomeEmail force_password_to_be_changed force_password_change_on_login
- tenantCapabilities Resource
-
- The multiple_record_owner field has been removed. Existing values are unaffected, for backwards compatibility, but it is no longer possible to set or query this value using the REST API.
- tenantDataSharingPolicy Resource
- This previously undocumented resource allows a remote tenant's user to log in as a local user to share data.
- teamDataSharingPolicy Resource
- This previously undocumented resource lets you manage how data will be shared between teams.
- user Resource
-
- When new users are added, their status is 'Active', by default.
- Passwords for new users and updated users are now validated against local Password Policy settings.
- These fields are now available from a fetch or search of a user record:
- team_id - user's primary team
- role_id - user's role in their primary team
- Password field validation now uses passwordPolicy settings.
- Corrections to documentation:
- When a new user is created, by default an email is not sent automatically. It is only sent if the notify_by_email flag is set.
- The notify_info field has been removed.
- When new users are created, by default they are not forced to change their password when they log in. They are only required to do so if the force_password_change_on_login flag is set.
- utility Resource
- This new resource makes Time Zone Utilities available.