Microsoft Sharepoint list allows users to create a shared collection of data records. Arnica WebReport allows reports to consume data stored in Sharepoint lists and present list data to end users either as is, or with various additional features such as customized data sorting, grouping, formatting, integrated charting, batch actions, business rules, etc., or to use lists in conjunction with other data stored in other databases or received from other web services.
This article explains how to consume Microsoft Sharepoint list data from Arnica WebReport via web request.
To start, we have to open Sharepoint site, select the list which will be used as a source of data, and navigate to the list settings page. From this page, find the global unique identifier of the list in URI in the browser address bar (highlighted in the screenshot below) and copy it to clipboard.
The value in this example is:
This value is URI-encoded with special characters substituted by their hex equivalent preceding % symbol. After decoding, the value looks like this:
This information is enough to construct a full URI of the web service which generates data output from the list in XML format:
Note, that the URI above is constructed by using Sharepoint web site root URI copied from the screenshot above: http://gamma1:26080/personal/test/Demo8, merging it with the location pointing to the the web service component generating list data: /_vti_bin/owssvr.dll, and adding a query string after the question mark symbol ("?"), the query string will be similar for all lists, with the difference being the list's global unique identifier value. We used encoded value in this example, while unencoded value might also be acceptable in many cases.
The next step is to create the report itself. From the WebReport main menu, select "Create new report source":
Enter report source name and click Save:
From report source properties page, select request type "Web Request (GET)":
Enter value of the request target - the web service URI, which was established above.
If the list is not configured to accept anonymous user requests, we should also specify the data source, providing user name and password which should be used to authenticate and get access to the Sharepoint list.
The list should be configured to allow at least read access to the user specified by the data source. Note that in SharePoint, the list may be setup to inherit its permissions from its parent site, thus the read access might have to be specified on the site level instead of the list level.
The next step is to execute report source synchronization against its source of data, i.e. against the Sharepoint list. The synchronization process discovers column metadata, which report source provides to reports based on this report source:
Arnica WebReport synchronization has a wizard-like workflow, which displays discovered columns and saves all metadata upon its completion.
The final step is to create the actual report from the report source using a link on report source properties page:
After the report is created, use Preview link to execute the report to view Sharepoint list data:
Below is the output generated by report preview.
The output uses original column names as exposed by Sharepoint list XML obtained via web service API. Report designers may use the rich set of Arnica WebReport features to customize both report appearance and behavior.
For example, in the enhanced presentation below, report column titles were adjusted to a more user friendly values, columns position re-arranged, column Name was enabled as a hyperlink to drill-down to user properties form, and column sorting and grouping controls were added: