Thursday, December 4, 2014

FACTSHEET: Improving Systems Compliance and Integrity (REG SCI)

FACT SHEET



Improving Systems Compliance and Integrity

SEC Open Meeting
March 7, 2013

Background

Today’s securities markets rely extensively on technology more than ever before. As with any industry, the consequences can be significant when technology goes awry.
The high-speed automated trading that occurs both on national securities exchanges and alternative trading systems has heightened the potential for a technological problem to broadly impact the market.
Following the Flash Crash in May 2010, the SEC approved a series of measures to help limit the impact of such technological errors. For instance, the SEC approved rules to halt trading when a stock price falls too far, too fast as well as rules to provide certainty in advance of when an erroneous trade would be broken and rules to eliminate stub quotes.
Additionally, the SEC approved a rule known as the market access rule, which requires brokers and dealers with market access to put in place risk management controls and supervisory procedures designed to manage the financial, regulatory, and other risks posed to the markets by a malfunctioning of their technological systems.

Automation Review Policy

There are no mandatory rules governing the automated systems of self-regulatory organizations, such as national securities exchanges, clearing agencies, FINRA, and the MSRB. Instead, for the past two decades, they have followed a voluntary set of principles articulated in the SEC’s Automation Review Policy and participated in what is known as the ARP Inspection Program.
Recent technological issues in the securities markets including those that arose during the initial public offerings of Facebook and BATS Global Markets as well as the Knight Capital trading incident have shown that investors can be put at risk when technology fails, and confidence in the markets can falter.
The SEC convened a roundtable in October 2012 to discuss how market participants could prevent or at least mitigate systems issues, and how the response to such issues could be improved. The market closures following Superstorm Sandy also highlight the importance of having a robust market technology infrastructure. These events and discussions have helped shape the development of the rulemaking being proposed today.

Proposed Rule — Regulation SCI

The set of rules proposed by the Commission — called Regulation Systems Compliance and Integrity (Regulation SCI) — would formalize and make mandatory many of the provisions of the SEC’s Automation Review Policy that have developed during the last two decades. The proposed rule applies the policy and proposes additional measures to entities at the heart of U.S. securities market infrastructure in order to protect that infrastructure.
Regulation SCI would seek to ensure:
  • Core technology of national securities exchanges, significant alternative trading systems, clearing agencies, and plan processors meet certain standards.
     
  • These entities conduct business continuity testing with their members or participants.
     
  • These entities provide certain notifications regarding systems disruptions and other types of systems issues.
Regulation SCI is intended to reduce the chance of technology problems occurring in the first place and ensure that key entities are well-positioned to take appropriate corrective action if problems do occur.

Proposed Scope

The proposed rule would apply to “SCI entities,” a term that would include:
  • Self-regulatory organizations (the registered national securities exchanges, registered clearing agencies, FINRA, and MSRB).
     
  • Alternative trading systems that exceed specified volume thresholds (SCI ATSs).
     
  • Disseminators of market data under certain National Market Systems plans (“plan processors”).
     
  • Certain clearing agencies exempt from SEC registration.
It would apply primarily to the systems of SCI entities that are core to the functioning of the securities markets, such as those that directly support trading, clearance and settlement, order routing, market data, regulation, or surveillance.

Proposed Provisions

Under the proposed rule, each SCI entity would be required among other things to:
  • Establish policies and procedures relating to the capacity, integrity, resiliency and security of its technology systems.
     
  • Establish policies and procedures to ensure its systems operate in the manner intended, including in compliance with relevant federal securities laws and rules.
     
  • Take timely corrective action in response to systems disruptions, systems compliance issues and systems intrusions.
     
  • Notify and provide the SEC with detailed information when such systems issues occur as well as when there are material changes in its systems. Written notices would be filed electronically on new Form SCI.
     
  • Inform its members or participants about certain systems problems and provide information about the systems and market participants affected by the problem and the progress of corrective action.
     
  • Conduct an annual review of its compliance with Regulation SCI, and submit a report of the annual review to its senior management and the SEC.
     
  • Designate certain individuals or firms to participate in the testing of its business continuity and disaster recovery plans at least once annually, and coordinate such testing with other entities on an industry- or sector-wide basis.
     
  • Provide SEC staff with access to its systems to assess compliance with Regulation SCI.

