I am happy that after long time of silence I can post this article about NAV 2009. I want to show you what is new in this version from Developer's point of view. Let's make it short:
Of course, everybody knows that NAV 2009 is 3-tier system, where you have DB Server (MS SQL 2005/2008), Service tier (processing data) and the Client tier (RoleTailored Dynamics Client - RTC). But many people think, that NAV 2009 client is "tiny" client. But this is not true. The Dynamics client is marked as "rich" client – there is no big amount of application data exchanged between client and Service tier, but there is big amount of XML data describing the Pages. I do not have stats about the amount, but because many things are configurable and all is in XML, the amount will not be too low. We will see after someone will have time to measure the data flow...
All what you can see on the client is sent to it as XML. This XML is than merged with XML data with user configuration and application setup. XML includes metadata about the fields etc. but no positions, size etc. It means all is on the Dynamics client decision, how will be each part displayed. This is done to have enough space for different devices for displaying the data. It will be just question of time when some new clients will be on the market.
As a "tiny" client can be marked the "SharePoint Dynamics client", which works as part of SharePoint site and just the resulting web page is sent to the user, but we will see.
WebService native support – this is biggest feature of this version which you can use right after you make technical upgrade. You do not need to use RTC or Service tier for that, WebService service is separate. Just publish some page or codeunit and you are ready for integration. All, including security, out of the box...
1) For developing is still used the C/Side classic client. No change in that. BUT! Yes, there is one change... syntax highlighting. You can see the screenshot in my previous article... I hope that some people will be very happy :-)
2) There is new object type – Page – which is like Form but for the new client – there will be needed whole new article about Pages...
3) On table fields is new property – ExtendedDatatype – [<None>,Phone No.,
Masked] – this property is used to show the data in appropriate way (as a correct hyperlink, progressbar etc.)
4) You can define field groups on the tables. These field group are used e.g. for Lookup lists. You can see more in this blog.
5) New property on boolean variables – IncludeInDataset – this property enables you to include this variable with the displayed data as new "field" to drive visibility and other properties of displayed controls on Pages.
6) Request Page on Reports – same thing as Request Form but for RTC, defined in same way as Page.
7) Layout of report for RTC client is done in Visual Studio as file with extension RDLC (Client Report Definition). It is subset of functionality of reporting services but without reporting services... ;-) This layout can be automatically suggested through function "Tool – Create Layout Suggestion" in the report designer in Classic client. Details are for separate article...
8) There are new functions on reports – REPORT.SAVEASPDF and REPORT.SAVEASEXCEL – I assume that they are working only within RTC client – it means no PDF workarounds needed, just call the function and you have the report in PDF file of your selection...
9) Dataports are replaced by XMLPort for RTC. To be able to export/import files from within RTC you need to use XMLPort, which have now many new properties to be able to work as dataport. You need to think about it much more than before, because the import/export is done on the Service tier and not on the client, it means you need to upload/download the file to the service tier first (there are new commands for that, see my article about NAV 5.0). It is for new separate article...
10) You can display BMP, EMF, GIF, ICO, JPG, PNG, TIFF, WMF pictures in the RTC (still only BMP in classic client).
What is done in another way
This is list I made from scratch and from what I remember. I know that there are more points but I miss my remarks...
1) You cannot specify where and how will be the data displayed – you can only change some metadata for the fields (Importance). But there are new possibilities to configure RTC layout.
2) No colors on Pages... sorry...
3) There is no matrix control for the RTC. It is replaced by fixed column table simulating the behavior of the matrix. It is ok for reading, but it is read-only. Edit functionality of matrix box cannot be done in this version. You can still use the Classic client for that or you can use WebService to make something like that in excel etc.
4) Errors are now handled as error bar in the RTC, not as Dialogs. There can be more errors on the page and user can solve them in any order.
5) Tabs replaced by FastTabs – sometime it means more space on screen needed to display the page...
6) You have NICE data picker if you are on Windows Vista.
7) Lookup lists with "filter as you type" on selected field. Of course – watch for performance when using that...
9) Freeze Pane for tables
10) No symbols on pages (e.g. by changing font etc.) – if used for making "tree" structure, there is native support on Page (ShowAsTree,
11) Hot keys were changed in whole application to be same as in other Microsoft applications – it can lead to some time you need to get used to new shortcuts to control the client only by keyboard. There is some area which Microsoft has for make it better, but with good feedback, it can be better in next version.
That's all for now. Take it as brief overview of the changes. Of course the whole RTC is big change, but to use it you need only to get used to Page designer and Report Layout tools in Visual Studio. No another change. All is still C/AL, working in same way as before. That there is C# behind you do not need to know. Open your mind for the evolution and try to find new ways how to do the things. Try to not hang on used ways, look for new opportunities you can use for you, all that is new for all of us. I know that whole Microsoft Dynamics NAV team knows the pains of the system and they are working hard on solutions. But it is not possible to release new application like that with all functionality already build in, because in this case it will be revolution and not evolution.
Have a nice time with NAV 2009 and I wish you many positive experiences.