Category: Work > K2 Insider Conf 2009

K2’s 4.5 Release – Inline Functions

Last October I had the privilege to visit the K2 Insiders conference. We all got to see a preview of K2’s new 4.5 release. Now (finally!) a targeted beta is available for selected partners, customers and insiders. This blog post will focus on Inline functions, a new feature of the 4.5 release which will be available for K2 blackpoint 4.5 and K2 blackpearl 4.5. The new release also features improvements to the designers, as you can read in Jey’s blogpost.

Why are inline functions so important?

To explain why inline functions are so important for K2, it is needed to provide some background. Way back before the South African development team started working on K2 blackpearl, a vision was created on how to design processes from a business perspective. The current K2 architecture has a lot of features that can be mapped to that vision. An example of this is SmartObjects. The vision shows that (enterprise) data should not be included/part of the process and should be referred from within the process. SmartObjects do just that, making live a lot easier when working with the K2 platform.

Another big part of the vision is to allow you to design processes without the need to write code. A lot of processes can be implemented without code, but I’ve had lots of occasions where I still needed to write small pieces of code. Within the new K2 designer for SharePoint and K2 studio, you’re unable to write code and you’re stuck going back to Visual Studio. This isn’t how K2’s vision was created and so a solution was needed to reduce the use of code and allow you to call (simple) functions.

What are inline functions?

Every wizard within K2 uses input fields where you can drag and drop items from the Object Browser to the input fields. Inline functions allow you to call simple functions inside those input fields. The functions are categorized in groups, so all the Date and Time functions are together and all the Text manipulation functions are together. A complete list of inline functions will be listed in the product documentation which will also be up on the knowledge base site. For now, you can check this blog post.

So, why is this so good?  Well, as stated in the previous paragraph, this will allow you to do more with the designers that do not support the use of code.

How do they work?

This youtube video will hopefully explain how you use inline functions while designing a process.

From a technical perspective, inline functions are executed within the workflow server.

[UPDATE] I forgot to share the video for the public, it should be better now :-)

But, the function I need isn’t there!

Ok, K2 can’t provide you with every function thinkable on the planet, but they always provide you with ways to extend the K2 platform. This is also the case with inline function! In the end, it all comes down to a simple .NET assembly with some class and method attributes. The developer reference will have an article/how-to on this.

Conclusion

I hope this blog post makes you understand how valuable inline functions can be when designing a process. For myself, it’s another way of doing things and allows me to create processes more easy and (in a lot of occasions) without code!

Other info from K2 Conference

At the K2 conference, we also got information on what K2 will do with SharePoint 2010. As you can see in this post, K2 is working hard to enhance the new functionality of the Office 2010 platform. Personally, i really like the integration with the office applications itself as lots of clients actually don’t want to leave outlook.

Apart from this new functionality, K2 will also support the current functionality in SP2010, which we saw a demo of at the conference. This makes K2 the only workflow engine i know that is able to work with SP2003, SP2007 and SP2010. To make it even more cool, you can combine those in one single workflow!

K2 Insider Conference 2009

K2 Insider Conference

K2 Insider Conference

Last weekend was the K2 insider Conference in Las Vegas. They neatly planned it just before the SharePoint Conference to make it more easy for us to come over. This post will not cover a lot of info that’s been said at the conference, some of it is even under NDA, so I’m simply not allowed to blog about, which is a shame, as I can’t wait to get all those new bits!

Start of the conference

Chris Geier kicked of the conference by an introduction round and checking what everybody wants to get out of this conference, most of the insiders want to see the new bits and talk about issues that they had in their projects.

After that it was Adriaan van Wyk to explain how they are handling the economical situation in the world. In general K2 is doing very well and handling the situation as they should be, which reassures me in the future of K2.
After this all, Adriaan gave us a overview of how they set out to build K2 blackpearl and how a lot of functionality is in the platform but not exposed via UI since they simply didn’t have the time and resource to do so, a good example of that is the Event Bus. It also shows why SmartObjects are so important and why they re-engineered a lot of the SmartObject code to make it perform better and really start using it as a way to surface and manage data around the processes.

Other good news is that K2 blackpoint and K2 blackpearl are now based on the same code-base and upgrades will be released at the same day.

Next K2 release

In the next release there’s been loads of work done to make installation easier. A lot of support tickets within K2 are based around infrastructure problems like Kerberos. With the new installer (which merges installation and configuration wizards), there’s an environment checker that checks your settings and sometimes automatically repairs them. The new installer also allows for unattended installations. Together this allows for super easy installation and checking if the Kerberos environment is configured correctly.

K2 designer for SharePoint

Also in the next release is a the new K2 designer of SharePoint. This basically is the Silverlight designer but is redesigned and made better, with one of the key features being inline functions and SmartObject filtering. Next to that, there’s new wizards available to allow you to do more with the designer.
The K2 designer for SharePoint has also been enhanced, concepts as loops are available, this might seem a simple item, but you’ll be amazed on how many workflow products do not support a loop/loopback.

Again, people will wonder it a Silverlight designer can bring enough functionality. If it does not, you can simply export the process and continue working on it in K2 blackpoint, and if that’s not enough, you can go to K2 blackpearl.

Inline Functions

Another new feature in the next release is Inline functions. It might not say a lot by the name, but it basically means that on every entry-field on a K2 wizard you’re able to use functions – all without code. What kind of functions? A lot. Think about math functions, expressions, string functions (like left, right, padding, etc), and much, much more. Now if you do think you can find a function that’s not available, you can simply create it yourself.
Inline Functions allow for less use of code within K2 processes, which is important for the K2 designer for SharePoint and K2 blackpoint, as there’s no code available.
To make it a bit more clear, here’s a screenshot:

Screenshot of an inline function (complex)

Screenshot of an inline function (complex)

I’ll also try to create another blogpost on InLine functions to explain them better.

Performance and stability enhancements

Apart from new functionality, Koos Du Preez also had a talk on the performance enhancements made to the K2 server. In the past, there have been some problems with the Worklist performance, I can assure you, those days are over.

The performance of SmartObjects and the ADO.net provider has also been reviewed and improved. Some service brokers are now able to directly call the backend, eliminating a lot of overhead. Aside from that, a double buffer system is made so the SmartObject readers are way faster, sometimes even faster than calling the SQL Table directly.

Conclusion

The days flew by and where packed with info, the above article is just the tip of the K2 mountain. Can’t wait to go ahead and work with those new bits and see the product improve and improve.

WordPress Themes