+1-888-365-2779
Try Now
More in this section
Categories
Bloggers
Blogs RSS feed

Sitefinity 4.0 RC deep dive: Workflow

by Ivan Osmak

The series introduction

In past few weeks I’ve seen many people expressing their concern about the (quantity of) features in Sitefinity 4.0. Coupled with the new pricing scheme, some people wondered why would they go with Sitefinity when there are cheaper or even free alternatives that offer the same features or even more features than Sitefinity. As a developer, and I’d say someone rather familiar with the CMS industry and products out there, I decided to shed a bit of perspective on the whole “same or more features” for free or less money. Now, I am not going to go into the whole pricing thing, since many people far more competent than me have already answered those questions at numerous places.

However, what I aim to do with this series of blog posts is to demonstrate what we mean when we say terms such as “workflow”, “taxonomies”, “extensibility” etc. and then let you make your own judgment about the alternatives which provide “same” features.

Workflow – it’s more than changing states

So, in the first post of this series, I am going to touch on the workflow. When we say workflow, we don’t mean a way to change a state of the news item from “Approved” to “Published”. From our perspective, workflow is a way in which business gets done. Sure, changing the state can be part of this logic, but just changing the state cannot be called workflow (well, it can, but it shouldn’t).

It is our firm belief that it is responsibility of the workflow to accommodate the ever changing business requirements. Workflow has to do this intuitively. The best way I can illustrate this point is to show a possible real world example of this approach.

Scenario

Your company has recently grown a lot and you have found yourself in a situation with many young, fresh out of puberty employees. They keep mentioning/trashing your competitors in their blogs, and since that makes your company look cheap, insecure and a bit creepy, you decide to end this practice.

Non-workflow solution

If you would to solve this issue without a real workflow, it would look something like this.

You would hire a programmer to hook up to the events of CMS and perform some hard coded logic on the publish event.

Problems with this solution:

  • This logic will be implemented only on publishing of blogs. If you are later to do this same thing on publishing of news, you need to hire a programmer once again to alter the logic.
  • As the time goes on, new competitors may appear, so you will need to add those to your filter, again with the assistance of a developer.
  • Basically, you’ve removed the symptom – not cured the disease.

Workflow solution

Workflow solution is a much more elegant (read, cheaper in the long run) solution to this kind of a problem. So, in short, we would develop a piece of code which would search for occurrences of certain words (names of your competitors) and replace them with some other words (some more generic phrases).

I have developed a short example that demonstrates how to do this. Note that the actual code that performs the replacements is quite primitive, but will do the job of demonstrating this principle. Generally, you’d implement this with more intelligent regular expressions.

Download the source code from here (setup instructions packed with the code).

If you are just interested seeing this in action, you can take a look at this video.

Conclusion

This was just a short example of our implementation of Windows Workflow Foundation 4. There are many more powerful concepts packed in this implementation, which we will cover in the documentation.In the next post, I will explore Sitefinity’s taxonomy implementation and show why it is not “categories”, but something way more powerful.

5 comments

Leave a comment
  1. Steve Nov 19, 2010
    Very slick WF4 implementation guys....very slick :)
  2. Shawn Nov 19, 2010
    I'm excited for the taxonomy article.  I'm curious to hear how facet and network taxonomies can be applied in Sitefinity.  They're lacking documentation in the RC.
  3. George Nov 19, 2010
    Good job, Ivan.
  4. Timothy Nov 19, 2010
    very nice. the sample worked great.
  5. jorge Mar 24, 2011
    Hi I have seen some of your notes of Work Flow, I hope you can help me, I have a problem with WorkFlow.
    standart version is not available options for custom workflow, you have some reference or module that can help solve my problem?

    Leave a comment