Production Scheduler Add-in for Dynamics NAV Web Client - New Features

Posted by Juergen Theis on Dec 8, 2015 3:30:00 PM

It's been quite a while now since I submitted a report about the progress in developing the Visual Production Scheduler JavaScript Add-in. Due to the huge extensions and modifications it took us a little longer than was originally planned. But now the time has come to share our latest developments with you. Version 1.4 of the Visual Production Scheduler JavaScript Add-in, that can be used in the Dynamics NAV Web Client as well as the Tablet and Windows Client, is ready for use and available for our partners and customers.
As you will quickly see, the add-in has grown up and the functionality it offers comes closer to that of the VPS .NET Add-in. Of course, the main enhancement applies to the editing feature: So far, the add-in has been a tool for only viewing the production order data. Now it also lets you alter them.

Let´s Move the Bars

The possibility of interactively dragging and dropping bars will certainly be the most exciting new feature for you. As a result, you gain as much power as a user of the VPS .NET Add-in.

Bars can be moved in the “Production Order View” as well as in the” Capacities View”, provided that the group (i.e. the order, the work or the machine center) they belong to has been expanded. The only difference between both views lies in the direction the bars can be moved into: The first view only allows to move the bars horizontally; in the latter one you can move them both horizontally and vertically. The reason for this restriction is evident: In the “Production Order View” only those capacities are  to be seen that are really assigned to an operation of one of the production orders. So, by vertically moving a bar in this view, you will never reach eachall  of the available capacities. This is why you cannot move the bars in the “Production Orders View” vertically.

I think it goes without saying that bars of operations that have been already started cannot be moved at all. 

Having considered all restrictions described above, the cursor will appear as left-right cursor (or as “ew-resize cursor”, to use the correct technical term) as soon as the mouse cursor hovers over a bar that can be moved. When the left mouse button is pressed now, a tooltip displaying the current starting and ending dates will appear:

 VPS_Web_Client_1.4_Move_1.png

If you start dragging now, the bar will move together with the tooltip, whereas a brighter duplicate of the bar remains at its original place, thus always indicating the starting point of the interaction:

VPS_Web_Client_1.4_Move_2.png

When you release the mouse button the pale duplicate as well as the tooltip will disappear:

VPS_Web_Client_1.4_Move_3.png

Please note that in the screenshot above the diamond representing the due date is red now , this serving as a warning and indicating an operation ending after its due date. The bar itself now also shows a red glimmer.

The red frame around the bar indicates that it has been moved. As soon as all changes have been stored to Microsoft Dynamics NAV by  “Save Data” , the red border will disappear.

Before the NAV server accepts your changes it will check them and possibly trigger recalculations, Finally, the server sends all updated data back to the client.

After any data modification, the VPS JavaScript add-in will ask you whether to accept or discard your changes when you try to leave the VPS page or reload data without having saved the current state before:

VPS_Web_Client_1.4_Move_4.png

Enjoy Enhanced Performance

There is one question that many of our customers very often ask : "How is the performance of the JavaScript Add-in when I am working with a big set of data?"

For a user it is important that

  • The add-in loads charts fast.
  • Interactions – like scrolling or expanding/collapsing groups – are also performed fast.

The last release already focused on this issue by shifting from an approach using <div> elements to one using <svg> elements. But now we made a substantial step forward: By using virtualization we once more gain considerable performance increase .

Virtualization means generating only those graphical elements being needed for showing the user's required view. If, for instance, 1000 production orders are to be loaded, after initial loading you will only see perhaps 25 orders. So it makes no sense to create all the graphical elements of orders that are not displayed directly after the loading process.

But as soon as the user starts scrolling or as soon as he expands/collapses a group, the graphical elements of orders that come into view will be generated. This way, we reduce the number of graphical elements and we save time to design them.

Virtualization may be applied vertically (e.g. for vertical scrolling) as well as horizontally (e.g. for horizontal scrolling). Currently, we only use it to reduce the number of graphical elements in vertical direction.

Benefit From Our New Web Application Framework

There is one new and important change in the architecture of the add-in: The add-in is now based on our own and new NETRONIC Web Application Framework. This framework provides the base for developing web applications including interactive Gantt charts.

Now you may ask: “Hey, what’s that to me? I am not interested in those technical odds and ends! I don’t care about the things in the depth of the code.“ At first glance you may be right. But please note, we at NETRONIC are using this framework for many other projects besides applying it to the VPS JavaScript add-in. For instance, we develop specifically customized Gantt web applications for our customers by using this framework. And with each new application new features are added to this framework. So the framework keeps growing step by step.

As you can imagine, this approach will of course influence the development of the VPS JavaScript add-in. Sooner or later, many of the new features will find their way into the add-in. So, in future,  you as add-in user will benefit from many of the great enhancements that we will implement into the framework. Isn’t this really good news for you ?

Are You Ready For Dynamics NAV 2016? We Are!

Of course, we have ensured that you will also benefit from our great add-in when you are using the latest version of Dynamics NAV. Everything will also work fine with NAV 2016. For all of you who are interested in some technical details, I have published a separate blog post about an issue one is faced with when resizing an NAV web client window with a JavaScript control add-in inside. In this case, resizing the height of the add-in is a little bit complicated.

Next Steps

One goal of our JavaScript developer team is to reach the full functionality of the VPS .NET Add-in as soon as possible. As mentioned in an earlier post, this makes sense against the background that since Dynamics NAV 2015, JavaScript add-ins can be run in all NAV clients, i.e. in the NAV Windows Client, in the NAV Web Client, and also in the NAV Tablet Client. 

Hence, the next stage on our roadmap will be to add sorting functions to the JavaScript add-in. Our customers are asking for ways to sort  the operations by their due dates, for instance. Or they want to sort the resources by names or alternatively by their numbers.

In addition, we will focus on the visualization of the links. As described in the chapter “Enhanced Visual Scheduling Power for Make-to-Order Shops” of this blog post, we need a way to visualize the links between the different production order lines of one production order.

Of course, I will keep you up-to-date as soon as we have finished the next stage. But nevertheless: If you have further suggestions or ideas, do not hesitate to share them with us. We are always looking forward to new inspirations and to all the things that will bring our product closer to our customers’ needs – this means: your needs!

 

New Call-to-Action

Topics: Production Scheduling, NAV Gantt add-ins, NAV JavaScript development tricks, Dynamics NAV Visual Scheduling