Options

Detecting the Development Environment (classic client) license

PConijnPConijn Member Posts: 31
edited 2017-07-11 in NAV Three Tier
Hi everyone,

As you all know, you can change the license for a session in the development environment (classic client). Is there any way (in NAV2015/16/17) to detect whether this license is different from the one you are using on the RTC?

Edit: in other words: if is possible to detect whether someone has changed the license using Tools > License Information > Change in the development environment?
Kind Regards,

Peter Conijn

-The Learning Network-

Best Answers

  • Options
    Slawek_GuzekSlawek_Guzek Member Posts: 1,690
    Answer ✓
    In addition to my previous post:
    PConijn wrote: »
    But the server must somehow recognize whether a user does or does not have design permissions in their temp license. Is that checked on the SQL server?

    No, the server (the SQL Server) does not check or enforce anything. License permissions to create, change or delete objects are only checked inside the DEV Env.

    To make things more interesting - DEV Env will let you import a fob with objects outside your currently active license. It will also let you to load the fob if your license does not allow to modify any objects.

    Loading the fob results in the same database operations at SQL server level, as saving object changes in DEV Env, or compiling the object.
    Slawek Guzek
    Dynamics NAV, MS SQL Server, Wherescape RED;
    PRINCE2 Practitioner - License GR657010572SG
    GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-03

Answers

  • Options
    NeerajNeeraj Member Posts: 15
    HI,

    Check License in development as well as in RTC. If its changed then there will be difference in both the license.

    Regards,
    Neeraj Singh
  • Options
    PConijnPConijn Member Posts: 31
    Check License in development as well as in RTC. If its changed then there will be difference in both the license.

    Thank you Neeraj, but perhaps I have been unclear in explaining.

    While I can check both manually and the license in the RTC programmatically, I have not found a way to check the license in the Development Environment through code.

    I am looking for a way to automatically detect a change or read the license in the Development Environment.
    Kind Regards,

    Peter Conijn

    -The Learning Network-

  • Options
    PConijnPConijn Member Posts: 31
    Juhl wrote: »
    You cant, code is run on service tier and the loaded license there (rtc).
    The temp license doesn't run code anymore.

    I was afraid of that. But the server must somehow recognize whether a user does or does not have design permissions in their temp license. Is that checked on the SQL server?
    Kind Regards,

    Peter Conijn

    -The Learning Network-

  • Options
    PConijnPConijn Member Posts: 31
    Thanks for all your replies. It's clear that my initial approach will not work. I'm going to try another route.
    Kind Regards,

    Peter Conijn

    -The Learning Network-

  • Options
    PConijnPConijn Member Posts: 31
    Alright... going into pigheaded mode :p


    I created a logging method using SQL triggers and I'm being stubborn here.

    When an object is saved, that is obviously communicated by the Dev client to the SQL server. With the trigger, I can log which object has been changed when and by whom. I can also check whether that object matches the (customer) license in the SQL server.

    Does the Dev client at that point (INSERT INTO dbo.Object) provide any way to determine the license it used?
    Kind Regards,

    Peter Conijn

    -The Learning Network-

  • Options
    JuhlJuhl Member Posts: 724
    The license file is not human readable, and it can reside in both the database or in the sql system database. So it's some task you set yourself up to
    Follow me on my blog juhl.blog
  • Options
    PConijnPConijn Member Posts: 31
    What can I say? I like a challenge :wink:
    Kind Regards,

    Peter Conijn

    -The Learning Network-

  • Options
    Slawek_GuzekSlawek_Guzek Member Posts: 1,690
    It would be easier for us to suggest you some solution or alternative if you told us what do you try to achieve (the business goal, not the technical detail).

    What difference makes to you if an object has been modified with DEV or client license? The end result is the same - some object has been modified. The logging trigger on Object table will let you know by whom and when (although an object compilation also ends up with UPDATE on Object table, but in this case the object, its defnition precisley speaking, has not been modified).

    So again - what difference makes to you if an object has been modified with DEV or client license?

    Slawek
    Slawek Guzek
    Dynamics NAV, MS SQL Server, Wherescape RED;
    PRINCE2 Practitioner - License GR657010572SG
    GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-03
  • Options
    Slawek_GuzekSlawek_Guzek Member Posts: 1,690
    Answer ✓
    In addition to my previous post:
    PConijn wrote: »
    But the server must somehow recognize whether a user does or does not have design permissions in their temp license. Is that checked on the SQL server?

    No, the server (the SQL Server) does not check or enforce anything. License permissions to create, change or delete objects are only checked inside the DEV Env.

    To make things more interesting - DEV Env will let you import a fob with objects outside your currently active license. It will also let you to load the fob if your license does not allow to modify any objects.

    Loading the fob results in the same database operations at SQL server level, as saving object changes in DEV Env, or compiling the object.
    Slawek Guzek
    Dynamics NAV, MS SQL Server, Wherescape RED;
    PRINCE2 Practitioner - License GR657010572SG
    GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-03
  • Options
    PConijnPConijn Member Posts: 31
    edited 2017-08-07
    We have been detecting changes in our deployed solutions that we have not made and that cannot be done with a client license (our clients are not always aware of said changes either). We are trying to glean more information on how these changes occur.
    Kind Regards,

    Peter Conijn

    -The Learning Network-

Sign In or Register to comment.