Sharperlight Web Interface


Full text


Web Interface


Disclaimer: The information in this document remains the current view of phiLight Software International Pty Ltd and is subject to change without notice. This position is due to changing market conditions and should not be interpreted as a commitment to the correct operation of any technology or product contained herein.

This document is intended as information only and phiLight Software International Pty Ltd makes no warranties, express or implied as to the information in this document.

Copyright 2010-2014 phiLight Software International Pty Ltd

Printed: August 2014 Document Version: 1.0.2

Published by phiLight Software International Pty Ltd

All other copyrights and trademarks are the property of their respective owners

All rights reserved.

The copyright of this document and the computer software described herein and provided herewith are the property of phiLight Software International Pty Ltd. No part of this publication or the computer software may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any human or computer language, in any form or by any means or otherwise used without the express written permission of phiLight Software International Pty Ltd.

phiLight Software International Pty Ltd 15 Ohio Place

Marangaroo WA 6065 AUSTRALIA


3 Contents

Table of Contents

Part I Overview


... 4 1 Web Service ... 5 2 Query URL ... 5 3 Security

Part II Homepage


... 6 1 Billboards

Part III Prompt Bar


... 7 1 Behaviour ... 7 2 Filters ... 8 Lists ... 8 Dates ... 8 Periods ... 9 Picklists

Part IV Output Types


... 10 1 Table ... 10 Menu ... 10 Sparklines ... 11 2 Chart ... 11 3 Page ... 11 Html ... 12 Pdf ... 12 Excel ... 13 4 Pivot ... 14 5 Silverlight

Part V Dashboards


... 15 1 Tiles

Part VI Web To Excel


... 15 1 Save As ... 16 2 Excel Add-in ... 17 3 Export To Excel




The Sharperlight Web Service has a standard interface for the delivery of reports, charts, tables and dashboards into a web browser. Queries can be published to the web with filters and users can then access a secure web address to change the filters and refresh the query. The results will then be rendered into the preferred output style. The Web Service interface uses standard HTML4 and HTML5, so it will work on most web browsers and it is not reliant on any browser plug-ins; except where Silverlight, PDF, Word or Excel has been selected for output.

Each piece of web content surfaced by the Sharperlight Web Service, has a unique web address that can be opened directly in a web browser or hyperlinked in an email or accessed using a browser bookmark. Alternatively, it is relatively easy to use published queries to form a menu structure and this can be a Homepage for published content.


The queries that are published to the web, are maintained in Publisher and they can be configured with layouts, filters and colour schemes using the Published Query window in Publisher. In

Sharperlight terminology the web browser content available from Publisher is referred to as the Web Channel. This broad term is a more accurate description of what the Web Service can deliver because it is not just restricted to web reports and charts; the service is capable of delivering dashboards, web data entry forms, data feeds and it can provide data sets in a wide range of integration specific formats, eg Text, CSV, XML, JSON, JSONP


Web Service

The Sharperlight Web Service is a self-contained service installed on a host computer and it does not need a internet web server like Apache or Internet Information Services (IIS) to work. It can use HTTPS secured by another internet service but in its own right it secures and encrypts all data traffic between client browsers and the host service.


5 Overview

The web address to the Sharperlight Web Service will be different for each customer, to reflect their network and deployment. In a simple environment the service URL could start with

http://report-server/mdService1Rest and then it would be prefixed with service pages or commands. The

protocol being used in this example would be http, the computer hosting the Sharperlight Service is named the report-server and the Service Code is mdService1. The word Rest added to the Service Code is a naming convention to remind people that the Sharperlight Web Service is actually a REST web service with a uniform interface and it can interacted with other web interfaces.

