Posted by Steve Pietrek on May 19, 2008
Glenn Block of Microsoft has requested your thoughts on developing with SharePoint. You can find the survey here and more information on Glenn’s blog here. Please note most of the survey is stacked ranking – confused me at the beginning.
Posted in SPDev | Leave a Comment »
Posted by Steve Pietrek on May 12, 2008
Below are steps to hide the Quick Launch in a Content Editor Web Part (CEWP).
Read the rest of this entry »
Posted in SPUI | 1 Comment »
Posted by Steve Pietrek on May 2, 2008
To add the Contact Selector control to the Designer Controls pane in InfoPath 2007:
- In Office InfoPath 2007, on the Design Tasks pane, click Controls.
- On the Controls pane, click Add or Remove Custom Controls.
- In the Add or Remove Custom Controls dialog box, click Add.
- The Add Custom Control Wizard appears.
- Under Select a Control Type, select ActiveX Control. Click Next.
- In the list of ActiveX controls, select Contact Selector. Click Next.
- Under Specify Installation Options, select Don’t include in a .cab file. Click Next.
- Under Binding property, select value. Click Next.
- For Field or group type, select Field or group (any data type). Click Finish. Click Close. Click OK.
How to: Configure a Contact Selector Control on Your InfoPath Workflow Form
Posted in InfoPath | Leave a Comment »
Posted by Steve Pietrek on May 2, 2008
I am working on a custom workflow solution. While testing my solution out, I realized a workflow initiator could approve workflow they initiated even though the task was not assigned to them.
To see what Microsoft does and hopefully clear my confusion, I created a brand new document library named “Incoming Resumes”. I created a default approval workflow named “Incoming Resumes Approval” – I only set the approver to be Mary and put in a custom message. I created two users, Sam and Mary. Sam is just a contributor. Mary is an approver.
Here’s what I did:
- Sam created a document and added it to the “Incoming Resumes” document library.
- Sam manually kicked off the workflow (only option).
- A new column named “Incoming Resumes Approval” was added to the “Incoming Resumes” document library. The new document now had a status of “In Process”.
- Sam clicked the “In Process” link and the Workflow Status page was displayed.
- In the history, Sam read when the workflow was started by herself and Mary is the only participant. A task was created for Mary.
- In the Tasks section, Sam clicked the task title and displayed the Task Edit form. Hmmm.
- Sam was able to click the Approve button and approve the workflow – even though it was assigned to Mary!
This is something I did not expect. After some research, there is a setting on the second page of the approval workflow association form “Allow changes to the participant list when this workflow is started”. By default, this option is checked. If this is checked, the workflow initiator can make changes. To avoid this issue, uncheck this option. Unchecking this option will rollback any changes the workflow initiator has made and display the message: “Task update was not accepted”. All in all, I guess it makes sense. If the workflow initiator can assign to someone else, it also means they can make changes herself.
A couple observations:
- Although a user may not have a permission of approver DOES NOT mean they cannot approve workflow.
- There appears to be a usability issue when the “Allow changes to the participant list when this workflow is started” is not checked. Why should a user be allowed to view the Task Edit form, make changes, click the Approve, and then see an error message that they are not allowed to make changes because the task is assigned to someone else. I know you could disable the Task Edit form options in a custom workflow but why not in the out-of-the-box experience. The Approve/Reject buttons are disabled if you view the Task Edit form after a task is completed.
Update 1: Interesting, reviewing the form, the “Allow changes to the participant list when this workflow is started” control in InfoPath is named “InitLock”.
Posted in SPWorkflow | Leave a Comment »