What’s Next

A 60-day public comment period will follow Reg SCI’s publication in the Federal Register.

SEC rule takes aim at trading system glitches

The Securities and Exchange Commission approved new rules Wednesday to make sure that the systems that Wall Street trades run on are robust and vigilant enough to stand up to cyberattacks and technological glitches.

Regulation Systems, Compliance, and Integrity (or Regulation SCI) will create a framework for overseeing the complex systems that operate on Wall Street — and, increasingly, clash with each other, get hacked or fail.

"In today's markets, a single rogue algorithm can trigger a cascading series of errant trades, destroying billions of dollars of market value in the blink of an eye," says SEC Commissioner Luis Aguilar.

The most dramatic example was the Flash Crash on May 6, 2010, when the Dow Jones industrial average plunged 1,000 points, or nearly 9%, in minutes — only to recover nearly as quickly.
The new rules require periodic stress tests of system capacity, as well as requirements that companies report and address problems and malfunctions to the SEC immediately.

Previous systems rules on Wall Street were largely voluntary, and the original version was simply conceived as a codification of voluntary review. SEC staff worked with public comments to streamline the regulations and reduce the burden on the companies involved. "These companies have an enlightened self-interest in getting things right," said Commissioner Daniel Gallagher.

"As I have emphasized time and again, the critical infrastructure of the American securities markets must be built on the best, most robust technology feasible," SEC Chair Mary Jo White said in her opening statement. "Failures must be minimized and, when they occur, they must be remediated as quickly as possible and promptly reported to the commission."

"Much more can and needs to be done," Commissioner Kara Stein noted, objecting that some smaller trading platforms were exempted from the new rules, as well as to broker-dealers who operate proprietary platforms.

The commission passed the regulation, 5-0.

USA Today
11/19/2014
Link

Tuesday, November 25, 2014

AITS Enterprise Batch Scheduling

Link


Service Description

The Enterprise Batch Scheduling Service offered by AITS utilizes AppWorx Enterprise Scheduler software. AppWorx enables the automatic and manual execution of all administrative batch processes including:
  • Java applications
  • SQL scripts
  • System scripts
  • All Banner batch processing
  • Informatica
  • Business Objects
  • SAS reports

The AppWorx Enterprise Scheduler provides the following functionality:
  • Event-driven process scheduling (defined workflows and/or job dependencies)
  • Automatic submission of executions
  • Interface for monitoring executions and process flow analysis
  • Priorities and/or queues to control management of execution for processes
  • E-mail notification of process commencement, completion, and/or error messages
  • A testing environment is available

Hours of Availability

This service is available to customers 24/7, excluding planned outages, maintenance windows and unavoidable events. Maintenance windows are used only when needed for planned changes that have gone through the AITS Change Control Process. In addition to the standard AITS maintenance windows, site-specific and service-specific changes may be coordinated with customers at non-standard times.

Standard maintenance windows are defined as:
  • 6 a.m. to 12 p.m. each Sunday when application usage is at its lowest
  • After 5 p.m. every Tuesday and Thursday, unless business needs to make a change during business hours
  • The second Wednesday of the month from 5 p.m. to 8 p.m. for patching Microsoft servers
  • 6 a.m. to 6 p.m. three Sundays a year for routine Windows and Linux maintenance

Customer Responsibilities

Contact the appropriate AITS TAM (Technical Applications Management) team, part of the AITS ADSD group, to discuss new batch processing needs. A work request will need to be submitted to initiate new batch processes.

For scheduling your user developed reports (SAS reports), contact the Production Scheduling group in the COE group for standards and guidelines (before developing).

For access problems, questions or comments, contact the AITS Service Desk at 217-333-3102 (Urbana/Springfield) or 312-996-4806 (Chicago). You can also e-mail the AITS Service Desk at servicedeskaits@uillinois.edu.

