 |
| Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | FileType | xsn | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.2 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.3 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.4 | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blog/Vanessa/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsx | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blog/Vanessa/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsb | 255 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blog/Vanessa/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsx | 256 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blog/Vanessa/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsb | 256 |
|
|
| Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | FileType | xsn | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.2 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.3 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.4 | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blog/Vanessa/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsx | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blog/Vanessa/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsb | 255 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blog/Vanessa/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsx | 256 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blog/Vanessa/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsb | 256 |
|
|
| Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | FileType | xsn | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.2 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.3 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.4 | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blog/Vanessa/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsx | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blog/Vanessa/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsb | 255 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blog/Vanessa/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsx | 256 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blog/Vanessa/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsb | 256 |
|
|
|
 |
|
|
|
|
|
|
|
9/21/2011
To save and resubmit an InfoPath form, certain logic can be implemented in the form to allow this to happen.
Saving a form
Saving a form involves setting the Submit Data Connection to overwrite the existing file.
At this point I also generally concatenate a unique name for the form using some fields in the form schema. For example, an Expense Claim form may use the following logic to save with a meaningful name:
I am using a 'DateSubmitted' field in the form name. This field is set to use the now() function when the form is opened for the first time. Notice that the 'Refresh value when formula is re-calculated' checkbox is unchecked – this is so the date field does not update unless we tell it to.
You can now add a Submit or Save button to your form, or save a previously submitted form:
Resubmitting a form
A form can also be 'Resubmitted', allowing the user to avoid re-entering data that is identical to an existing form. This can be achieved by setting form logic around a 'Resubmit' button.
- Add the 'Resubmit' button to the relevant view
- Add a rule to update the 'DateSubmitted' field to use the now() function:
- When the user submits, the form will be submitted as a new form, because the name of the form has changed, and thereby 're-starting' any workflows you may have appended to the form library to correspond with your business processes.

8/8/2011Last month I had the privilege of speaking at the Brisbane SharePoint User Group. As I had a number of requests for an example of the slides and process maps that I used in the demo, I have uploaded them here on my blog. Feel free to check them out on the Resources link in the top menu bar. 7/15/2011
InfoPath 2010 has a lot of great features, but there are some days I just want to throw my laptop out the window. Today is one of those days…
This issue has happened to me twice now, both while developing an InfoPath 2007 form in the 2010 client (the first time I was upgrading the form to 2010). In SharePoint 2007, this is the error I got after the form had already been published to the server:
The SharePoint logs didn't really give me much more insight into the error either. I found that this error was occurring only in certain views, so I exported the source files, and cracked open the XSL of the specific view where this was occurring. What I found was this:
That doesn't look so good does it? I removed those crazy nested font styles, and voila my form works again! 6/21/2011
Another reason to love Nintex 2010:

