locked
Approval Workflow in SharePoint 2007 RRS feed

  • Question

  • We know that SharePoint 2007 comes with a set of out of box workflows.One of the features of the workflow that I found to be awkard and strange is that when the document is being routed through an approval workflow, each person in the approvers list is assigned a task. While editing the task the end user can enter his comments. An email goes as an alert to the next user regarding the task being assigned to him. But in the email, you never get to know what were the comments of the previous user. All the comments are consolidated and emailed at the end of the workflow. In the intermediate stages one has to log on to the Sharepoint site and check in the workflow status.

    Please share your views and thoughts


    Sunday, January 21, 2007 10:55 AM

Answers

  • Totally agree. In a REAL project, out-of-the-box workflow in SharePoint cannot be accepted by the customer. This is not what they want. So, custom workflow is always needed when selling the WORKFLOW solution to customer.
    Friday, February 2, 2007 6:32 AM

All replies

  • The task assignment emails don't seem to be customizable (from what I've seen). They are simply a notification that the task has been created, with the link to open/edit it.

    A method I've used when trying out various experiments with workflows has been to disable the alert emails for the Tasks list in Sharepoint, and customize or make a separate workflow to send an email message when the right conditions are met. The "Send an email" action in Sharepoint Designer lets you use item lookups to add content from lists (like the approver comments) to the body of the email.
    Friday, January 26, 2007 4:09 PM
  • Totally agree. In a REAL project, out-of-the-box workflow in SharePoint cannot be accepted by the customer. This is not what they want. So, custom workflow is always needed when selling the WORKFLOW solution to customer.
    Friday, February 2, 2007 6:32 AM
  • I just want to ask if the Recipients of the tasks can recieve notification mail or not when they recieve a task in the task list?

    The notification is sent only to the workflow initiator twice, When the tasks assigened to the task's recipient and also when the workflow has been finished.

    Could anyone explicitly clarify for me this point?

    Monday, February 12, 2007 12:34 PM
  • I just want to ask if the Recipients of the tasks can recieve notification mail or not when they recieve a task in the task list?

    The notification is sent only to the workflow initiator twice, When the tasks assigened to the task's recipient and also when the workflow has been finished.

    Could anyone explicitly clarify for me this point if this exists in the workflow Out of the box template in MOSS 2007?

     

    Monday, February 12, 2007 12:44 PM
  • Does any one have any information on how to create an aproval workflow in SPD?

     

    Thanks

    Rene

    Thursday, February 15, 2007 10:03 PM
  • To enable content approval:
    You have enable content approval in versioning settings. Its under general settings in List setting.

    For approval WF add a WF and select approval WF then add the approvers.
    This is not available in free version i.e 3.0
    -PG
    Monday, February 19, 2007 6:24 AM
  • We are running MOSS

    But I still don't understand how I can make multiple approvers. We havea a form that will have a anagers name on th bottom when it is submited it send's a email to the manager and creates a task for the manager. I jut don't know how I can set it up so that the anager can approve it and then right away be taken out of the approver group.

    I would like to create this work flow in SPD

    End User puts in a doc and asignes the new hires manager to aprove it. Once the manager approves it the form should go into a completed state.

    -Rene

    Monday, February 19, 2007 2:56 PM
  • Hi,

     

    You can try to use a replicatorActivity where to include the CreateTask, OnTaskChanged, CompleteTask. To ChildInitialized you can set a name for a method to invoke let's say: InitChildActivityInstance where you set:

    Person person = (Person)e.InstanceData;

    activity.person = person;

    activity.taskID = Guid.NewGuid();

    activity.docName = workflowProperties.Item.DisplayName;

    activity.workflowProperties = this.workflowProperties;

     

    In this way for each person from approvers will be created a new ActivityInstance and also as you can see a new task : activity.taskID = Guid.NewGuid();

     

    What do you mean by "the form should go into a completed state."? You can set in InfoPath rules : for example if the user approved a task, then the infopath form which corespond to that task can for example have reject button and approve button hidden just like in the standard approval workflow.

      For passing data from workflow to infopath forms you can make a new Data Connection of type "Receive data" in infopath. Form the workflow you can set this data and then the infopath form will know about those data. If you have more questions about this, i will help you.

    Anyway if this topic was already solved, maybe my post will help somebody elseSmile.

     

    Pamy.

     

    Thursday, March 29, 2007 2:27 PM
  • HI,

     

    I am looking for a infopath form which has multiple approvers.

    How can your solution help me.

    Can you be a little elaborate on the solution you provided above. I am  new to Infopath development.

     

    Thanks,

    Kesari.

    Tuesday, April 17, 2007 9:22 PM
  • Hi Pamy,

     

    I have the following scenario I want to build. I hope you can help me.

     

    What I have done so far : I created an Infopath form. In this infopath form I am looking up the current user that is filling out the form. From another datasource I am looking up the manager's username of this user.

     

    What I want to do :  Now I need an approval process where the approver is the manager, that I lookup in the form. I want the manager to approve/reject directly in the infopath form and not to switch between form and sharepoint task to approve or reject.

     

    Is there any way  I can accomplish this with a minimum of coding ? :-)

     

    Thanks already for your help.

     

    Bjoern

    Tuesday, July 24, 2007 8:47 AM
  • If you get an answer, please let me know as I am working on the same exact problem.

     

    Thursday, August 2, 2007 3:55 PM
  • I am also working on this same problem.  I want our workflow to email the manager as defined within the form, and have that manager fill out an additional section within that form.  Once the manager has filled out thier portion of the form, I want the workflow to notify the IT department that the form is ready for their approval.

     

    If anyone has built a workflow like this, please let me know.

     

    Thanks.

    Monday, August 6, 2007 5:45 PM
  •  

    Hi,

     

    If is not too late...sorry I didn't check this post since months...

    I don't understand what do you mean by swithcing between form and sharepoint task...for example in the standard approval workflow both forms : the one where the workflow initiator fills the approvers and the one where an approver reject or approves a task are InfoPath forms. If you want to use the same form for the workflow initiation and for the task then you can do it from the workflow.xml :

    <MetaData>

    <Instantiation_FormURN>urnTongue Tiedchemas-microsoft-comSurpriseffice:infopath:InitApproval:-myXSD-2007-02-16T13-26-27</Instantiation_FormURN>

    <Task0_FormURN>urnTongue Tiedchemas-microsoft-comSurpriseffice:infopath:ApproveRejectForm:-myXSD-2007-02-06T11-51-46</Task0_FormURN>

    <StatusPageUrl>_layouts/WrkStat.aspx</StatusPageUrl>

    <InitiationType>Manual;#OnNewItem;#OnItemUpdate;#OnMajorCheckIn</InitiationType>

    </MetaData>

    In my case I use 2 forms: InitApproval.xsn for initiation and ApproveRejectForm.xsn for workflow task.

     

    Pamy

     

     

    Wednesday, October 17, 2007 2:21 PM
  • Hi,

    for my requirment, two users(end user,Approver) are there.

    when end user assign task to Approver.

    Approver can Aprove or Reject the task.

    If approver approve the task and send this task to multiple Approver using Conatct selector control in infopath.

    How u can fetch the names from contact selector .

    i want multiple approver names.. not a single one

     

     

    Friday, March 7, 2008 7:08 AM

  • Hi All,
    i solved my problem infopath repeating fields into SharePoint using visual studio workflow 2005.

    StringBuilder itmselection = new StringBuilder();
    itmselection.Append("<item>");
    itmselection.Append(e.AfterProperties.ExtendedProperties["groupSelect"].ToString());
    itmselection.Append("</item>");
    StringReader strreader = new StringReader(itmselection.ToString());
                   

    dataset dsItmSelection = new DataSet();
    dsItmSelection.ReadXml(strreader);

    approves,empid,empname,emprole are arraylist, i declared globally.
    for (int i = 0; i < dsItmSelection.Tables[0].Rows.Count; i++)
                                {
                                    if (e.AfterProperties.AssignedTo!= null)
                                    {
                                        approvers.Add(e.AfterProperties.AssignedTo.ToString());
                                    }
                                    if (dsItmSelection.Tables[0].RowsIdea["empid"].ToString() != null)
                                    {
                                        empid.Add(dsItmSelection.Tables[0].RowsIdea["empid"].ToString());
                                    }
                                    if (dsItmSelection.Tables[0].RowsIdea["empname"].ToString() != null)
                                    {
                                        empname.Add(dsItmSelection.Tables[0].RowsIdea["empname"].ToString());
                                    }
     if (dsItmSelection.Tables[0].RowsIdea["emprole"].ToString() != null)
                                    {
                                        empname.Add(dsItmSelection.Tables[0].RowsIdea["emprole"].ToString());
                                    }
      

    }

    above one works fine........

    But i have another problem  facing in my workflow,
     
      
      Dataset ds;DataTable dt_Item;

         DataColumn dc_empid;
         DataColumn dc_empname;
         DataColumn dc_emprole;
        DataRow dr;              

    above fields i declared globally.

    private void codePOActivity_ExecuteCode(object sender, EventArgs e)
            {
                try
                {
    ds=new Dataset();
      dt_Item = new DataTable();
     dc_empid; = new DataColumn();
     dc_empname; = new DataColumn();
    dc_emprole; = new DataColumn();

              dc_empid.ColumnName = "dc_empid";
              dc_empid.DataType = System.Type.GetType("System.String");

               dc_empname.DataType = System.Type.GetType("System.String");
               dc_empname.ColumnName = "dc_empname";

                dc_emprole.ColumnName = "dc_emprole";
                dc_emprole.DataType = System.Type.GetType("System.String");

                   

                    dt_Item.Columns.Add(dc_empid);
                    dt_Item.Columns.Add(dc_empname);
                    dt_Item.Columns.Add(dc_emprole);
                

                    for (int i = 0; i < approvers.Count; i++)
                    {
                        dr = dt_Item.NewRow();

                        dr["dc_empid"] = empidIdea.ToString();
                        dr["dc_empname"] = empnameIdea.ToString();
                        dr["dc_emprole"] = emproleIdea.ToString();
                       
                        dt_Item.Rows.Add(dr);
                   }
    ds.Tables.Add(dt_Item);

    }

                catch (Exception err)
                {
                    string a = err.Message;
                }
            }

    for this case my workflow is status simply change to completed; not proceed to next stage...
    what can i do.. how i use dataset in workflows..... kindly help me any one


    Saturday, April 12, 2008 6:07 PM
  • I doubt the veracity of the below as I don't find the concerned .xsn InfoPath fom (I guess with the name ApproveRejectForm.xsn) on my SharePoint MOSS installation but the OOB Approval Workflow works-fine/as-expected in regards to "Edit Task". 

    -------------------------------------------------------------------------------------
    the standard approval workflow uses both forms : the one where the workflow initiator fills the approvers and the one where an approver reject or approves a task are InfoPath forms. If you want to use the same form for the workflow initiation and for the task then you can do it from the workflow.xml :
    <MetaData>
    <Instantiation_FormURN>urnchemas-microsoft-comffice:infopath:InitApproval:-myXSD-2007-02-16T13-26-27</Instantiation_FormURN>
    <Task0_FormURN>urnchemas-microsoft-comffice:infopath:ApproveRejectForm:-myXSD-2007-02-06T11-51-46</Task0_FormURN>
    <StatusPageUrl>_layouts/WrkStat.aspx</StatusPageUrl>
    <InitiationType>Manual;#OnNewItem;#OnItemUpdate;#OnMajorCheckIn</InitiationType>
    </MetaData>
    -------------------------------------------------------------------------------------

    Please refer to the related link at: http://social.msdn.microsoft.com/Forums/en-US/sharepointworkflow/thread/774c0d74-ad4d-4f33-be02-e6c579adc4a6

    Would appreciate the clarification on this.

    Thanks a lot.



    Wednesday, October 15, 2008 12:57 AM
  • but I have a question on that point. I am using an infopth but I can't see the option where I can get emails from the workflow about changes made in the document by approvers I would have sent to for approval(normal template).
    Wednesday, September 23, 2009 10:49 AM