How Do We Charge?

Currently, AITS does not charge for this service.

AppWorx User Manual

Online

AppWorx
Version 5.1 (2002)
User Guide
AppWorx Corporation

A Modular Approach to Operations

AppWorx replaces scripts with an object-oriented approach to operations.

AppWorx provides a complete background-processing management system. With
AppWorx, you can do all the traditional batch management tasks, as well as submit jobs
and view output.

However, instead of writing scripts to perform tasks, you create AppWorx modules that
run programs. You combine modules to create chains. You create a schedule for each chain
(or for each module if you wish) using a full complement of scheduling tools including
custom calendars and execution conditions.
As with all modular systems, you create individual objects once, then use them in different
combinations to accomplish a variety of tasks. In the context of batch management, this
can save you hours of time compared to writing, debugging, and maintaining scripts. A
diagram of the AppWorx modular approach to operations is shown in Figure A.

A Different Way of Thinking

In a traditional operations environment, scripts drive operations. Scripts incorporate the
information required to run one or more programs on a set schedule, direct output, and
handle exceptions. The problem with scripts is the required time maintaining them when
the system changes. For example, if a printer definition changes, you must change it in
every script.

AppWorx takes the individual components of a script such as programs, schedules,
printers, and variables, and lets you define them as discrete objects. You can then combine
the objects in an unlimited number of combinations to handle your operations. The
advantage is being able to change an object in one place, and have the changes roll over to
every use of the object.

Automic: KEY REQUIREMENTS FOR A JOB SCHEDULING AND WORKLOAD AUTOMATION SOLUTION

Overcoming Today’s Job Scheduling Challenges
While traditional batch job scheduling still has a place in many enterprises, the task is
far more complex than it used to be due to the use of various computing platforms,
multiple computing environments, and business processes that run 24x7. Add to that
the complex interdependencies that often exist between different processes and the
frequent need to trigger jobs dynamically, based on changing circumstances. It’s clear
that the requirements for a traditional job scheduler has evolved into a broader workload
automation capability to meet today’s complex requirements.

But what are the key capabilities you actually need to address a modern day demands
of an enterprise job scheduling or workload automation solution? We’ve collated the
top requirements from global enterprises during the past 15 years. All of which have
successfully automated their core data center processes supporting their core business
applications and services. As such, they were able to reduce processing time by 70% and
eliminate 90% of IT process errors whilst reducing manual effort by 90%.


If you are looking for a job scheduling or workload automation solution that is built to meet
the demanding enterprise requirements of a modern day business, then it’s important to
consider the following key capabilities:

1. It must be able to schedule jobs.
2. It should have built in managed file transfers.
3. Central, scalable and multi-tenant architecture.
4. Support object orientation to enable fast, flexible implementations.
5. Provide native application support.
6. Support dynamic, event-driven automation.
7. The ability to embed conditional business rules.
8. Support advanced workload balancing.
9. Provide a self-service capability to enable end-user involvement.
10. Enable security and compliance across the enterprise.

Whilst (??) there are many other factors that are also important to consider, only by ensuring
that your solution encompasses the above key capabilities as a foundation can you be
certain that you will be able to meet the ever increasing demands of the business.

Problem & Solution

AppWorx at a glance


AT A GLANCE: This infrastructure software solution now features a 100-percent Java* environment, enhanced Web services with XML support, a SOAP API, multidatabase support through JDBC and expanded multiplatform support, including the mainframe.

DETAILS: AppWorx is enterprise software that manages a company's application landscape from above. As a development tool, it can automate application batch processing routines without scripting. As an integration tool, it can integrate batch-processing requirements across multiple applications, speeding implementation. As an operations tool, it can perform data center "lights-out" processing, reducing headcount and lowering production and maintenance costs. As a business tool, it can ease the burden on functional end-users and accelerate the delivery of important business information.

http://www.ibmsystemsmag.com/mainframe/productnews/AppWorx-7/

Monday, November 24, 2014

What is Kuali Coeus?