You are now able to make sure that the workflow you programmatically start doesn't commence until the first workflow completes. 4/6/2011
Recently I've taken advantage of a cool feature in Nintex 2010 – run as workflow owner:
Nice!!! This allows you to run the action with more elevated permissions than the workflow initiator. This is especially handy when needing to update list items that the initiator may not have access to, without having to call a web service. I've found that this feature is available with most available actions that don't specifically require credentials.
One thing to look out for is that if run a parent action as the workflow owner, such as a condition or 'run if', this will mean that any child actions will also run as the workflow owner. In this case, this checkbox will disappear for the child actions (as it's no longer required). 11/6/2010
Nintex workflow provides a feature to delegate your tasks for a period of time, i.e. when you go on leave. This feature can be enabled by enabling long term delegation in through the Nintex Global Settings in Central Administration.
One issue with this is if assigned approvers in workflows do not delegate their tasks prior to becoming unavailable, the process will stall until the task is delegated by a site collection administrator or the approver returns to the office.
Options
To address this issue, there are two options to consider:
-
Ad-hoc Delegation
The individual tasks will need to be manually delegated by a site collection administrator.
Advantages
Advantages of this option would include:
- This can be a feasible solution if requests to a site collection administrator or site owner to delegate tasks occur infrequently and in small numbers.
Disadvantages
The following disadvantages can include:
- If a large amount of tasks are required to be delegated, this can be a time consuming process for the site collection administrator.
- Delegates may be required to submit a Help Desk request if they require a task to be delegated to them and the assigned Approver is not present to do so.
-
Long Term delegation
There is the ability to turn on Long Term delegation through the Nintex Global Settings in Central Administration , which will allow a site owner to delegate on behalf of others for a set period of time for sites they have full control access to only.
Advantages
The Advantages to this option would include:
- This can reduce the burden on system administrators as delegates with the correct permissions can set up long term delegation for any required tasks without the need to request assistance.
Disadvantages
The following disadvantages can include:
- Enabling Long Term delegation allows the site owner to turn on long term delegation on behalf of another issue. This could potentially result in a site owner delegating tasks for a senior manager (for example) and then approving these tasks without the manager being aware. Considerations
- Implementation of this solution involves an IIS reset, therefore would cause an outage to your SharePoint environment.
10/24/2010
So while I was tinkering with a 2007 Web Compatible form in the InfoPath 2010 client, I noticed that there were some xpath functions missing that I had in the 2007 InfoPath client. After a bit of investigation, I noticed that the following functions were missing:
addDays addSeconds last position
Very annoying, but they appear if you're developing a 2007 form in InfoPath 2007, and a 2010 form in InfoPath 2010. 9/8/2010
After using Microsoft Office 2007, and then 2010, for a while now, I have found that there are some things in the ribbon I'd like to change. I really do like the ribbon (and this goes back to Natural User Interface rather than the old Graphic User Interface in 2003), but there are some things I'd like to have my way.
With Office 2010, this is now possible! I'm going to use InfoPath Designer as an example, just because I've found a few things like switching views to be more annoying than others.
When you open InfoPath Designer, choose File > Options
Then navigate to Customise Ribbon. Here you can add the different menu actions to the different tabs (or create your own tab). I really like having the preview button added to all the tabs to save clicking back to 'Home', so I'll show you how to do that.
Firstly, add a new group to your preferred tab. Custom commands can only be added to custom groups, so the default groups/actions need to either stay as they are or be removed.
Then find your preferred action to add to your custom group, in this case, the preview command. Note that the default in the dropdown is the popular commands – if you'd like to view all the commands, you'll need to select 'All Commands' or 'All Tabs' from the choose commands from dropdown.
7/15/2010
I recently needed to update the I Need To dropdown with a link to a new form I developed. Now, you may or may not have noticed, but most of the blogs/sites out there explaining how to do this usually say to create a custom list and link your web part to this list.
However, if you look closer at the web part, you will notice it's already referencing a list:
You can also set this web part to reference Division, Region, Tasks and Tools, Link Status. Now, you can customise the links in this dropdown however you want, but for this example I will show how to add an option to the Tasks and Tools.
To get to this list, you merely need to click Site Actions >Manage Content and Structure.
Then navigate to Sites, and click on the Sites library
Here you can add your link, and make sure you check the [Top Tasks] checkbox – this is what makes the link appear in the 'I Need To' web part for Tasks and Tools. You will notice that there are also options for the Division and Region.
As this list has content approval enabled by default, you will also need to approve it.
And that's it! You'll now notice that your link appears in the I Need To web part.

6/18/2010
I've been seeing a lot of questions and queries come by about people wanting to use an InfoPath form to capture information from a separate list and to then update the items in this list
Example:
Say you had an InfoPath form for employees to submit a leave request, and the form pulls their existing details from a list in SharePoint. The user enters the details for their leave, but can also update their personal details.
On submission, the form (either using workflow or code) updates the list item with the employee's personal details.
Problem:
This is duplicating data! You have now created two points of truth for your information. Your users will be thinking "which one is the most current?"
Solution:
The best way to avoid an issue like this would be to think about what the true purpose of the data you are trying to capture within the InfoPath form is. In this instance, the leave form would only collect leave requests, and the employee details would only display within the form (for ease of use). But the single point of truth for updating the employee details will be in the list.
| Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | FileType | xsn | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.2 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.3 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/Vanessa/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.4 | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blog/Vanessa/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsx | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blog/Vanessa/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsb | 255 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blog/Vanessa/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsx | 256 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blog/Vanessa/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsb | 256 |
|
|
|
|
|
|
|
|