Learning more

Descriptions follow of several excellent ways to learn more about pages.

UX (User Experience) Guidelines

The User Experience Design Guidelines documents developed by Microsoft are available for download from various Internet locations. The Microsoft Dynamics NAV 2015 User Experience Guidelines is available from the MSDN at https://msdn.microsoft.com/en-us/library/jj128065(v=nav.80).aspx. These UX (User Experience) Guidelines serve both as a summary tutorial to the construction of pages and as recommendations for good design practices.

Creative plagiarism and patterns

When we want to create new functionality, the first task is obviously to create functional specifications. Once those are in hand, we should look for guidelines to follow. Some sources which are readily available are:

  • The NAV Design Patterns Wiki (https://community.dynamics.com/nav/w/designpatterns/default.aspx)
  • C/AL Coding Guidelines as used internally by Microsoft in the development of NAV application functionality (https://community.dynamics.com/nav/w/designpatterns/156.cal-coding-guidelines.aspx)
  • Blogs and other materials available in the Microsoft Dynamics NAV Community (https://community.dynamics.com/nav/default.aspx)
  • The NAV system itself is always good to start with an existing pattern or object that has capabilities similar to our requirements and study the existing logic and the code. In many lines of work, the term plagiarism is a nasty term. But when it comes to modifying an existing system, plagiarism is a very effective research and design tool. This approach allows us to build on the hard work of the many skilled and knowledgeable people who have contributed to the NAV product. In addition, this is working software, and it eliminates at least some of the errors we would make if starting from scratch.

    When designing modifications for NAV, studying how the existing objects work and interact is often the fastest way to create new working models. We should allocate some time both for studying material in the NAV Design Patterns Wiki and for exploring the NAV Cronus demo system.

    Search through the Cronus demonstration system (or an available production system) in order to find one or more pages that have the feature we want to emulate (or a similar feature). If there are both complex and simple instances of pages that contain this feature, we should concentrate our research on the simple instance first. Make a test copy of the page. Read the code. Use the Page Preview feature. Run the page. Make a minor modification. Preview again; run it again. Continue this until our ability to predict the results of changes eliminates surprises or confusion.

Experimenting on our own

If you have followed along with the exercises so far in this book, it's time for you to do some experimenting on your own. No matter how much information someone else describes, there is no substitute for a personal, hands-on experience. You will combine things in a new way from what was described here. You will either discover a new capability that you would not have learned otherwise, or you will have an interesting problem to solve. Either way, the result will lead to significantly gaining more knowledge about pages in NAV 2015.

Don't forget to make liberal use of the Help information while you are experimenting. A majority of the available detailed NAV documentation is in the help files that are built into the product. Some of the help material is a bit sparse, but it is being updated on a frequent basis. In fact, if you find something missing or something that you think is incorrect, please use the Documentation Feedback function built into the NAV help system. The product team responsible for Help pay close attention to the feedback they receive and use it to improve the product. Thus, we all benefit from your feedback.

Experimentation

Start with the blank slate approach, because that allows you to focus on specific features and functions. Since we've already gone through the mechanical procedures of creating new pages of the card and list types and using the Page Designer to add controls and modify control properties, we won't detail those steps here. But as you move the focus for experimentation from one feature to another, you may want to review what was covered in this chapter.

Let's walk through some examples of experiments you could do now, then you can build on as you get more adventuresome. Each of the objects you create at this point should be assigned into an object number range that you are reserving for testing.

  1. Create a new Table 50050 (try using 50009 if your license won't allow 50050). Do this by opening Table 50004 in the Table Designer, then saving it as 50050 with the name Playlist Item Rate Test.
  2. Enter a few test records into Table 50050, Playlist Item Rate. This can be done by highlighting the table, then clicking on Run.
  3. Create a list page for Table 50050 with at least three or four fields.
  4. Change the Visible property of a field, by setting it to False.
  5. Save and run the page.
  6. Confirm that the page looks as what was expected. Go into Edit mode on the page. See if the field is still invisible.
  7. Use the page Customization feature (from the Dropdown icon on the upper-left corner of the page) in order to add the invisible field, and also remove a field that was previously visible. Exit Customization. View the page in various modes (such as View, Edit, and New).
  8. Go back into the Page Designer and design the page again.
  9. One or two at a time, experiment with setting the Editable, Caption, ToolTip, and other control properties.
  10. Don't just focus on text fields. Experiment with other data types as well. Create a text field that's 200 characters long. Try out the MultiLine property.
  11. After you get comfortable with the effect of changing individual properties, try changing multiple properties to see how they interact.

When you feel you have thoroughly explored individual field properties in a list, try similar tests in a card page. You will find that some of the properties have one effect in a list, while they may have a different (or no) effect in the context of a card (or vice-versa). Test enough to find out. If you have some "Aha!" experiences, it means that you are really learning.

The next logical step is to begin experimenting with the group level controls. Add one or two to the test page, then begin setting the properties for that control, again experimenting with only one or two at a time, in order to understand very specifically what each one does. Do some experimenting to find out which properties at the group level override the properties at the field level, and which do not override.

Once you've done group controls, do part controls. Build some FactBoxes using a variety of the different components that are available. Use the System components and some Chart Parts as well. There is a wealth of pre-built parts that come with the system. Even if the parts that are supplied aren't exactly right for the application, they can often be used as a model for the construction of custom parts. Remember that using a model can significantly reduce both the design and the debugging work when doing custom development.

After you feel you have a grasp of the different types of controls in the context of cards and lists, consider checking out some of the other page types. Some of those won't require too much in the way of new concepts. Examples of these are the ListPlus, List Parts, Card Parts, and, to a lesser extent, even Document pages.

You may now decide to learn by studying samples of the page objects that are part of the standard product. You could start by copying an object, such as Page 22 – Customer List to another object number in your testing range, then begin to analyze how it is put together and how it operates. Again, you should tweak various controls and control properties in order to see how that affects the page. Remember, you should be working on a copy, not the original! Plus, it's a good idea to back up your work one way or another before making additional changes. An easy way to backup individual objects is to highlight the object, then export it into a .fob file (File | Export). The restore is the reverse: that is import the .fob file.

Another excellent learning option is to choose one of the Patterns that has a relationship with the area about which you want more knowledge. If, for example, you are going to create an application that has a new type of document (such as a Radio Program Schedule), you should study the Document Pattern. You might also want to study the Create Data from Templates Pattern. At this point, it has become obvious that there are a variety of sources and approaches to supplement the material in this text.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.191.54.133