Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at

  • Andrew Macdonald 18 posts 47 karma points
    Feb 15, 2013 @ 11:38
    Andrew Macdonald

    A few issues/suggestions



     I've now finished implementing a system with the assistance of your workflow package, and I must say that for most of it - the experience has been a good one.

     However there are a couple of things that have blown up and a little niggle on my part...

     Issue 1 - On a couple of occasions, I've had the recent changes tab not load (showing an exception instead) stating that it could not find a node id... Looking at the code it would appear that you are looking through the audit log for the display info... Can I suggest that you include a guard clause that skips over any id's that cannot be hydrated?

     Issue 2 - On a few occasions (mostly because the db has lost sync with the serialized workflow objects) the workflow editor fails to load reporting that a key could not be found in the points collection.. again looking at the code it appears that while the points are stored in the db and the workflow config in binary serialized objects - there is a chance that the correct set of points can become lost... in this case I would suggest checking for the existence of the key and if not found then create a set of points for the workflow task so that at least authors can see the editor and move tasks into the correct place.

     Niggle 1 - I heavily use SCM for my code base and really appreciate the ability to diff between versions of code... to this point I use courier to export out the content etc into xml for storage in the SCM... could you provide a configuration option to allow serialization of the workflow as xml instead of binary?


     Thanks for a great product


  • Darren Ferguson 1022 posts 3259 karma points MVP c-trib
    Feb 15, 2013 @ 14:09
    Darren Ferguson

    Thanks for your feedback!

    On the first point - if you could give me a screengrab or a stacktrave we'll make the fix.

    Intreresting issue with point getting lost - I've never seen this - do you have any steps to reproduce?

    Finally, Serialising to XML is probably unlikely to happen mainly because we have to serialise types provided by 3rd parties (custom tasks) and there are definitely limitations on what can be simply serialised to XML - for example collections can be complicated.

  • Andrew Macdonald 18 posts 47 karma points
    Feb 15, 2013 @ 15:07
    Andrew Macdonald


     Thanks for the quick reply..

      The stack trace is as follows....

      Could not load control: '/usercontrols/fmworkflow/RecentContent.ascx'.

      Error message: System.ArgumentException: No node exists with id '1155' at umbraco.cms.businesslogic.CMSNode.setupNode() at umbraco.cms.businesslogic.web.Document.setupNode() at umbraco.cms.businesslogic.CMSNode..ctor(Int32 Id) at FergusonMoriyam.Workflow.Umbraco.Web.Ui.RecentContent.OnInit(EventArgs e) at System.Web.UI.Control.InitRecursive(Control namingContainer) at System.Web.UI.Control.AddedControl(Control control, Int32 index) at Spring.Web.Support.ControlAccessor.AddedControl(Control control, Int32 index) at Spring.Web.Support.SupportsWebDependencyInjectionOwnerProxy.AddedControl(Control control, Int32 index) at System.Web.UI.ControlCollection.Add(Control child) at umbraco.cms.presentation.dashboard.OnInit(EventArgs e)



    As for the second issue, I think the best steps to reproduce (and possibly why I noticed it so much)..

     - Create a workflow with some tasks in it, save the editor

     - Backup the Umbraco database

     - Modify the previous workflow, adding new tasks, saving the workflow.

     - Shutdown the website, freeing up the db connections

     - Restore the backup of the db... (This mimics copying the workflow from dev to qa,uat or production without taking the exact db instance across)

     - spin up Umbraco back office and head over to the workflow editor.. Watch it blow up with the following stack trace...

    Server Error in '/' Application.

    The given key was not present in the dictionary.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

    Exception Details: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.

    Source Error: 

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace: 

    [KeyNotFoundException: The given key was not present in the dictionary.]
       System.Collections.Generic.Dictionary`2.get_Item(TKey key) +10711577
       FergusonMoriyam.Workflow.Ui.Factory.UiWorkflowTaskCollectionFactory.Create(IEnumerable`1 tasks, IPointCollection pointCollection) +196
       FergusonMoriyam.Workflow.Umbraco.Web.Ui.EditDesign.OnPreRender(EventArgs e) +192
       System.Web.UI.Control.PreRenderRecursiveInternal() +83
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +974


    As for the xml serialization, fair point :)

  • Darren Ferguson 1022 posts 3259 karma points MVP c-trib
    Feb 21, 2013 @ 16:56
    Darren Ferguson

    Thanks for this - I am planning to do some work on this in the coming days so will try to address your concerns.


  • Nicolás Cova 48 posts 120 karma points
    May 27, 2013 @ 20:27
    Nicolás Cova

    Hey you guys, I'm having Andrew's first issue all the time lately. Is there anything I can do to fix it or patch it up quickly?

  • Darren Ferguson 1022 posts 3259 karma points MVP c-trib
    May 29, 2013 @ 13:23
    Darren Ferguson

    Hi - sorry - I will try and spend some time on this tomorrow.

    Many Thanks.

Please Sign in or register to post replies

Write your reply to: