13.07.2015 Views

Caché Upgrade Checklists - InterSystems Documentation

Caché Upgrade Checklists - InterSystems Documentation

Caché Upgrade Checklists - InterSystems Documentation

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Caché</strong> 2011.1 <strong>Upgrade</strong> Checklist3.2.8.17 Datatype Of A CASE ExpressionWhen using a CASE expression, if any of the potential return values is of type LONGVARBINARY, the return value ofthe CASE will be of type LONGVARBINARY; otherwise, if any of the potential return values is of type LONGVARCHAR,then the return value of the CASE function will be of type LONGVARCHAR. After that, the datatype of the value will bethe first applicable from among: VARBINARY, VARCHAR, TIMESTAMP, DOUBLE, NUMERIC, BIGINT, INTEGER,DATE, TIME, SMALLINT, TINYINT, BIT.3.2.9 CSP Changes3.2.9.1 Error Handling While Changing CSP ApplicationsAn event class can be attached to a CSP application. In particular, a callback is made when the session moves from oneapplication to another. According to the design intent, if an error code is returned, the flow will be redirected to the errorpage.In previous releases, this error code was “partially” ignored. If an error code was returned, the user was redirected to theerror page. However, if the application change completed and the user was actually in the target application, pressing thereload button would display the target page. Now, the error code aborts the application change. The user sees the sameerror page appear, but pressing the reload button redisplays the error page.3.2.9.2 Sticky Login And Login Tokens For Authenticating CSP ApplicationsCSP logins are now “sticky”. When reentering a previously-entered application, that application will be the same user ason the exit. (Previously, when sharing sessions, the re-entered user would depend on what other applications had beenvisited.) When you log in as X, a login token is sent in a 'most-recently-logged-in-user' cookie to the browser. When youenter an application for the first time, if login tokens are enabled for the application, the CSP Server will attempt to log youin using that cookie.All applications in a session now move in tandem. Logging into a new user within an application moves all applicationsto that user. Logging out a session, logs out all applications in that session.3.2.9.3 Allow CSP Applications To Be Grouped By Browser<strong>Caché</strong> has two types of Authentication Groups: by-session and by-browser. CSP applications within a group attempt tokeep their authentication in sync when possible. All applications are in an Authentication Group. The default authenticationgroup for an application is by-session. (So applications all by themselves in a Session form a single-entity authenticationgroup.) Explicit grouping takes precedence over implicit. So if a group-by-browser application is forced into a session withsome other applications, it will share authentication by-browser, not by-session, with the other applications.3.2.9.4 Session-Sharing Depends On Exact Cookie-Path MatchIn previous versions, two applications were included in the same session if, when entering an application, the Session-Path-Cookie of the first application was a prefix of the previous one. This rule introduced an inconsistency. If the applicationswere entered in the opposite order, they were in different (instead of the same) session.Now, applications can be made to share (run in) the same CSP session if their Session-Path-Cookie matches exactly.Applications sharing a session can share data in the Session object and when possible, keep their authentication in sync(remain logged into the same user and are logged out as a unit.)Note:The global ^%SYS("CSP", "UseLegacySessionSharing") can be set to 1 to return to old-style session sharing.64 <strong>Caché</strong> <strong>Upgrade</strong> <strong>Checklists</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!