Reports suck. There, I said it.
With today's mobile app lifestyle and cloud services, you may think data is ubiquitous for consumption. That's until the c-level executives or sales folks at your company demand to see fancy weekly reports generated out of data that's stored either on-premises or in cloud storage. On top of the stringent formatting requirements, they demand someplace to manage reports behind safe authentication but still have the ability to view reports from any device.
The good news is that the right tools can make all the difference. In this article we'll take a deep dive into Telerik Report Server. I won't promise you that you'll suddenly start enjoying building reports, but it just might make them painless to put together when you have to.
First, let's take a look at what's in this for you - why should you use Report Server? Here are some of the built-in benefits:
Store and manage reports
Report Server enables you to store and manage all reports in a single server-side repository. Not only do your users get to upload, edit and delete reports, but you get fine-grained control to report access through Categories and User Management.
Easy report creation and edits
Need efficient and easy report creation? The standalone desktop Report Designer that comes with the Report Server for free, allows you and your users to have a WYSIWYG interface to hook up data to build fancy reports. Report Server provides you with a full toolset for creating reports quickly and efficiently, as well as optimized performance when working with large sets of data. And all this works for Report edits as well.
Get reports on any device
Your users have a wide variety of devices, right? Report Server was built with responsiveness in mind. Whether reports are consumed from a phone, tablet or PC, Report Server will provides a user experience tailored for the appropriate screen size.
Robust user management
Access to Report Server reports is limited to registered users. Administrators get to create and manage users with specified user roles with predefined permissions for fine-grained access control. Report Server also supports Active Directory Federation Service (AD FS) authentication providers, enabling your users to authenticate using their Windows domain or Azure AD credentials.
Report versioning
With Report Server, you are always protected from accidental mistakes when managing reports. Users can keep track of the different versions and revert to an older version, if needed. Any edits create a new version of the reports, without overriding the previous ones.
Deliver it right and fast
Your users can control access to the right reports for the right people, through user roles and report categories. Report Server's built-in caching functionality leads to optimized memory consumption and helps multiple users load the same report faster.
Report Server comes bundled up as a lightweight web application that you get to download and run on your local web server.
First, head over to the download page and grab the installer, by clicking on the big red button. Alternatively, if you already have a Telerik DevCraft subscription, Report Server can also be downloaded from your Telerik Control Panel. This may also be a good time to check on System Requirements before proceeding.
Once you begin installing Report Server, make note of where you unpack the bits,. This is the file location of where your Report Server installation will run off.
Sit back and let the installer do its thing. Notice how it is trying to configure your local IIS in the process - you manually change configurations later, but Report Server offers you a nice default setup.
When the install finishes, take a peak into the files that come with Report Server. As you can see, they include the assets to run a web application - you may look, but don't change anything.
Next up, open up your local IIS Manager to see what's been done for you (the screenshot below shows IIS 8 on my Windows 10 machine).
Report Server comes in the form of a simple web application and it has been pre-configured to run as a separate website 'Telerik Report Server' on its own Application Pool.
Don't like a configuration? Simply select 'Edit Site | Basic Settings' from IIS Manager and change the settings.
Check your 'Site Bindings' in IIS Manager. Report Server simply runs on a open HTTP port like 80 or 83. Click on 'Browse:xx' or point your browser to http://localhost:<port#> and Report Server comes up.
Before you rejoice however, you need to realize the first time you run Report Server is of pivotal importance. That's because you get to set up the Admin user the first time round - this user can later add other Admins or regular users. So, make note of the credentials as you register the Admin user.
Once you have set yourself up as the Admin, you are all set to run Report Server. Pat yourself on the back - you got everything up and running like a champ!
Report Server is meant to be hosted via an on-premise web server or in the cloud. It starts out running locally in your machine's IIS, ready for you to push to a production URL for access. Before you do so, however, it may be worth trying out a few everyday workings of the Report Server from the user's standpoint.
In the standalone Report Designer that comes with Report Server, serialization/deserialization of the report definition is done with a specific brand of XML. Reports have a .TRDX extension. If you already have Telerik Reporting installed, you'll find a lot of sample .TRDX reports in the corresponding Examples folder, which offer an easy way to play with Report Server. Alternatively, once you have Report Server running, just hit the New Report button from the dashboard - this downloads the Report Designer and you could create reports from scratch.
Click the Upload link from the Dashboard menu, pick a .TRDX report and off you go.
Once Report Server has picked up your report, it shows up as a line item in its report collection and once selected, several menu options light up.
Go ahead and hit the Preview link, or just double click on the report. Report Server opens up a browser window or tab, and shows you a preview of the report. The report view is complete with readability, navigation, download and print options.
Now, if you were the regular user of this Report Server solution, you would want the flexibility to open up reports from any device - including mobile ones, right? Go ahead and resize your browser window to simulate smaller devices, like tablets or smartphones. As the screen real estate shrinks, you'll see Report Server adjusts the report layout continuously. A Hamburger menu even shows up when the screen is too small for the standard navigation. The responsive design of these reports means that you can deliver your reports to any device!
Want to edit a report, instead of just viewing it? No problem - simply select the report and hit the Edit link on the Dashboard. The standalone Telerik Report Designer will download, if you don't have it and then open up in Desktop mode. The Report Designer offers the user a rich WYSIWYG editor to customize existing reports with data binding and a variety of formatting options.
Once you get the hang of it, it's easy to play around with reports in Report Server - simply upload and deliver. Alternatively, with the stand-alone desktop Report Designer which is hooked up to your Report Server, users can simply add/edit reports locally and changes show up server-side automatically upon saving the reports. The user interface is simple enough for even your non-technical users to be able to store and manage reports without difficulty.
Now, having a report management system is nice, but you still get constant demands on scheduled report delivery. Your sales folks want daily trip reports or your CEO wants a weekly summary. Report Server helps you automate all such demands through robust Scheduling options.
Simply select a report and choose the Scheduling option from the top menu.
You get to set up a scheduling Task to deliver the chosen report in a variety of document formats.
You also get a wide array of choices for task recurrence for the chosen report. Keep in mind, each report is driven by its backend data source and the task runs at scheduled times. So your users get a fresh report delivered to them that pulls in the latest data.
You get full granularity to control the occurance of the scheduling task. Flexibility FTW!
Once you set up a task, you can see it from your Reports or Schedules dashboard.
Now, who gets these scheduled reports? That's something you get to decide through Subscribers.
Subscribers can be regular Report Server user or external folks with an email address. You get to control mail and SMTP settings from Configuration options.
Vanilla report storage and management can be no fun. You will be faced with the challenges of grouping reports, streamlining storage and managing users, along with fine-grained control to reports. Fortunately, Report Server offers a wide array of flexibility options.
A decision you have to take up-front is where you want Report Server to store all its reports and metadata for management. Report Server allows easy Storage Configuration to help you choose where you want your storage of reports. Your options are the local file system or Microsoft SQL Server and Redis through data connections. There is no right answer here - it all depends on your needs.
As you start dealing with lots and lots of reports, you'll invariably want to group reports into logical buckets. This allows for better organization and controlling access to report groups by individual or by collections of users. Report Server allows you to define any number of Categories and manage new/existing reports into respective categories.
The very first user (likely yourself) that you set up in Report Server is the Super User, beyond that you get robust User Management. Simply navigate to User Management and select an existing user to see the list of options. You get fine-grained control over user permissions towards access control on a specific report or a collection of reports through Categories.
As you set up new users of your Report Server, you can grant them specific User Roles and then control the permissions on a per report or category basis. You also can set up System Administrators , who can manage other users, or Data Administrators, who control storage configuration, along with who gets read/write access to reports.
Report Server, out of the box, supports the standard Forms Authentication. But what if your users do not like to remember one more User ID and Password? Relax. You can leverage standard WS Federation to authenticate your users. This immediately opens up doors for Active Directory or Azure AD authentication. Simply trust the established Identity Provider to get you back a token once the user is authenticated, and then proceed with regular Report Server access rights.
Here's how you set up WS Federation authenication in Report Server. Simply head over to Configuration | Authentication and provide basic information, like WS Metadata URI, Relaying Party ID (your Report Server installation), the Authority URL that issues the token and the unique Client ID.
Once set up correctly, your users will have the option of signing in through AD credentials, on top of the regular Report Server authentication. It's ok to rejoice.
Report storage and management is tricky business for most enterprises. Sure you can roll a home-grown solution, but the enormous efforts needed to build performant, responsive and robust management features far overweigh the benefits.
Report Server comes with everything you expect right out-of-the-box. You get to manage storage, retrieval and delivery of reports from any device the users bring to the table. And you also get the flexibility to fine-tune report categorization and storage configurations, on top of robust user management.
Join us for the Telerik DevCraft Q3 2015 release webinar to see some of these Report Server features in action. You'll love having Report Server on your side.
Header image photo credit: Got Credit
Sam Basu is a technologist, author, speaker, Microsoft MVP, gadget-lover and Progress Developer Advocate for Telerik products. With a long developer background, he now spends much of his time advocating modern web/mobile/cloud development platforms on Microsoft/Telerik technology stacks. His spare times call for travel, fast cars, cricket and culinary adventures with the family. You can find him on the internet.