Feb2016 - LiquidAnalytics/ld-api-examples GitHub Wiki

#Major Changes and New Features Summary

##Cloud: JWTTokens Enabled All new tokens issued by the server now follow the JSON Web Token RFC7519 industry standard. This allows our tokens themselves to carry information on the subject who has been granted the token, and allows the possibility of securely verifying a token using a public key, without needing to communicate with the Liquid Server directly.

##Cloud: SQL Full Text Search Indexes Support for configuration of PostgreSQL Full Text Search [GIN Indexes] (http://www.postgresql.org/docs/9.3/static/textsearch-indexes.html) has been added and can be specified in communityConfig.indexRules using textSearchFields or compositeTextSearchFields. Using textSearchFields will lead to creation of a separate GIN index on each individual field listed, while using compositeTextSearchFields can be used to lead to the creation of a single GIN index that indexes the text of multiple fields.

  "indexRules": [

    {
      "type": "TestSchema",
      "textSearchFields": [
        "field1",
        "field2"
      ],
      "compositeTextSearchFields": [
        [
          "field1",
          "field2"
        ]
      ]
    },

##Cloud: View primitive array column types View schemas can now be specified to have columns that are primitive array types, using postgres functions such as array_agg(field). When querying views with primitive array columns through sqlQueryApi, the column will be returned as a proper JsonArray in the body of the item.

##Cloud: Cross Community View Dependency Added ability to specify cross community view dependencies in the case of 2 communities who share a database and have view schemas that depend on tables that belong to the other community.

#Change Log

  1. Fixed issue in MC Dashboard Panel - Entitlement Performance Tab that prevented the date filter from working properly.
  2. Fixed issues with /ls/api/data/query , queryNext and queryPrev apis, where the firstKey and lastKey returned to the caller would be inconsistent depending on the call, which could lead to caller receiving duplicates of some items when iterating through all pages of a query.
  3. Fixed issue where materialized views were not being properly reinitialized and rebuilt in the case of a table the view depended on being manually rebuilt.
  4. Fixed issue where server would not properly round robin on read relpicas if more than 1 read replica is specified in environmentConfig.
  5. In MC Device Management Panel - Recent Device Activity, added the ability to manually specify a deviceId rather than needing to find the device on the left hand table. Can be used to look up device activity logs for a device that no longer exists (due to device deletion or reregister done by user). Even though the device does not exist, the logs persist for some time, so if the exact deviceId is known through screen shots or device logs, the activity can still be looked up.
  6. Fixed issue where a user who has loginAs ability was not guaranteed to be included in their own loginAs list, which could prevent them from using the Switch User capability to switch back to themselves.
  7. In MC, fixed issue where the New / Clone / Update item actions would not work properly on item types with no primary keys specified in the schemas.
  8. In MC, fixed issue where for int or decimal data types, the = and != filters did not work properly.
  9. In MC, under Tools - Request / Validate access token, fixed issue where the newly requested access tokens were not automatically associated with the current community the MC user is logged into.
  10. Fixed potential issue in a community that does not have a nightly permission check hour specified, where inactive users were not being properly marked as unpermissioned. This could lead these users to having incorrect entitlements when they do eventually become active again. Made it so inactive users are properly marked as unpermissioned nightly, regardless of whether a nightly permission check is configured.
  11. MC Recent Device Activity now logs device requests and server responses for /ls/api/sync/3.1/switchUser commands.
  12. Fixed issue where the servers record for the authUserId and loginAsUserId for a device would become incorrect in specific cases.
  13. In MC added ability to detect indices that are not "owned" by the system, those that may have been created manually or used to be part of the configuration but no longer are, and the option to drop them. Conversely detects indices that should exist that do not, and the option to create them.
  14. In MC fixed issue where certain filters that involved block fields or list of block fields would not return proper results, or proper Item Count for filter.
  15. Fixed issue where /ls/api/batch/status api would not return the status of the batch job to the user who requested the job.
  16. Fixed issue where certain S3 requests would intermittently fail, due to us not properly closing the resources on previous S3 requests in all cases.
  17. In MC Item blotter, prevent a single blotter from spamming count queries in the case of the user rapidly changing filters or hitting refresh repeatedly. The blotter will not make additional item count requests until the current request has returned. Should not see any behavior changes on normal sized item types, but on very large item types, this will prevent the server from running multiple concurrent count queries at the same time.
  18. (On Premise Only) Fixed cassandra search index logic to properly handle the [NULL] value in a comma separated list of filter values.
  19. Added new LoginAs logic called LoginAsSalesRep, which would allow a user to login as all SalesRep users who are in the same orgPath as the authenticated user.
  20. Added new item state AdminProcess which allows an item to be entitled in real time to the creator of the item, while entitlement to all other users will take place asynchronously.
  21. Added a new boolean query param option to the /ls/api/data/query api that allows the caller to ignore entitlements for the query that is being issued.
  22. Fixed issue where the changePassword API was in some configuration instances verifying existing password against external authentication providers, which is not correct since the changePassword API is concerned only with internal Liquid authentication provider.
  23. Added new api /ls/api/data/uniqueFieldValues which returns a list of all the unique values contained in a particular field of items that match a specific filter.

#Risks and Known Issues

There are no known issues or risks.

#Maintenance Window

This server deployment does not require a maintenance window.

#Special Deployment Notes

There are no special notes for this release.

#Release Schedule

Date Environment
2/3/2016 ProdB
2/4/2016 Prod

#ProdB Validation

Testers assigned to each customer use the current production client app to verify there are no new issues introduced in ProdB:

  1. In settings change the server URL to https://ldcloud-b.liquidanalytics.com
  2. Perform exploratory testing
  3. Report only new issues found, distinguishing between what may be caused by the server from what is a client-side issue
    • Sync
    • Transactions
    • Registrations
    • Authentication
    • On-demand functions
    • Queries

#Prod Validation

Testers assigned to each customer use the current production client app to verify there are no new issues introduced in Prod:

  1. In settings make sure the server URL is https://ldcloud.liquidanalytics.com
  2. Perform exploratory testing
  3. Report only new issues found, distinguishing between what may be caused by the server from what is a client-side issue
    • Sync
    • Transactions
    • Registrations
    • Authentication
    • On-demand functions
    • Queries
⚠️ **GitHub.com Fallback** ⚠️