Thanks to MikeT, here is a big list of good stuff...
Available Content for Self-study
Whitepapers -- available on K2.com and k2underground.com
> Kerberos, SharePoint, SmartObjects, Visual Studio, .NET, Planning, BPM, Office
> Technical Articles with Step-by-Step: Custom Wizard, Custom Service Object
Getting Started Guide
> Planning, Installation and Configuration, Troubleshooting
Tutorials
> Step-by-step instructions for Web Workflow, SharePoint Lookups, SmartObjects, Visio, Visual Studio, InfoPath
User Guide
> Every Wizard (source for product information (I) buttons)
Developer Reference
> Creating, Accessing and Managing Processes & SmartObjects
> Extending the Event Bus
> Architecture
> Class Library and Database Reference
Training (CURRENTLY ENROLLING -- CONTACT YOUR SALES REPRESENTATIVE)
> K2 101, feature based training
> Infrastructure, distributed environment installation
Videos/MP3
> How-To K2 (video blog on K2Underground)
> Why K2? (podcasts on K2Underground)
Blogs
> K2 Consultants and Technical Specialists
> From the bench
> Pitchblack
> Ramble On
> Chris Geier (author of How-To K2)
> Johnny Fang
> Jey Srikantha - http://srikantha.wordpress.com/
> Insider Blogs
> Bob Mixon -- http://bobmixon.com
> Daniel Gocsman -- http://danielgocsman.com
> dev[k2].net -- http://www.devk2.net
> Igor Macori -- http://blogs.devleap.com/igor
> K2.NET BLACKPEARL -- http://charlesemes.blogspot.com
> naked programmer -- http://nakedprogrammer.blogspot.com
> No Intelligent Life -- http://blogs.msdn.com/pandrew
> Sergio Del Piccolo -- http://delpiccolo.com
> Stumbling Through -- http://blogs.claritycon.com/blogs/tim_byrne/default.aspx
> [security through absurdity] -- http://choosing-a-blog-url-sucks.blogspot.com
> Jason Apergis -- http://k2distillery.blogspot.com/
> Colin Murphy -- http://www.k2thought.com/
KB articles
> RSS Feed
Discussions
> K2underground
Demos
> Denallix VPC with requirements docs
Sample Projects
> blackmarket projects
|
SourceCode.Logging Plug-in |
The SourceCode.Logger Extension is a customized logger that plugs into K2 [blackpearl]'s logging architecture. This extension will listen for K2 [blackpearl] Server messages of a specified Severity type and alert specified users when a message is logged. |
|
ADInterop |
A Service Object that has read and write capabilities for Active Directory |
|
SharePoint Users in Groups ServiceObject |
This ServiceObject when wrapped in a simple SmartObject allows you to leverage SharePoint Groups as the souce for your blackpearl Roles. In doing so you can use SharePoint Groups in your destination rules. |
|
ASPX Controls for [blackpearl] |
A library of custom controls that can be used to workflow-enable nearly any ASPX page with little or no coding. The submit control encapsulates many features that developers normally repetitively code on each web page. Once connected to the workflow server, the control will automatically display all actions defined for the activity. The user can then choose an appropriate action and submit, with no code required by the developer. Page-to-page flow (without making the user go back to the worklist) can easily be enabled by using metadata in the workflow process. Pageflow allows you to build a set of pages that will be presented to a user in a sequence determined by the workflow to gather information in a wizard-like fashion. |
|
Service Object Generation Engine (SOGE) Visual Stu |
The Service Object Generation Engine (SOGE) is a tool which can be used to create blackpearl Service Objects based on SQL Data Objects. SOGE is wrapped in a Visual Studio 2005 AddIn. Additional help and instructions can be viewed by moving the mouse over question mark icons, once the Addin is executed. |
|
K2 [blackpearl] Dynamic SmartObject Services |
A full example of how to implement services for SmartObjects including transactions, exception handling, discovery and execution. |
|
K2 [blackpearl] AJAX, ASP.net API Example |
A fully functional Microsoft AJAX and ASP.net enabled application which shows how to interact with K2 [blackpearl] via the API's. API’s demonstrated are:
• Worklist API with search criteria
• Process Management API
• Reporting via Microsoft SQL Server Reporting Services (“SSRS”)
• SmartObjects with a dynamic user interface based on the entity meta-data. This caters for associations and validation
All K2 specific code has been relocated to a helper class called Common which manages connections and builds dynamic interfaces. This class has been designed to be added to subsequent projects along with its supporting javascript file and stylesheet. |
|
Custom Event Wizard Example |
A fully functional custom event wizard for use in Visio and Visual Studio when designing K2 processes. This wizard provides generic form capability and integrates with the K2 API Example site's GenericForm.aspx to provide a single form which is driven by the wizard settings for displaying K2 process data and interactions.
In short, allows you to have a single ASP.net form which is controlled using an XML schema to form the UI for all processes. |
|
ServiceObject GUID Updater |
When a SmartObject is created it is bound to the GUID of the underlying ServiceObject instance for that specific environment. This binding exists within the SmartObject file (.sodx). When the SmartObject file is moved to a different environment this ServiceObject Instance GUID is no longer valid and thus the SmartObject effectively loses its binding to the underlying ServiceObject instance.
This utility attempts to alleviate this issue by converting the ServiceObject instance GUIDs in the SmartObject file. This utility requires the underlying ServiceObject instances to be created and configured with identical names between environments.
In the example provided this document ‘Dynamic SQL Service” and ‘Web Service’ ServiceObject instances have been created. Each must have an identical ServiceObject instance name in both environments; however the actual non-name configurations may point to different backend systems. The requirement to name them identically is to permit this utility to match the GUIDs be |
|
K2 blackpearl Kerberos Configuration Wizard |
Wizard driven application for configuring Kerberos in all K2 blackpearl installation scenarios. |
|
SmartObject Documenter |
This is an AJAX project that documents SmartObjects in HTML. This can be modified to produce PDF documents and word Documents. |
|
Custom Event Wizard Example: Goto Activity |
A custom event wizard that implements the goto activity function. Although using goto can have drawbacks when it comes to reporting, it can be useful when you want to cancel parallel execution paths. This example is based on the soon to be released K2 201 training material and comes with source code and installer package. |
|
blackpearl Tasklist Outlook 2007 Add In |
A native outlook Add-in developed with VSTO for VS2005 SE.
This is a simple add-in that surfaces the K2 tasklist as outlook tasks in a custom folder in the outlook inbox. Almost all of the import properties are meaningfully represented through default outlook fields, but this does not offer the advanced features of the worklist (yet) |
|
WCF Service Wizard |
A K2 wizard which dynamically interrogates the WSDL for a WCF service and allows the developer to call a method, passing in K2 fields without any custom code. Provides native support for MSMQ bindings as well as asynchronous responses. |
|
BPEL to kprx converter |
This program will convert a BPEL file (exported from ARIS) to a K2 [blackpearl] process. |
|
Word 2007 - SmartObject Merge |
The Word-SmartObject Merge project shows how to perform a "Mail Merge" with SmartObject data using a Service Object to wrap the Word document. This can be useful if letters need to be dynamically generated within K2 [blackpearl] from SmartObject data. |
|
Dynamic Access Service |
This Service Broker example connects to any Micrsoft Access Database and provides standard methods typically found in a SmartObject for any Access Table. (95 to 2007 Access Versions). Some known issues is supporting Fields with slashes and spaces should be addressed in future versions |
|
Task Allocation Service Object |
The Service Object was written to provide various task allocation methods (for use in Destination Rules) based on popular algorithms. They are broken down into either Active Directory or Role-based methods. This project contains the full project source, as well as a document describing al the methods, the deployment of the Service Object as well as how to debug the Service Object. The complete list of Task Allocation methods are:
Active Directory Methods (GetManager, GetDirectReports) and Role-based Methods (GetLeastWork, GetMostWork, GetRoundRobin, GetFastestUser, GetSlowestUser) |
|
SmartObject Service to return all countries from a |
This is a SmartObject Service which wraps an existing .NET API. The API returns one or all countries from an XML file. The XML File path is specified when creating a Service Instance with K2 |
|
K2 Commander (Query Analyzer for BP) |
Query Analyzer type application for querying SmartObjects. |
|
K2 Server Commandline Utility |
The K2 Server Commandline Utility provides access to the K2 Server through the Commandline. It can be used in batch operations or scripts and is fully extensible. |
|
Custom Event Wizard Example: Change InfoPath View |
A custom event wizard that that allows you to change the current view of an InfoPath form without using a client event. This is useful when you want save the form to an archive, but want a particular view to be used when it is opened.
This example comes with complete source code, or you can just run the setup program to add it to your Visual Studio toolbox. The source code also includes an installer that modifies the appropriate config files to put the wizard in the toolbox. After running the installer, right-click on the toolbox and select "Reset Toolbox" to get the wizard to show in the toolbox.
The wizard was developed using the technical article http://www.k2underground.com/files/folders/technical_product_documents/entry21896.aspx found here on k2underground. The idea for this event wizard came from a blog post by one of our K2Insiders, Jason. He posted the code for a server event on his blog (http://k2distillery.blogspot.com/) that showed how to switch InfoPath Views. Since this seems to be a |
|
K2 [blackpearl] Dynamic SQL Stored Procedure Servi |
This is a dynamic stored procedure service broker that was based off the code done by Seb for the Dynamic SQL Services broker. This service broker enables you to enumerate the list of stored procedures from a configured database instance. This allows you to execute the selected stored procedure via SmartObjects. |
|
K2[blackpearl] OCS Notification ServiceBroker |
The OCS Service Broker allows users to create a SmartObject to send notifications via Microsoft Office Communications Server 2007 |
|
Dynamic Web Service SmartObject Service |
This is a SmartObject Service which supports web services. User specifies the web service URL and the service builds itself dynamically. It is similar to the Dynamic SmartObject Service Seb wrote, except for web services instead of databases. The service supports web methods which return void, value type/string and value type/string arrays, as well as custom objects and custom object arrays. Unsupported return types: object, object[], ArrayList (or really any kind of ICollection), DataTables, DataSet, etc. (basically the rule is if we can't know the actual specification of what is being returned ahead of time then it isn't supported). This may be improved in the future via a mapping file or something.
One ServiceObject is created per WebMethod and each parameter is exposed as a property. In the case of value type returns, a single return property is used. In the case of custom object returns, the object's public properties are iterated through and each one that is a value type/string is added as a return. |
|
Outlook Integrated Ticket Tracker Demo |
This is a Ticket System demo that uses an outlook addin to kick off a K2 process for a particular email and then all addidional emails in that thread will be monitored and update a sharepoint list. There is a video of the demo in the zip file as well as the K2 solution and the code for the outlook addin. |
|
Amazing K2 SmartObject |
This is a tool that allows users to view service objects, build and execute smartobjects. It was developed by Janus (one of the brains behind smartobjects in the k2 product team) and I begged him to compile it so i can publish it for him on blackmarket for other people to use. I use this every day, you can even run methods from smartobjects. Very very cool… |
|
XSLT Transformation Event Wizard |
A custom event wizard that performs an XSLT transformation |
|
Utilities Service |
This consists of 3 utility services offering String functions, DateTime Function and Convert functions |
|
Dynamic Smart Object Service |
This Service allows you to create a Smart Object which exposes all Smart Objects as services - WHY: so that we can have Smart Object inheritance |
|
SmartObject Services for Oracle |
Provides K2 with the capability to consume Oracle data tables. |
|
BPUtils |
command-line utility applications for performing various k2 [blackpearl] tasks |
|
Dynamic SQL Service (The original) |
This is the place where you can get your hands on the original Dynamic SQL Service service object Visual Studio project. I am merely publishing Seb's very useful and cool code. |
|
Replace Attachments Web Service |
The Web Service is designed to remove attachments in an InfoPath form and store the files in a SharePoint document library. It replaces each attachment with a hyperlink to the file location in the document library. The web service then sends the InfoPath form onto to K2 [blackpearl] web service to submit to a workflow. |
|
Dynamic SQL SmartObject Service |
Dynamic SQL SmartObject Service broker |
|
Windows Vista Sidebar Gadget (K2 Worklist) |
Windows Vista allows the display of gadgets within the "sidebar". This was previously an add-on for K2.NET 2003, this version retrieves worklist items for current user via web page on K2 server (IIS), which is then displayed in left-hand "sidebar" - for Windows Vista |
|
K2 BlackPearl Roles Import Export util |
Small program that lets you export and import roles on a k2 server. Since roles aren't in the environment this can be used to create roles on the development server and move them to the production Server.
Currently SmartObject Roles aren't supported and the code isn't tested very well, also code needs to be way better, so - Proof of concept for now :) |
|
K2 blackpearl Custom Security Provider
Bottom of Form |
Provides details how to implement a custom security provider for K2 blackperl |