Enesys RS Data Extension version 3 preview will be publicly available for downloading next week. Here is an overview of the new features and tools available in this coming preview.
Installation program
Until now, Enesys RS Data Extension was distributed as a zip package. Enesys RS Data Extension is now provided as an MSI package.
As part of the installation, it can automatically configure your Business Intelligence Development Studio (both 2005 and 2008 version).
Report Server configuration is still a manual process though simple and straightforward as explained in the documentation.
SQL Query engine
Version 3 major new feature is the ability to use SQL Select statement for further manipulating SharePoint lists data. As an example the following query will return Supplier's lists items that are not in "Other Suppliers" list:
The inclusion of SQLite engine makes it possible to issue complex queries such as the following one which retrieve the 5 best selling products for a specific year entered by the user running the report:
Recurring Events
We have completely reworked this area. A new Automatic mode is now available for retrieving SharePoint events (both recurring and non recurring events) for a given data range without having to deal with some obscure CAML Query.
In short, the following query will return all events between two dates specified at report execution:
Retrieving all non hidden fields
It is now possible to specify a ‘*’ within a fields element in order to automatically retrieve all non SharePoint hidden columns. For performance reasons, It is recommended to use this approach when you do not want to specify each column rather than leaving empty the fields element.
Logging framework
ERSDE version 2 does not implement any logging features. It completely relies on Reporting Services for displaying and possibly logging errors when they occur. Therefore, errors occurring on a report server would be mixed within all data logged by Reporting Services which is obviously not very practical.
By implementing a complete logging framework (NLog), not only ERSDE errors (with more details) can be logged in a separate file, but debug information can be logged as well and help tracing strange or intermittent problems.
Querying over multiple SharePoint Web applications
Specifying a SharePoint server URL at the data source level limits an ERSDE query to a specific SharePoint Web application. We have had several requests for being able to query data over multiple SharePoint web applications.
As maybe some of you had already noticed, it was already possible to specify an empty server URL in a data source and specify an absolute SharePoint site's URL instead of a relative site URL within a "list" statement. However, this approach was not working properly with multiList statements.
We have made the necessary modification so that multiList statement be compatible with an empty server URL at the data source level and we now officially support this approach.
Rolling up list items
Rolling up list items using multiList statement (with type attribute set to "RollUpList") is a nice feature but somewhat limited in the current version when the idea is to roll up only items for which the user running the report has permissions (in short when using Windows Integrated Security credentials at the data source level).
The problem lies in the fact that SharePoint Web Services used for enumerating descendant web sites need credentials that have the specific SharePoint "Browse Directories" permission. An application running directly on a SharePoint server and using SharePoint object model could circumvent this problem by using elevated privileges (RunWithElevatedPrivileges). Unfortunately this approach is not possible when going through Web Services and ERSDE just got the credentials specified at the data source level which in case of Windows Integrated Security credentials mean the credentials of the user running the report which may not have SharePoint's "Browse Directories" permission on the sites rolled up.
To overcome this limitation, ERSDE version 3 makes it possible to globally configure an account that will be used for enumerating descendants web sites when using multiList statements (of type "RollUpList"). In any cases lists items will be retrieved using credentials specified at the data source level. Account information is stored in an encrypted form. You can find more information in the documentation.
Enesys SharePoint Query Builder
The first publicly available preview of Enesys RS Data Extension includes "Enesys SharePoint Query Builder", a tool for visually building queries that can be used by Enesys RS Data Extension.
A video presenting its use will be available soon on our site.