What is Kuali: “Kuali is a growing community of universities, colleges, businesses, and other organizations that have partnered to build and sustain open-source software for higher education, by higher education. “ – kuali.org/about

What is Kuali Coeus: An open-source Electronic Research Administration system Originated in MIT as “Coeus,” it has been redeveloped using modern technologies by the Kuali Foundation.

Kuali Coeus meets many of the objectives and requirements identified by Boston University for an Enterprise Research Administration System. Kuali Coeus provides a comprehensive research proposal development and management system that integrates well with BU’s future financial system (SAP) and fits within the overall vision for a “cradle-to-grave” solution for research administration

Learn more about Boston University's implementation of a Kuali Coeus system here.

What is Oracle Pro*C ?

Here is a chapter from a book on Oracle 10 that describes Pro*C as Embedded SQL

http://tinman.cs.gsu.edu/~raj/books/oracle10-primer.html

The wikipedia page on Pro*C

http://en.wikipedia.org/wiki/Pro*C
 

Pro-C Tutorial with programming examples
 
http://programmingexamples.wikidot.com/pro-c-tutorial

There seems to be both a SAS PROC and an Oracle Pro*C that do the same thing.
Both are basically a means of embedding sql code in a c or c++ program.



Questions

How is embedded SQL different from just a stored procedure?
Why would you embed SQL scripts in a C program?
Is this useful for systems integration issues?
How does this relate to middleware or messaging?

What is appworx?


AppWorx is a web based java application used to schedule and run jobs against the Banner database.

User Guide
http://devwww.erp.ufl.edu/implementation/teams/it/51User.pdf

Appworx with Oracle EBS
https://community.oracle.com/thread/2518148?start=0&tstart=0


Appworx can interface with EBS and schedule/run concurrent programs.

http://www.oracle.com/us/partnerships/solutions/033668.pdf

Appworx is a scheduling tool that can automate scheduling of programs across the enterprise - it is especially useful in creating a sequence of jobs that need to be run on disparate systems in a specified order (i.e. run job 1 on the mainframe, then job 2 on EBS, then job 3 on another database etc). This job chain can be non-linear too (i.e. if job A runs successfully then run job B, else run job C etc). Concurrent manager of EBS is intended to run jobs only on the EBS instance - it inherently is unable to runjobs across the enterprise.

Sunday, November 9, 2014

What is WDSL?

The Web Services Description Language (WSDL) is an XML-based interface definition language that is used for describing the functionality offered by a web service.

What is LotusScript ?

 What is LotusScript?
LotusScript is an embedded, BASIC scripting language with a powerful set of language extensions that enable object-oriented application development within and across Lotus software applications. LotusScript allows you to place more complex scripts in a greater variety of locations and events than traditional macros. LotusScript and its development toolset provide a common programming environment across Lotus applications on all platforms supported by Lotus software (such as Windows, AIX, Linux).

LotusScript offers a wide variety of features. Its interface to Lotus software is through predefined object classes. The products oversee the compilation and loading of user scripts and automatically include class definitions to allow more efficient coding. LotusScript extends the development capabilities of Lotus software by providing:
  • The ability to place scripts in a variety of objects and events in many Lotus software applications. LotusScript has a set of extensions beyond Visual Basic, that provide additional power and utility when writing applications using Lotus software.
  • A debugger and syntax-directed editor.
  • Access to a broad range of product functions through the classes defined for each product.
  • Access to external class libraries defined using the the LSX Toolkit.

The environment in which you write, debug, and run scripts depends on your Lotus software application. To learn about your product’s programming environment, see your product documentation. See Also

LOTUSSCRIPT LANGUAGE

Advantages of LotusScript
LotusScript offers the following advantages:
  • Superset of BASIC

Since LotusScript is a superset of the BASIC language, it is easy to learn, especially for Visual Basic users. You can write sophisticated scripts using conditions, branches, subroutines, while loops, and other conventions.
  • Cross-platform

