There is a pretty strong need for us to design some workflows around various processes. The problem is none of us actually know any workflow technology yet, and finding good data to compare the available options has been tedious and not entirely fruitful.
So I figured I'd ask you guys.
The main technologies we are looking at are Windows Workflow Foundation and eDocs Workflow. What other options are there? Sharepoint 2007 has workflow functionality too, right? Is that just based on WF?
What are the pros and cons of the various technologies? How do they compare?
EDIT: Also, one feature the administrative types like with eDocs Workflow is that it provides a method for them to edit it themselves. I believe Sharepoint '07 does as well. Is there some other way to allow that with a straight WWF implementation?
Sharepoint and WF more like complementary technologies, designed as two different workflow authoring tools in the same ecosystem. There's a Sharepoint workflow designer, and a WF (Windows Workflow Foundation) workflow designer.
The Sharepoint designer is meant to be an Office-like workflow editing experience, easier to get started with, geared for non-technical types, and generates all the web forms automatically.
The 'WF' workflow designer on the other hand is actually a component of Visual Studio (by default - as Bernie says you can rehost it), and designed to allow programmers to be able to fully customize workflow, and integrate it with any other code/systems desired. Building and deploying sharepoint sites this way is still possible, through the use of 'Sharepoint Activities', but more complex.
If you take the former route, you can hopefully let the administrative types do their own basic customizations (up to the limits of that environment) without causing total chaos.
It is possible to 'rehost' the WF designer (the one from Visual Studio) in your own application, so that users can author workflows. There are a number of code examples on the web, the most important one from MS itself: http://msdn.microsoft.com/en-us/library/aa480213.aspx).
At some point, when evaluating WF, I implemented a demo application that did this and added some features and found that although it works, not everybody can understand and use the more difficult activities (like the policy activity) that require understanding of how the rules engine works.
Related
I use Nuxeo for content management purposes on a project.
I know I'll also need to support "workflow" scenarios, which I currently know very little about.
For example: I'll need to support a workflow scenario for approving a release of a software component.
Such an approval may be composed of several different stages, and in every stage I may need to trigger some kind of an automatic interaction with certain users of the system.
What may be considered some good/valid considerations for not "settling for" the workflow engine provided by Nuxeo, and using a dedicated engine such as Activiti or jBPM instead?
I know the question is very (perhaps too) broad, but still:
What could be some points to consider before I choose one over the other?
Are there other tools I should consider?
Yes, your question IS too broad. every workflow tool has its own cons and pros. why don't you list down all of your needs then compare each of the tools. mainly: Alfresco Activiti, Camunda, jBPM or Nuxeo
Is it possible to integrate Sitecore with external workflow engine (K2, Skelta), and if so, how to connect external workflow with Sitecore content item, and do i need to implement new interface in Sitecore (like workbox).
The reason why i need this, because current Sitecore workflow does not have all features that other workflow engines have, like escalating workflow items or parallel approval steps.
There are at least two ways. The most common way is to use Sitecore workflow actions to hand items off to the external workflow system. Another way is to implement the IWorkflowProvider and possibly related interfaces to abstract the external workflow engine completely. I personally have never tried either approach, so I can't provide any detail.
According to the sitecore website they list open architecture as a benefit. They even go so far as to say.
"Integrate with third-party systems: Sitecore CMS provides a full data integration and
abstraction layer that allows you to connect to any database, web service or other external systems"
So theoretically it is possible. (Full disclosure, I do work for K2) I will ask around to see if anyone internally has done this before.
Anyone else out there done anything similar?
I need to build a workflow based solution and need some advice.
First of all, there should be a canvas style editor where a user can create workflows. Then, they will be used in a form based workflow process, where the user answers questions and the system will guide them through the steps based on the workflow. There can also be actions, such as sending emails.
The question is: can WF be used for this? I need to use the MS stack.
Any idea would be appreciated.
Yes, you can use workflow to do this.
For the execution part it seems a very good fit.
For the end user designing workflows it depends. The workflow designer used in VS2010 can be rehosted in your own applications without to much work. It is a WPF control though so the client application needs to be able to load and display WPF controls. This rules ASP.NET and Silverlight out but will work fine with WinForms and obviously a WFP app.
Another thing with the designer is that you have to enter VB expressions and in the rehosted designer there is no IntelliSense making this a lot harder. Well there is a workaround for that but it requires VS2010 DLL's. And the expressions can be anything you can do in .NET so that includes potential nasty things like Process.Start().
The rehosted designer is actually very to use, and since all the artifacts for constructing your workflow are provided.
I have got one project where I need to build a site in Sitecore CMS.
I have never used that CMS.
I want to know that if my programming skills are good because I don't know ASP or ASP.net but do know PHP.
The sites are simple html pages with no logins and processing.
Can I do it few weeks?
I was a PHP person when my company switched to Sitecore, although we had an ASP.net developer.
99% of what is done in Sitecore is achieved without any .net programming requirement. A website consists of data templates, which are defined in the Sitecore desktop environment (much like Windows, but in a browser). Data templates define the fields that each type of page has, the workflow it is in and other content-centric things. Renders are then attached to the template - these are xslt files which take the data provided by the data template and format it into (x)html.
I'd recommend getting enrolled on the Sitecore Developer Training - this is a one day course which will get you fully set up and ready to start building.
http://www.sitecore.net/en/Training.aspx
Sitecore v6 is easier to build with than v5. There's also SDN (sdn.sitecore.net) which has a large amount of documentation and examples.
Also, as Sitecore is only available through Sitecore Partners, you should have access to a knowledgeable Sitecore Professional.
Seems like it's real easy.
http://www.sitecore.net/en/Products/Sitecore-CMS.aspx
Sitecore Makes it Effortless to Create Content and Experience Rich Websites
Sitecore helps you achieve your business goals such as increasing sales and search engine visibility, while being straightforward to integrate and administer. Sitecore lets you deliver sites that are highly scalable, robust and secure, and is built to simplify your life, automate your processes, and let you deliver results faster.
Seriously, this question can't be answered as is. Sitecore CMS can be used by business users with no dev experience and it can be used by developers to do more complicated things. How complicated it is to use Sitecore depends entirely on what exactly you're trying to do. It might be easy, it might be complicated, but without more details it's impossible to know.
The general consensus is that devlopment of MOSS publishing sites, should be done using site definitions, Solutions, Features but due to project timescales we had to do all list/site column/content type/master page development using the SharePoint UI and SPD. We then used the contentdeployment wizard to migrate everything from devlopment.
Having done this, the future plan is to possibly, given the budget, change what has been built to use a site definition and features to get in line with best practices.
Has anyone done anything similar or have any tips on how best to plan for this?
Kind Regards
This is somewhat dependent on how large and complex your solution is. I was in the same situation with a project I started to work in. They initially started to do everything in SharePoint Designer. But when I was thrown in to the project, I decided to scrap all those changes, starting from the requirements and build up everything as site definitions/solutions/features in Visual Studio. In this case, it was feasible since the customizations were not too complex.
You can take a look at the SharePoint Solutions Generator, to see if that could help you as well. It can give you at least a good starting point.