VAF Asynchronous Operations Dashboard Question

Hello,

I don't have any issues making my task run and performing actions but I am wondering how I can hide the dashboard created(or not create the dashboard) if something like "Enabled" in my configuration is set to No:

See:

I have my TaskQueue and TaskProcessor:

I just don't want to show the dashboard if enabled = No. Not sure where to hide or perhaps not stop the creation based on that configuration attribute.

Thanks,

Mitch

Parents
  • Hide the entire dashboard, or just one queue/processor?

    To hide a single queue or processor you can use the [HideOnDashboard] attribute: VAF.Extensions.Community/MFiles.VAF.Extensions at master · M-Files/VAF.Extensions.Community (github.com)

    If you want to hide the entire section then the advice depends on the exact version of the extensions you're using.  If you are using the latest pre-release (or the release that's made later today) then you could override GetAsynchronousDashboardContent and return null: VAF.Extensions.Community/ConfigurableVaultApplicationBase.GetDashboardContent.cs at new-vaf-release · M-Files/VAF.Extensions.Community (github.com)

  • In addition to my reply previous, is it possible to clear the dashboard of all errors via code(or even via the admin?). I have not found a way to clear the dashboard. The problem is sometimes errors occur, and that is fine, but we don't want them to show in the dashboard. The dashboard itself is great but we want to throw the errors ourselves in a different manner not visible to the users.

    Thanks,

    Mitch

  • Do you mean that you want to remove tasks that have been marked as errored from the queue?  If so then there is no direct method to do so (even natively via the API).  The server will clear the queue down periodically.

    I guess you have a few options:

    • When you process the task do not allow it to be marked as failed; trap all exceptions, log them, then allow the task to be marked as completed.
    • When you process the task, trap exceptions and carefully choose what the re-queue or re-try behaviour should be (so that any transient errors - assuming that's what they are - are not shown as failures).
    • Override the Extensions library functionality to hide failed tasks (I don't recommend this).
    • Override the Extensions library and build your own table for the task content instead, hiding and showing content as you need (I don't recommend this).

    I personally don't really understand the concept of "The problem is sometimes errors occur, and that is fine, but we don't want them to show in the dashboard": for me the dashboard is a place where administrators can see the status of the application; if there are errors then there are errors.  If the errors are transient then use the requeue functionality to stop them being dealt with as full errors.

Reply
  • Do you mean that you want to remove tasks that have been marked as errored from the queue?  If so then there is no direct method to do so (even natively via the API).  The server will clear the queue down periodically.

    I guess you have a few options:

    • When you process the task do not allow it to be marked as failed; trap all exceptions, log them, then allow the task to be marked as completed.
    • When you process the task, trap exceptions and carefully choose what the re-queue or re-try behaviour should be (so that any transient errors - assuming that's what they are - are not shown as failures).
    • Override the Extensions library functionality to hide failed tasks (I don't recommend this).
    • Override the Extensions library and build your own table for the task content instead, hiding and showing content as you need (I don't recommend this).

    I personally don't really understand the concept of "The problem is sometimes errors occur, and that is fine, but we don't want them to show in the dashboard": for me the dashboard is a place where administrators can see the status of the application; if there are errors then there are errors.  If the errors are transient then use the requeue functionality to stop them being dealt with as full errors.

Children
No Data