3 Replies Latest reply on Sep 30, 2014 5:04 AM by BrettA

    Application Level - userInteractionLevel

    BrettA Level 1

      Hi, currently I'm working with a few remote merge servers that are running CS5, they always get caught up on "missing font" dialogs, and we could care less... It's our prepress department that works on maintaining a clean font set. The servers are only combining documents and / or running data inserts.

      I'm looking for a simple way to suppress the warning dialogs on these machines running ID.


      app.scriptPreferences.userInteractionLevel = UserInteractionLevels.NEVER_INTERACT;


      seems to only set the (never) interact while that specific script is running... and cannot toggle between a more permanent change so the whole time InDesign is active to switch between  NEVER_INTERACT and INTERACT_WITH_ALL.


      Has someone come across a plugin or a functional script that can accomplish this?


      It could be fixed w/ font management on the server, or changing the script that does the merge, yet there is a long wait to get help from that department... and I was just looking for a quick fix...


      Thank you very much for any insights!

        • 1. Re: Application Level - userInteractionLevel
          TᴀW Adobe Community Professional & MVP

          I don't follow: If it is so that the Never Interact is only for the

          duration of the script, what is the problem in setting that pref each

          time the script runs?

          • 2. Re: Application Level - userInteractionLevel
            TᴀW Adobe Community Professional & MVP

            In any case, the app.scriptPreferences.userInteractionLevel is a

            scriptEngine-based preference.


            That is, each script engine has its own setting for this preference.


            Because apart from that, the pref certainly does not change when the

            script ends. In fact, setting it back to its previous value is something

            that every script that changes it has to be careful to do.

            • 3. Re: Application Level - userInteractionLevel
              BrettA Level 1

              Thanks for the reply Airel,

              "what is the problem in setting that pref each time the script runs?"

              It's our company access... remote servers build our documents and we VNC monitor about 10 different ones (which often during the day hang on warning dialogs). Getting access to the scripting and backend of the workflow, would be jumping through hoops and would likely not happen... per co-workers and my past experiences. Since we can VNC into them... I was wanting to stuff an "on application start" script, plugin, or some unkown option to me, etc... that suppress "ALL" warning dialogs permanently for InDesign. It would be (100%) totally fine if it ignored missing fonts and un-linked images, since our pre-press department has the fonts and directories to images properly setup. For example having to micro-manage these server with fonts to appease the "missing font" situation is troublesome, we are without font clients for our "Suitcase Server" on these machines and the auto-activation time "per" document would likely be another issue. Another single example would be the various versions of "Arial" floating around, some of our templates have one version, but even comparing deep level "properties" on the Arial font it somehow prefers a duplicate version that we have elsewhere. So it's troubleshooting every little issue and then having to mirror all the servers. A simple turn "off" warnings would be cake.


              Although the simple script of "app.scriptPreferences.userInteractionLevel = UserInteractionLevels.NEVER_INTERACT;" does not stick (non-permanent)


              The following script works so, I've proved to myself that the "UserInteractionLevels.neverInteract" is only active during the script's runtime.


              //DESCRIPTION: Open Doc with No Warnings

              if (app.version == 5.5) {

                app.userInteractionLevel = UserInteractionLevels.neverInteract;

              } else {

                app.scriptPreferences.userInteractionLevel = UserInteractionLevels.neverInteract;


              var myFile = File.openDialog("Choose InDesign document to open");

              var myErr = "";

              if (myFile != null) {

                try {


                } catch (e) {

                  myErr = e;



              if (app.version == 5.5) {

                app.userInteractionLevel = UserInteractionLevels.interactWithAll;

              } else {

                app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;


              if (myErr != "") {