LotusScript is a multi-platform BASIC-like scripting language. It works with platforms such as Windows, Macintosh, OS/2, UNIX, z/OS, and OS/400. Scripts developed on Windows execute unchanged on any other supported platform. This portability is important as desktop applications become workgroup-enabled and documents are e-mailed to or shared by users.
  • Object-oriented

Lotus software provides Object Classes that are available to LotusScript. You can write scripts to access and manipulate these objects. The scripts are event-driven, such as by an action, clicking the object or button, opening a document, or opening a view. LotusScript gives you the ability to create your own classes and objects, and easily subclass these classes.
  • Included in Lotus software applications

LotusScript is supported by Lotus software, so these products can access product classes using a product-supplied LotusScript extension. You can use one language to write scripts in different Lotus software applications.
  • OLE support

Using LotusScript, you can create Notes containers for documents created with IBM Lotus SmartSuite applications and other OLE-enabled applications, such as Microsoft Office. You can use external OLE 2.0 automation objects by scripting them, such as 1-2-3 worksheet objects. Notes registers itself as an OLE automation server. External applications can use these objects in scripts to create and reference them. LotusScript can combine all the parts and provide the means for controlling and manipulating objects.
  • Interoperability with other languages

You can call formula language and @functions from LotusScript. You can also call Java and JavaScript.
  • Integrated Development Environment

The LotusScript Integrated Development Environment (IDE) provides an interface to create, edit, and debug scripts, and to browse variables and properties of classes. The IDE allows you to write more complex scripts in Notes.
  • LotusScript libraries

You can create function and class libraries in the language and reuse them in other applications or Lotus software applications via the USE statement language extension.
  • Extendable through Lotus Software Extensions (LSXs)

LotusScript allows users to create their own classes and objects, called Lotus software extensions (LSXs). LotusScript classes support single inheritance, constructors/destructors and method overriding. This functionality allows users to take advantage of object-oriented programming, and to rapidly prototype their own custom business objects. For more information about LSXs, visit the Lotus Developer Network at http://www.lotus.com/home.nsf/welcome/developernetwork. 
 ***
They have made a large number of improvements since 8.x and with 8.5.1.

For example built in web services support (point to WSDL and LS code is made for you).
8.5.1 also has a lot of new designer features like Code Templates, auto-completion, LSDoc popup help on your own functions, etc.

You can code in LotusScript, yet you can also code in: Java, SSJS/DOJO (XPages), Javascript, @Formula language, Web Services (SOAP/REST), C-API, Eclipse Plugins(RCP). Output in JSON as well as XML.

What's new in Domino Designer 8.5.3?



Information on new features and improvements in IBM® Lotus® Domino® Designer Release 8.5.3
This topic lists the new features and changes for IBM Lotus Domino Designer Release 8.5.3
Periodic updates to Lotus Domino Designer Help are available on the Web. To download the latest Designer Help file, go to the Documentation Library section of the Lotus developerWorks® at http://www.lotus.com/ldd/doc. Click "Technical Library," then "by product," then "Domino Designer," and then, finally, the release you would like to see.

