Worklist Service Broker

  • 12 November 2009
  • 34 replies
  • 471 views

The Worklist Service Broker enables the retrieval of user(s) work list items so that you can quickly create custom work lists and reports that incorporate standard work list data with line of business data within the same view. This can be accomplished by using one of the two service objects provided as the basis for your SmartObject methods and then by building a composite SmartObject that contains the additional data you would like to incorporate resulting in a custom work list. In addition, y


34 replies

Badge +3

Hello,

 

I'm using v0.5. I think this is the latest one.

I'm facing weird issue. It works fine on Dev environment. (single server).

 

On production env. (WFE + APP), I installed on app server. Service Acc has impersonation rights & given that in connection strings as suggested by  

 

 

 

 

 

 

@SatyaK2,



 



K2 Cloud does not support addition of custom brokers as per: https://help.k2.com/k2/feature-matrix



 



Regards,



Colin

Hi All,

 

Is this K2 Cloud ready or rather can it be used in K2 Cloud ?

 

Thanks and Regards,

Satya

@TiffBlue12

 

Did you come right with this yet?  What you could consider doing is creating a little console application for the pursposes of testing.  Add references to SourceCode.HostClientAPI and SourceCode.Workflow.Client. Try opening a connection to the K2 server using your connection string (Connection.Open()).  I've done so with your connection string which works.   If the issue persist then please call support.  While components on community are generally unsupported your console application would be supported.  

Hi guys,

Any other ideas why I have the same connection string but still not giving me anything back?  K2 SQL permission? K2 Workspace permission?

Thanks Tin and Khanh!  Here is what I have now but still not working. :(

 

Integrated=True;IsPrimaryLogin=False;Authenticate=True;EncryptedPassword=False;Host=MyK2ServerName;Port=5252

Integrated=False;IsPrimaryLogin=True;Authenticate=True;EncryptedPassword=True;Host=MyK2ServerName;Port=5252;WindowsDomain=US;UserID=USK2ServiceAccount;Password=myK2ServiceAccountPassword

 

 

Userlevel 6
Badge +15

I ran a quick test, it should work.



 



Authentication Mode: Impersonate.




Below is my connections Strings:



 



Integrated=True;IsPrimaryLogin=False;Authenticate=True;EncryptedPassword=False;Host=localhost;Port=5252



Integrated=False;IsPrimaryLogin=True;Authenticate=True;EncryptedPassword=True;Host=localhost;Port=5252;WindowsDomain=MyDomain;UserID=DenallixK2Service;Password=put_password_here

I implemented this broker and noticed that the Impersonate connection string may need to include the domain in the 'UserID' parameter, I.e.:



 



Integrated=False;IsPrimaryLogin=True;Authenticate=True;EncryptedPassword=True;Host=K2ServerName;Port=5252;WindowsDomain=MyDomain;UserID=MyDomainSvcAccount;Password=password



 



I assume when calling the methods, the user that the k2 service account should be impersonating is also specified in the 'User Name' input property?  And that this username is also correct/owns worklist item?



 



Because it looks like you can specify any string in this 'User Name' input properties and it will not throw error even if the string is incorrect.

Thanks Tin!  I changed it to false but still not working yet.

 

I am not too familiar with with broker, but usually when specifying the 'UserID' and 'Password' parameter for a connection string, you would want to set 'Integrated=false' so it uses those values instead of Integrated windows authentication.

Could someone help me please?

 

I'm using the Worklist Service broker v0.5, but when I excecute Load Worklist Item, I dont get anything back.

K2 version 4.6.11

My Login and Service Accounts have Permissions to the Workflow Server Rights "Impersonate"

 

Authentication Mode: Impersonate

Connection String: Integrated=True;IsPrimaryLogin=False;Authenticate=True;EncryptedPassword=False;Host=K2ServerName;Port=5252

Impersonate Connection String: Integrated=True;IsPrimaryLogin=True;Authenticate=True;EncryptedPassword=True;Host=K2ServerName;Port=5252;WindowsDomain=MyDomain;UserID=SvcAccount;Password=password

 

Thank you so much!

As the author and maintainer of this code I can assure you it will.

Will this work with 4.7?

Let's be clear there are two seperate issues here. To verify that the Worklist Service broker is functioning correctly you can use the SmartObject Tester Utility to execute any of the service methods.  For example Basic Worklist Item.Get Worklist Items should return a list of tasks if you indeed have any tasks on your work list. Due to the error message you posted I suspect the broker is executing without issue.

  

It looks to me like your getting a binding error on your view. Most of the time, but not always, the only property that will contain an '=' character is the Link property which is a Hyperlink type.  Hyperlink properties contain a display value in addition to the actual hyperlink itself. 

 

Could you first attempt to remove this property from the view and try running your view again? Via a process of eliminiation you should be able determine the offending property. Additionally are you passing the property value through any Inline Functions?  

'=' is an unexpected token. The expected token is ';'. Line 1, position 354.
 
  • Type:
    System.Xml.XmlException
  • Source:
    System.Xml
  • Method Base
    • Member Type:
      Method
    • Name:
      Throw
    • Module
      • Scope Name:
        System.Xml.dll
    • Declaring Type
      • Full Name:
        System.Xml.XmlTextReaderImpl
  • Stack Trace:

    at System.Xml.XmlTextReaderImpl.Throw(Exception e)

    at System.Xml.XmlTextReaderImpl.HandleEntityReference(Boolean isInAttributeValue, EntityExpandType expandType, Int32& charRefEndPos)

    at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)

    at System.Xml.XmlTextReaderImpl.ParseText()

    at System.Xml.XmlTextReaderImpl.ParseElementContent()

    at System.Xml.XPath.XPathDocument.LoadFromReader(XmlReader reader, XmlSpace space)

    at System.Xml.XPath.XPathDocument..ctor(TextReader textReader)

    at SourceCode.SmartObjects.Client.SmartHyperlinkProperty.GetRuntimeData(String value)
