Welcome to this Java Break with BASIS. My name is Nico Spence. I am the Chairman and CEO of BASIS International. Most recently we have run some Java Breaks which really excited our user base and really, quite frankly, excited us. And that is those that have covered the Dashboard Utility as well as some of the drilldown functionality that we have added to our product set. So we thought we would finish off with “Just One More Thing” for this year. And that is to marry the two together. Dashboards, Meet Drilldowns. Our agenda today will cover a little bit of a review of what dashboards are. We will review the drilldowns that the Barista rapid application development tool provides us with. And then we are going to look at something a little different and that is graphical data drilldowns. It doesn’t require any Barista…that’s pure BBj code. And we will see it in action. And then we will take your questions. Let’s begin with a review of the dashboards. It’s a set of real-time charting widgets that allows you to visualize BBj data, PRO/5 data, Visual PRO/5 data, data in a standard spreadsheet or a comma separated value file or text file and of course data from any JDBC or ODBC source. And you can add this to your legacy app. You could do it by embedding a widget or a fully fledged dashboard within your application. What do dashboards do for you? It empowers your users. It gives them the ability to save the dashboard, email it and set the refresh settings. They can also choose the appearance and order of those dashboard widgets. And since it is BBj code, it is also available to run in the browser user interface. And that means you can run your dashboard in a browser – be it a desktop browser or a mobile browser. A tablet or a smartphone. If you want to see that in action for yourself without installing anything on your mobile device or your desktop go and have a look at the www.basis.com website. And go to ‘Showcase’ and click on the ‘BBx Web Showcase’. You can then navigate down to some of the dashboard examples and run them on your own device and see how they function. Those are powered by a cloud-based website run on the Amazon web servers here on the west coast of the United States. But you could run that from anywhere in the world. In order to facilitate the creation of your dashboards or your dashboard widgets you can use the Widget Wizard. It’s a development tool that can be run either stand alone – it’s a BBj program, or can be run from the Eclipse IDE. That allows you to create your widgets or your set of widgets, without any code! You can create full dashboards. You can create sets of widgets or you can embed specific widgets in your application. Let’s review the concepts of the drilldowns. The example we’ve shown you previously was to use Barista’s drilldown feature. That uses a custom query definition that can be fired off from any form within Barista. That provides a hyperlink to another custom query or a program. It’s entirely at the developer’s discretion as to how far, how deeply into the data one wishes to drill down. AddonSoftware has implemented the Barista drilldowns in the Customer form as an example. Looking at the balance, there is a little icon next to the balance that if one clicks on it it provides a drilldown using the custom query. It shows the transactions that make up that balance. Joining tables. Showing column totals. And giving links to further drilldown functionality from the actual invoices. Furthermore, when looking at month to date, year to date, prior year or next month’s sales we also see drilldown icons that allow one to drilldown into the transactions that make up those sales. And then furthermore, one can drilldown into those particular invoice numbers to pull up the historical invoice and you can either then print it from there or add some comments to the historical invoice. So what if we wanted to marry those two concepts together? The kind of drilldown functionality that Barista offers you with the dashboard functionality. What if we wanted to drilldown into a particular chart? So dashboards, meet drilldowns. We can create widget drilldowns! Sometimes the chart doesn’t provide enough information and we want to see more detailed information to make better informed decisions. So we could see, for example, a chart widget that shows sales by sales rep but perhaps you want to drilldown into the customer’s sales by that sales rep and then furthermore into the specific customer’s sales. This added functionality is under the developer’s control. We have now added left and right click mouse events. By default the left click will show you the value of the chart element that you have clicked on. And a right click will show you the options menu. So we call these dashboard click events that we’ve added. No Barista required here. This is pure BBj code within the dashboard utility. And we can then create widget drilldowns. We can respond to the particular data entity that is selected from the chart and we can change the SQL and refresh the data that’s displayed. Or we can build and display stand alone widgets in response to the click event. In our example we will show how we create a customized grid event from the subsidiary drilldown. Let me hand over to Nick Decker to show you that in action. Let’s take a look at one of the new features that we’ve added to the BASIS Dashboard Utility. As of BBj 14.20 many dashboard widgets respond to left and right click events in a context appropriate way. That means that your existing dashboards have suddenly gained a new level of interactivity without requiring any code changes. But you can also dig in and write custom code for mouse click events extending the usefulness of your dashboards and widgets in a number of different ways. To start, let’s look at a basic dashboard with several different types of charts. We are accustomed to configuring a widget’s refresh settings or saving an image of the widget via the configuration toolbar button. This same functionality is now available by default when you right click on a widget. The configuration menu pops up where you click your mouse making the options even more accessible. Left mouse clicks have always selected the widget but now they do a lot more when you click on a particular area of a chart widget. Charts are composed of data entities. That’s a catchall term to describe the chart’s bars, pie slices, or lines. Whenever you click on a chart’s data entity the chart now displays a tip giving you further information about that entity. Charts do this automatically so anyone can click on a bar in a bar chart to find out more information about that particular entity. The tips show the entities data values. So a bar chart will display the row key, the column key, and the value associated with the bar in question. It is also possible to register for a widget’s click event so you can associate your own code with the click event and over ride the default behavior. From the click event you can get the dashboard widget and the BBjMouseUpEvent so you’ve got everything that you need to perform a custom action. There are now all kinds of possibilities available… custom popup menus, extended information in the chart tips, and even drilldown capabilities. Let’s take a look at a couple of examples to get a better idea of what it is that we can do. Our first example is an unaltered chart that relies on the default behavior to show our sales reps year to date sales figures. The format is certainly acceptable and by clicking on a bar we get a more accurate representation of the rep’s year to date sales. However, it could be made a bit more user friendly by adding the rep’s name instead of their initials. To address this we will register for the click event and then write custom code which executes in response to the click. Our subroutine gets the sales rep that the user clicked on, does a look up in the sales person file to retrieve their full name and then creates a customized tip and tells the widget to display it. The results are much nicer. And now we see the rep’s full name whenever we click on a bar in the chart. The second example takes the custom code a little bit further. We start with a similar widget but this time we will drilldown a couple of levels deep into the data in response to the click event. So we’ll end up giving the user a deeper insight into our database by displaying the data that comprises each bar in the chart. To do this we will take advantage of a few critical concepts. One, we can write custom code in response to a click event. Two, our code can tell which data entity was clicked on. Three, we can change the chart’s underlying SQL query and refresh it causing it to display different data. And four, we can build and display standalone widgets. After our custom code is complete we can now on a sales rep in the original chart to drill down into the data and find out what orders comprise their yearly sales. The updated chart shows all of the rep’s sales for this year broken out by customer and dollar amount. To view a detailed list of each customer’s sales we simply click on a bar and a standalone grid widget pops up with all of the customer’s orders for that year. The customized grid displays their order number and line, the item purchased, the quantity shipped as well as pricing information. We’ve also allowed the user to navigate through the data via left or right clicks. And to facilitate this we’ve provided a custom tip explaining the process whenever you click on a part of the chart that isn’t a data entity. So a left click on an entity drills down to show the data for that entity. And a right click brings us back to the original chart. With a single widget we can take the user from a generalized view of the data to a more specific one with the click of a mouse making it easy to analyse important data. You can still take advantage of filters to provide user interactivity and allow the users to shape the data that the chart displays. But the new click events give your widgets extra functionality for FREE. And they give you the ability to control the widgets in a variety of useful ways. Thanks Nick. Let’s look at another example within the AddonSoftware product set. Let me hand over to Paul Yeomans to describe it in more detail. Thanks Nico. Here we are in AddonSoftware and we’ve made those improvements into the AddonSoftware dashboard in the Income Comparison widget. So let’s make him bigger so we can see him a bit better. I can select any one of the data elements here for a closer look. and that is by account, GL Account. I can select that and it will open a grid with even more details. We also have a handy title bar up here which gives us the description of that GL Account which is ‘Product B Location 1’ Close that out. A right click takes us back to the default setting for this widget. I can change the Period of course. Change it over to ‘Year’…we are showing 2013 and 2014 Let’s take a look at 2014 so far I can select one of the data elements and again I’ve drilled down into the sales that make up that GL account total. Back to you. Thanks Paul. As a reminder, there are many Java Break resources that cover drilldowns and digital dashboards and the Widget Wizard. So we had “Adding BASIS’ New Digital Dashboard to Your App” “Embedding Widgets in Your BBx App” “The New Widget Wizard, Dashboards Without Code” and to see the Barista drilldowns in action have a look at “More Good Reasons to Use the Latest BBx” Java Break. These are all available on the YouTube channel, the BASIS YouTube channel. And of course if you want to be notified of them as they get published we invite you to subscribe to our YouTube channel. In addition there are several Advantage magazine articles in the latest version, Create Your Masterpiece. We have “Dash Boredom with the Dashboard Utility” “The Magic of the Widget Wizard” “Easier Decision Making with the Dashboard Utility” We have an article from the AddonSoftware ERP team, “AddonSoftware’s Digital Dashboard Takes Off” And the accompanying Barista article, “Ready, Set, Drill!” So it’s time for you to revitalize your business applications with some decision making business intelligence capability with the digital dashboards and the ability to drill down into those dashboards to give your owners and decison makers better access to information to make better informed decisions. In summary today we’ve covered “Dashboards, Meet Drilldowns.” We’ve reviewed the dashboards. We’ve reviewed the drilldowns and we’ve seen it all in action.