Domino Designer
In the area of Domino Designer in general, the following additions or changes have been made:
  • Java design element -- This release offers a Java design element to make it easier to use Java in Domino applications, particularly in Domino XPage applications. This design element let you create a single Java class that is scoped to the actual NSF project itself. This Java file is then directly callable by code in XPages. Previous to this release, you had to put these files manually into the NSF. The introduction of this element makes the use of such files easier and more prescriptive. The idea behind this element is to let you use the normal Eclipse user interface for the Java element wherever possible.
    The Java design element can be found under Code in the Applications Navigator. A Java design element does not use an alias. The design list has four buttons on the top: New Java Class, New Java Interface, New Java Enum, and Sign.
  • Source control enablement -- Source control enablement lets Domino Designer users store NSF based design elements into a source control repository and perform common source control operations using Domino Designer (as opposed to just keeping an on-disk backup of what is in your application NSF). Another objective of this feature is to integrate an SVN source control client with Domino Designer as seamlessly as possible and to allow Domino Designer to stay as "source control system agnostic" as much as possible.
  • Control Javadoc -- Javadoc reference material is now provided Control APIs
  • Palette profiles -- By right clicking on the Control Palette you can customize what you want to appear on the palette when it is available. To access the palette profiles settings, go to File-Preferences-Domino Designer-Palette.
  • "XPages" and "Forms/Views Domino Designer" perspectives -- By selecting Window-Open Perspective.. from the menu, you now have the following additional choices to help you focus your development environment on the task at hand:
    • XPages perspective -- Shows only design elements necessary for XPage applications and displays Eclipse views as needed (outline, navigator, control palette, etc)
    • Forms/Views perspective -- Shows only design elements necessary for non-XPages development and displays Eclipse views as needed (remove control palette, etc.)
  • Ability to select and filter the Design Element Types to display in the Applications Navigator and perspectives based on preference -- You can now select and filter which Design Element Types to display in the Applications Navigator by making your selections in Preferences-Domino Designer-Applications Navigator. Choose the elements you prefer to work with and display by checking (display) or unchecking (hide) the elements on the Preferences panel. By selecting the desired perspective from a drop-down list on the panel, you also set the selections and filtering options separately for each of the three Designer-related perspectives: Domino Designer, XPages, and Forms/Views Domino Designer
  • Updated JavaScript editor -- The client JavaScript editor has been replaced with the newest WTP (Web Tools Platform) editor that is compatible with Designer's current version of Eclipse (3.4.2). Updates and improvements include the following:
    • Improved code validation
    • Code folding to selectively hide and display sections of a currently-edited file as a part of code editing
    • Ability to set formatting preferences
    • Ability to display Outline view support for classes, etc.
    • Code templates
  • Usability improvements -- The following Designer usability improvements are available in this release:
    • Sign button in all design list editors -- While the "Sign Design..." feature was implemented across Domino Designer in 8.5.2, there may be a case where you want to sign a specific or selected set of design elements. Designer 8.5.2 provided the "Sign" button on a number of design lists but it was not available on every kind of design list. This release now makes this function available on any kind of design element list.
    • Ability to control the opening of InfoBoxes -- By selecting or deselecting a preference in the "Forms/Views Notes® design elements" section of the Preferences-Domino Designer panel, you can control the opening of InfoBoxes (Forms/Views Notes properties boxes).
    • Ability to rename a design element - By opening a dialog (accessed by F2 in the design list or from the Applications Navigator), you can supply both the name and the alias of a design element.
    • Ability to expand and collapse all sections in the Outline view -- "Expand All" and "Collapse All" icons have be added to the menu bar of the Outline view to let you collapse or expand all section in the view. You can also collapse or expand only selected elements in the view.
  • Show disabled control for read-only attribute added for all input controls -- This is available on the main control Properties tab for each control. For example, for the File Upload control, the attribute is found on the "File Upload" tab for that control.
  • New Dojo property panel added for XPage and Custom controls that allows users to modify the Dojo attributes for those controls -- The attributes that can be enabled or disabled from the Dojo panel include:
    • Include dojo form module on page
    • Trigger dojo parse on load
    • Use Dojo theme
  • Evaluate the entire page on refresh attribute added as Application Properties performance property on XPages -- This attribute can be enabled or disabled on the Applications Properties panel XPages tab. It can be found in the Performance section of that tab.
  • Display XPage instead attribute added to View - Web Access InfoBox tab -- This "Web only" attribute is lets you select an XPage from a drop down list to display as a web view instead using a "standard" view.
  • Working sets - The ability to manage working sets has been improved.
