You are viewing limited content. For full access, please sign in.

Question

Question

Workflow - Entry Changed but Not Deleted

asked on September 5, 2019 Show version history

I setup a workflow with a starting rule for Entry Changed. But whenever someone Deletes an Entry it triggers a change, which causes workflow to throw an error in the event log that it can't find the entry to start the workflow on.

How do you state on Entry Changed but NOT Deleted?

0 0

Replies

replied on September 2, 2020

I have a customer that is getting a bunch of terminated workflows every day and this is the same issue as above. They have a starting rule for the "Change" event, with some generic rules which look fine. We looked at Audit Trail and there was NO changes done to the entry around this time, only a delete event and we noticed that the workflow is triggered at the exact same time to the millisecond. 

The message is "Entry not found". The workflow is triggering by the "Change" starting rule. 

Is there a way we can restrict the starting rule from triggering upon a delete? I noticed there are options for when pages, tags or templates are deleted, but not actual entries. 

Any help would be appreciated as it just looks awful when they go into the reporting daily to see if there are any terminated workflows. 

 

Thanks

 

1 0
replied on September 11, 2019

Did you look in the Subscriber Trace to confirm there were no entry change events before the deletion? Did you confirm there are no starting rules for entry deletion?

0 0
replied on September 11, 2019 Show version history

It is never listed in the subscriber trace, likely because we have no rules with a condition for Entry Deleted.

For example, here is a recent one posted at

9/11/2019 3:51:59 PM

  <Message>Entry not found. [9001]</Message>

    <Property name="ID">49307</Property>

    <Property name="RuleName">FC - Child Database Update (2)</Property>
    <Property name="WorkflowName">FC - Child Database Update</Property>

There are only 2 logs in the trace at that time and neither for this entry.

Edit:

Just to be clear this is not an "Entry not Found" as part of a workflow that is in process, when a user deleted the entry. The errors are being sent from the subscriber and there is no actions taking place with this workflow past 11:55AM.

0 0
replied on September 11, 2019

Oh, it sounded like you were saying you have workflows starting when an entry is deleted.

The Subscriber may report these errors as part of its normal operation (if there's a wait condition on an entry and  that entry is deleted, or if there's a backlog on processing events and by the time the Subscriber gets to process the event, the entry is gone).

0 0
replied on September 11, 2019

Ok, I am familiar with the wait/entry deleted. That will also show up in the workflow logs itself, showing the workflow had to terminate which is good.

This must be a backlog issue. It posts this message all day long so IT was bugging me about it.

It is clear that it is working properly, it is just trying to perform actions on deleted entries even when there is no actions defined.

0 0
replied on September 11, 2019

Can you post the whole stack trace so we can tell what it was trying to do?

You can probably confirm the backlog theory with Audit Trail. You have the entry ID and the time Workflow tries to look for it, check when it was deleted.

0 0
replied on September 13, 2019

Oh they don't have audit trail. Here is the entire stack trace and the rule that is throwing the error

 

    <info name="AppDomainName" value="Laserfiche.Workflow.Subscriber.exe" />
    <info name="ThreadIdentity" value="" />
    <info name="WindowsIdentity" value="NT AUTHORITY\SYSTEM" />
  </additionalInfo>
  <InnerException>
    <ExceptionType>Laserfiche.RepositoryAccess.ObjectNotFoundException, Laserfiche.RepositoryAccess, Version=10.4.0.0, Culture=neutral, PublicKeyToken=3f98b3eaee6c16a6</ExceptionType>
    <Message>Entry not found. [9001]</Message>
    <Source>Laserfiche.RepositoryAccess</Source>
    <HelpLink />
    <Property name="ErrorCode">9001</Property>
    <Property name="ID">50396</Property>
    <Property name="RuleName">FC - Child Database Update (2)</Property>
    <Property name="WorkflowName">FC - Child Database Update</Property>
    <Property name="TargetSite">Laserfiche.RepositoryAccess.EntryInfo GetFromServer(Laserfiche.RepositoryAccess.HttpUrl, Int32, Boolean, Laserfiche.RepositoryAccess.Session)</Property>
    <Property name="HResult">-2146233088</Property>
    <StackTrace>   at Laserfiche.RepositoryAccess.Entry.GetFromServer(HttpUrl url, Int32 type, Boolean throwOn404, Session session)
   at Laserfiche.Connection.Lfso.RepositoryAccess91.LFDatabaseRA.GetEntryById(Int32 id)
   at Laserfiche.Workflow.Runtime.LaserficheEntryEvent.EnsureEntryLoaded()
   at Laserfiche.Workflow.ComponentModel.Conditions.Rules.EntryTemplateRule.Evaluate(IServiceProvider provider, LaserficheEntryEvent entryEvent, ConditionTraceContext context)
   at Laserfiche.Workflow.ComponentModel.CompositeConditionEx.Evaluate[T](IServiceProvider provider, T theEvent, ConditionTraceContext context)
   at Laserfiche.Workflow.ComponentModel.CompositeConditionEx.Evaluate(IServiceProvider provider, LaserficheEntryEvent entryEvent, ConditionTraceContext context)
   at Laserfiche.Workflow.Subscriber.Runtime.Evaluators.StartingRuleEvaluator.EvaluateRule(ConditionStartingRule startingRule, LaserficheEntryEvent entryEvent, String&amp; evaluationLog)
   at Laserfiche.Workflow.Subscriber.Runtime.Evaluators.StartingRuleEvaluator.EvaluateRules(EvaluationItem item, LaserficheEntryEvent entryEvent, List`1 startingRules)</StackTrace>
  </InnerException>
</Exception>

0 0
You are not allowed to follow up in this post.

Sign in to reply to this post.