Jump to content

Headless mode when calling VIPM through the API


Recommended Posts

When using VIPM via its API on our build servers, we're running into problems every now and then with popups VIPM displays for any updates available. The popups will block the process and finally lead to a failing pipeline (timeout).

image.png

While this can be worked around or avoided by disabling update checks in VIPM's options...

image.png

...it would be so much nicer if there was a true headless mode. That way, forgetting to configure VIPM as above would not result in timeout errors. Also, there might be other popups which can not be avoided through the current configuration options.

Maybe this headless mode could be automatically invoked when starting VIPM from the API, or be made accessible through an API endpoint (turn on/off).

 

  • Like 1
Link to comment
Share on other sites

@Joerg Hampel great ideas!

One question that came to mind is about which API a method is being called and whether it’s being called with the quiet/silent argument was set to TRUE.

The intended behavior is that the quiet/silent argument will suppress all dialogs. However, it’s totally possible that some of these dialogs may have slipped through the cracks — that would be a bug.

Thanks,

Jim

Link to comment
Share on other sites

I was not aware of the silent argument! Here is the part of our code that starts VIPM if it's not running already:

image.png

How or where would we invoke the silent argument? Or is it built into the Open VIPM API call?

And as I'm looking at this, I imagine it could happen that a user opens VIPM manually, which would probably result in VIPM running without said argument. Would it be possible to switch the "silent mode" on via API while VIPM is already running?

Link to comment
Share on other sites

Now that you point it out, I see those "quiet?" inputs. Thanks for pointing that out!

I can see the "quiet" input for the "Apply VIPC File" endpoint, but not for "Build Package" (and others, like you said).  

Seeing as it takes quite some time to start up VIPM, we implemented our tools to check if it's running (and start it if not), but not to exit it after finishing. That way, the next pipeline run should be faster as it doesn't need to start VIPM again. The problem here is: If a user starts VIPM on the build server manually, and it's not configured to not check for updates, there's probably not much we can do from our tools after the fact (ie after VIPM has been started).

Unless there was an API endpoint for enabling the "quiet" mode globally for all of VIPM. Or would it be possible to add an API endpoint for disabling the check for package and VIPM updates? I think that would be best for our specific use case.

Edited by Joerg Hampel
Link to comment
Share on other sites

I'm wondering if it would make sense for your build tools to check and set the appropriate keys in VIPM's settings file?

C:\ProgramData\JKI\VIPM\Settings.ini

[General]
check for updates on startup?="FALSE"
Check new ver. of App. on startup?="FALSE"

You could check these and set them, prior to launching VIPM (when you detect that VIPM is not already running).

Something like this:

image.png

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.