XPages
In the area of XPages, the following additions or changes have been made:
  • Dojo changes
    • Domino 8.5.2 shipped with Dojo-1.3.3 and Dojo-1.4.3. XPages supports Dojo-1.4.3 by default. Notes 8.5.2 shipped with Dojo-1.4.3.
    • In Notes and Domino 8.5.3, Dojo has been upgraded to version 1.5.1. The Notes and Domino install contains Dojo version 1.5.1 only and this is consumed by Notes and Domino. The Dojo files can be found under domino\js\dojo-1.5.1 in the Notes/Domino Data directory.
    • In Notes and Domino 8.5.3, a version of Dojo has been included in the Notes and Domino install which is available as a plugin. It contains Dojo version 1.6.1. XPages consumes this Dojo-1.6.1 plugin by default on both Notes and Domino. The location of this plugin can be specified in the xsp.properties file.
    • On upgrading from Notes/Domino 8.5.2 to an 8.5.3 build, the expected behaviour for the Notes client is that Dojo-1.4.3 and Dojo-1.5.1 will be available in the 8.5.3 upgrade install. The Notes client will also contain a new Dojo-1.6.1 plugin.
    • The expected behaviour for the Domino server is that Dojo-1.3.3 and Dojo-1.4.3 and Dojo-1.5.1 will all be available in the 8.5.3 upgrade install. The Domino server will also contain a new Dojo-1.6.1 plugin.
      • dojo-1.3.3 will be preserved from the 8.5.2 Domino install.
      • dojo-1.4.3 will be preserved from the 8.5.2 Notes/Domino install
      • dojo-1.5.1 will be installed as part of Notes/Domino 8.5.3. This will be the default Dojo used by Notes/Domino.
      • dojo-1.6.1 plugin will be installed as part of Notes/Domino 8.5.3. This will be the default Dojo used by XPages only.
      Therefore if applications reference a specific Dojo version explicitly, they will still work on the 8.5.3 Notes/Domino. However it is bad practice to hard code Dojo versions into applications. Instead the Dojo files can be referenced through /.ibmxspres/dojoroot/ which maps to the version of Dojo that XPages supports by default. For example, in 8.5.3 /.ibmxspres/dojoroot/ currently resolves to the latest version of Dojo found in notes_or_domino_data_directory\domino\js or as a Dojo plugin, which for 8.5.3 will be Dojo-1.6.1. It is possible to change the default version of Dojo used in XPages by specifying the xsp.client.script.dojo.version property in xsp.properties at either application of server level. Note, however, that doing so is an unsupported configuration.
  • CKEditor changes
    • Domino 8.5.2 shipped with CKEditor version 3.2.1.6_OneUI. It was a new feature for 8.5.2 which replaced the Dojo Rich Text Editor in XPages.
    • In Notes and Domino 8.5.3, CKEditor has been upgraded to version 3.5.3.x_OneUI. The CKEditor files can be found under domino\html\ckeditor in the Data directory.
    • On upgrading from Notes/Domino 8.5.2 to an 8.5.3 build the expected behaviour for Notes/Domino is that the CKEditor folder which contains version 3.2.1.6_OneUI is replaced by a CKEditor folder which contains version 3.5.3.x_OneUI.
  • fileDownload control -- This control has two new properties that are effective when the allowDelete (Allow File Delete) property is true:
    • deleteImageTitle="title" (Delete Image Title) specifies the text that appears when the user mouses over the delete icon
    • deleteMessage="message" (Delete File Message) specifies the body of the dialog that verifies deletion of the attached file.
  • view.postScript(<client script> – lets you programmatically generate a client script when processing an event on the server. For example, the following server-side JavaScript adds a client-side script - the alert dialog - to the XPage when it is rendered. var sc = "alert('Fully refreshed')" view.postScript(sc)
  • XPages control properties added to support HTML5 attributes
    To address requests for changes that would allow developers greater flexibility in using HTML5 attributes, the "attrs" property has been added to most XPages controls and to the XPages StyleSheet and other client-side Resource objects.
    The "attrs" property allows an "Attribute List" to be specified, where each Attribute will have a name and a value, and will appear as a HTML attribute in the main HTML element corresponding to the XPages control.
    This property was NOT added to the following controls: xp:typeAhead, xp:dateTimeHelper, xp:eventHandler, and xp:platformEvent. Also, while the property was added to xp:selectItem and xp:selectItems, those "attrs" do not appear in the HTML output.
    The following additional changes were made to address this issue:
    • New "rowAttrs" property was added to the View Panel, File Download, and Repeat controls
    • New Panel control "tagName" property was added as support for the proposed new container HTML elements
    • New Edit Box control "type" property was added, with runtime checking preventing type="checkbox" or any of the older HTML4 types
  • Full text search results sorting in XPages
    For this release, the ability to sort full text search results is now supported in XPages. Before this release, you could not sort the document collection that is returned as a result of performing a full text search on a view.
    In 8.5.2, the View sort icons are removed when it displays the results of a full text query. In previous releases, the icons remained enabled, implying that the result set was sortable when, in fact, it was not. The ability to sort has now been added.
    If your view contains dynamically sortable columns and your database is full text indexed, you can automatically sort full text results by clicking the Sort icons on the sortable columns in a View control. This functionality is based on new FTSearchSorted methods in the Java backend View class.
    Refer to the Domino library NotesView section of the Lotus Domino Designer XPages Reference Guide for more complete information.
  • XPages Preload options
    New options designed to improve the startup performance of XPages applications have been added to this release. A preference can be set that preloads the XPages runtime on the Domino server and Notes client. Additionally, specific XPages applications may also be preloaded. The preferences are set as entries in the NOTES.INI file and have the following form:
    • XPagesPreload=1
    • XPagesPreloadDB=myServer!!myDb.nsf/myXPage.xsp,myLocalDb.nsf/test.xsp
    The XPagesPreload entry causes an extensive list of XPages runtime Java classes to be preloaded, so they are available in memory when an application is opened by a user.
    The XPagesPreloadDB preference lets a comma separated list of applications be specified, with or without a specific XPage extension. Again, any required classes are loaded when the server or client starts up and are thus available as soon as any declared application is accessed by a user. The benefit of this may be more evident when running in remote mode on the Notes client, i.e. the XPages is running on the client but the application itself resides on a remote server. In this instance, the Java classes in the application (XPages, custom controls) need to be loaded across the network in order to be executed in the local XPD web container. Preloading such applications produces more responsive initial user experience.
  • JavaScript/CSS Aggregation feature
    For performance reasons, the XPages runtime now features a new option that dynamically aggregates multiple Dojo modules, or multiple CSSs into a single file. This results in the following performance improvements:
    • a decrease in requests sent from the browser to the server
    • an increase in user performance, particularly in the context of networks with high latency
    • an increase in the speed of JS/CSS parsing from the browser
    • the freeing up of server connections to fulfill other requests
    As an extreme example of the saving, let's say the XPages Extension Library is using the page DWA_ListView.xsp. Without the aggregator enabled, 82 requests are made to the server. With the aggregator enabled, the count decreases to 6 requests, including the Ajax request that gets the data. Also, a test run on processing time might see changes from ~4 sec to ~800 ms.
    To allow you to actvate this option, XPages now feature a new runtime option, which can be set in xsp.properties (database or server level). This option is xsp.resources.aggregate=true
    It can also be set in Domino Designer from the Application Properties - XPages tab by checking the Use runtime optimized JavaScript and CCS resources option.
Programmability and languages
In the area of programmability and languages, the following additions or changes have been made:
  • New @Function to support Machine Specific Policy Settings: @GetMachineInfo() -- In prior versions of the Notes Client, and policy control, an administrator could only target an individual, but not a specific machine configuration for that individual. For certain settings and customers, this made the enforcement of specific settings problematic, either because a user had multiple machines, or because the configurations and usage were not easily partitioned.
    To address this limitation, this release has introduced the ability to apply policy settings based on characteristics of the machine. For a given user, different policy settings could be applied on different machines. For example, this would allow the creation of a managed replica on laptops, and only laptops. It can also provide server administrators the ability to determine what policy settings to enforce, based on the specific attributes of the machine on which the Notes Client is running. Some possible attributes may include; version and type of OS, type of machine, basic or standard client, laptop, desktop, etc.
    This capability has been implemented by adding a new @Function, @GetMachineInfo(), changing the Policy handling characteristics in the 8.5.3 client, changing the template's policy settings forms, and by adding formulas for the policy settings. Refer to the Domino Administrator documentation for more complete information.