Re: Workflow application

From: Nick Malik (nickmalik_at_hotmail.nospam.com)
Date: 12/03/04


Date: Fri, 03 Dec 2004 15:42:56 GMT

Hi Gilad,

Answers are inline:

>
> 1. How long it took you to build the application?

Started in earnest last July, with the first full design and proof of
concept done by August (by me alone). That got folks interested and we
launched a dev team. I provided design and oversight part time. A part
time PM to keep us honest. A full time lead developer and a tester to do
the work. A full time junior developer (who turned out to be absolutely
excellent) to pick up the pieces. A part time analyst to engage the
customer in describing as many workflows as possible, and an occasional
support analyst to assist with environmental setup, deployment and
configuration management.

We dropped V1 into production two weeks ago. V1.5 will roll in January with
improved application security, better deployment, and better error handling.
February will see V2 with time-related events, much less hardcoding of
Infopath forms, and better reporting..

We aren't done spending money. On the other hand, workflows have been
popping out of the woodwork. I'd say we are $100K in, with another $75K to
go.

> 2. Are there some code templates or quick straters available?

The link I provided is to an open source project that provides a simple
workflow engine based on Infopath and Sharepoint. It gave me some ideas,
although Jan's scope was far too limited for what I was trying to do. The
code is simple, small, and well-written. I recommend it highly.

Also, Microsoft now makes available a toolkit for creating sharepoint
Plug-ins. You can download it from the link below. My project uses this
code and it is very sound.
http://www.microsoft.com/downloads/details.aspx?FamilyId=4B2C2F1B-D74A-482A-903A-45BB44C5DEC4&displaylang=en

> 3. Is there a way to know what is the request current approval step (using
a
> database that stores the workflow steps)?

Sure. This is the elemental part of how a sharepoint-based workflow works.
Sharepoint only tells you that a document has changed. It doesn't tell you
why. So you need to create your workflow to look at the conditions that
will allow an item to move from one stage of the workflow to another. In my
workflow system, we create "models" that allow us to write down different
rules for different situations. However, if you are less ambitious, you can
easily just write the rules into your code and save a huge amount of time.

To figure out how to find these conditions, think about creating a basic
expected format for the data in your document libraries. For us, we used
Infopath as the front end to allow the business users to change the fields
as often as they want. Infopath stores everything in XML, so for us, the
rules were a combination of XPATH queries (telling where to look for data)
and data values (telling what to compare these values against).

So, an event arrives. That tells you what document. Look in your database
to find the document and you can see what state it is in. Look in the
database or in your code to figure out what conditions need to be true in
order to move to another state. Inspect the document to see if those
conditions are true. If so, change the state.

Some folks believe that you should change state without moving the
documents. I have chosen to move the documents from one document library to
another to reflect the state that a document is in. The status is simply
the name of the document library.

All this is stored in a database, where web pages can query it. We provide
a page so that the originator of a request can track its progress without
seeing the progress of other requests in the system.

Hope this helps,
--- Nick

>
> Thanks.
>
> "Nick Malik" wrote:
>
> > I developed a workflow application using WSS and Infopath by creating an
> > event handler. It can be done. Mine is fairly generic.
> >
> > For your needs, you may be able to use a simple tool like the one from
Jan
> > Tielens
> >
http://www.gotdotnet.com/workspaces/workspace.aspx?ID=C07F64E8-8229-49A1-B160-B24C89122894
> >
> > Hope this helps,
> > --- Nick
> >
> > "Gilad" <Gilad@discussions.microsoft.com> wrote in message
> > news:A2CE77A3-C854-41CC-A6A9-7FB767C58D41@microsoft.com...
> > > I would like to build an application that implements a workflow
process.
> > > The idea is to be able to route a document (purchase request) that
will be
> > > routed automatically and be approved by 2-3 different people.
> > > I would like to provide the user with the current status of his
> > application
> > > (ie. who approved and who didin't).
> > > Is WSS a right tool to implement such an application? what are your
> > > suggestions?
> > > Thanks.
> > > G
> >
> >
> >



Relevant Pages

  • Re: Workflow Enabled Infopath forms in SharePoint
    ... The infopath forms will be workflow enabled if you run the ... my feature.xml had a bug in the following line: ... I've been asked to build a workflow for SharePoint 2007, ...
    (microsoft.public.sharepoint.portalserver)
  • Re: Workflow Enabled Infopath forms in SharePoint
    ... The infopath forms will be workflow enabled if you run the ... my feature.xml had a bug in the following line: ... I've been asked to build a workflow for SharePoint 2007, ...
    (microsoft.public.sharepoint.portalserver)
  • Re: forms
    ... Sharepoint automation pieces. ... and Human Workflow Services ... InfoPath is a pretty straightforward program, ... people as well as provide a summary report of forms filled out. ...
    (microsoft.public.sharepoint.windowsservices)
  • Workflow Enabled Infopath forms in SharePoint
    ... This may be the wrong newsgroup - I don't know if my problem is in ... I've been asked to build a workflow for SharePoint 2007, using InfoPath ...
    (microsoft.public.sharepoint.portalserver)
  • Sharepoint 2007 + Infopath 2007 Idea - Questions
    ... In the end an employee creates a new infopath ducument using the given ... for an active directory account creation. ... The workflow reads the checkbox ... Approach No. 1 was to create an InfoPath 07 file with managed code in ...
    (microsoft.public.sharepoint.portalserver)

Quantcast