context.workflow.last.editor.name is "knime" in Knime Server instead of the last author name

Extract Context property node doesn’t reflect the last author name when execute in server. When run locally the last author name will be my name but once deployed in Knime server then the value would be “knime”

I’m storing this value in a DB for each execution to know who deployed and last updated date of workflows in Knime Server

True, extract context properties might lack some desirable information when it comes to server side execution. For your specific usecase instead of running an extract contact properties node, you could query the :snapshots endpoint of the workflows REST api, i.e. knime-server-address/knime/rest/v4/repository/path-to-your-workflow:snapshots

This gives you all the metainformation about snapshots and from those you can extract the last changed date, the user that changed the workflow etc.

2 Likes

Thank you for following up on this. But I do consider this as a bug because I should expect a consistent behavior between Local and Server deployment. This information is critical while using Knime server in production.

Regarding REST API call. I don’t like one aspect of it which is I need to store Knime Server Credentials in the workflow and to me this is a big concern.

Can you share an example on how to get last updated date and last uploaded by using REST API?
Is there a way to get this information from Knime Server without inserting Knime credentials (just like context properties)?

Can you share an example on how to get last updated date and last uploaded by using REST API?
Is there a way to get this information from Knime Server without inserting Knime credentials (just like context properties)?

I’ve created a workflow that leverages two api endpoints of KNIME Server to gather meta-information on the workflow and its snapshots: https://kni.me/w/DP_dyU3zr6VZ71Cx

Unfortunately, if no snapshot is created on workflow upload, we can only see when the workflow has been changed last, but not by whom. This is a shortcoming that we’ll address in the upcoming release with a new feature that allows enforcing creation of snapshots.

Regarding your concerns about credentials: With Credentials Configuration node credentials can be provided via the execution dialog and do not need to be saved with the workflow.

Thank you for your response. I would sure need these new features as they are important to us.

I’m having issues executing REST API flows after deploying them to server!

Your workflow works fine when I execute it from local workspace but I’m having errors when I try to execute in Knime Sever after deploying it.

I’ve tried to let the user input the username and password but I get the below error when I try to save to server:

ERROR AbstractWizardNodeView Could not set error message or trigger re-execution: Problem saving view value to server.

Also I tried to use Get node username and password as another option but I’m getting the below error. As if I can’t call any REST API from knime server itself.
ERROR GET Request 2:210 Execute failed: connect timed out

Do you have an idea how to solve this?

Fyi. I’m using Knime Server Large with distributed executors

Hi Marten,

Have you come across “ERROR AbstractWizardNodeView Could not set error message or trigger re-execution: Problem saving view value to server.” and how to solve it?

Are you using the workflow I uploaded to the hub or a different one? Because it looks like you are using widget nodes inside a component and then trying to set values in the composite view via remote workflow editor, which is not possible yet. The workflow I’ve uploaded uses configuration nodes instead, which can either be set via execution dialog.