The Sharperlight Web Service has a main Index page which will be displayed using the path /Index after the Service Code (http://report-server/mdService1Rest/Index). The Index page shows basic service details and it has shortcuts to View Published Queries and View Dashboard Pages. These shortcuts will take the user to simple list pages that show all the available web content. The list pages are a quick way of viewing all content but normally users interact with targeted dashboards or billboards that list team and role specific content.

Index Page


Query URL

Published queries and dashboard pages all have a unique web address pointing back to the Sharperlight Web Service. This means that any piece of Web Channel content can be imbedded in another website, bookmarked or referred to in a hyperlink. So a dashboard page could be viewed in Microsoft Sharepoint or an email could have a hyperlink to a relevant web report.

The URL address will consist of the service address and the path to the query content. For example, the web address http://report-server/mdService1Rest/Report/?query=ACCT.ProfLoss connects to the http://report-server/mdService1Rest service and opens the ACCT.ProfLoss Published Query. ACCT is the Group and the ProfLoss is the Code for the Published Query. If there was another report with the code ProfLoss2, the web address can be edited in the browser to open the other report.



The Sharperlight Web Service authenticates the user login every time a query is opened. So unlike a normal web portal where the user is authenticated once on login, the web service keeps

authenticating each query in case rights have changed. To avoid the nuisance of repeatedly entering login credentials, the Sharperlight Service can either use Windows authentication or it will create a session cookie that holds the credentials.

Sharperlight has settings in Site Setup where user or user group access can be secured to individual Datamodels, or tables within. Even access to the Web Channel can be disabled in Site Setup. From


within Publisher a published query can be made public or secured to users or user groups.



The open architecture of the Sharperlight Web Service means that web reports can be easily deployed using an organisations existing web environment, eg Sharepoint. If they don't have a shared web interface or they want a focused group homepage, they can easily deploy a main landing page that uses a report layout to construct content tabs and lists published queries. This style of Homepage is normally given to customers during training and it provides a simple mechanism for hosting and deploying published content.




Billboards are a special type of published query that returns a filtered list of published queries. The listed queries can then be opened in the web by either clicking on the title or using the document icon on the row. The actioned query will either open a new browser tab or a new browser windows. The configuration of the web browser will decide if it uses a new tab or browser window.



Prompt Bar

Published queries in the web can have an optional Prompt Bar which is equivalent to the Filter pane in the Query Builder. The Prompt Bar will display all the unhidden filters from the query and they will reflect single value, and from and to value filter types. The visibility, positioning and layout of the filters is determined by the query and the Report tab settings in Publisher. Preceding the filters is a


7 Prompt Bar

Submit button for accepting the filter values and generating the querying and rendering it into the browser window.

Prompt Bar



In the far right hand corner of the Prompt Bar there is an a combo button that can minimise and expand the filter box.The Prompt Bar has several settings available in the Report tab in Publisher. The Bar can be displayed by default, collapsed, collapsed after the submit or hidden after submit. The Report tab has numerous other settings to tailor the Prompt Bar, with items to stack the filters, set the background colours and font sizes.



When the web service loads a query into a webpage, the filters will default to the values that are set in the published query in Publisher. If the filters are changed by the user, these details are only relevant to the current session and they will not be retained the next time the query is run. It is possible to make the default filter values dynamic, by using Expressions in the published query and there a two system defaults for the current DATE and PERIOD.

Filters can be directly edited in the from and to input boxes, or the lookup button with the two dots can be used to display a lookup of available selection values. Filter values accept the same syntax available in the Query Builder, so <ALL> will revert the filter to all available values and a from and to filter value will accept any standard operator syntax. For example, <LIKE> for wildcard search and <IN> to filtering on a list of values.

Filters can display tooltips in the web when the cursor in the web browser is hovered over the filter title. These tooltips are added to the query design by the author and they will in appear in a yellow popup box.




The List lookup returns the same columns that would appear in the Standard lookup dialog that would appear in the Query Builder. The rows are displayed in a table with paging controls and the number of rows displayed can be changed using the selector. Selecting a row in the lookup list will highlight the row and copy the code value into the filter value. Multiple rows can be selected using the Shift or Ctrl button, and the filter will switch automatically to an <IN> clause with a comma delimited list of values.




The Date lookup shows calendar dates for the selected month and year. There are movement buttons in the top left and right hand corner, to move the month forward or backwards. When a day is selected, the filter date will be updated using a format that will clearly set the date based on the regional settings of the web browser and the web service. In most cases, it will default to applicable date format of either dd/mm/yyyy or mm/dd/yyyy, however if it detects potential ambiguity it will revert to yyyy-mm-dd.




The Period lookup is just like the List lookup and it doesn't have the complex functionality that exists in the Period lookup window that is in the Query Builder. This is by design because the Period filter can be passed to other Period filters in the underlying query and these filters can take


9 Prompt Bar

filter input box.


The query engine will accept several different Period input formats and resolve them for the query. The standard format YYYY/PPP with a four digit year and a three digit period number is separated by a forward slash. Depending on the Datamodel definition for the Period field, the three digit period can be a two digit period number, and the separator can be a hyphen or a full stop.



The Picklist lookup uses less space that a normal List lookup because it displays a dropdown of list values right below the filter input box. It only displays the code and it does not have a related description, and it does not support multi-select. It is frequently used in Dashboard Tiles where space is at a premium.



Output Types

Publisher is the rich client interface for managing all the published queries that are then rendered to the web service. Each published query can be rendered to multiple different output types and thus, the same query could be presented in a table, chart and a pivot table. Sometimes a query is tailored to a specific purposes and in Publisher the different output types can disabled to leave only the preferred media. The default output type for each published query is selected in the Report tab in Publisher.

The rendering type for a published query can be changed in the web browser by adding or editing the rtype= parameter in its URL. The valid output types that rtype will accept include Report, TableBasic, TableSilverlight, Chart, Pivot, PagePdf, PageExcel and PageWord.




There a two distinct types of tables available in the web, the standard table uses javascript to display paging controls, it has an options menu on the table rows and columns can be sorted in the web by clicking on the column title. The other type is called table basic, it has no javascript

automation and all the rows are return in the same webpage without paging.




The standard table has a row menu with options to chart, print and save the table data into various common file formats. If they query that generates the table has Drill Throughs available in its definition, then these drills will also be listed on the table menu. The menu also has items to hide and show the prompts bar, and the fully qualified URL path to the query can be extracted into the local clipboard using the Get Link menu item.



Tables can display Sparklines on the rows either with gradient lines or bars. Sparklines are rendered by the web service as image files and they are constructed in the query using an expression.


11 Output Types Sparkline



The Sharperlight Web Services uses a HTML5 charting engine which allows for context messages when the cursor is hovered over the data series points. Single mouse click on the chart background will display a control menu with Zoom In, Zoom Out, Refresh and New Window. If the chart query has defined Drill Through definitions, they will be listed when the chart data is single mouse clicked.




Page reports use a reporting engine that allows greater control on the positioning and behaviour of report elements. In Publisher the report templates are developed in a graphical report designer and it means the each template can be uniquely tailored to the output media and user audience.



The Page rendering to Html provides a pixel perfect representation of the report design which loads quickly into a web browser and good for reviewing online. The common practice is to have shortcut icons to the Excel and Pdf rendering of the same report. If these icons are used, the filters will be automatically copied and used in the rendering of the selected output media.


Page Html



Rendering a Page to Pdf will attempt to load the file into the browser using its default Pdf viewer. If the client computer doesn't have a Pdf viewer, it will display a Save As dialog to to download the file. Pdf is the preferred media format for archiving and printing out documents.

Page Pdf



The Page output to Microsoft Excel, creates a formatted XLS file. Rendering to Excel normally involves dedicating a specific template to Excel and tweaking it, so columns are properly aligned and the rows are not too tall.


13 Output Types

Page Excel



The pivot table has a configuration window where query dimensions can be dragged and dropped, onto the the row or column. The pivot can then be reloaded with the new dimensional structure using the Populate button. The dimensional slicing continues to use the same cached query data set until the browser windows is closed or the Submit button is used for force a data refresh. The pivot layout with measures, rows, columns and slicers can be configured in the published query and when the pivot item is selected from the table menu, the defined layout will be automatically loaded.




Tables can be rendered to a Silverlight grid control and this has the advantage of row grouping and column filtering. Using this control is reliant on the Sharperlight plugin being installed in the web browser.




Sharperlight has the concept of Dashboard pages where content Tiles can be position, sized and configured. A Dashboard page can combine multiple Tiles and they are created and maintained within the web browser. The primary source of Tile content is published queries but any web address can be displayed in a Tile. There is no limit to the number of Dashboard pages that can be created and the pages are usually sized to reflect the audience and their preferred web browser device, eg Desktop Computer, Tablet, Smart Phone.


15 Dashboards




The size and position of a Tile is stored in the Dashboard page and each Tile can have an Expanded URL, which will be displayed if the Tile Title bar is clicked or the Expand icon is selected.


Web To Excel

There are several methods for copying a Sharperlight table from the web into Microsoft Excel. The Table menu has a Save As Excel and CSV export, the Sharperlight Excel Add-in can import the query into Microsoft Excel, the Page Excel renderer will generate an XLS file and Internet Explorer can natively export web pages to Microsoft Excel in a way that can be refreshed in Excel.


Save As

Standard and Silverlight tables in the Web Channel have a Save As menu item that will export the query to either an Excel XLS or CSV file. Irrespective of which menu item is used the query will be re-extracted to generate the destination file. In the case of the Excel file, it does not create an XLS binary file, it just renders the table to basic HTML and then saves the table with an XLS extension. Prior to Excel 2010, Excel would open a HTML file with an XLS extension without complaint and it would return a good facsimile of the web table. With Excel 2010 and 2013 the reproduction remains very good but it will throw a warning message on opening to the effect that, "The file you are trying to open... is in a different format than specified by the file extension". Use the Yes button to confirm that the file is not corrupted and it should be opened.


Save As


Excel Add-in

The Sharperlight Excel Add-in can import the published queries that are rendered in the web. The query gets copied into Microsoft Excel and it can be deployed as a Table formula. This means it can refreshed using normal recalculation but it looses the web formatting and becomes an Excel Table, with its own design tools within Microsoft Excel.

To copy the published query into Microsoft Excel, start with copying the query name from the web service URL. The query name follows on after the syntax ?query= and it is usually a two part code with the query group and query code separated by a full stop character. Then open Microsoft Excel and use the Value icon on the Sharperlight ribbon to import the query from Publisher. The Import Query - Publisher menu will display a lookup with all the published queries in Publisher, paste the query name from the previous step, into the input value box and use the OK button to import the query into the workbook.

Query Builder - Import Query

Once a query is imported into an Excel workbook it becomes a separate copy and is not linked to the original query in Publisher.


17 Web To Excel


Export To Excel

Internet Explorer has an Export to Microsoft Excel available on the right mouse click menu item in the browser pane. This export will create a Web Query in Microsoft Excel which is a refreshable and configurable link between the workbook and the web table. The Web Query can include and

exclude the table title and it has the option to return the table with no formatting, or rich text formattting or full HTML formatting.

Web Queries in Microsoft Excel are standard functionality available from the Data menu and have been available since Excel 2000. There are two main caveats when using them with the Sharperlight Web Service. Firstly, Web Queries do not support custom login webpages and thus, they will only work with Sharperlight if the web service is authenticated using Windows or NTLM security.

Secondly, the webpage recognition in the Web Query does not handle tables rich with javascript, so the standard Sharperlight web table is not recognisable but the table basic version is. The use Table Basic, the published query can be default to it or the parameter rtype=TableBasic can be added into the query URL. For example, http://vm-w7e-dev/mdService1Rest/Report/?


Web Query

From within Microsoft Excel it is possible to create a Web Query connection to a web service table and have the filters included in the URL address. The steps in creating a Web Query are well on the internet but the trick to building up the query URL address with the filters is to use the Get Link menu option from the Table menu. Just remember to add the rtype=TableBasic parameter into the generated URL.





Related subjects :