Any idea what this error is about. I get it when i create a view using details worklist.
'=' is an unexpected token. The expected token is ';'. Line 1, position 354.

Can anyone help me how to associate action item for this worklist?

Yes it will pcorearusa, no change at all.

 Is this going to work for 4.7?

Hi Neville1,

 

When performing an upgrade of K2 platform it is recommended to plan it properly and test if first on a development or staging environment to validate that the upgrade goes smooth and doesnt cause any collateral issues. In the eventuality of facing issues, support should help you get you system back online and running properly.

 

However custom made and community components like this Worklist Service Broker are not supported by K2.  We are not responsible to upgrading community components or make them compatible with newer versions of K2.  The source code is avaialble here for download so that our customer, partners and developers can change it and  fix it. You can engage with our Professional Services organization who can help you fix an issue in a custom component. The Worklist Service Broker comes with the source code so it should be easy to debug and fix.

 

This component is an extension of the K2 platform, therefore the platform should work properly without it. If it causes issues, you should be able to remove it and continue working with the out-of-the-box K2 components. However I understand you might have use this component to build a more complex solution on top of it and this might be causing problems in your payroll system.

 

Please contact your local sales representative to get further assistance if needed. https://www.k2.com/about-k2/the-company/global-contacts

Worklist Service Broker for K2 ver 4.7

 

Hi  

 

I wanted to find out if you do not have the updated version of the Worklist Service Broker for K2 Blackpearl v4.7. We upgraded about two weeks ago and our whole sistem went down and our companyi s not able to work at all and our payroll is also messed up now. K2 Support has been trackign the source off the issue we having and we just narrowed it down to the Worklist service broker that is not companbel with the new k2 version 4.7 

 

Woudl you be abel to assist us with a new version of this Worklist broker

Thanks Moises, that's exactly what it was!  We're now installed!

 

Once again many thanks!

 

Paul.

Hi Paul,

 

Have you checked that the DLL is not blocked? Navigate to the folder where the DLL is (ServiceBroker folder), right click and select properties. In the properties window, in the General tab, at the bottom, if you see a button that says "Unblock", then its a blocked DLL. Click the button and try again.

 

Hope this solves it. Regards,

 

Moises

Can anyone help?

 

We've installed the dll "SourceCode.SmartObjects.Services.WorklistService.dll" version 0.5 on a development server, copying it into the service broker directory under the Blackpearl directory but the service does not show up as a type that ias available for registration in the Smart Object tester.  We're running Blackpearl 4.6.11.

 

We followed the instructions from here - http://help.k2.com/onlinehelp/K2blackpearl/DevRef/current/default.htm#RegisteringCustomServiceBrokers.htm

 

I've tried also installing it via the Broker Manager but when trying to create a new instance again within the Smart Object tester it fails with the exception as shown below.

 

Can anyone shed any light on what we're missing or if this works with the K2 4.6.11?

 

Thanks,

 

Paul. 

 

Has anyone tried to use the worklist service broker on a multi-servers environment? Our workflow server and the IIS server are separate. I can't get the worklist object to retrieve anything in the SmartForm. I am thinking the connection string is the issue, but I don't know which server and what credential should be in the connection string.

Reply