NAV 2018: Characteristics of a scalable extension

kitikkitik Posts: 230Member
Hey guys,

My name is Laura Nicolàs and I am writing a book about extensions development.

In the book I do cover the basics on Visual Studio Code and the AL language, but I am also including a chapter on how to develop a scalable extension.

Imagine you have to develop an extension that is going to be used in 10,000 different Dynamics NAV customers. What characteristics would that extension have?

I am listing some. Please, comment on any of them, or add new ones if there are missing ones:
  1. The extension has to cover only one functionality.
    It cannot be a catch-all app covering unrelated areas.

  2. The extension has to work with any standard configuration.
    For example, if the app uses items, it has to consider item variants, because companies might be using it.

  3. It has to be easy to install.
    If external sources are required (such a dll, a font, an external webservice, or a folder structure in the server), the app itself has to be able to provide it / install it / create it.

  4. It has to be easy to setup.
    If journal sections, or series numbers, or any other setup is needed, the app should check it (notifications), help de user create it (Assisted setup), create a default setup, or a combination of the above.

  5. A regular user should be able to configure it.
    SUPER permissions should not be a requirement.

  6. It has to be easy to use and intuitive.
    Use ToolTips to explain everything, and create an app that uses the same terminology and the same flow of data as the standard.

  7. There must be accessible training material.
    You cannot count on consultants to train users… or you will not have enough consultants to reach 10,000 installations!

  8. Do only have one supported version of your extension, and keep on improving it.
    New versions should be easy to install, and should not broke any previous configuration.

  9. Make it easy to translate your extensions to other languages.

  10. Allow your extensions to be extended.
    Every time relevant, throw events so that others can subscribe to it and extend your app.



What else would you add?

Thanks a lot.
Laura Nicolàs

Btw. I am looking for reviewers of the book. Want to help? Leave your email.
Laura Nicolàs
Author of the book Implementing Dynamics NAV 2013
Cursos Dynamics NAV (spanish) : http://clipdynamics.com/ - A new lesson released every day.

Answers

Sign In or Register to comment.