Blog Listing

I don’t really like how hard it is to find a specific blog entry even when you search, because the search results don’t show abstracts, and the categories don’t either, so I’m making this landing page for people to quickly find what they’re interested in…

562 Responses to “Blog Listing”

Johnsaid

Clayton, are you aware of any ‘open behavior’ rule limits in IP2007?
(Tools->Open and Save->Rules)

I have 8 rules, most are simple conditions (if a=y) and 1 action (set var) each.
I introduced a web service lookup in the first rule (set three query fields, get 4 data fields) similar to queries I use elsewhere in the form (which work). The form, web-browser enabled, works as expected in the preview mode, but fails to ‘execute all rules’ when opening from SP (after publishing). By simply removing the query action and ‘hardcoding’ the field values that would have been read from the query data fields, the form works from SP. It’s like some limit has been encountered.

Clayton Cobbsaid

Does that web service definitely work within the form itself? Often, data connections like that will work in rich client and preview mode but not in browser mode. You said this query was similar to queries you use elsewhere, but are you using that exact web service query elsewhere in the form that are confirmed to work in browser mode?

I am not aware of a rule limit, but I also have not seen documentation stating there is NOT a limit. Do these steps:
1) Verify that web service lookup works within the body of the form when rendered in the browser
2) If it does, remove all other Form Load rules except this one and see if it works
3) If it does, then maybe there is a rule limit. Add the other rules one at a time until it breaks to see if you find a limit. If there is, maybe combine actions into the same rules.

Clayton Cobbsaid

Whatever you’re doing in the broken rule, be sure to do that _exact_ thing in the form – not just something similar. I’m much more inclined to think the query just isn’t working than to think the rules have a limit, but I could be wrong.

Gunnarsaid

I just wanted to say thank you for putting all this great information out there for all us non-programmers to use. Also, thanks for your quick responses to my many emails and for calling me! Your help saved me hours (if not days) of work. My form is doing things I never thought it would be able to do. So thanks and keep the blogs coming!

Mark Bowmansaid

Clayton a quick query regarding Digital Signatures and Browser-based forms. There’s a message that pops up stating “Parts of this form are digitally signed and cannot be modified” etc etc. Are you aware of any way to remove this warning message? Just annoying is all 🙂

Clayton Cobbsaid

Mark, not something I have tried to overcome. It would probably require server-side customization. I recommend posting the question on InfoPathDev.com, because the folks who run that site are masters at coding/customizing InfoPath.

Clayton Cobbsaid

harisaid

i want to create leave approval workflow in sharepoint. when ever ake a leave an employee the immediate head of employee is approved automatically.it is routed for repotingmanager for approval.and employee also notify about approval

Billsaid

I am running SharePoint 2003 and I have one sub-site that will not come up when you click on the link. All the other sub-sites come up with out issue. I am able to access the content of the site when I go to “Manage Content and Structure” but I cannot open default.aspx. I do have a backup that I could restore from but I wanted to try and figure this out before I did that. I am not confident that a restore would even fix the problem.

Clayton Cobbsaid

Bill, has that site been customized in any way with Frontpage or anything else? What error do you get when trying to go to the default page? Do all other pages on that sub-site work? I never work with SPS2003 nor WSS 2.0, so I’m not as knowledgeable on the design gotchas nor which tools can be used (I used SharePoint Designer a lot with 2007 and 2010, but I assume Frontpage is used for 2003).

Billsaid

Thank you for the great suggestion. Upon opening the page in SPD I realized that I had a third party utility installed on the site for making charts out of lists. The evaluation period has expired which was causing the issue.

Akssaid

I have an requirment to design asp.net form (form should appeare on default.aspx of site)with validations in sharepoint.And on button click data should get submit to database and workflow (multilevel approval workflow)should also start in parallel.

Clayton Cobbsaid

I can’t help you with any asp.net forms, because that will be done with custom code, but I can help with SPD workflows. However, if you are creating the form with custom code, why are you not creating the workflow with custom code in Visual Studio? It will be much more robust and powerful that way.

The only way your method will work with SPD is if your form submits data to SharePoint. If it only submits to a database, then SharePoint Designer will not be able to help you. SPD workflows only fire when a SharePoint list item (list or document) has been created or changed.

Akssaid

thanks for your quick response..after struggling with VS and asp.net forms finally I switched to Infopath for simplicity.

I want to create Multilevel Expense report approval workflow.

Task I completed:
1.Designed Infopath form as per my requirement.
2.Published in my form library.
3.Forms are browser enabled and working fine.

Now I want to create workflow using SPD.

Approval Levels
1.Approval by Team Lead
2.Approval by Accounts.
3.Approval by Dir.

Condidtions
1. If my expense is lessthan or equal to 500
teamlead can approve directly and notify accounts.
2.If my expense is greater than 500 than teamlead will keep it pending , ask reason from the employee of such high expense and assign it to Accounts for review.Accounts after reviewing will say it approved or reject.
It approved then final approval from Dir and if reject notify creator and stop workflow.

I my not getting how to write these conditions in SPD, I mean how to create Assign to do item etc..

Clayton Cobbsaid

AKS, I can do all of this, but we’re talking a pretty extensive explanation if I try to write it. I think it would be better to discuss it over Skype or something like that, because it will take forever to type, and I think that’s a bit much to ask. I will give a few tips, though, in case that gets you over the hump:
1) I don’t actually like to assign tasks. I keep all of te task “assignment” and approval buttons inside my form. This simplifies things
2) I use my blog on User Roles in Browser Forms to conditionally hide and disable certain fields, buttons, and views so that only certain users can do certain things (i.e. Team Lead, Accounts, and Director)
3) It’s easy to use a condition IN THE FORM to say that if the expense is less than 500, then let the Team lead approve. If it’s great than 500, then before the Team Lead even gets involved, show a hidden message to the submitter that asks why the expense so high, and require the submitter to give a reason before even submitting the form (hint: use data validation on the Reason field that only triggers when expenses > 500)
4) After that, it’s all easy. Keep the logic in the form and make each user have different views, sections, and buttons that are available based off their identity. Use both these blogs to help:

Ritzsaid

I have an requirement in sharepoint that there is an document library where word documents are uploaded.User wants to show short description of each documents in pop-up kind of box on mouse hover of documents in the library.

How should i proceed?

I have created one description column in library which is currently hidden.What changes i need to do in xslt to show pop-up window having description of documents?

Clayton Cobbsaid

Ritz, that is not a function of SharePoint to do that, so if you really want to go outside the box to make that happen, then you’ll either need to find some Javascript or JQuery online that already does it, or you’ll need to write your own. It seems to me that the easiest, simplest, and most effective method would be to just show the Description column in your view. What is the reason for wanting a mouse-over popup showing the description instead of showing the description in the view, which takes no effort?

David Wendsaid

Clayton,
While I’m not a Dot Net jockey, I’m rather proud of what I’ve been able to do with SPD workflows and custom New & EditForms to create an Earned Time Requests system that emails Supervisors links back to the list item when a request has been made, and emails the Requester when a request has been approved or declined. As it stands now everyone can submit a request and they can use a People Picker to select their supervisor by way of placing supervisors into a SharePoint group and limiting the Choose From: option to that group. Rather than maintaining this Supervisor SharePoint Group, I’d like to use methods that you described in your InfoPath – Get user information without writing code (extended) . I was hoping there was a way to setup similar data connections with a regular custom SharePoint NewFrom. Currently the NewFrom I’m using has no masterpage elements which makes for a clean easy to use no distractions form. It is fine for the limited testers as a proof of concept, yet we are a company of 800 with a very high management ratio. It would be nice to be able to auto populate the request form with the Requester’s Department, Supervisor’s PreferredName (for the requesters’ convenience) yet populate the list with the Supervisor’s WorkEmail so that the workflow would work properly.
Question to you; is there a way to auto populate a few fields in a Custom SharePoint NewFrom by way of the UserProfileService?

I might be asking about a simple or complex thing regarding a experiment I’d like to do on SharePoint. I would like to create a ‘Thank You’ form where user selects the name of the person he would like to thanks, selects his email ID and select some picture (Thanks You cards) and write some text in notes section on why he his showing his gratitude and submit the form. The form then attach the image selected and sends an email to the intended person with notes etc.

Could you please let me know, is it possible in SharePoint and if yes, kindly provide a high level view on how to do this. If No, please provide any idea on which application we can try this experiment.

Niteshsaid

Hello Clayton,
First ..thanks for your great contribution on Infopath.
I have gone through your posts i has been a great help while developing similar solution for my site.I am using SharePoint2007 and Infopath2007…no 2010 component. I have couple of question on Leave Applications system.
1.I am submitting my leave applications to Infoform library.Everything works well. But number of employee is >600 at my site so if i assume 10 application per year from each employee i would certainly cross limit of number of documents in one infoform library which is 2000.
Suggested Solution : I predict one solution for this ..not sure about its technical difficulties…Submit leave application details to SQL server as well as Infoform library.After 1 month of submitting to library we can delete document from library.When ever we need data we can get from SQL Database.
Problem : Is it possible to create/update a new entry in a table (in db) with all relevant information while submit/update leave application.Please help.

2. I have seen in your 5 mins video, mails that flows as notification for leave application to employee/leader has two good thigs
a. Dynamic subject line : containing text + Employee name …how is it possible in 2007 components?
b. Direct link to leave application in mail body. Could you please help on this.

Clayton Cobbsaid

1) There is not a 2000-item limit on Form libraries or on any list or library in SharePoint. You can have MILLIONS of documents. The 2000 recommended limit is only a limit on how many items should be DISPLAYED at one time. So, all you would have to do is make sure your main view is filtered to only show item that were created in the last 30, 60, 90 days (or whatever duration works for you). You do this by going to the View settings, Filter section, “show only items where Created is greater than or equal to [Today] – 90.” Something like that would work well. You also have the option setting the view so that it is grouped by a piece of metadata and set the groupings to be collapsed. That way, you could have 6000 items, but the page would render very quickly, because everything is in collapsed groups as long as you don’t have hundreds or thousands of groupings. Then, when someone clicks to expand a group, it will load however many items are in that group, which should never be too many at one time if your groupings make sense.

2a) Yes, you can do it in 2007 by using the action Build Dynamic String in a previous step. This gives you the same dynamic string builder as what is now built-in to 2010. You create your string by combining static text with metadata from the form, and it saves to a variable. You then put that variable in your Subject line as a single piece of metadata. I do this all the time.

2b) For this, it’s as simple by using the technique from 2a to concatenate the static URL to your form library and then appending the ID to the end or the Server Absolute URL (this is available in SPD). Just check the properties of an existing form to get the full path, and then build your dynamic URL accordingly. There should be a static piece combined with a dynamic piece from the current item. If it’s a browser form, then open a form in the browser (from that form library), and copy that whole path into your dynamic string builder. Then, replace the part after &XMLlocation= with the metadata field named Encoded Absolute URL.

Clayton Cobbsaid

Rakesh, my whole bblog is about building codeless solutions. I am not a dev and write no code, so i cant help with debugging your code. However, it appears to me that the error is pretty helpful. It says you must register the event before deploying the form. Perhaps that is meaningful to you?

If you need more help, i recommend the experts at infopathdev.com. They are the foremost experts in the world on infopath and have a slew of expert devs.

Ashish Kanoongosaid

Clayton Cobbsaid

Debbiesaid

Hi Clayton,
I wanted to calculate the difference between 2 date picker controls for use in a leave request form that I am creating. First, I created a blank form and copied and pasted the Value fields that were posted in the article by S.Y.M. Wong-A-Ton. My Practice form does not work and returns a value of zero in my difference field. Were any other changes suppose to be made to instructions? http://www.bizsupportonline.net/infopath2007/calculate-date-difference-infopath-rules-formulas.htm
Thank you for your help,
Debbie

Clayton Cobbsaid

Debbie, I haven’t read through SYM’s method nor tried it, so I’d have to go build a scenario and get back with you. However, I have successfully used the method by Alec Pojidaev on his blog. If you search for his name and “codeless programming,” you’ll find it.

Debbiesaid

Debbiesaid

Clay,
I found the blog you suggested and was able to download the form because I could not follow his steps. His form worked fine but gave me 4 days instead of 5 when I clicked on a Monday and then an End date of Friday. I read in his blog someone else asking the question. His answer was to modify finalize rule as following: substring-after(., “;”)+1

I tried but I must be modifying the incorrect rule because my answer is coming back as 3 now.
Can you tell me where to modify?
Thank you,
Debbie

Clayton Cobbsaid

Stevesaid

Is there a way to get the AccountName from GetUserProfileByName by using the preferredname?
I have an Infopath textbox that has an Approver’s lastname, firstname and I would like to get the Approver’s Accountname.I’ve seen your blog about getting the current user’s information. I need to get someone other than the current user’s information. The Approver’s name comes from a people picker column on a sharepoint list. Is there a way to put the accountname in a hidden field on sharepoint when the name is entered.

Clayton Cobbsaid

Steve, you can only query the GetUserProfileByName web method with username. However, if your identities are coming from a People Picker in SharePoint, then that data is available. People Pickers pull from the same profile database as the web service – it’s all the same thing. You just need to get that specific attribute. Is there a reason you’re using a People Picker in SharePoint that you’re consuming into InfoPath as opposed to a People Picker (Contact Selector) inside InfoPath itself?

Stevesaid

Clayton,
When you say “username” what format are you referring to? the AccountName from AD. The format you see when you use username(). I’m using the sharepoint list because there is other data I am pulling from that list. and the approver is tied to cost field. When the cost field is selected on infopath, I fill the approver field on infopath from the SP list. I then send an email to the approver.

Clayton Cobbsaid

Username is username – like ccobb. AccountName is domain\username – like planet\ccobb – which I also refer to as Domain Name. The userName() function retrieves the username, and this is the value that the UserProfileService accepts.

Stevesaid

Clayton,
I’ve tried to pass everything under the sun to the getuserprofilebyname parm AccountName but it appears it only accepts the AccountName. I’ve seen examples (nothing that worked) where people were saying you could pass the perferred name. I found a work around. On the sharepoint site, I changed the name to be displayed by account. On the infopath form, I query the getuserprofilebyname using the Account and display the PerferredName.

Rickysaid

Your blog has lots of useful information for Infopath novice like me. I am now getting comfortable with the software. I wanted to know if there is a way in 2010 version to create a workflow without using Sharepoint server. I am creating a form where Supervisor has to sign before Manager and so on. We do not have Sharepoint Server. Let me know if you have any ideas regarding the same.

Clayton Cobbsaid

Ricky, you would need some sort of workflow engine/product. I don’t know of standalone workflow products, but they probably exist. I don’t know if any interact directly with InfoPath, though.

You could maybe have multiple Submit to Email data connections and custom buttons for each person in the workflow so that when the first person submits, it emails it to the Supervisor, and the Supervisor gets a custom submit button visible to only him that then submits the form via email to the Manager. That might work.

Scottsaid

I feel like I know you as I have read so many of your posts.
I would like to be able to add both both a repeating table and another field (i.e. textbox) to a SP List.
For example, repeating table has fields ONE, TWO, THREE and I have a field on my form titled FOUR and want to submit a single row including ONE, TWO, THREE, and FOUR. Submiting the repeating table works. I thought of using a rule (repeating table: NAME contains “FieldName”, THREE = Textbox: FOUR). Or trying to modify my XML to include the name of the xpath textbox (i.e. field name= “”).

Garysaid

I have a Sharepoint 2007 library setup called New Course Requests which contains a Infopath template I have created. Attached to this library I have a Workflow called Form Submission which is attached to the New Course Requests Library. When the form is saved and manually submitted the workflow runs and indicates it has completed, but none of the actions in the workflow are run? Below is the logic in the workflow:

The Check Workflow does not find any errors. Can anyone see a reason why this workflow is not running although it has been attached to the New Course Requests library?

Clayton Cobbsaid

Garysaid

ACTIONS Email gary.jones@xxxxxxxxx
then copy item in New Course Requests to CSID-Dept Head
then delete item in New Course Requests

I think the logic is fairly standard, but even though this workflow has been assigned to a form library and runs without error – it does not perform the actions in the logic. (New Course Requests is the form library the workflow is attached to)

Mahdasaid

Hi Clayton
I’ve created a workflow in SPD for sending an email when a specific condition is true, and I specify that this workflow should automatically run when a new item is created or when I start it manually . But it only works when I manually start it. May I ask you help me to solve this simple problem?!

Clayton Cobbsaid

Mahda, if it is truly set to start automatically for a new item, then it should run. Some reasons why it would not run: 1) You’re adding the new item as the System Account 2) Your list or library is set to require check-out, and the item has not been checked in yet 3) The item has required fields that haven’t been filled in and therefore the item has not been checked in yet 4) The workflow is running, and you didn’t notice. You should see a new column appear with the name of your workflow, and it should have a status. Do you see nothing in this column when a new item is added, or does it Fail to start, or what?

Clayton Cobbsaid

Hello Clayton,
Your posts regarding infopath is very helpful.But i am in trouble implementing a form which will be developed run time from sharepoint site.Its like, the form contains user name and Email but my enduser will be able to add 2 more fields according to his/her needs and they can also name the filed as per their requirement. Those fileds will get data connection with sharepoint list or other data source after creation.

In a word, i would like to give endusers a choice to add fileds according to their choice.

Please let me know whether it is possible in infopath form or not?? If yes, please help me out.

Clayton Cobbsaid

No, users can’t add fields. For a user to interact with a field, it must already exist in the form’s data schema. You do have the option of hiding certain fields unless the user chooses to see them. You can do this with conditional formatting on fields or entire sections. You basically hide them unless some other action is performed, such as pressing a button, checking a box, or selecting a certain value in an existing field. No matter what, though, a user cannot name a field at runtime.

I don’t understand the part where you said, ” Those fields will get data connection with SharePoint list or other data source after creation.” What does that mean?

Clayton Cobbsaid

Maybe with code, but that would very advanced. I’ve never seen anything like that. Why can’t you just promote your fields while publishing the form template? That makes all your data visible and ready in SharePoint. Once the form is submitted, and all the fields are populated in the form library, you can use workflows to then populate other lists and libraries with that data.

Mahdasaid

I’ve a “Cost Request” process.It should collect data from 4 people in an order that specifies in process, each one should review data entered by previous people and then decides about approval or rejection. And no one should change previous data.
I’ve created a workflow in SPD with “Collect data from a user” action, but people can change other’s data.How can I solve it?

Clayton Cobbsaid

Mahda, you can do all of that within InfoPath by using User Roles and conditional formatting on sections/views/controls so that only the right person can change the right fields and click the right buttons at the right time. I cover this topic in my blogs about User Roles and the one about getting the current user’s profile info. I would not recommend the Collect data from user approach in SPD, because that creates tasks. If you must use that route, then you’ll have to create a new workflow in the Tasks list that dynamically changes the permissions for each task based off who the task is assigned to. You can do this with SPD using the Codeplex Custom Workflow Activities (Delete Item Permissions and Grant Item Permissions).

Keefersaid

I’m trying to allow a user filling out an InfoPath form to select documents from a SharePoint library in a multiple selection list box, but need those documents to be links to the documents on the form (not attachments and not just a text list of the documents). I’ve successfully created a data connection to the SharePoint library and connected it to a multiple selection list box, but cannot select a column other than static text columns (e.g. Title, etc.). Would love to pull the Name column since it is a hyperlinked column, but it isn’t listed as an option when I create the data connection. Is there a way to create a new hyperlinked column in the SharePoint library that I can use in the data connection or to code the InfoPath form so that the SharePoint library items are listed as hyperlinks?

Clayton Cobbsaid

Keefer, I’ve seen this request before but haven’t tried to figure it out myself yet. The main thing is it doesn’t matter if you pull in a field that is a hyperlink, because the feature that causes it to BE hyerplinked is a function of the browser. In an InfoPath multi-select box, even if you could display a field that is hyperlinked in SharePoint, it wouldn’t be a hyperlinked value in the list box. The list box is only going to show static text, because it is a text box in and of itself.

Leslie Fostersaid

Clayton,
We have a business need to retain workflow history for auditing purposes (I work for a bank). We expect to need to retain AT LEAST 2 years worth of history (probably more). I understand the “log to history” is just a new list that has the standard recommended limit of 2k items. I’ve also seen that MS isn’t really supporting use of the list for auditing purposes.

We will be moving to SP 2010 Enterprise sometime this year. Are you are aware of any improvements in this area with 2010 (or best practices we should look at)? Thx.

Clayton Cobbsaid

Leslie, I haven’t seen anything that can be used for auditing workflow histories. It isn’t something that would be very reliable and useful after 2 years, so that’s a pretty tough requirement. You will probably need to build something custom to store the history items in a huge list, or customize the built-in workflow history list, which is hidden from the browser by default. Keep in mind that the workflow history is set to only keep the last 60 days of history items, I believe.

Clayton Cobbsaid

I don’t think you usually use a 3rd-party tool for this. Everyone I see online just creates their own FBA member and role provider. There are a lot of blogs out there now talking about Claims-Based Authentication using FBA, so I would suggest looking for those.

Neelsaid

Here is my question:
For example: If i have 2 servers (configured config file for FBA) and am planning to create 10 new SP sites, and each site is public facing with FBA, Now all the users for 10 sites sits in one database or multiple database..

Did check the membership and role, so all of them sit in aspnet database, and I can manage in one place rather than multiple databases

Neel

Clayton Cobbsaid

Should be in one database, and you point to that identity provider at the web application level. The sites, which I assume are separate site collections, would all be in the same web application, which uses the same FBA provider. If they are all separate web applications, then each web app would need to point to the FBA provider.

Be sure that when you create your web application you choose Claims Mode.

Neelsaid

Here is my main issue, I am trying to figure out how to handle this scenario
Site A – 8 users – accounting

Site B – 9 users – HR

IF HR want s to add a users, when he logs into db using aspnet conn string, he sees all 17 users (8 accounting + 9 HR), Is there a way to restrict what users HR and accounting can see based on their domain.

Clayton Cobbsaid

Chris Gsaid

I have an InfoPath 2010 form created that has a rule set up to populate a field with the Document name from a SharePoint Document Library (MOSS 2007). I want that to be a hyperlink directly to the document. I’ve tried a million different things but to no avail.

I can get it to put the name of the document in there – no problem. I converted the Control to a hyperlink but it comes up with an XVIEW link. I also tried converting the Data Type of the populated field to HyperLink (anyURI), but that doesn’t work either.

Garysaid

I have an Infopath for I have created that includes views and user roles assigned to those views, which I have published to a Sharepoint server. Thus, this means that the form should open in the Sharepoint library it resides in using Infopath since it cannot be browser enabled due to the assigned user roles. When I try to open the form in the Sharepoint Library, it tells me “This form template is not currently browser-enabled. It must either be republished as a browser-enabled form, or opened using Microsoft Office InfoPath”

I have checked in the Advanced settings of the library under browser enabled documents to ‘Open in the client application’ even though it is not browser enabled when I publish it. Still, it will not launch Infopath and open the form in it so the user can fill it out. Any ideas on why it is not opening the form since it is not designated as browser enabled?

Clayton Cobbsaid

Garysaid

I found the issue was that IE was blocking it opening because the site was not in its Trusted Zone. I fixed that and the form opens in Infopath now. That brings up this question – I have assigned user roles to specific views in my infopath form.
For instance, I have a Submitter view, Dept Head View and Mgmt View created for the form and
a different user role assigned to each view. How do I set a Sharepoint Library to open the form
in the view appropriate for the library the form resides in? (The Submitter submits the form and
it moves the form to the library for Dept Head’s approval, so the submitter should see one view and the
Dept Head a new view that has an approval area in it.

I’m stumped on how to get it to open in the view I want, even though I have set a default view in Infopath.

Thanks,
Gary

Clayton Cobbsaid

You have to switch the view on form load by using a Form Load rule. You go to Tools > Form Options > Open & Save > Rules, and add conditional rules that switch the view based off the user’s role or identity. I have a blog post showing how to do this in browser forms, but the same concept works for any form.

Rahulsaid

I am stuck in an issue here, wherein I have an AdminApproved form template in Infopath 2010. The template has a “GetUserProfileByName” dataconnection, that pulls in attributes from the UserProfile, everytime the form loads.
I am going through a load – balanced environment, with 2 WFE’s. The strange thing is, I am pointing to one of the WFE and on trying to open a new document of the same template, the webservice query returns the data. But when I get off the form and reload it again, I get “An error occurred while trying to connect to a Web service.”

Am I sure you must have an idea whats going on here. Any help would greatly be appreciated.

Clayton Cobbsaid

In a load-balanced environment, using that web service can get tricky, because the URL is the load-balanced URL, so the call from the WFE goes back out to the load balancer and can have issues with access. What I do is add a hosts file entry to each WFE so that whenever the browser tries to browse the load-balanced URL, I make it browse itself. Basically, add a hosts file entry to each WFE for the same URL but pointing to the current WFE’s IP.

Rahulsaid

Thanks for the reply Clayton.
I have been also testing the form, by pointing to ‘A’ WFE.
Well, I will be moving to a production environment pretty soon. I believe adding a hosts file entry would not be possible then.
What I thought and did was a registry hack, to enable the ‘disableloopcheck’, thinking this would help. But this didn’t.
Also, this is INTERMITTENT, in the sense that when a form loads its fine, when I reload it again, it throws the error or loads fine, or vice versa. So I am very confused as to whats going on here.
Can you suggest anything that I could check?

Thanks Clayton.

Clayton Cobbsaid

It would be intermittent due to the load balanced WFEs, I would think. It probably works when on one WFE is chosen by the load balancer but not the other. 401 is an access issue (unauthorized). Loopbackcheck does need to be disabled, but the hosts file thing is not avoidable. Why would you not be able to do that in Production? That’s exactly where I’ve done it – I don’t load balance WFEs in non-production usually.

I have the bad one, on my form as a data connection. Not sure why there is a 401 there. Is this a permissions issue, not sure what could be done to prevent this.
Any idea?

Also, in production I have users filling out the form, so making a host file entry for them would not feasible, I think.

If it boils down to the issue, that the load balancer is the culprit, what could you suggest in prod, to autopopulate the attributes?
Also, the strange thing is that, I have made a hosts file entry to point to each one of the WFE’s, as you had suggested, but still its a hit and a miss, as it was before.
Is there anything on the server that I could check. This is very weird.

Please continue helping the needy 🙂

Thanks,

Clayton Cobbsaid

I didn’t say a hosts file entry on client machines. I said on the actual WFEs. Those machines need a hosts file entry pointing back to themselves whenver a call is made to the load balanced URL due to the load-balancing issue. You don’t want the WFE to go back through the load balancer – you want them each to stay local and browse themselves.

Let’s take a step back, though. I noticed something in this new info you gave. You referred to /sites/active as a sub-site, but that’s not a sub-site. That is an actual separate site collection. InfoPath can’t connect to data sources across site collections. You should always connect to the user profile service in the same site collection as the form. Where does your form exist? Is it in the root site collection or the /sites/active site collection? Make sure you ONLY connect to web services in the same site collection.

Rahulsaid

Yes. It is connecting to the webservice, within the same site collection, that is /sites/active. I usually preview the form before publishing it out, so if I use it from a different site collection, I know that this would throw me a SOAP error.
Let me just have my admin try your trick of pointing the WFE’s to itself on the actual WFE. I had never tried that for an infopath issue, very good point though.

The strange thing is from the errors from the log file,
2010-07-22 21:36:00 10.130.1.160 POST /sites/active/_vti_bin/UserProfileService.asmx – 80 – 10.130.3.16 InfoPathDA 401 1 5 0
I am getting a 401 for the webservice that I am using within the same site collection. This is where my actual form is published to.
Also, this is the miss, while I can also have an occasional hit too, when I reload the form.

My concern is with the 401’s. Not sure why I am getting them, when I am using the webservice from the same site collection.
Do I need to change some security settings on the server?

Thanks for being with the needy guy Clayton 🙂

Rahulsaid

Clayton,
Here is the latest update.
The good news is I have the form loading correctly, without any errors now.
I had my admin make the hosts file entry on the WFEs, to point to itself. This wasn’t the only change that had to be made, in the process I also realized that the personal features had to be turned on. So now the form loads.
The not so good news, is my admins here are not really comfortable making the hosts file entry on the WFEs. They are not sure why this would fix it. Ahh!! thats not too bad….

Well, thanks again for your time and concern.

Clayton Cobbsaid

Personal Features always has to be available to the user trying to retrieve data from the User Profile Service. It doesn’t get “turned on,” but rather it’s a permission, and everyone has to have Read permissions on it to use the web service. It NEVER would work if that permission was not granted to the user, so I don’t know how you were getting it to work intermittently.

I explained earlier why the hosts file entry works in a load-balanced situation.

In the newer version of SharePoint 2010, we are using federated search feature to list custom open search service results in SharePoint. This works fine, but we are unable to customize the original sharepoint search result page to host federated search result web part in it. This page just doesn’t show up in SharePoint Designer. While working in SharePoint 2007, we had a result.aspx page when we type something in search text box, it lands to this page and we were able to edit this page and put our own web part to customize the search by giving .FLD file (Federated Search Results web part), we have our own open search service running so we used it. Likewise this when we are upgrading to SharePoint 2010, it lands our search to site/layouts/OSSSearchResults.aspx page which is basically in “_layout” folder and its template file. so we are unable to integrate our Federated search results with SharePoint 2010 default search results. Could you plz. help me in this regards? How this would be done?

Clayton Cobbsaid

For the Search issue, it’s just because you haven’t set up a Search Center and haven’t configured search to point to that Search Center. OSSSEarchResults.aspx is there in 2007, too, as the default search results page.

Clayton Cobbsaid

There isn’t really a simple way, but there are two ways I can think of: 1) Since you say it’s an “approved” document, then that tells me you are using the content management feature. This means that when someone edits the document, it goes into pending state and becomes a draft, so no one else can see these changes until it’s approved (published). So, if you keep content management active, then it doesn’t matter if anyone changes it, because only the approved (published) version will show, and the other changes will never take effect. This is a passive method.

2) You could create a SharePoint Designer workflow to enforce dynamic permissions. You’d have to first download the Custom SPD Workflow Activities from Codeplex and install them on the server. Then, you’d have the ability to create a workflow on that doc lib that removes permissions ON THE CONDITION that the document is approved. You would remove the permissions of regular users, including the creator, but not the approvers/admins.

Clayton Cobbsaid

Mahdasaid

Hi clayton,
I’ve created a workflow in SPD that should start when an item is created or changed, but it doesn’t work. when I create anotherr workflow with the same conditions and actions that should work when an item is created, it works well. both WF have one simple step with a “compare … field ” condition and “set field in current item” action.
I cann’t find the reason, do you have any idea?

Clayton Cobbsaid

My guess would be that either the condition isn’t being met, or you are trying to start the workflow with the System Account instead of a regular user.

When using SPD workflows, always use “log to history list” actions at every step, conditional branch, and action so that you can debug the workflow by reading the workflow history. Be sure to have an “else if” branch always with at least one of these log actions so you know when the condition isn’t met.

Mahdasaid

Thanks Clayton,
I see the value of field that checked in WF, so I’m sure it’s not the reason,and I logged in with regular user. I create another WF whit same conditions,actions,and …,and now that is working.I could not find the reason of this problem some times happens!!!

There is another problem, I changed a SPD workflow but it runs previous version of that,I delete previous versions but this problem persists. what can I do?

Clayton Cobbsaid

A previous version cannot run if a new version has replaced it. In 2010, you can’t just save the workflow – you must publish it to fully take effect. However, once it is published, all new workflows will use the new version. Old versions only run on workflows that already are underway when the new one is published, and if you delete old versions, it is not possible for them to run again.

Clayton Cobbsaid

You’ll need to use the UserGroup.asmx web service to get members of a SharePoint group. You use the UserProfileService to get members of an Active Directory group. The former is on Ianchivers.com (blog #37), and the latter is on my blog.

johnsaid

Hello,
I’m working on a custom SharePoint workflow which instructs Sharepoint to send a custom email to a contact which includes a link to a list item attachment. I can use the “Add to body” to insert a variable value to the list item, however, I want the a link that will bring the user directly to the attachment uploaded to the list item. Is there an out of the box “add to body” which will enable this to work?

Clayton Cobbsaid

I haven’t tried doing it, but if I were to try, I would click on an existing attachment to get the URL of that attachment. I would then examine that URL to see what the variables are and then construct my URL using the proper variables so that it sends the user to the attachment of the current (or specified) list item. The problem is that you can have more than one attachment, so you need to find out how they are named and see if you can get this “name” for use in the URL.

Dereksaid

I am rolling out SP 2010 and along with it, browser based froms.
I am looking for code to put behind my IP forms to
1. Print the form either be for or after(can leave form open) the user submits
2. The ability to save a form that may require more data input befor submitting to the form library. Preferably save it to their mysite content library. I think this would help eliminate the need for the IP filler software.

Both of these are indeoendent and should have seperate controls.

I have tried the “this.print()” but got errors
Would like to have C# code, using IP 2010 as well

Clayton Cobbsaid

I do all of my solutions without code and am not a developer, so I can’t help much in that realm. All the code I’ve seen for printing with a button has only worked in Filler forms, not in browser forms. I haven’t seen an example that works for browser forms, and be advised that Print code requires Full Trust, which is not a best practice. Is it truly important to print with a button instead of just using the built-in print feature in the InfoPath toolbar? That requires no development and no effort as long as your users don’t mind clicking Print Preview in the toolbar and then printing from there.

Saving to another location for temporary purposes may work – I’ve never tried that, but saving to a dynamic location based off the current user would definitely require code, since you can’t put variables in submit data connections. It’s not so big of a deal to submit to a different, pre-defined location (i.e. a staging form library in the same site), but saving (saving is submitting) dynamically to a user’s MySite would require a dynamic submit data connection, which is definitely code. Why, though, is it a big deal to just submit to the same form library and have a metadata flag that defines the form as being in draft? That’s what I would do to again avoid a ton of hassle and custom code.

Dereksaid

What I do not get is that there is a “print preview” button in the browser ribon but no “print button”. Is there something I am missing?

Also, I am trying to secure all the form libraies, they are hidden fro users due to many fingers causing issues, I give them a link that pops open a new window with the form. So you can see from that example the users are very limited in what they have acces to. Kind of trick I know.
But maybe I can give them a save button that dumps to a general library as you suggested, still not the best solution. but I am running short on time as well.

Clayton Cobbsaid

Well, what is more important? To finish on time with a healthy, OOTB solution where users actually have access to where they need to go or to completely customize the system with code just to prevent users from being able to interact with the system normally while potentially going beyond the deadline? I have many, many solutions built for different companies and agencies where I don’t have to obscure everything like you’re mentioning. Why is it so bad in your environment? You’re making headaches for yourself for reasons that I’m not sure are valid, although you of course have been driven down this road by something bad in the past. I just don’t know if it’s something you could overcome with some more knowledge of how to use SharePoint or if it truly requires deep customization using code. I can do the vast majority of what I need without code, including obscuring stuff from the user and even dynamically assigning granular permissions to every item, if necessary.

Btw, if users can submit forms to a form library, then the form library is not hidden. They can get to the form library if they browse to it whether it’s visible to on a page, link, etc. So, they aren’t actually limited in terms of access, but rather their access is obscured from view. If you dump a saved file anywhere, then how are they supposed to get back to it? Are you using a workflow to send them a direct URL to the form wherever it gets saved? If so, then I would still save them to the same form library instead of having to manage multiple locations with multiple publishings of your form template.

As for print preview, that’s pretty normal behavior. Other Office products have it, and in InfoPath, it allows you to set a special view as your print view, and then this special print view pops up in a separate window for the user to preview before printing. Is that a big issue?

Dereksaid

Clayton Cobbsaid

As opposed to clicking Print Preview and then choosing their print options like in other Microsoft products? You can add Full Trust code to client forms to do this on a button click, but I don’t know of a way in browser forms.

Barry Csaid

First off, I want to say thanks for your blog and knowledge. I have read many of your posts on several sites and appreciate your guidance. Since you have posted about this I want to ask if this is possible, or if I am going crazy for trying it.

I am running Office 2010, MOSS 2010, and SQL Server 2008.

It seems that it is easy to create a filler form for a connection to a SQL Database, and easy to create a external type connection from SP to SQL. But how about a form that will allow Infopath to send and receive info from both SP and SQL server? It looks like this has to be done as a full trust form, but that does not seem to be the easiest thing to publish to make work. I pull much of the SQL data into SP and use that list as a datasource in Infopath, but I need to create a button to perform an SQL Command but it is fails. (I think because of the trust) I want to do this in a single form, does it sound possible?

Clayton Cobbsaid

Why does it need to be Full Trust to submit to SQL? I don’t know of anything that would require Full Trust. If it’s a Filler form as you said, then it shouldn’t be difficult. You just will want to make it a regular blank template with submit data connections for both SQL and the SharePoint form library plus receive data connections for SQL and whatever else you need to use as a data source. I don’t know what you mean by “perform a SQL command,” but you should be able to submit to the DB without an issue. You could also create a web service for read/write with the SQL DB and use that instead.

What exactly was requiring Full Trust? Did you write code that required Full Trust? I wouldn’t expect you to need code. Also, why do you know want to go though BCS?

Clayton Cobbsaid

Rick, the error says, “Access Denied.” Did you add your account as an administrator of this BDC instance? You do this from the Manage Service Applications screen by single-clicking the BDC service app, then clicking Administrators in the ribbon.

Clayton Cobbsaid

It’s not something that has ever happened to me, so I’m not sure what’s going on. The error is non-specific, so it would require some digging. I have built a bunch of 2010 farms without this ever happening, so it points to something non-standard about your build. How did you create this service application instance? Manually or through the config wizard? Did you put it in its own app pool with a separate service account or did it use an existing app pool? Is the app pool identity of that app pool account AMR\sys_psssvr?

Rick Johnsonsaid

Cory Williamssaid

As a little background my clients group has an array of forms, they want each form to populate with default data about the user, so I am hitting against the Profile Service. However they also will be using approval for these forms and will need to select the approvers in some circumstances whereas other times it would be automatically derived based on their manager and that managers manager. However it doesn’t always follow that path for approval which is where the people pickers come in. So typically there are three approvers on a form, in some situations as many as six. In some instances I was using the people picker for the first approver, and then their manager would automatically populate as the second approver.

What seems weird to me is how the people picker processes information when input.

Here are the results I can get back when using the picker. The scenario does vary from person to person, probably legacy domain users vs. new domain.

1. Click on the search and search for Virginia Hall
Result Virginia K Hall with no Manager

2. Enter in Virginia Hall and check the name
Result Virginia Hall with Manger

I can use another person and get a manager all three times, with only the last item showing different. I have no real way to see the data as it exsists behind the scenes so right now I am grasping at straws.

As another note this is a “no code” environment, using only Form Services in MOSS.

Clayton Cobbsaid

This is definitely caused by artifacts in AD. Those are separate user accounts. Virginia Hall is not Virginia K Hall. Either AD needs to be cleaned out of the legacy user IDs, or your SharePoint profile import and User Info table need to be cleaned out and set to never retrieve those IDs, but it’s best to fix it at the AD level. This is not necessarily a case of the Contact Selector behaving differently, but rather a case of having multiple entities for the same person, and the CS isn’t sure which one to use. Once a user is in the User Information List (User Info table in the SP DB that has a separate entry for each site collection), then Contact Selector users come from that list, but if the searched value isn’t seen in the UIL, then it pulls from AD (or some combination thereof).

Muchamsaid

Can we use query, queryoptions while creating a SOAP Service connection data source to get the list items ? We can use the filter on dataview webpart, but I want to get the filtered items from the SOAP service to avoid performance issue.My list contains 50000 list items.So I have to apply the filter while getting the items from the SOAP service. Please help me. Thanks in advance.

Clayton Cobbsaid

Mucham, what product and version are you referring to? You didn’t mention any of that, so I don’t know if you’re talking about InfoPath 2007/2010, SPD 2007/2010, SharePoint 2007/2010, or some combination thereof. Are you just talking about Data Sources in SPD that you’re using in a DVWP, and you want to filter server side instead of client side? Is this 2007 or 2010?

Muchamsaid

Clayton Cobbsaid

Is there a reason you’re not using REST instead? With REST, you can connect to lists via ListData.svc and provide query/filter parameters in the URL itself. To pre-filter SOAP services requires a query parameter. I know that lists have query fields (each field is a query field), but I don’t know if you can set and get on SOAP service dynamically from a DVWP. I do it from with InfoPath in SharePoint 2010 all the time, but not with DVWPs.

Scott Powerssaid

I had a questions regarding InfoPath 2007 “Option buttons” and I wasn’t sure which blog to attach it to? Anyway, I am making a grade sheet InfoPath form where each task has 3 option buttons “Go”, “No Go” and “N/A”. What I need to do is count how many are “GO”, “No Go” and “N/A” for grading. For example, anything that was N/A would not be figured into the final score, so if there were 50 tasks and 10 were N/A, then 40 would be 100% and the value of “No Go” would be subtracted from that. I tried using rules and the count function, but could not figure out how to make it look at all of the tasks instead of one field?

Clayton Cobbsaid

If it only looked at one field, then are you saying this is a repeating field in a repeating table with the option buttons repeated for each row and bound to one repeating field? Or, are the option buttons all connected to separate non-repeating fields?

To sum all results of a repeating table, it would be sum(@Option[Option!=N/A]). This is basically saying to add up all the values of the Option field that AREN’T N/A. The part in brackets would not be hand typed. You would insert the Option field inside the Sum function and you would filter where Option is equal to N/A. Next, be sure that your buttons are set to these values: – Go = 1 – No Go = 0 – N/A = N/A

That way, when Go is selected, the actual XML value is 1. Now, the result of the above formula will basically tell you how many rows were set to Go. Next, use count(@Option[Option!=”N/A”]) to get a total number of rows where something other than N/A was chosen. Lastly, once you have made sure both the sum and count formulas work, you put them together in the same formula with the sum one divided by the count one.

Pranay Chandrasaid

Hi
i understood the concept of sharepoint workflow but in my organization i need to create a Leave Form based on INOFPATH,So Manager has to Approve for leave and then Leave form must go to HR
But in my Organization There r many teams and for different teams there are different Managers,so how Will Workflow automatically take Managers for Different Teams

Mohammedsaid

I have infopath forms saved in to library out of which there are some forms which is having problem.

1) After saving form it is showing xml icon insted of Infopath Icon (Note: all the other forms are showing Infopath Icon except the few forms)
2) Infopath fields data is not able to pull in to columns (Other forms field date are able to see in columns but only few forms data is not getting displayed in columns)
3) Opening infopath form in Read Only mode is good but when it opening in Edit Mode it gives error (A device attached to this system is not functioning) and when i click on Ok button it opens a plain notepad

Clayton: I really do hate to bother you with questions; however, I have reached the end of the internet and have not found an answer to my delemma. I have a (SP2010) dataview web part diplaying help desk tickets. I have it connected to an infopath form displaying the information, but the only way to select and display the information in the infopath form is by clicking on the small double arrows next to the item in the dataview list. Is there a way to make it so another item, say ticket number, is clicked and the information is then passed to the infopath web part form. I greatly appreciate your knowledge and experience. Thank you.
Kevin Hinderleider

Clayton Cobbsaid

Not that I know of. Those double arrows are what represent the connected web part. I know how to make other fields of that DVWP hyperlinked, but I don’t know how to make them replicate the functionality of the connected web part arrows.

jim mcdonnellsaid

Hi Clayton,
My name is Jim and I am looking for some reasonable training in SharePoint Devolopment. Can you tell me the names of any place in the Metro Area where I might be able to check out. I know of AmeriTeach but they are a little out of our budget at the moment.

Dianesaid

Clayton,
Please help, I am unable to track down the source of my 5566 error, Microsoft has so far been of very little assistance and I am absolutely just stuck.

Form works fine from the inside the network using http: calling the web service, as soon as I try to use it from the outside using https: (through TMG) the web service call errors out with the dreaded 5566 error. The event log is not much help. I have tried several of the solutions on the web, Anonymous access is not on and I have edited the registry to disable loopback. Any help would be appreciated.

Clayton Cobbsaid

Diane, you said the event log is not of much help, but it has to be. There HAS to be an entry in the logs for this failed attempt either on the WFE or on TMG. It may not be in the Event log itself – you have to also look in the SharePoint logs. You didn’t mention if this was 2007 or 2010, so you either have to go to 12\Logs or 14\Logs and find the full details of this error. I have a large farm split across domains with ISA (precursor to TMG) in front of the load balanced external WFEs, and I have my browser forms working. I specifically had to do a good bit of work to get things like the User Profile Service to work, but it’s all good now. However, this is very, very advanced architectural stuff, which is why you haven’t been able to find help. I would not be able to go to that length of support for free, but we could help you professionally on this if you needed it. Otherwise, I can give some guidance in hopes that you figure it out with my tips. The first tip is to find the EXACT, detailed error in the logs so that you can find out why exactly it can’t connect to the “remote server.” Remember this. The user has already gone through TMG and opened the browser form, which is rendered by Forms Services on that WFE. The WFE then MAKES the web service call on behalf of the user. If you have one WFE, then it queries itself. If you have more than one, then it depends on your setup. Also, I am assuming this is the same form being used in HTTP and HTTPS, right? That means that when the HTTPS user opens the form, all the data connections are still HTTP. In our environment, we have HTTPS everywhere – not good really to have HTTP and HTTPS mixed for the same solution. InfoPath can’t translate its data connections automatically.

Dianesaid

Hi Clayton, Happy New Year and thanks for the reply. I turned on verbose logging on the forms services (it is Sharepoint 2010 and InfoPath 2010) and am going to try to trap the error in the 14 hive logs. We have two Web Front Ends, and I will will have to look at how they are making the query to the web service. Thanks for that tip. We have changed all our connections and forms to HTTPS as well. We may need to take you up on the offer for professional help, please send me more info regarding your going rate. As you said some of of this is pretty advanced and the TMG is completely new to me. I will start with the verbose logs first and see where I can get from there.

Debisaid

Clayton, Just watched your hour video on the leave form. I am struggling a bit with the same thing. I am using the OOTB Approval workflow which I am not sure I should do but it seems I am having some problems with it.
First-
The views – I have various views and I am hoping to do it like you did – manager view as the approver, submit view etc… Also, to be able to reject an approval and have it be able to re-submit by the initial requestor.
I open the form and I have tried this two ways – if I have the username, manager name and manager email prefill from the user profile service on form load – that works but if I then go in as someone else it auto fills in the new users info on the form so the previous info is overwritten with the new users info.
So then I created a rule to change the employee details and had a “switch view” rule run before it. The condition being that a cell in the form was filled already so that if that was the case that they got the approvers view. This only works until the initial user goes back in to resubmit and they get no submit button cause the view is the approvers.
Lastly,
My links in the emails that get generated by the workflow open infopath in the thick client, I would prefer that they open in the web browser. I know that is alot but I have been trying various things and although your works great in the video, I did not really get to see the details of the view switching.

Clayton Cobbsaid

You have fields for storing the submitter info and the current user info, but these are separate fields. For submitter fields (submitterUserName, submitterEmail, submitterManager, submitterFullName, etc), they should have default values that retrieve from the User PRofile Service. These will only get populated when the form is first opened. Then, create CurrentUser fields for all the same details, and you populate those with Form Load rules that run every time the form is opened. That way, you have hidden fields storing the current user’s info that you can compare against the submitter info and the MAnager info. However, these fields should not be shown on the form – they are hidden and only used for building conditions.

The links need to be the full Forms Services URL. You can find my answer to that all over the MSDN InfoPath forums. I need to write up a blog showing how to do it so that I can stop typing it, but for now, just search for it, and you should find me answering it tons of times. THe Forms Services URL is much longer than just the URL to the XML file, and this is the URL you have to dynamically construct in your workflow emails.

Debisaid

Thanks again Clayton.
So….I have the workflow setting “workflow status”.
Please let me know if I have this correct – the status is set depending on the submit, approve and reject buttons which moves the workflow on to send emails etc… and the views are changed based on the currentUser matching with the submittingUser or submitting Manager.

Couple more questions –
1. Do you have seperate views for the “your submission has been made, approved, rejected that are kicked off by the button push?
2. If that is the case, does the workflow status in conjuction with the currentUser make the view changes?

Clayton Cobbsaid

Yes, those are views, and they are driven by the buttons. Each button has a purpose and is visible based off the person and workflow status. That is how I know which view switches to put on the buttons. I know the logic before the button is pushed. The view switches are not dynamic, but the buttons are.

Debisaid

Thanks again- I noticed that your workflow status dropdown field in on the form itself and that it appears to be read only. I have created the dropdown with the workflow status’s (if that’s a word) as dropdown selections and I assume it changes based on what button is pushed and who is logged in. I cannot however seem to make the field “read-only”

I have replaced everything after the first = sign with [%Current Item:Encoded Absolute URL%] and picked up at &SaveLocation=http%3A%2F%2Fportal%2FBank%20Forms%2FTimeSheets&Source=http%3A%2F%2Fportal%2FBank%2520Forms%2FTimeSheets%2FForms%2FAllItems%2Easpx&DefaultItemOpen=1

It is still opening in the thick client. Any ideas?

Clayton Cobbsaid

Debi, it’s not just XSN vs. XML. The XSN attribute tells the browser which form template to use. The XML attribute tells the browser which FORM to open. The reason why your sample below had no XML attribute is because you opened a new form instead of an existing form. If you had opened an existing form, then you would have seen a different URL, and it would have made more sense. You SHOULD have both the XSN and XML values, but they should not all have Encoded Absolute URL. Only the XmlLocation should have [%CurrentItem:Encoded Absolute URL%], because that is the URL directly to the current form. However, XsnLocation should have the URL to the form template, and this should just be static text, not a variable. Remove the entire SaveLocation node if you aren’t using the Save button in the toolbar (I never do), and set your Source attribute to the URL you want people to return to when closing the form (usually the default view or My view of the list/library).

Make sure you take out all the encoding and use real characters. For instance, instead of %3A, use :. Instead of &, use &.

Debisaid

Debisaid

I am sorry – I seem to be missing the “aha” moment here. So I have created the submitter fields seperate from the Current User fields.
When I open the form the submitter fields which are on the form are auto filled by the pull from UserProfile.

When I open the form as myself (not my test user) it pulls all my info in there as the current user. Do I need to change the fields on the form?
Previously you said not to put the current user fields on there – which I have not.

I apologize that I am missing this. I really do think that you are going to explain and I am going to go “OHHHHH” “head slap”

Clayton Cobbsaid

The Submitter fields should only get populated when the form is first opened. You can ensure this by setting their default values to the corresponding values of the User Profile Service. When using default values like this, those fields should ONLY get populated when the form is first opened and never again.

For the CurrentUser fields, you don’t use default values. Instead, you use Form Load rules to PUSH those values every time the form is opened so that they update every time. Are you saying that your Submitter fields are changing every time someone new logs in even though you set their values using default values?

Debisaid

Well I have a feeling that I just have the wrong fields on the form.
When someone new opens the form the default values of the submitter fields get pulled from the UserProfile Service. These are the fields that are on the top of my form for Name and Manager Name.
After I submit the form, the manager gets notified and when they open the form – the same fields (the submitter fields on the form) pull data and fill them in again with the managers info.

Debisaid

Clayton Cobbsaid

In all of my forms, when I set a field’s default value to a node of the User Profile Service, it only ever populates the first time. I don’t know why yours are populating every time. You are sure you don’t have any Form Load rules or other rules doing it?

You can try de-selecting the check box on those fields that says to update the formula.

Debisaid

That was it. I uncheck those boxes and it is now only pulling that data on the first time.
One other thing I noticed. I created only one view of the form and have the buttons dynamically showing up or not – I was wondering how to made the words “reason for rejection and approval comments” be visible or not or if you had another full view of the form for that.

Clayton Cobbsaid

That’s because you have to remove focus from a field before performing another action. When you type data into a field, the data is not committed until you put focus elsewhere (tab or click elsewhere). If your next movement is to click the button, then this only changes focus and commits the comments to the field, which makes it seem like it requires 2 clicks. Really, you just have to commit data to the field before performing your next action. Clicking tab is the easiest way, imo.

Dereksaid

I am trying to create an invoice template in Infopath, the request was made to have a static border and also place a staic filed at the bottom of the page. The information that fills the invoice is pulled from a different view and is placed in a repeating table. (both views are using the same data source binding) I am really stuck on how to hold a text box to the bottom of the page because as more data is entered it pushed the remaining filed/border down. Any thoughts on this?

Dereksaid

Clayton:
Have you every heard of a way to date/time stamp an entry into a notes filed that is inside an InfoPath 2010 form. Such that when a new note is entered either in the rich text notes field or by adding a new entry in a repeating section? Thanks for the reply in advance.

Clayton Cobbsaid

Sure, you just add a rule to the notes field that sets the timestamp field to the now() function. If you mean you want the timestamp inside the same field as the notes field, then use a rule that sets the notes field to concat(NotesField, ” “, now()) or something like that. That will take whatever is in the notes field and concatenate the date/time to it.

Clayton Cobbsaid

Debisaid

Thanks.
Another question – All my “post-submit” message views “submit using the data connection” and then close, the user is sent to the home page of the site (where I want them).
The only one that does not is the initial submission. It just closes the form and then they go to the submission doc library where I do not want them.
The initial submission in done on the actual “submit” button that has other rules on it – like the itial status change and the “edit” vs. “firstsubmission” strfilename rules.
How do I get the initial “sumitted successfully” view to take them to the page I want them left at?

Clayton Cobbsaid

Your buttons don’t control. That is controlled by the Source parameter of the URL. The reason why it works right for your subsequent edits is because you are sending the user a pre-defined URL via email that has the Source parameter set to your home page. However, when they click “New” from the form library, Forms Services automatically sets the Source parameter to the the same place where the user clicked New. If you want this to be different, then you can’t let your users click New from the library/list. YOu will need to formulate the Forms Services URL for opening a new form (click on a new form and copy the URL) and replace the Source parameter with your desired return location, and provide this link to your users somewhere. It can be on your home page, in the navigation, on a custom page, in an email, etc.

Debisaid

I have them click a link to launch a form anyway so I will set the URL properly. I have been doing all the testing with a test account and launching the form from the library. I love it when it is easy 🙂

Robysaid

Could you shed some light on an efficient way of deploying InfoPath forms, in the following scenario?
Consider a situation, where I have admin approved approved form templates, with data connections to a WCF WebService and the User Profile Service.
I develop the form templates and in the process use ‘DEV’ data connections. As I move to another environment say Production, I need to change the ‘DEV’ data connections to ‘PROD’.
Is there a better way of going through this deployment process, assuming that I do not want to manage data connections ‘hard-coded’ on the form template, rather have a config file which I would edit when I am moving between environments?

Clayton Cobbsaid

Roby, I don’t use Visual Studio and don’t work with custom code, so I’m not a great help in this area. If you have the forms and data connection files in both environments, then all that needs to change is the root URL of the data connections. I would imagine you could change this dynamically in your feature when deploying updates, right? If not, then if you’re using 2010, re-publishing to the new environment asks you if you want to update the data connections, and it does it for you automatically. If neither of these are an option, then you can simply export the form template to its source files, open the manifest.xsf in notepad, and use find/replace to fix all the root URLs. After saving the manifest changes (be aware that the form template must be closed when doing this), you right-click it, design, then publish to the new environment.

Emmasaid

I’ve created a request form library that has a workflow to Create a List Item in a task list with certain information from the form. I have had to create custom workflows because of requirements that did not fit the Assign a To-Do Item workflow.

The problem I have encountered is in updating the due date in the task list item when the due date is changed in the InfoPath form; while I can use the due date field to perform a look up if needed, it is not accessible in the Current Item (popular thinking is because it is actually a value from the InfoPath form) for comparison so I can’t access the field to set a condition to test the two date values.

How can I update the task list item when an edit is made to a field on the form?

Clayton Cobbsaid

It should be easy to update the due date of the task when the date in the form changes. I didn’t understand why you couldn’t do it. If there is some date in the form that drives the task, then make sure that field is promoted to the form library, then have your workflow use “update list item” to update the task, and you update the right task by saving the ID of the form into a formID field of the task. That allows them to be tied/associated for updating purposes. This workflow should run on the form library.

What did you mean by, “it is not accessible in the Current Item (popular thinking is because it is actually a value from the InfoPath form).” It SHOULD be accessible – why isn’t it? The “current item” is the form that edited. The only thing you may run into is the fact that you likely promoted your date field from the form and let InfoPath create the column, which means it’s a single line of text data type while the task Due Date is a date type, so maybe your workflow comparison area isn’t letting you match separate data types. In this event, you use a variable to convert the task due date to a string. In any event, you have to make sure the syntax is exactly the same and that the data types match.

Emmasaid

Hi Clayton, and thank you for the reply, I didn’t expect to hear from you so soon.

I didn’t promote the date field from the form, it is a column in the library that is assigned the date value from the form and I do have a taskID field for each form library item (This field is also in the library, not promoted from the form. I changed its type from single line to Number when it didn’t display in the lookup). Apologies though, for not being clear on what exactly isn’t accessible.

What I should have said was that I can’t perform a lookup on the task because the task ID field does not show up as a field in the Lookup Details. To make it more clear, this is what happens when I try to set the condition (the same thing happens no matter which of the two conditions I use, or whether the current item is the first or second value):

1. Set first value to the Date Due field of the Current Item
2. Set second value’s Source to the task library (which displays the Find List Item section)
3. Set second value’s Field to the Date Due field of the task library

In the Find the List Item section:

1. Set Field to the task library’s ID field
2. Clicked fx to open Lookup Details
3. Kept default Source: Current Item

At this point the TaskID field of the form library does not show up in the Field list so that I can look up the task item using this value.

Clayton Cobbsaid

So you’re doing it the opposite way by storing the task ID in the form library record instead of storing the form’s ID into the task that you create?

When comparing IDs, it’s the same thing. The data types have to match. Do you have the exact same data type in your taskID field as a built-in ID field? It’s integer, I believe. I know you mentioned number, but that number may be 1.000000000, which is not the same as 1. I regularly relate things by ID, and it works fine. Without digging into it myself, all I can say is you have to get your syntax and data types to match exactly.

Emmasaid

I’m actually storing both IDs. ParentID in task, TaskID in form, since there are updates in both directions that we want to occur.

I have related things by ID as well in another project I completed recently. That’s why I’m finding this so perplexing. I compared the two and can’t see where this one is different from the other but obviously something must be.

I’ll tackle it again next week. Hopefully my next post on here will be a hooray that I’ve figured it out and not that I’m still stumped!

Clayton Cobbsaid

You only need one ID to work in both directions, because that’s a relationship that works both ways. You don’t need to store both IDs and compare those IDs at different times. If the task created by the form stores the form ID, then that’s all you need.

Emmasaid

Thanks Clayton. I realized after looking into this yesterday (meaning that the lightbulb finally came on! 🙂 what you meant about the ID’s. One of those things that is so obvious once noticed that you don’t know how you missed it initially.

Anyway, this is working just fine now, but now I’m having problems with a workflow that is doing the opposite, updating request fields when the task is updated. But I’ve posted that on the Microsoft SharePoint Forums, so you’ll probably see it before too long.

Dereksaid

I have a library that I created an Approval workflow in. The WF runs 2 seperate approval processes and I set variables to capture the “comments” from each approver and write them back to the library into a site column, I would like this data to be in the infopath form but I am unable to figure this out.

If I tell the workflow to update fields in the form, I get blank fields. If I try to use a data connection to the library and pull the column data into the form, I seem to get blank values as well. I do not seem to be able to create a filter that will pull data. If I publish a repeating field from the secondary connection I can get all the data that is in the coulmn. I even did this with the ID field to see if they lined up, then tried to filter by ID but still get nothing.

Is there a way to publish the WF variable back into the InfoPath form?

Clayton Cobbsaid

You first need to make sure the field exists in InfoPath, then promote it during the publishing process, MAKE SURE IT’S SET TO ALLOW EDITING in SharePoint (this is a checkbox on the property promotion screen when publishing), then the fields will be available for updating via SPD. I do this quite a bit.

Dereksaid

Thanks for the help. I had it at about 90%, the check box that allows editing was the hang up.

One other question for this topic, I am altering the Task Forms in InfoPath, I am creating a data conection back to the library that the form was submitted to kick off the WF. I want to include data from the original Infopath form so the person completeing the task can do “1 stop shopping”,so to speak. What would you use as the filter to capture data from the data conection? Would I use the title or ID? And how would it look?

I have done a lot of filtering but none that are pulled into a WF like this. I can’t seem to jump this hurdle. And I know I do not want a repeating field, as if I right clicked on the secondary data source to insert.

Any sugestions?

Derek

Clayton Cobbsaid

It’s best for the person to view the original item as-is without pulling the data into the task form. There is no unique identifier for doing a lookup back to the original item. The workflow maintains the ID of the task so that you can cross-reference from within the workflow, but the created task only stores a reference to the original item in the “Link” column. This is a hyperlink column that displays the name of the original item and is hyperlinked to the that original item. The name is not unique, but the URL should be. However, when I’ve tried doing exactly what you’re talking about, it just never worked. Task forms are very limited relative to full InfoPath forms. I’ve been adding data connections that work in preview but never work in the browser as if they aren’t getting triggered – I haven’t mastered this yet and am not sure it can be done.

Johnsaid

MOSS document library views of 2007 InfoPath form-created XML files do not display column content for all XML files (all XML files have text in the fields). I noticed there are some duplicate column names listed when modifying the MOSS views. After adding the duplicate columns to a view, the view shows text in both columns for some XML files, and text in one or the other duplicate column for other XML files in the library.

The XML files were created by a 2007 InfoPath form template published many times as the same site content type. The duplicate columns are coming from form template fields that have not been modified in InfoPath since being added to the form template. (the same template fields are published as columns everytime the form is republished)

How can these duplicate columns be removed from the MOSS document library such that all XML files will display column text in the MOSS views?

Clayton Cobbsaid

That happens when the form template gets out of sync, so you now have columns with the same name but different GUIDs based on the two templates that are published (this easily happens with content type publishing). Some of your forms are associated with a different template than the one you’re now using. Did you ever publish this form template directly to the library and then later publish it as a content type to the same library with the same columns? If so, this is one scenario that duplicates the fields (same name/different GUID). The best way to remove fields is to re-publish and remove the properties from the property promotion screen of the publishing wizard. However, it seems your CURRENT template is tied to the new columns, so if you don’t know which template version the old columns are associated with, then there is no direct way to get rid of them.

If this is your situation, then I recommend first going to the Relink view and re-linking all the files with the current template. Then, you’ll need to refresh the data in the form library by either opening and closing every form (don’t have to submit/save – just open and close) or open the whole form library in Windows Explorer, then refresh the form library – the data should all show up in the same columns and all the old columns should be empty. IF you have a lot of files, you may need to scroll through the whole list of XML files in Windows Explorer. I know it sounds weird, but it works.

After everything is re-associated with the current template and no data exists in the old columns, you’ll need to use something like SharePoint Manager to remove the old field, but you need to be very careful that you check all the GUIDs to make sure you remove the right ones. I recommend saving the entire thing off to a dev environment or at least to a temporary subsite to test all of this before doing it for real.

Johnsaid

Something I forgot to mention – when publishing the template to the site content type, one of the wizard dialogs in the sequence of publishing dialogs allows the path/filename of the updated template to be specified. When making changes to the template, like adding/deleting fields on the form, I would change the name of the updated template slightly (append a date-code) so the template associated with existing saved forms would continue to exist unchanged. Otherwise, the existing XML files (forms) could not be opened.

I did not ever publish the form template directly to the library, always updated the site content type.

However, I found out other groups could not utilize the site content type as is (which was the reason for publishing as a site content type) because they had their own library paths. Since it required programming to save forms to another library path, I did publish the template to the other group sites document libraries. I did that by copying the template on my PC to a new directory on my PC, updating the connection definitions to the new location and publishing to the other group document libraries. So far, I’ve only published once to their sites.

Since I have multiple ‘versions’ of the template (i.e. different template names) in the site content type it sounds like I need to relink and refresh the data in the form library using the site content type.

Clayton Cobbsaid

Oh man, you definitely shouldn’t have changed the name like that. The location of the save should be in a doc lib with versioning turned on – you don’t change the name each time – you just overwrite the existing version.

Johnsaid

I don’t recall if the instructions to set up the template this way said to turn on versioning or not (back in 2009). It’s odd that MOSS, as structured/rigid as it is, would allow the name to be changed each time the template is published to the same site content type. I notice when I republish the copy of the template for another group to their doc library (not published as a site content type) then the publish dialogs don’t allow me to change the template name.

If the existing forms (XML files) can be ‘upgraded’ to the latest version of the template, then I could move to the built-in version control of the template. Is there a process to ‘upgrade’ existing forms that were created by earlier ‘versions’ of the template so they all work/open with the latest ‘version’?

Clayton Cobbsaid

Johnsaid

Clayton, just wanted to close on this. Thanks for the help. The relink worked, though it fired off the workflow in some cases (oops). Will avoid the template rename/publish method, use template versioning instead.

bonka johnsonsaid

I am reading about IP 2010 and workflows and I cannot figure out one thing. All examples I’ve seen use one infopath form and one workflow. Is it possible to create more complicated list with multiple forms and workflows?

for example, the list can store job requests and depending on the request type (defect, change, new project etc.) different IP forms will be shown with some fields used across all the forms (like “job number” or “due date”). When to design different workflows depending on request type, so projects will go through approval process for example while defects will go through a fast path

Clayton Cobbsaid

Bonka, you can do whatever you want. I just built a conference management system that has one form for submitting and approving events themselves, and then it has a separate form for employees to request attendance ONLY to the approved events. These are separate forms in separate form libraries with about 6 total workflows working in concert. Some of the workflows go across from one form library to the other, and both forms pull data from SharePoint lists and the User Profile Service. This is all more complicated than one form with one workflow, but that’s ok – it’s just an example for you that you can certainly do whatever you want.

Bonka Johnsonsaid

thanks for the quick response, Clayton, and example! very interesting, I did not think about that from a perspective of having multiple libraries working together…but the rule is only one set of forms can be used withing one library, right? (one form for new item, one for edit and one for view)

Clayton Cobbsaid

No, that’s definitely not the rule. Content Types are a major, major part of SharePoint. Content types allow you to have multiple types of content in a single list or library. For document libraries, you could have multiple content types for different pre-defined document templates, or the same template with separate metadata fields (columns). In lists, you can have multiple different types of tasks in a Task list, for example. Each content type can have its own set of forms.

Btw, the way you asked about new/edit/display forms, I am guessing you’re talking about actual lists, and if you want to use InfoPath, then you’re talking about lists converted to InfoPath. This is a brand new feature in 2010, so don’t take that for granted. All InfoPath solutions built up until this point were in form libraries where there is no new/edit/display “form,” but rather one form template for all scenarios. In fact, in lists converted to InfoPath, there really is only one template, but SharePoint does the conversion for you by creating 3 separate pages with the InfoPath form web part on each page where the form template acts according to the page you’re on. When simply creating and managing your own template, none of that is done for you.

Steve Allensaid

Clayton,
Thanks for sharing your skills!
I’ve been stumped on something and thought I’d run it past you. It has to do with setting item level permissions using a multi-user column in SP2010. I have an infopath form with a multi-people picker field that we eval to another field which is promoted and works fine for the approval part of the workflow. Tried SPDActivities grant permissions on items as well as impersonation ‘add list item permissions’ and it seems neither can handle multi-user fields or person or group fields. The closest viable option I’ve been able to find so far is here…http://spdactivities.codeplex.com/workitem/6514?ProjectName=spdactivities
…but I don’t know the first thing about coding.
Do you have any ideas on how I could accomplish this without code?

Clayton Cobbsaid

Steve, one thing I confirmed early on in SP2010 Beta was that we couldn’t use multi-person People Picker fields for assigning dynamic permissions. So, my workaround is to have multiple single-person People Pickers whenever possible. However, I _have_ been able to assign tasks from mutli-person People Picker fields. You SHOULD be able to leverage People Picker fields for assigning dynamic permissions AS LONG AS they are set to only allow one user or group; however, that only works if it’s a SharePoint People Picker, which would require an InfoPath list form. If you’re working with InfoPath form libraries, then everything is much different, because the schema of the form is not bound to the library. This is why we do things like the double eval trick in 2007 forms and 2010 library forms. In this scenario, I assign permissions by promoting the AccountId value of the Contact Selector schema and use that in the permissions assignment.

I use the Codeplex SPDActivities for 2007 all the time, and they work, but they only work for 2007. How did you test them for 2010? He hasn’t built a new set for 2010, and some of his stuff was added to the product like the dynamic permissions, which is great. I see the code posted by that user in the comments sections, and we can try adding it to the source code to see if it works. If it does, then I’ll let you know. However, it does require knowing how to pull down the source code, update it in Visual Studio, re-package it, and re-deploy the solution to the farm. This will definitely require code to accomplish, but the code is only written for making the custom activities, and after that, it’s reusable by non-devs. However, these are only for 2007, so to do it in 2010 would require writing a new custom activity that does what the OOTB ones do plus this extra feature. I’m not sure I can get that done quickly.

Can you PLEASE have a look at my question? I hope you can give me a good workaround as you gave me one last week.
I want to be redirected to the HOME page after I clicked SAVE button in Add new/Edit item mode.

Gabersaid

Hi All,
Thanks for all and specially Clayton Cobb..
I am a new developer in (sharepoint-infopath) and i hope to find the solution to my problem.
I have need to create form library and change some items in it’s list according to data in it’s infopath form when the current date is changed(Daily).
It is easy to do it manually, but my question is: if it is be able to do it automaticly ???

Clayton,
A friend was using your autonumbering on a library. The library has over 2000 items and IE choked when the datasource retrieved all the IDs. Apparently IE doesn’t parse the long list(?) They used code behind to solve their problem. I am looking for non code behind solution. How would you do it? I ran a test on two Libraries. One with Items and one without. When selecting the ID, it is displayed differently. w/Itms ows_id, w/oItms ID. I created an XML connection to the libraries with a view that shows a limited list, sorted by create date. I can retrieve the maxID, (if there are items). On an empty library the ID is not prefaced with ows(does it matter). I retrieve the maxid and set the numID to it, I then check if numID is blank and if so, I set it to 1, otherwise add 1. before I go further, thought I would check to see if there was a better way. Thanks once again for your help.

Stevesaid

When using the xml data source, I can not get the rules to set up on a new library. When trying to select the ID from a secondary source, the ID appears under schema. ows_ID does not exist until a row is added. I ran a test and whether a row exists in the library or not, the ID under the schema contains the value “RowsetSchema” . Therefore, I can not check if ID contains this value. I tried counting the other fields. But, they do not contain valid info “Row”. Nothing to distinguish between a new library or one with items. Do you have any idea how to check if this is the first time a form is being added to a library using the xml data source.

Stevesaid

moujansaid

Dear Mr.Clayton Cobb
I am a new SPD and I would like to make a leave permit form, I have designed it but InfoPath and published it, when I set workflow at SharePoint desinger2007, that have 1 step and in its action I used Assign a to do item which send request to the manger but manager can only complete the task or cancel. I like he can approve or reject it, how I can design it?
Regards

James Hesssaid

Clayton,
I’ve read a lot of your posts recently and figured I’d try hitting you with this issue, see if you’ve come across it and have a fix.

I’m working on a Sharepoint 2010 implementation. We have the site and subsites created, tons of lists and data setup already. But, workflows are giving us real trouble. Any workflow with a pause in it simply doesn’t work correctly. They will periodically work, but most of the time, when the pause is reached, it just hangs there and will not restart.

This issue is WIDELY known and posted about, but to date, I’ve been unable to find a true fix for it.

Clayton Cobbsaid

James, you say the issue is WIDELY known? I didn’t know that to be the case. I have dealt with it before, but it’s a very, very low percentile occurrence in my experience. It did happen with a current customer I have, and we used an stsadm command to basically reset the timer job that handles workflow pauses. I don’t recall the exact syntax, but if you search for stsadm and workflow-timer-job, you will probably find it. That’s all I have to offer at the moment. To really dig deep into the situation, you have to go look into the content database to find the tables where the row of data gets written while waiting for the timer job to pick it up. YOu need to see if the row is getting written to begin with and then see if it’s being removed from that table when the timer job hits.

James Hesssaid

In looking at this issue, we’ve found hundreds of posts of people having this same issue, both in SP2007 and SP2010, where my widely comment came from.

It’s a pretty frustrating issue to have though. Workflows work great until we insert the pause, both for a time duration or until a specific date. And, even more, we can use a keyed date, static date or calculated date and get the same problem.

In the workflow, everything runs great until it hits the pause, then it just never comes out of the pause, or most of the time that is the case. If I let the workflow sit for a while, sometimes it actually works when I run a test.

At this point, we’re unable to use a pause and need to be able to. We have a workflow that waits until a Reminder Date that is calculated based on an Expiration Date (which is keyed in). On that Reminder Date, the workflow needs to kick off a reminder email to both the Created By and others that are entered.

Not sure if we’ve run the same command you’re referring too, but we’ve actually done several around the timer to this point.

Thanks

Clayton Cobbsaid

James Hesssaid

Yeah, we’ve been there too today, just driving me nuts trying to track this one down. Also found we are running the workflow timers at 1 minute intervals, might be too often so we’re bumping up to 5 and then working backwards if that helps.

Just one of those issues that is driving me crazy trying to resolve and I can’t stand not being able to fix something.

kiransaid

i designed a sequential approval infopath form. It consists of multiple approvers.In that form it consists of approve and review buttons.actually my question is If first approver approved the form then he signed with his digital signature in a section then he submitt it the mail goes to second approver ,If he clicks review button the form should goes to edit mode.then i want to clear all digital signatures before edit mode.

kiran.gsaid

When a digitally signed web-based form is rejected and send back the
applicant, the signature must be removed to let the fields fill out again.
How can I remove the Signature node in between the group?

Clayton Cobbsaid

Kiran, are you sure this is a viable solution? If someone digitally signs a form, then it is LOCKED. No one else can touch the form or at least the section that was signed. It would not make sense for another person to be able to remove the signature, because that violates the integrity of the signature. If I can remove your signature, then what’s the point? That’s not how digital signatures work. I have never seen or heard of any activity that can do this. I said that in my last reply. It can probably be done with some invasive code, but the whole concept violates the purpose and integrity of signatures. I don’t know of any way to accomplish what you’re trying to do. Why does the original user not just remove the signature himself? If he gets notified of rejection, how come he can’t remove his signature?

kiran.gsaid

Jonysaid

I have a forms library that admin puts jobs (as InfoPath form in browser) once he submit the form, it appears on the home page as a web part showing the jobs, then users get in and click on the job name and view a browser enabled infopath form where a section appears to fill there data in and then a submit button that submits forms to another library called submitted jobs. My problem is that the form is browser form where I want anonymous users to use. But when anonymous users click the form name they have error that they don’t have access to the form template. What’s the best practice to make this job application thing using browser InfoPath.

Clayton Cobbsaid

Jony, anonymous users are not allowed to interact with browser forms like that. Is this a 2010 environment? If so, then you would need to use InfoPath list forms instead of library forms so that anonymous users can work with them. Do you already have your anonymous user access working for the rest of the site?

Jonysaid

Hi Clayton, Yes it is SharePoint 2010 Enterprise Environment, I have tried to use list forms, but when the user clicks on the list item name in the web part, it will display the DisplayForm.aspx, I want the user to view the InfoPath form instead and start editing right a way instead of viewing the displayform.aspx then clicking edit item. And even after the user has clicked edit item, when editing the form and submitting it tells him that he doesn’t have access to the submitted library. Is there an anonymous policy or something to allow any user to sumbit data?

Thanks so much Clayton

Clayton Cobbsaid

Anonymous users cannot submit documents. They can only submit items, so if you had an InfoPath-based list form, then there is no library to submit to…it submits to the list. This requires proper anonymous user settings for users to submit/edit list items. Anonymous can only submit/edit list items, not documents. This definitely works, and I have built solutions to prove the concept. Going to the edit form instead of the display form is a menial issue – that’s not important at all relative to the grander schema, in my opinion. There are other tricks we can do for that, so I wouldn’t consider that an issue.

Jonysaid

Clayton Cobbsaid

In the list view web part, change the view to show the Edit column, and then hide the Name (linked to edit menu) column and instead show the plain Name column (not hyperlinked). This way, people click the edit button and go straight into the edit form. I don’t know how nice of a solution this is nor why anonymous users would be editing existing forms, but it’s a direct answer to your question.

Jonysaid

It’s for a situation where online jobs are submitted for people to apply for and I want them to open the item, inside the item I have a button to submit their application to another list called submitted applications, what’s the best practice in case of job applications online using browser enabled infopath forms?

Clayton Cobbsaid

That’s not going to work. What you should be doing is creating a custom list where you convert the list to InfoPath forms, then build the whole thing in InfoPath. Then, you have another list of job requisitions that have the name of the job plus lots of fields that explain the details. In the job submission list (the first list I mentioned), you would have a dropdown connected to a data connection that receives from the job req list so that anonymous users can choose from the available job reqs. Upon selecting a job req, the rest of the job req details would populate read-only fields. When the user finally selects the job req they want to apply for, they would then fill out the personal information fields and submit to the job submission list, which is the list form they would get sent to initially from a link on your site named “submit for job” or something like this. The way you’re doing it is a little backwards and won’t work with a list form.

Jonysaid

Jonysaid

Hello, it’s me jony again, I want to ask you about the the task am doing, I made it as you told me, I made the job application form, but I have something to do, i need to give the user 2 repeating tables, one for past experiences, and the other for certifications, he needs to enter these data as repeating tables. and I can’t add them to list form. How can I solve this issue in list form infopath?

Clayton Cobbsaid

Sorry, you didn’t mention needing repeating values before. List forms can’t have repeating fields. Even if it’s a form library template, the repeating fields aren’t very usable within SharePoint. It’s best not to use repeating fields if you can avoid it, because then that data is not going to be very useful. It’s always best to keep the data in separate list items so that the data can be used for sorting, filtering, grouping, and reporting.

Jonysaid

Clayton Cobbsaid

Jony, I’ve given you lots of ideas to do it yourself, but the problem is you have to have a broad understanding of everything I’m talking about, not just take what I say and go do it. It’s good that you’re trying to learn, but this is brand new technology, and the techniques are complicated. It’s taken years to get to where I know enough to even give this advice ad hoc. It’s not reasonable to expect to just learn it all right away, so keep that in mind and remind whoever assigned this task to you.

Michael Ksaid

I am using SP2010 workflow and was wondering if there is a way to save a draft of a task instead of submitting it. I am using the “Start Approval Process” action in the workflow. The approval form is pretty long so I want the user to be able to save (not submit) the form and come back to it later. How do I accomplish this?

Clayton Cobbsaid

Michael, how is your approval task form so large? You have taken the OOTB task form, which isn’t large, and have added a lot of fields? I just wanted to make sure, since that is not typical. From SharePoint’s perspective, a Save is a Submit, so you can’t do one or the other, since they are the same. However, you can configure InfoPath forms to have multiple buttons (one named Save and one named Submit) that both submit but that also set a status field to something like “saved” or “submitted.” Then, the workflow reads this value and performs additional actions based on the value. I do this with full form solutions, but I’m not sure how well it will work with workflow task forms.

Michael Ksaid

You are right. I have taken the OOTB task form and added a LOT of fields. Is there an alternative for this that you can think of? I have done the “Save” and “Submit” functions in a full form solution but not with a “Task Form”. I tried adding additional button for the task outcome but when that button is clicked, it seems like the workflow still continues to do a “submit”.

srishailasaid

I am getting alert message “Parts of this form are digitally signed and cannot be modified. To modify those parts of the form, remove the associated signatures. Click on the signature to view its details.”
how to resolve this issue.

Clayton Cobbsaid

There is nothing to resolve. The error is telling you what’s wrong. You cannot modify parts of the form that are signed. Why are you using digital signatures if you don’t want the form to be digitally signed? If you don’t truly want to lock the form, then don’t use digital signatures…just use electronic signatures.

srishailasaid

Roby Msaid

Clayton,
An SSO entity needs to connect to a WCF Web Svc hosted in the same SP farm, which goes out to a SQL DB.

I have configured the SSO. I see that the SSO Admin A/C created a DB and added the Ent. App Def with the Credentials specified in the DB. SO I believe the setup is right.

However, when I use this in a UDCX file’s authentication node, to be consumed by an IP 2007 Form Template, I get “Error accessing the Data Source”.

I am trying to deploy IP Form templates with Domain Security, rather than Full Trust (Admin Approved). And this template uses WCF Web Svc to receive and submit data to a SQL DB, whose credentials are specified in the conn string of the Web Svc.

Here is the Auth Node, from the UDCX file:

Am I missing something here.
Any pointers would be very helpful and will be greatly appreciated.

srishailasaid

Clayton Cobbsaid

I’m not sure what you mean by “sign the form using digital signatures from other system.” A digital signature in InfoPath is PART of the form itself. It must be an actual digital signature in your InfoPath template backed by a digital certificate.

dineshsaid

“InfoPath trusts self-signed certificates only on the computer that created the certificate, unless the private key is shared with other computers”.so,how can i share my private key with other computers to attach my digital certificate to form? and how to know my private key of self -signed certificate?

Clayton Cobbsaid

I don’t know, Dinesh. You should be using REAL digital certificates. You have to go purchase them. I do not use self-signed certs…that is not a proper thing to do for an actual solution. That would only be for testing, and I’ve never done it.

dineshsaid

can u tell me, how to use digital signatures in browser enabled infopath form? and what is the difference between signed and self signed certs?how to use self-signed certs properly in browser enabled infopath form?

Clayton Cobbsaid

You have to purchase digital certificates from a signing authority like VeriSign, or you have to use your internal Certification Authority. I just told you before that I don’t use self-signed certs. Those are not real certs and are not proper for a corporate solution. They would be for testing purposes, but I don’t ever use them, so I don’t have any guidance.

I have a site where anonymous users can add contact information and questions via a “Contact Us” list. This works well but the owners do not want anonymous users to view the questions or comments others have added.

Is it possible for setting permissions where anonymous users can add new contact us information but not see the other comments?

Clayton Cobbsaid

Ken, if you think about it, the question isn’t logical. How can you hide something from an anonymous user? Every anonymous user is ONE anonymous user to SharePoint, so there’s no way to know who submitted something…everyone is anonymous. So, since the anonymous user is ONE user, then everyone can see everything. You are going to have to build a custom coded solution that dynamically switches permissions on the item to not be anonymous after it’s submitted. When you do this, the original submitter will not see their own data.

Clayton Cobbsaid

Ericsaid

I have a form built in InfoPath 2010 that has multiple check box fields, with rules, that set the value of a query field. Currently this works with 1 value at a time, but it needs to be able to query one field with multiple values at once (or something that looks like it is querying multiple values at once)

Clayton Cobbsaid

Can’t you just leave it blank? What kind of query field or functionality are you using? If you go to a list view and filter a column on empty items, the query string URL shows FilterValue1= with nothing after the equal sign.

Johnsaid

Opening a new, MOSS-published Infopath form (browser-based) causes an error – ‘some rules not run’. I’m looking for an efficient/effective way to find the offending rule(s) as the error message does not list any details about the rule(s).

I’ve tried opening a new form through Infopath Preview, and changing the MOSS site to open the new form using Infopath instead of a browser. Neither way shows the error. I looked through Tools->Logic Inspector, where I found/fixed some other issues but that didn’t cure the ‘some rules not run’ error.

Aside from adding a new field and concat the rule number of each rule that runs, to see which rule didn’t concat the string, is there a more direct way to find the offending rule(s)?

Clayton Cobbsaid

Hi, Abby, you’re going to go with a custom ASP.NET site due to “some issues” with SharePoint? What kind of issues? No ASP.NET site is going to be able to replicate the integration features of SharePoint with InfoPath. I think that would be a mistake to stop using SharePoint. You can send data to SQL server without SharePoint – it just requires publishing the form to a network location, and then all users go to this network location to open instances of the form. Then, the data would be submitted to SQL, but you won’t have anything like a form library where you can easily manage the XML forms.

Jony newmansaid

Hell Clayton, how do i submit a list form built using infopath to another list, i made a submit dataconnection to another list, but when i press the submit button it gives error, it doesn’t submit unless i use the default dataconnection came with the form. any thoughts

Clayton Cobbsaid

Jon, how did you add a submit data connection for a list? That should not be an available option, because InfoPath cannot submit to other lists. The only time InfoPath can submit to a list is when you convert a list to using InfoPath forms, and in that case, it creates the data connection for you…you cannot create it yourself. So, I’m curious to know how you “made a submit dataconnection to another list,” because that should not be possible. InfoPath can only submit to form libraries unless you use custom methods not native to InfoPath (CAML, code, or workflow).

Dereksaid

Any experience creating pop out window from within Infopath when using browser forms?
Such as when a list form pops out in 2010. I would like that in an browser form for some generic data(table) the user will need. But is more than a control screentip can do.

Dereksaid

Clayton Cobbsaid

Not from a button or rule, but you can add a hyperlink directly to the canvas and dynamically populate it with data in the form. I do this all the time. You can dynamically define the URL and the display value.

Dereksaid

Yeah I do that when needed. I t just seems like there should be more functionality to that.

Here is another scenario – I have a text box the user will enter a number into. Is it possible to have a defined amount of rows called from the numeric vaule? Like a rule that would state “If txt1 = “3” then rptTable show 3 rows” ?

I figure this is a stretch but wanted to ask if you had ever encountered something like this.

Clayton Cobbsaid

Highly Frustrated Infopath Usersaid

Clayton can you tell me if it is posible to use a people/group picker with a database form template? and if not is there a work a round? I have a form that pulls quoting information from sql. A person puts in a quote number into the form and the rest of the form is filled out with the details of that quote. Works greate, but…

I want the form to populate a field with the name of the person originating the form. This will then be used as part of the workflow, but I cannot seem to get the people picker to work inside a database form template.

Clayton Cobbsaid

Derek, I’m not sure what you’re asking. Yes, I frequently combine the Contact Selector with the UserProfileService – in fact, I probably never use a Contact Selector without also retrieving profile data for that person (or persons). However, I wasn’t referring to this combo when responding to the database template question. I also am not sure what you mean by filtering Display Name with PreferredName. There is no filtering to be done on GetUserProfileByName, because it only accepts an accountName parameter and only returns one row, so there is nothing to filter.

Dereksaid

I use the userprofile service to get the user of the form.
1. I use a text box(txt1) as the control, set to read only.
2. I create a data connection to the userprofileservice.asmx
a) Select GetUserProfileByName
3. Set the value of txt1 to-
a) GetUserProfileName Data Connection
1) Field = “Value”
2) Filtered by “Name” (field) = “PreferredName” (value)

As you know this returns the logged in users name into txt1.

I guess I need a better explanation of how you use the Contact Selector in this case. And why would you use it? It cannot be set to read only, so that removes a level of security.

??????
Derek

Clayton Cobbsaid

Derek, I have no idea what you’re talking. These are 2 separate topics. I use the Contact Selector to select users…it’s not for the current user, although I sometimes DO auto-populate a Contact Selector with the current user’s info depending on the solution. A Contact Selector allows anyone who uses the form to select another user in the organization very easily just like when they use Outlook. It has an address book icon that pops open a search box that allows you to search on profile attributes (name, department, whatever). Then, the user is selected. You can allow one user, multiple users, people only, people and groups, people only from a specific group – it’s a very powerful control that requires no work.

Then, I often take the user selected in the Contact Selector and query GetUserProfileByName to get THAT user’s profile info – this is a user other than the person who opened the form. This is something I do in almost every form. I don’t know what specifically you are confused about, though.

Clayton Cobbsaid

I also don’t know why you want to set a Contact Selector to read-only. It’s whole purpose in life is to…select users.

On Thu, Apr 7, 2011 at 1:04 PM, Clayton Cobb wrote:

> Derek, I have no idea what you’re talking. These are 2 separate topics. I > use the Contact Selector to select users…it’s not for the current user, > although I sometimes DO auto-populate a Contact Selector with the current > user’s info depending on the solution. A Contact Selector allows anyone who > uses the form to select another user in the organization very easily just > like when they use Outlook. It has an address book icon that pops open a > search box that allows you to search on profile attributes (name, > department, whatever). Then, the user is selected. You can allow one user, > multiple users, people only, people and groups, people only from a specific > group – it’s a very powerful control that requires no work. > > Then, I often take the user selected in the Contact Selector and query > GetUserProfileByName to get THAT user’s profile info – this is a user other > than the person who opened the form. This is something I do in almost every > form. I don’t know what specifically you are confused about, though.

Dereksaid

I just wanted to say WOW. I just got through reading through all these comments and your knowledgeable replies, patience and assistance. I definitely see why you were granted the MVP title. Back in my day (Sharepoint MVP from 2002-2004… there were only 18 of us worldwide!), we just had newsgroups and a few forums to help define us as MVPs.

You’re doing a great job and a fantastic service to the user community.

Clayton Cobbsaid

Kaneosaid

Hi Clayton,
Would you be able to help me out again by any chance. I have created a data connection (not cached) returning the users SharePoint group and a rule to compare it to a column on another list (group does not contain list_column) so if it is a part of the list of groups that the user is a member of then that field will be hidden. But instead of hide the field it shows it, I have checked all the groups just incase they are named similar, but this seems not to be the case. My question is would you know any reason why this won’t hide the fields in the correct manner? Any help would be greatly appreciated.

Clayton Cobbsaid

Kane, this most likely comes down to logic errors. InfoPath is only going to do what you tell it to do. If you say to hide on a condition, and it doesn’t hide, then the condition is not met. Even if you think you have matching values, you probably don’t…OR the logic is backwards. I would have to see it to know for sure, but I can assure you that in all the forms I’ve built, whenever something like this happened, it was just a logic error. I assume you’re using the GetUserMemberships method to determine a user’s AD groups, and then you have a list that stores this group for each person? How exactly is this built? I can’t quite follow the logic.

Kaneosaid

Sorry Clayton you were correct it was a logic error. this issue was mainly caused by not enough and too much coffee, but that aside. The way I am trying to construct it is so the items in the other list are used like a guest-list. so if the user isn’t in a specific group then they can’t see specific fields. The main part is getting the data connection to return which SharePoint groups the current user is a member of. But when creating the GetGroupCollectionFromUser data connection and not setting the value of the parameter I get an error 5566. Does that clarify it a little? If not just let me know and I will elaborate more.

Thank you for the help, and if you can help me again it would be very much appreciated

Clayton Cobbsaid

Oh, so you’re using UserGroup.asmx. You have to follow the requirements of that web service for it to work. I only use GetUserMemberships in UserProfileService.asmx for retrieving AD groups. What you’re doing is for SharePoint groups.

Kaneosaid

Sorry I forgot to say I was using UserGroup.asmx and SharePoint groups are the ones I want returned according to the current users group memberships. Is this possible using this method if I follow the requirements or should I look else where?

Clayton Cobbsaid

Kaneosaid

Also would you mind elaborating on what you mean by requirements of the web service?

I have seen your answers on many forums suggesting in some threads it maybe permissions based. So I checked and the form list inherits permissions from the site and I am a member of the site owners group with full control permissions, so I am unsure this is the cause of the error. I have also disabled the loopback check as suggested by another thread that I read, but error 5566 still appears?

help or just advise me with regards to this matter it would be greatly appreciated

Clayton Cobbsaid

Permissions to the web service are not related to permissions on the site. The web service doesn’t call to the site – it calls to the User Profile Service, which comes from the SSP in 2007 and from the User Profile Service Application in 2010. Nonetheless, you don’t want to guess on this error. Each time you get the error, it logs the exact details in the ULS logs and usually in the Application log of the Event Viewer. You have to find these and get the exact error in order to fix whatever the problem is.

Kaneosaid

http://tw-srv-022:81/Lists/Approvers/AllItems.aspx
urn:schemas-microsoft-com:office:infopath:list:-AutoGen-2011-04-06T15:11:44:953Z
DataAdapterException
The remote server returned an error: (500) Internal Server Error. Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ was thrown. The parameter name cannot be empty or bigger than 255 characters.0x80131600 The remote server returned an error: (500) Internal Server Error.

I have have a look around and it is indicated that the call being made to the web service is failing. I have followed this by entering the URL of the web service to see if I can logon to it directly, which I can. But apart from that I have ran though the solutions suggested at the URL below, which didn’t work.

Clayton Cobbsaid

Kaneosaid

Hi Clayton Thank you for the help, but in the end I used used SharePoint Designer 2010, created new NewForm.aspx, EditForm.aspx and DispForm.aspx. Then set formating condition, Show Content, IfHasRights(16) so only users with the approver permissions can see the fields.

Scorpionsaid

I am designing a browser enabled infopath form with several sections on it. Each section has the User Name and Submit button. Each section is filled out by different group of people. I am using GetUserProfileByName to retrieve user name(Value=[Name=”PreferredName”]) and displaying it in the User Name field on each section. The issue is the same name is getting displayed on each section. What it needs to happen is if User A filled out section 1 then his name used to display it and when User B filled out section 2 then his name used to display and so on. Can you suggest how can I achieve this functionality?

Clayton Cobbsaid

Scorpion, ok, so look at what you’ve done. You’ve set all those fields to the same value, right? Where is your logic that tells each field to only take the value of each individual at the right time? You noted that only one section is editable at a time, right? So, how did you tie that fact in with the logic that tells the form how to populate the User Name field? I’m walking you down the logic path here instead of giving the answer directly, because the questions I’m asking are questions you should be asking yourself every time you build any sort of logic-based solution.

Debisaid

Morning Clayton,
I am having a problem trying to figure out a seemingly easy thing. I have two lists one has a workflow on it that “writes to a log” and then “creates an items in a list” so every time there is a status change on a form – it creates an item on a list that I am using as an audit log.
So what I have at the end is a list called ‘Log’ that has, for each form, a number of items like “workflow started”, “approved by whomever” etc..
What I am trying to do now is to have that information pulled into the original form so when the compliance group prints the form, they can see that “audit log” for only the items related to that particular form.
I have tried adding the repeating table from the log list and as you can imagine I get back all items on the list – I need to somehow filter it but I am at a loss as to how.
Thanks in advance,
Debi

Clayton Cobbsaid

You should be querying only the items in the 2nd list that are associated with the first list, not the entire thing. When your first list creates an item in the Log list, you should be saving the ID of the original list item in a field in the Log item so that they can be associated. Then, in the original list form, you should set the query parameter of the field that stores this ID to the value of the current item’s ID, then run your query. That way, it will only retrieve the related items. Do not retrieve all items and then filter, because that’s poor practice and will lead to poor performance. THis also means you need to set your data connection NOT to automatically retrieve, and instead you will use Form Load rules to set the query parameter then query.

Debisaid

Thanks Clayton,
I do have the ID in the from the first list saving into the 2nd list so go there. I understand what you are saying about the query – I am wondering how to display this information on to the first form.
I tried adding the repeating table – shoudl I still be doign that – I need all the items for the particular ID to show up and i am not sure how to display multiple items on the form in a readable way.

Clayton Cobbsaid

Yeah, the repeating table was fine – I thought your issue was showing only the correct rows. What’s wrong with the repeating table? Why is it not readable? Doesn’t it show one row at a time with the text you want to display? It should look similar to the workflow history of an individual workflow except in a tabular format.

Debisaid

The format is just fine, I just was not sure that was what I needed to do – so I have taken the repeating field of the secondary list and I have dragged it onto the form. I have set the data connection to not auto retrieve but I am having some trouble figuring out the query. I am creating it under form load – I see the ID that is in my second list but I am not sure what to do after that. I do not see where I would conpare it to the current list item id (or where I would even find that).

Clayton Cobbsaid

You have to SET the query parameter. Your rule should use “set a field’s value” and should set the query parameter for that ID field to the ID of the current item. You’re basically saying, “Go to that list and find all items whose copied ID equals my ID.” The key, though, is that the Log list has its own ID field, and that’s not the one you care about. You care about whatever field you created that is storing the ID of your original item. This is how queries work. You set the query parameter, then you run the query…

Debisaid

Ok so I have set up a new ID field on the log list that is the ID of the form. Now I am setting up the rule to “set a field’s” value – still missing what two values I am using. I am setting what fields value to what ?
Sorry I am being dense this morning.

Clayton Cobbsaid

Debi, you need to step back, think about this logically, and follow the steps that make sense. I have laid it out in pretty good detail, so there’s a point where you need to understand the big picture of what you’re doing and then execute accordingly. You’re doing this for a living now, so you have to know what you’re doing.

Debisaid

Scorpionsaid

Thanks for the prompt reply Clayton. I am aware of the fact that there is no logic associated with the field at this point. I was under impression that every time user would fill out the section and submit the form then their name would get captured. One solution I thought of is to store the user name value into a variable when the form is opened and in the code behind assign it to the value of User Name field for the section that is active. I am not sure if this would work.

Clayton Cobbsaid

Whoa, no, you definitely don’t need any code. I’m trying to get you to see that you haven’t told the form to do anything other than what it’s doing. My assumption is that you are querying on form load, so the form is retrieving profile data for the current user and writing it into each field, right? That’s not what you want to do, though. You want to ONLY retrieve it for the current user and ONLY populate the proper field at the proper time. You need to tell the form when and how to do this, and it absolutely does not require any code. YOu should not be using default values, but rather rules that SET field values, and these rules should only set certain fields at certain times. It definitely shouldn’t be querying on Form Load but rather when the person performing the work commits an action that tells the form this is the person who needs to be in that field. That could be with whatever submit button you’re using or on the change event of some field in the section that tells the form the current user is the owner of this section.

Clayton Cobbsaid

Hi, Scott, the key here is that you need to use Validation rules. Go to field Question1a and add a Rule of Validation type. Set the condition to say, “If Question1 is equal to Yes AND Question1a is blank, then show error” This will make Question1a only required when Question1’s answer is Yes.

Scottsaid

I have a tabbed IP2010 form with a continue button at the bottom. Is there a way to force all required fields to be filled out before going to next form? I see the Validation rule is not an option for buttons. What about a Hide Control Formatting rule until all required fields are answered??
Thanks
Scott

Clayton Cobbsaid

That is exactly what i do on all my forms. I disable the submit button until all required fields have data, and i use formatting rules on the button itself. I also add a red italicized message under the button that only shows up while the button is disabled. I put the text in a section and add a formatting rule to hide it when all required fields are good.

Scottsaid

Thanks Clayton,
Can you provide the mix of conditions to validate that a required field is filled out before the button is unhid? I guess my mind just can’t get wrapped around the If/Then conditions..
Thanks
Scott

Clayton Cobbsaid

If Field1 is blank or If Field2 is blank or If Field3 is blank or If Field4 is blank or If Field5 is blank

then Disable this Control.

You can only do 5 at a time in the regular wizard, but you can add many more if you use expressions. However, since these are ORs, you can add however many individual rules you want until you have covered all the required fields. If we were using AND, then it would require the trick I referenced, which I don’t want to get into if we don’t have to.

Scottsaid

Clayton Cobbsaid

Rossie, that tells me it’s a number data type when it should be “single line of text.” I know you said it’s a text box, but if it’s a number data type, then that should be changed. If it’s truly a text field, then check to see if the text box is somehow formatted as a number.

Rossie Trujillosaid

I am having an issue with a Zip Code field in my InfoPath 2010 form. It is a text field with a validation rule Field does not match pattern of Zip Code. The issue that I am having is the in the form itself the Zip Code is displaying as a number (81002 is looking like 81,002). It displays find in the SharePoint List. But if you edit the item it displays with the comma.

Clayton Cobbsaid

Scott, buttons can’t invoke other forms or links. Instead, set the Source parameter in your URL to point to the URL of that other form so that when the submit button is clicked, your first form closes, and your browser is redirected to the other form. The key here is that your user must be sent to the first form from a hyperlink that you set somewhere. The user can’t just click “new” or “add document,” because you need to set the Source parameter yourself. The New button sets the Source parameter to the same location from where it was click, but you need the Source to point to the other form. That’s the best I got with some other special customization (code, etc).

Clayton Cobbsaid

Derek, it has nothing to do with the form. It’s just in the URL…look in the address bar of your browser when opening a browser form. SharePoint puts query parameters in the URL all the time for just about everything. InfoPath browser forms are no different in this regard. When clicking New in a form library or when clicking on an existing form, SharePoint appends a Source query parameter to the URL that tells the browser where to go upon closing the form. It defaults to the exact location from where the item was clicked. To give the URL a custom Source parameter, you have to generate the full Forms Services URL with your own Source value and give it to the user as a link. I do this in workflow emails when I want to control where my user goes after clicking on the form link.

I may be doing something similar. I will take the address of the form I want the user to navigate to, dissect it in 3 parts, where the actual form name.xsn is a dynamic piece(if needed) of the string(in the middle of the url) then concat it all back together. This gives a “Blue” hyper link they can click, but I have had no luck(if even possible) to use a button to navigate to the link.

I do use this method in forms and WF emails. But like I said , I am clueless on getting it to work with a button control. All 2010 products.

Kaneosaid

Hi clayton,
I have a quick question I have been looking for the answer to but not found yet, I am looking for option to “Send email when ownership is changed” per a custom list item in SharePoint 2010, as I have seen this option in the “List options, Advanced options” of lists in previous versions of SharePoint and in task lists in SP 2010, but I wanted to know if it is possible to use this feature in a custom list?

Dereksaid

I am designing a list that needs to capture data from a database(SQL 2008 Express) for one of the fields in the Infopath List form.

I created the connection in the form template and it pulls the data when I preview the form. I publish the form back to the list
and the data connection is refused when I open a form to fill out the information.

On the list form there is no setting for trust level, I have tried to open the form with user credentials and domain admin/DB owner credentials and it just wont retrieve the data.

I could probably get this to work in a form library but this really should be a list.

Clayton Cobbsaid

Derek, you have to find out what the problem is, then go from there. I can’t tell based on what you said. I can guess that maybe you didn’t convert the data connection to a UDC stored in a Data Connection Library. This is required for data connections that go to another server. You also need to set up a Secure Store group target app for authenticating to it seamlessly and safely. I do not recommend making direct DB connections, though, because it should be done with a web service.

Clayton Cobbsaid

Mohamed, I went through the trouble of building and recording the solution while also doing a 1hr presentation video and a PowerPoint, but it would be a ton of work to document it all step-by-step for free. It is too much to document, so all I can offer are the other files on the main page of my Blog site (all with the same title).

srishailasaid

Hi,
I have designed seqential approval form in infopath 2007.In that i’m having requirement like this.
Requester should select an approver who is having nearest value of approval amount for his/her CAPEX.
E.g.:
Step 1: Approver A’s approval limit is` 1, 00,000
Step 2:Approver B’s approval limit is ` 5, 00,000
Step 3: If requester wants to raise a CAPEX for` 80, 000 then he/she should select approver “A” only.
Step 4: If requester wants to raise a CAPEX for more than` 1, 00,000 then he/she should select approver “B”.
Please tell me how to solve this using infopath rules not coding?

Clayton Cobbsaid

Other than data view web parts, you can only create and deploy custom web parts with code. What types of fancy things are you trying to do? I don’t know of a catch-all book for “fancy” stuff, but there are some SharePoint Designer, BI, and InfoPath books out there that I can point to.

Clayton Cobbsaid

That’s too vague. There are books about specific products that can be used to build solutions, but a whole book about random fancy solutions is something I haven’t seen. I would suggest looking for topics on SharePoint Designer 2010, InfoPath 2010, Visio 2010, jQuery + SPServices, and BI (PerformancePoint, Excel Services, SSRS, SSIS, SSAS).

Renaadsaid

Hi Clayton, This is an exciting topic but what are SSIS, SSAS? Is there a SharePoint designer 2010 book specific to designing webparts not like the beginning SharePoint 2010 book that gets you bored while it explains how to click the home tab and insert tab! a book in which takes you deep into SharePoint? A lot of guys talking about out of the box development and no code solutions this is why people wonder about what it is. There is a book called building solutions in SharePoint 2010 by Shane perran, but it’s more like an end user book and little administration but far from DEVELOPMENT.

Clayton Cobbsaid

SQL Server Integration Services and Analysis Services. I don’t know of an SPD2010 book that is for designing web parts, because that’s not what SPD is for. You CAN modify some web parts, but it’s not for creating web parts. That requires Visual Studio. I am the tech editor on SharePoint Designer 2010 Unleashed, which is almost done, and it’s huge. We cover tons of topics and try to go fairly deep on some things, but there’s so much to cover that it’s impossible to go deep in all areas. That’s the same for any SP2010 book. If you’re not only interested in custom web parts, then there are other books that talk about building solutions in InfoPath and SPD. I’ll be responding to sahik with some book names.

If you want DEVELOPMENT, then you’re talking about the wrong topics anyway. No-code solutions are not really “development.” They border that line, but DEVELOPMENT would mean all custom code. Everything I build is without code, but I don’t call myself a developer.

sahiksaid

Reenadsaid

Clayton as to your previous post, you dont have to write code to be named as you develop for sharepoint, you DEVELOP which means you make new things on sharepoint, you dont have to write code to be named you are making a developing. another question is about sahi question, do u have resources about the swiss army knife, Data View Web Part ?

Clayton Cobbsaid

I know this, Reenad, because it’s what I do every day. However, in the SharePoint community, “develop” means writing code. It has a specific meaning in this community even though the generic meaning can include anything. I do create solutions, which could be considered “development,” but in the SharePoint world, “development” stands for writing code. We really haven’t come up with a good catchphrase for this, but I have been using “codeless programming” for a while now. I have to give credit to Alec Pojidaev who used that on his blog before I ever used it.

No, I don’t have a known resource to point you to for DVWPs. We will have a chapter dedicated to it in SPD2010 Unleashed, but you could probably write a whole book on it. Someone may have already done that, but I haven’t seen it myself.

Reenadsaid

Clayton, want to ask you, how do you respond to people telling you that Microsoft’s Sharepoint designer and Infopath are not useful and the code they generate is slow, and custom coding is faster than them? and that what we do (me and you) and the no programming development is useless? it’s just annoying how some people think about what we do.

Clayton Cobbsaid

Reenad, here are a few things I say or would say: – How are they not useful? SharePoint is about using the right tool for the job. Sometimes, SPD and/or InfoPath are the right tools for the job. Writing custom code to build what Microsoft has already spent countless hours to build for you is just a wastes of time, money, and resources. It is not wise and does not provide a good service to your clients. On the flipside, sometimes things are better done in code, and it’s important for US not to force it into SPD or InfoPath, because that also does a disservice to our clients. – The code they generate is slow? That’s just a developer being an elitist. You can’t just say that in a vacuum without qualifying it, and you can’t brush a broad stroke across every solution ever built with those tools. – If what we do is useless, then how do I have so many clients that I have to turn them away and refuse to bid on proposals, because I can’t enough SKILLED people to do work that requires these tools? I have client after client who does NOT want to write custom code, but they still want solutions. What do you do then? What if the client wants to maintain the solution and/or enhance it? They can’t be expected to hire and maintain a .NET development team when there are tons of solutions they can build and maintain using the tools Microsoft gives us. That’s how I operate, and it doesn’t matter if a developer doesn’t understand.

Guangmingsaid

You just said what I’d like to say. I actually like to go a little further. To my understanding, the purpose of SharePoint is to not write code if possible so that the end users can have solutions right away: think about how long you can have a web site set up and in production before this SharePoint or similar ideas (eg DNN)? Now just couple of clicks.

My conclusion would be that for any business questions, the last resort should be to write code for event handlers, web parts, etc. in VS. If codes, you should try to add a SPD action/condition first.

However developers do not need to get threatened, thinking of job security. From my personal experience, without a lot of development knowledge and experience, it is difficult to do a good job in SP and SPD and InfoPath. Some time, just impossible.

I list the orders to find solutions for any business questions I think we should use and I tried so far:

1, SharePoint Built-in
2, SPD / InfoPath dependending on cases
3, Open-source solutions
(3.5 – not sure if I should list this one which is against MS best practise guideline and I start to use more often – Hacking the content DB, most time just querying)
4, Commercial packages
5, Develop SPD/InfoPath enhancement codes
6, Develop own solutions in Powershell, often for utilities
7, Develop own solutions in VS, eg, web parts, event handlers, web services, timer jobs, which can be deployed as part of SP; utilities
8, Develop own solutions in VS deployed/working independently

Ian Hawkinssaid

When I click on your “Building Codeless Solutions with SharePoint and Office 2010 (full, one-hour video)” link at the top of this page I get a “The webpage cannot be found” error – is this video still available to watch?

Ian Hawkinssaid

That’s a shame – I’ve watched your 5 minute demo and what you have done on there is almost exactly what I’m trying to do; I just wanted some more detail on how to set-up some of the parts of the process. I think I have bluffed my way through it now though, but it would have been nice to see how it should be done properly! 🙂

Great site and info though

Andreassaid

Clayton a quick question, i have infopath 2010 and people picker field which i want to publish to a forms library and want this field to be people picker, but it only lets me to view the column text only, how do i achieve this

Andreassaid

Clayton Cobbsaid

I thought I answered you on the MSDN forums. Was that a different person who asked the exact same question? You can’t publish form library fields to a Person/Group field in SharePoint. It can only be done with InfoPath list forms, because they are bound to the schema of the list.

What I do is promote the AccountId field, create a separate Person/Group field in the form library, then use a workflow that sets the Person/Group field to the value of the AccountId field. This only works when the Contact Selector in InfoPath has one name selected. I have no solution for multiple names.

Clayton Cobbsaid

AK234said

hi clayton, i am having trouble with sharepoint designer. i click on the list in lists and libraries section, it opens the administration page for the list. i choose the check box to hide from the browser, so it will not appear in the all site content page. now when i return to sharepoint designer to edit the page, it doesn’t appear in the lists and libraries. it only appears under all files category. and when opening the list, it doesnt open the administration page, it opens the list of forms for that list. how do u solve it?

Clayton Cobbsaid

Abed, it’s doing what you tell it to do. If you want to modify it, then modify it first before hiding it from the browser. You should still be able to get to the list settings page from All Files, though.

AK234said

Clayton Cobbsaid

mjsaid

Hi Clayton,
I have published a plain infopath form to a form library. Now, when i want to create a new form or open an existing from, i receive “system.outofmemoryexception”.
Do you have any idea to solve this and do you know what is the reason?

Clayton Cobbsaid

MJ, I haven’t seen that before. It doesn’t seem to make sense for a plain form. Is it a browser form? If so, please go check the ULS logs in the 12 hive (2007) or 14 hive (2010). I need to know the full error details. If this is 2010, and if it’s a browser form, then make sure you have the State Service application created.

srishailasaid

when i clicked on the link Mysite on right corner of the site,got an error like below:
Server Error in ‘/’ Application.
——————————————————————————–

The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.

Dereksaid

If I am using a Filler form the person can create thier own self signed certificate, but in browserr forms it seems to be giving me a problem. I have some users that have certificates available and some that don’t.

I have 1 form that requires several people(>5) and they are unable to sign the browser form due to no certificate available. However the person who submitted the form has a certificate available, as do a few other individuals I tested with but they are not in the chain of Signers that need to be active on this form.

Can I create a certificate in the domain, and if so how does the form service( or the user find it)?
Pretty much a severe novice with CA.

Clayton Cobbsaid

Derek, what do you mean when you say some people have a certificate? You should not use self-signed certificates. Digital Signatures in browser forms should be done with real digital certificates from a Certification Authority like VeriSign. If you have your own CA in-house, then personal certs need to be issued to everyone if you plan to use this feature. Self-signed certs only work for the person who created them.

Dereksaid

I have had zero experience with digital signature and certificates until recently.
When I stated that some have certificates – There is a certificate available when the are going through the signing processes. Not everyone has a certificate to select when propmted.

Is setting up the Cert Store tricky? You mentioned issuing a cert to everyone if it is created inhouse. Do I need to create a cert for every user?

I am trying to create an InfoPath form that submits several rows of data in a SharePoint List or Library. e.g. I would like to allow a person to submit a request for up to 5 apartments. Each request would be entered in as a distinct row. My form might have several fields that are the same for each row of data (Name, current address, current phone) while it may allow the requestor to add up to 5 distinct requests. Is it possible to do this with InfoPath 2010 and SharePoint 2010?

Clayton Cobbsaid

Yes, if you use create a new list form and during the initial creation of the form, be sure to check the box for allowing multiple inserts. This sets the main data group as a repeating group and gives you a repeating section instead of a non-repeating section for all your fields. Then, change the settings of that section to allow users to insert new sections so that they can submit more than one item. What this does is give your user the ability to submit one or many items of the same type to the same list, but all the fields and the layout of each item will be the same (each section will be identical, but each section represents a unique item). Then, on one click, each item is submitted as an individual list item. THis works very well and is easy, but it can’t be used for UPDATING multiple items.

Stephen Pomaskisaid

I’m happy to stumble across this, but I have a question. Is there a way to do this, but have a few fields not repeat every time? i.e. I have my core data entry fields (for project reporting) but don’t want to repeat the month, employee name and a few other fields. When doing this, with every insert, I duplicate those fields. And of course, no matter where you drag to the form, they’re repeating tables.

Thanks in advance…always love the blog

Clayton Cobbsaid

Stephen Pomaskisaid

Sorry. In regards to Marcel Meth’s post for creating an InfoPath form that submits several rows of data in a SharePoint List or Library. However, I think I just figured out the solution. Creating an additional field that will autonumber (count(preceding-sibling::*) + 1) and hiding the fields I want if not = to 1.

Clayton Cobbsaid

Will that work for you? Each item is an independent item in the list, so each item will include those fields – it must include them. This is not a method for a parent/child submit – this is physically submitting multiple, individual list items to a list, and all those list items will contain the same fields. They SHOULD contain all that data, because they are separate rows in the table.

Thea Rasinssaid

I am a Business Analyst seeking to understand Sharepoint. Unfortunately I do not have access to a program so I have to learn online. Specifically, I want to find best practices for effectively tracking migrating data. Do you have any suggestions?
Thanks for your great contribution to all of us!
Thea Rasins
Kansas City

Clayton Cobbsaid

Thea, you absolutely must get your own environment to learn from – you can’t do it “remotely” without any hands-on. There are no best practices for tracking data (what is migrating data?) – there are so many ways to do things in SharePoint that you have to fully understand all of its capabilities, gather all the requirements, and then choose the right combination of tools and techniques to meet that goal in the most cost-effective manner.

Clayton Cobbsaid

Please be more clear with your question, srishaila. You’re building this on a My Site? I don’t recommend that. Also, what you described is built-in functionality if you turn on content approval, so is that what you’re missing?

Laurasaid

Hi clayton, I need to ask you smthin quick, i have an InfoPath form that has data published to sharepoint forms library as columns, i need to show graphical summary of these columns, these columns are like voting, which user enters a vote for each column, and i need to show how many users voted 1 for this column, and how many users voted 2 for the other column, how can i create a chart or graphical summary report on infopath form?

Clayton Cobbsaid

Laura, the easiest and simplest thing to do is to modify your view settings in SharePoint so that those columns are set to “Sum” in the Totals section. That way, you’ll immediately see the total # of votes for a given column without any extra work or development. If you want it to be graphical, then you should click Actions > Export to Spreadsheet, and when Excel opens, tell it to create a Pivot Chart & Pivot Table. This will allow you to slice and dice the data into nice graphs/charts, and you can save that Excel file back into a SharePoint doc lib. You can also expose the graphs/charts via Excel Services if you’re using the Enterprise edition of SharePoint. The data connection is live, so each time you open that same doc, the new data is downloaded, and the graphs/charts update dynamically (as long as you allow the data refresh). You can also export the data to Access to do nifty reports.

Sebastiansaid

hi clayton, i have this question and i dont know what to do about it, i made infopath form and published it to sharepoint form library directly, not as a content type, and i put it on a page as a form webpart, the form has fields that the admin submits, once submitted other fields are shown and admin fields are disabled so that users can comment and submit there comments. i want to list these forms submitted by the admin in a list view web part and when the user clicks edit, it takes him to the page where i put the form webpart so they would add their comments, how can i do this? i want the user when he clicks the edit icon, it redirects him to the page of the form webpart.

Clayton Cobbsaid

Sebastian, I am pretty sure we can get your exact request done by modifying the list view web part so that there is a link for the user to click that sends them straight to the custom page with the form web part, although you’d need to add a query filter web part to the page so that it can accept the incoming ID parameter.
However, I’m not sure this is actually the best approach. You don’t manage this type of thing with custom pages, but rather by using Form Load rules AND conditional formatting in the form. Your users should be able to edit a list item from ANYWHERE and be sent to a view of the form that only shows them what they’re supposed to see based on who they are. This does not require any custom pages – it just requires custom logic in the form on certain fields and potentially in the Form Load rules for switching the view, if necessary. Why do you want to send them to that custom page – what does that give you? What are you using that page for anyway? I know you added the InfoPath form web part, but why? That all works out of the box without adding any custom pages.

Dereksaid

I am trying to setup a workflow that will email a list(Names of submitted forms) that is older than a specific date. I set the variables and conditions, but I am unable to get the items in the library to populate the email.
I would like the email to show all items that were created > 60 days. Even if the workflow is run only on 1 specific item in the library.

Here is what I have
Set Variable1 to [Today]
then Add -60 days to Variable1 (output: Variable2)

if CurrentItem: Created is less than Variable2
email user
—- in the email LookUp —- Find data to retieve (Data Source: Current List, Field from Source: Created); Find the list Item (Field: Created, Value: Workflow Variable: Variable2

I do not seem to get any data returned back in the email body.
I tried it a few different ways. and still nothing.

Clayton Cobbsaid

The email lookup part doesn’t make sense. You already used your logic in the conditional statement, so if the condition is met, then you know you want to send the details of the current item, so you just insert the current item. It doesn’t make sense to try to “find” the item you’re currently working on when you already are working on that item in the current workflow.

Clayton Cobbsaid

SPD can’t do that – it can’t loop through items and grab a bunch of rows of data – it can only grab one piece of data at a time from one row. You have to run this individually on each item one at a time.

Clayton Cobbsaid

No, it cannot – SPD cannot loop through items. You would need the workflow to trigger on all items individually, and then each workflow would update the current item. SPD cannot trigger all those workflows itself, though.

The only way to iterate through items with SPD is if you build a custom workflow activity in Visual Studio that does it in code.

Guangmingsaid

Dereksaid

I am trying to move an SPD(2010) workflow from one list to another in the same site.
I read a post that said to change the ListId in the %Workflow%.xoml.wfconfig.xml file.
I did that. (Did not work as of yet)
It also said to change the ListID in the %Workflow%.xoml file
There seems to be an issue here, ListId{GUID}is non existant in this file,

Clayton Cobbsaid

You normally create a new, empty workflow, which creates the relevant files, and then you copy over the XOML and RULES files without touching the config.xml. It’s the config.xml that has all the GUID references that you need.

Dereksaid

Joesaid

My case is to have dropdown fields for date selection in a SharePoint 2010 List form and I would prefer to have only one date field in SharePoint. Now when I create the year dropdown the same field gets added to the SharePoint list as columns which I do not want. (instead I would like the year field to only be there for assistance, auto-populating when the list loads and making year selection faster).

Question 1: Is there a way to have fields in InfoPath List Forms without saving the fields to the SharePoint list as columns?
Another question: Is it possible to store temporary values in InfoPath List Forms without creating additional columns in the SharePoint list?

Clayton Cobbsaid

Joe, a list form is bound to the list, so the schemas are the same. Any field in the form is automatically in the list and vice versa. Only library forms can have fields that are not part of the list (form lib) schema.

I don’t know what you mean by temporary values, but as I said above, any FIELD in your list form will be a column in the list.

Clayton Cobbsaid

Joe, the answer is still the same. In library form templates, you can do all of this. In a list form, every field will also be in the list. All controls in InfoPath are bound to a field (column in a list form).

Laurasaid

Hiiii Clayton, how are you? I have a question and want your advice 🙂 i am assigned to a project where i have to create lists and workflows on form libraries, and create groups and other lists for lookup in my forms, how do I give all this solution as a package so other people can deploy it in another site which is already running? i have about 3 lists and 2 form libraries, and 3 workflows on these libraries. is there a way? whats the best practice?

Clayton Cobbsaid

No, there isn’t a way unless you build it all in Visual Studio. Otherwise, you’ll need to use a 3rd-party migration tool from a company like AvePoint, Qwest, Metavis, etc. You can save the site as a template and create a new site from that template with everything still there, but the URLs in the forms, and the GUIDs of the lists will all be different, so you’d have to go in and manually change those everywhere. If it were a whole site collection, then you could do a backup/restore, and everything would remain in tact.

srishaila.asaid

HI,
I have designed infopath browser enabled form.In that ,it is having some check boxes, i had selected some check boxes. but when ever taking print out of the form all the boxes displaying with black coolour,it is not showing checked boxes with right mark.Is there printer settings required for this?

srishaila.asaid

hi,
thanks for the replly.
I am displaying my infopath form link browser .but through search result , when i clicked on the link it is opening in infopath.how to open the form in browser through search result also?

Clayton Cobbsaid

That’s just how it works – the browser function only works with the Forms Services link or when clicking from within the browser. I don’t know of a way to force this from search results without customizing search results to included ?OpenIn=Browser at the end.

Clayton Cobbsaid

Marksaid

Hi Clayton, I need to ask you a question that’s annoying me and can’t find a solution. I have a site, English, and Spanish, I need to make InfoPath form for making leave requests, the user can go to the english site and submit this leave request, the form should appear in the spanish library also, if the user submits in the spanish library, it should appear in the english library. How would this be done? I need to make approval workflow on these libraries (same workflow). Please advice me.

Clayton Cobbsaid

Are you saying you have different sites for each language and different form libraries for each language but that you need to see the same docs in each one? This means you will have to duplicate the data every time, and if those doc libs are in different sites, you are going to have to use code. They can’t have the same workflow – they can have a copy of the same workflow on each side, but if you are duplicating the files on each site, then I have to say I don’t really understand what you’re doing here.

Marksaid

Yes, that idea is to have an interface for each language, if you speak spanish you could go to the spanish site and submit your leave, but the people responsible for the solution want the same leave to appear in the english document library (synchronization purposes), what do you propose?

Clayton Cobbsaid

I propose keeping them separate and using workflow to do the notifications independent of where the form was submitted. Then, you could easily create a custom page that aggregates data from both lists if they have a need to see everything in one place. This would require a Data Form Web Part with data sources for each form lib, or if the sites are in the same site collection, you could create new XSLT List Views in each form lib (in SPD2010), then export those to the site gallery, and then add them both to a custom page on whatever site your managers want to use. This way, they see the content of each form library in one place with all the standard ribbon features.

Marksaid

Thanks Clayton, so i dont copy any items? i just send emails like any other process, and make 2 pages one in spanish site and one in english site, these 2 pages are identical and show the 2 libraries or just 1 dataview webpart consolidate the 2 libraries. thanks.

Marksaid

Hi clayton, thanks for your help with my variation case, i have a question, the english site is the root variation, and the spanish site is the other one, i made subsites under each one MANUALLY, i didnt use the timer job to create sites under english site to spanish site, so if i have a site with pages library under english site and create a page it will not be copied to the same site under spanish site’s pages library, is it because i haven’t run the variation timer job to create the sites? how can i fix it? they have the same urls, when i click the english label it moves to the english site and when clicking on spanish label it moves to spanish site (i made these labels using javascript). i did something wrong, right?

Malinenisaid

(b) In GroupB the 2nd and 3rd approvers are assigned, only if a condition is true (for example if amount is greater than 1000$ include approver 2 and 3 else skip).

So I tried using two parallel steps (SP Designer steps) with one approval process and two approval process respectively.

In Step2 the first approval process is for 1st user of GroupB and the other approval process starts on a condition.

Since this approach has two or more parallel approval process I keep getting the message “Due to heavy load, the latest workflow operation has been queued. It will attempt to resume at a later time”. and the workflow sits there for ever.

Am i on the right track or am I making things difficult. This is my first project on SPDesigner Wrkflow 😦

Clayton Cobbsaid

If it’s your first project using SPD, then you have gone wayyyyyyyyyyyy down to the deep end in a hurry without learning the tons of other things about how to use SPD first. If someone assigned this to you when you have no experience doing it, then that person should be aware of this and realize that this is not just a toy that you tell someone to go use and expect them to be able to move mountains with no experience. It’s more typical to use someone who already has deep experience with the tool unless this is not an important/billable project.

That being said, I don’t know for sure if you are going the right way or not. Do you really need to full task processes running parallel? The error you are seeing is very common when trying to do this. I don’t have a simple solution for you, because I’d need to know the requirements in much more detail and that would be more than we can do over blog comments.

Is there a reason why you didn’t just do them in sequence instead of parallel? You said step 2 has conditional approvals based off dollar amount. Can’t that occur after the 1st approval of that step instead of in parallel?

srishaila.asaid

Clayton Cobbsaid

Opening in the browser IS InfoPath Forms Services. I already answered you on this question – you asked it previously. Search results do not open in the browser, because they are a direct link to the file, and that opens the file in the client. There is no setting or feature for this. You would have to do your own customization to the search results web part.

Concerning this Blog, is there a way to break out all the initial comments into a more searchable pattern, possibly by pages or directories?
I am sure you are working on some of the issues this page has, I just wish it was easier to find things here.

Is there a possibility of going to a SharePoint 2010 site and using the OOB Blog site? Then items could be tagged by the person commenting, making it easier to find information for others.

Clayton Cobbsaid

Derek, I don’t know of anything that does what you’ve mentioned. What is it that is hard to find? I have a direct, bulletized listing of all my blog posts right there on the front page, everything is tagged with metadata, the metadata selector is visible, and the tag cloud is visible all on the main page. WordPress is one of the best platforms for blogging – better than SharePoint in most ways – and it’s free. I don’t do this for a business – it’s just my free time, and I have done a lot of work to get it to where it is, but it’s definitely not very high on the priority list. I just try to keep up with the comments without making people wait too long…that’s about all I can promise. If there is a good way to do what you’re suggesting, then I’m open to ideas, but I don’t know of such a thing, but I also need to know what it is you’re trying to find and how you’re trying to find it.

I’m pretty sure the tagging feature of SharePoint 2010 requires the Server version, which I definitely could not afford to license for Internet usage.

Clayton Cobbsaid

Joe, can you explain the behavior in more detail? I do not experience this behavior in IE9. What browser are you using, and when does it scroll up? Is it only on the home page, which just has some links with comments, or is it on every individual blog post? What happens if you use a different browser or machine?

Joesaid

I have IE9 (32-bit) on a 64-bit win7.
when going at the end of the page the page starts scrolling (at the speed of maybe 5 seconds per screen), and the scrolling cannot be stopped.
after a couple of minutes the scrolling stops.
I haven’t run into this behavior with this laptop anywhere else.

Clayton Cobbsaid

I don’t have any issues like that, so I don’t have any best practices to give you related to that issue. What I do for Print Views is remove buttons, switch dropdowns to text boxes, remove background colors on fields, remove borders, and organize it so that it’s best for printing. My results are typically WYSIWYG.

Guangmingsaid

I have a data connection (Pointing to a URL which returns XML), used by a dropdown list control. On the form, the dropdown list control is repeatable for a row in a table.

I would like to change the parameter of the data connection for each instance of the dropdown list control dynamically. So I have another dropdown list with a static set of options. When users select a different option, I have C# code to set the Data Connection’s parameter and call the Execute method to retrieve. However, the return data will be applied to every instance of the first dropdown list control.

Any ideas to handle this situation? does each dropdow list control have its own copy of data connection, which I can access in the C# code?

Guangmingsaid

Thanks, that works only if there is one instance of drop-down list box. My situation is that I have the list box in a table where we can have many instances. I would like Each instance to link to a different data source.

My form is browser-enabled, so that I cannot use filter to filter options for each instance.

If InfoPath does not maitain one option data source for one instance of list box, I guess there is no solution here?

Joesaid

Clayton Cobbsaid

Only if you have a way to identity the current user as a “viewer” so that you can put conditional formatting on the text box and check box (hide check box if viewer; hide text box if editor). You just need a way to identity the user upon form load.

Karensaid

Clayton, I have a SharePoint 2007 site. The top navigation tabs are used to display certain key pages within the site. However, when a user clicks on a tab, the tab doesn’t highlight like it does when the tab is linked to a sub-site. Is there a way to make tab highlight (change color) when its page is displayed? Thanks in advance for you help!

Ian Hawkinssaid

I’m simply trying to use the standard SharePoint 2010 Content Query web part to show the 10 most recently updated wiki pages on a site. On the CQWP properties I’ve picked “List Type” as “Wiki Page Library”, “Content Type” as “Wiki Page” and set my Grouping & Sorting. The web part is displaying the pages I want, but it’s annoying including the “.aspx” file extension for each item in the list.

How do I stop the .aspx file extension being displayed within the CQWP?

srishaila.asaid

Joesaid

I thought of creating a custom wizard of a couple of pages for managing a single SharePoint list item, one of which with an InfoPath form and another concentrated on managed metadata and other special functionality. Do you think this would be a reasonable solution?
In general, what approach would you recommend for using both InfoPath list forms AND managed metadata for a specific list?

Joesaid

Hi,
InfoPath does not support managed metadata so we cannot add managed metadata fields directly to InfoPath list forms. Are there some pretty workarounds? (perhaps one way would be having a two-page form where the first page would be an InfoPath list form and the second page a SharePoint form with managed metadata. But here we’d have to play with content types etc).

I have a table A with one column so that end user can add a list of values.
I have a table B with two columns. Column C is a dropdown list with options from Table A.

In the design mode, it seems working: you can add rows to Table B and select a value for Column C without affecting the previous added rows.

However, in browser mode, anytime when I added a new row, Column C in all previous added rows were changed to the first option from Table A after a post request (“Sending data to the server”) was made.

Note that Table B is in a Repeating section, and Table A is outside of the section. When a new repeating section is inserted, a set of rules are applied to copy certain values from previous section to the new section. I also have another dropdown list in the section where I have C# codes to handle selection change event.

Not sure how the things got messed up. Any other repeating tables I have on the form did not trigger the post request… when that happened it also cleared up some values the rules copied.

I feel it is somehow related to use the repeating table in the form as drowdown list option source. Anyone has such experience?

Joesaid

I have an sql table S with 2 columns: Id and Title. S is joined to another table T by its Id.
What is the easiest/best way to update rows in T using SharePoint 2010 external lists and InfoPath list forms so that users would see S/Title instead of S/Id?

Jim Racsaid

First, thank you for all of the info you have provided to the community. I am a SharePoint novice, currently focused on learning workflows + InfoPath, and in my daily net searches on these topics, your blog articles, presentations, and MSDN answers keep popping up, providing the insights that I needed to keep moving forward on my projects. So: a big THANKS!

One of the revelations that I’ve had recently was studying your Leave Form example. Up to that point it was my assumption that best practice for handing out work assignments to people during a workflow was to assign a task. After seeing how well your Leave Form functions without using tasks, I realized that how to handle work assignments seems to be more of a design choice than a set in stone best practice.

This leads to my novice question: in designing a workflow, what are the tradeoffs you’ve found between handling work assignments by assigning tasks vs. not assigning tasks (the approach you take in your leave form)? It seems to me this is a fundamental workflow design decision but in my reading (many books and blogs!) I have never seen this topic explicitly discussed.

With my limited experience, here are my initial thoughts re: some possible considerations of each approach:

WORKFLOW WITH TASKS:
– Interface with users from multiple places (main form and tasks)
– One iteration – workflow pauses and waits for tasks to complete
– Supports sequential and parallel work assignments
– Inherently more complex

WORKFLOW WITHOUT TASKS:
– Interface with users from one place (main form only)
– Multiple iterations – workflow runs to completion for each work assignment.
– Only supports sequential work assignments
– Inherently simpler

I am curious, what would you change/add to the list above? What is your thought process when deciding how to handle work assignments, and is there a key factor for you in determining whether to go with tasks or not?

Joesaid

Clayton Cobbsaid

Joe, what do you mean without scrolling? You mean you want the text box to auto-expand? If so, then set the text box height to Auto, and it will expand. However, it will not be able to put all that data into SharePoint (only the first 255 characters), and I don’t think it will expand in print view.

Joesaid

walidsaid

can show me
1. User chooses to create a new leave request.
2. Once the request form link is clicked, leave request form has been automatically opened for the employee to fill, this form must show the employee available leave balance from the backend.
3. The form should show additional information like the employee name,
department and approvers (in some case more than one approvers For ex: Team leaders may vary for each employee).
4. Employee fills in leave duration, leave reason etc.
5. The user submits the form. While clicking the submit button, the leave details will be created as a new list item with approval status ‘pending’.
6. Also send the leave request to the approvers specified (Team leaders, head of department) for approval.
7. If the approvers approved the leave request, then the leave request will be forwarded to HR department for final approval.
8. If the approvers rejected the leave request, then the request will not be forwarded to HR department and the requests send to the respected employee.
9. If the leave request has been approved by HR, then the leave request list item approval status will be changed as ‘Approved’.

Clayton Cobbsaid

Walid, I have almost all of that in my video and PowerPoint presentation right there on the front page of my blog. It’s a large undertaking, but it can be done, and I built almost that exact scenario. The only thing I don’t have in mine is an HR approval layer, but I could easily add that and any other approval layer.

Clayton Cobbsaid

Bill, you’re very welcome, and thank you for being such a great attendee. Folks like yourself make it worth doing all the work. I hope you have a chance to use the book, and please send Ira Fuchs (the author) a note thanking him for so willingly donating his books for events like this.

Kedricksaid

Thanks for the stockpile of information on SharePoint and related products… well done!

I’ve check thru the questions and blogs and don’t see a question or comment that address an issue I’ve been facing for a couple of weeks with InfoPath 2010. I have a Full Trust form (cuz I need it to pass parameters) that I’ve publish to SharePoint and activated to a site collection. However, I don’t see those forms in the dropdown list to select list or libraries in the InfoPath Form Web Part configuration!

When I create a sandbox form that doesn’t require approval and load it to a form library, I can select it and display it in the Form Web Part. However, I can’t get it to work with administrator-approved forms.

Is this by design? Is there something special I need to do with administrator-approved forms to get it to display in an InfoPath Form Web Part?

Clayton Cobbsaid

When you activate the admin-approved form to your site collection, you still have to create a form library and add it as a content type. Then, the form web part will show that form library in the dropdown of available forms. Form web parts don’t connect to forms – they connect to form libraries and lists.

Why do you need it to be admin-approved? I don’t understand why passing parameters requires admin-approval, so please clarify if you care to discuss.

Kedricksaid

To answer your question, I ended up using an admin-approved form template cuz when publishing the form (as a sandbox solution) with In/Out parameters, I got a message that sandbox solutions cannot have In parameters…

In the future, I’d like to create forms with managed code that’ll connect to web services and the file system so I just decided to go along and test this option since I’ve already been able to publish forms as sandbox solutions and load those into an InfoPath Form Web Part.

As far as enabling my admin-approved form template I have a form library… here’s what I did to get it into a library:
1. After uploading and activating the form to my site collection, I created the a form library.
2. I clicked on my form template name in the site collections’ “Form Templates” library and selected ‘Send To’ -> ‘Other Location’ then input the link to the form library I created.
3. I was able to view the form template in my form library.

I assumed this was all I had to do but I still can’t select the form in the Form Web Part configuration… am I missing something?

Kedricksaid

I found a blog that described how to add my form template as a content type by enabling “Allow management of content types?” under the Form Library Settings option of the form library. Once enabled, I was able to add my form template as a content type which, as you said, made the form template available to select when configuring the InfoPath Form Web Part…

Thanks for you help…

On another note, have you noticed that IE9 is very memory intensive when running SharePoint? I didn’t notice such memory consumption while using IE8 but since upgrading IE9 x86, memory usage keeps rising until I restart. Could be cuz I’m running in debug mode but…

Clayton, I’m hoping you might have a ‘no code’ solution for a requirement for validation on a SharePoint 2010 list column. To keep it simple I’ll narrow down my example to two columns – Description and Status. Description is a text field and Status is a drop down. Status contains three possible options: New, Active, Completed). There is no validation on the first two Status options (New, Active). However, I have a requirement that in order for the user to change the value of Status to the third option, “Completed”, the value of “Description” column must NOT be blank. I tried using the validation formula option for the column but it keeps giving the error that I can’t reference another column. I do have full Enterprise and have the option of customizing the input form if that helps. Developers are happy to jump in with some C# but I’m curious if I could do this without it. Thanks!

Clayton Cobbsaid

Kivuossaid

I have a Info Path 2010 form published to a SharePoint Library. Now users can click on Add a document / New to add a new document to the library having the same info path form template. But the problem is that when users click on Upload Button, they can upload any document of any template type. But in that case my workflow (which is based on values of the fields in info path form) fails, since the document is of a completely different type. How can I disable users from uploading a document to a Info path Form Library?

Clayton Cobbsaid

Hi, Kivuos, this is just standard operating procedure for SharePoint. A form library is just a document library and like any doc lib, people can click New/Add or just Upload. There is not a setting for disallowing this. Same for tasks lists. The only way to keep people from creating new tasks is to change permissions so that they can’t add items.

Hiding the Add and Upload buttons from the ribbon can be done with some roundabout methods using jQuery and such, but those are not true security measures. I suggest training the users primarily.

Kivuossaid

Thanks for the reply.
In that case apart from training the users, I will put an extra check in my Document Library Workflow to check the value of a column (if that column is null, i will know that it is a uploaded file) and depending on that, I can trigger a mail to the uploader citing reason as to why upload is not possible and then delete the document and stop the workflow.

Regards,
Kivuos

Alen Austinsaid

Hi Clayton
Thank you for your help
i have been using your slides for making a code less solution
now i did it with a better solution it was all made with your guidance and it worked very well but after sometimes i had an issue.
now i am having a major issue with the UPS
as i updated the server machine which is a standalone machine(SQL server R2,MOSS 2010 ) installed in the same machine also i have put the SP1 and the June CU
but now i am not able to synchronize the User Profile plz help me as sometime i am getting unexpected error
yesterday i got the same error (an unexpected error when trying to access the port 80 site) and i checked the ULS log
i then deleted the user profile service and also disabled the synchronization service using the power shell command
and then i was able to get my port 80 site
could you guide me as i am not able to start the USP

Clayton Cobbsaid

Alen, that would require some pretty significant architectural analysis/support. I don’t know what to tell you off the top of my head, but I can say that I installed SP1 and June CU in my environment and did have to change several things related to my InfoPath techniques regarding UPS. However, I had no trouble with my User Profile Service Application. It never stopped and didn’t have to be fixed.

Clayton Cobbsaid

Doing an attachment isn’t linking – it’s making a copy of the document in the list. Also, filenames should really never have spaces, though that can be tough to manage when regular users are setting the filenames.

I still don’t understand the situation, though. Why do you want to make a 2nd copy of the same file when it’s already in SharePoint? I didn’t follow the permissions structure vs original source comment. Despite the browser situation, you still are copying that file to another place, which doesn’t seem beneficial.

Joesaid

yea it’s hard to get rid of spaces in existing documents unfortunately… maybe for future docs but not for existing ones…

yea, as you said attaching docs already in sp is often not needed, and generally it would be better to preserve a single version of truth by linking, instead of copying info to two different places.
(but attaching might work better sometimes, for example if some info needs to be collected, processed and exported from docs in sp)

srishaila.asaid

hi
I have devloped custom master page for sharepoint 2010 site through designer.Master page successfully applied to the site with the system account credentials.but when we logged in as other user it is shoeing “file not found error”.

Clayton Cobbsaid

Did you check in the master page, publish, and approve it? The Master Page Gallery has content approval on by default, so every new file or changed file must go through the full publishing process for others to see it.

I have a question that I am hoping you can help me with. We are rolling out forms for things like travel approval, POs, and check requests. We are running SPP 2007, SPD 2007, and InfoPath 2010. The forms and workflows work great as along as the approver is in the building and on the network. The email from the workflow contains a link to the form on our SP server and the they just click on the appropriate dropdown to approve or reject..

Our issue is traveling staff that need to approve requests. We would like to create an input on the email from SPD to allow them to click right in the email and not have to open the form from their mobile device. I have tried using the html tags, but that isn’t working in the email. Is this possible? Is my question clear?

Clayton Cobbsaid

Shelly, your company needs to build a mobile solution for everything so that your users can interact with your SharePoint/InfoPath/Workflow solutions. what I mean by this is they either need to have a wireless network internally that people connect to that automatically puts them on the network and/or there needs to be some sort of Edge technology that allows people to reach SharePoint after logging in through a gateway like Threat Management Gateway or Unified Access Gateway (both Microsoft products). If this isn’t done, then there is no way for people to connect to SharePoint for completing the workflow. You definitely can’t just do custom HTML in the SPD workflow.

What is it you want people to be able to do when they receive the workflow email? What you wrote was, “create an input on the email from SPD to allow them to click right in the email.” Click right in the email and do what? Don’t they need to see the form? Don’t they need to interact directly with SharePoint?

Clayton Cobbsaid

Shelly, ok, then they need to just reply to the email, or you can create two dynamic email links in the body of the workflow email. Name one “Approve” and the other “Reject,” and set the email hyperlink so that each one is pre-formatted with the ID/Name of the item plus body text for approve and reject. Here is an example:

Approve – mailto:admin@company.com?subject=[Current Item: Title] has been Approved&Body=[Current Item: Title] has been Approved. Reject – mailto:admin@company.com?subject=[Current Item: Title] has been Rejected&Body=[Current Item: Title] has been Rejected.

I can’t do rich text through the blog reply here, so I’ve typed it all out above. You would hyperlink the words “Approve” and “Reject” with the code/text written to the right. Then, whoever receives that email would go do the official approve or reject on the item. I don’t know of a way to make it dynamic based off a button click on the email on the mobile device without being connected to the network.

web part 1) A view of a Library that has numerous InfoPath forms in it

web part 2) A form web part that is showing the contents of one of the entries in web part #1.

So, I know how to do just about everything here: The key issue that I am having is: When the user clicks on a particular item in web part #1, I want web part #2 to display the details of that entry. I can pass the ID of the form from web part 1 to web part 2, but how can I force the InfoPath web part to load the data of that particular item?

Clayton Cobbsaid

Marcel, I believe you’re not connecting the web parts properly. If you pass the ID, then it just sends the ID as a parameter to the new form. If you want the actual associated form to show, then you use a different type of web part connection – the one named “send form data to.” When using that, it takes the selected form and “sends” it to the other web part. What you’re doing now is just sending one value (ID) to the blank form, so nothing is really happening.

Thank you. You were correct! It was trivial, once I reconnected the web parts.

I have a corollary question. I am using a very simple form with a drop down that contains compound names for chemists. When the user picks a compound ion the list and then hits a button, that I have named “pick” it causes a list of assay requests to be filtered to show only requests for the compound. The question I have is, how can I have the list not filtered at all, when the drop down is empty? Thus the initial condition, when the page is first visited, has no selection in the drop down. The list of assay requests is currently filtered by the compound that appears in the drop down. Since there is no compound that appears, the list shows up as empty.

Clayton Cobbsaid

If you don’t want the questions to be filtered when there is no selection, then change your filter condition. I don’t know how you’ve built that solution, so I can’t tell you the exact button clicks. I would need to know how you’re currently filtering and where those questions are coming from. Are they from a data connection?

marcel methsaid

Thanks and I understand what you are saying. I didn;t use the standard out of the box Filter control. The reason is that I have a long list of compounds that the user can pick from and the standard filter for lists has a less than optimal UI to pick from a large list of coumpoiund names. Instead I built a simple InfoPath form. This form has a dropdown, which allows the user to pick a compound, and a button that allows the user to indicate that the selected compound in the drop down should be communicated to the list and thus the list should be filtered to show items that have only the selected compound. The communication between the simple InfoPath form and the list is through a Web Part Connection.

This all works extremely well. The only thing that is missing is that the client wants the page to open with a list that is populated. The problem is that the simple InfoPath drop down comes up empty, by design. Thus the list comes up empty. My client would like the list to come up unfiltered by default.

I hope that this is clear.

By-the-way, an “Assay”, is a procedure in molecular biology for testing or measuring the activity of a drug or biochemical in an organism or organic sample

shreyassaid

Hi Clayton, I have an infopath form where I used sharepoint designer 2010 to send an email to a group. once a particular user submits the form then an email should be triggered to a group along with the active view of the infopath form should appear in the body of the email message. so how to display the infopath form in the body of the email message through sharepoint designer 2010 ?

Clayton Cobbsaid

SharePoint Designer doesn’t have that ability. If you want to send the InfoPath form via email, then you must use a “Submit to Email” data connection in the form, and sending the “active view” is one of the options. I do not recommend this, though, because it duplicates data through your mail system and does not give the user a link to the real form to see live data. I prefer sending a link to the form so that users click the link and always see the current version of the form. If it’s in an email, then that data is immediately stale. If you must do it, though, then it must be done through an InfoPath data connection.

shreyassaid

Thanks alot Clayton,
Instead of sharepoint designer if i use infopath designer email option then i am facing the below mentioned problem :

In my Infopath form 2010, I am using a data connection called Email submit (which is an ‘To Email’ option in data connection). I have a people picker field in my form template which is used to select a “manager” from my local database.

The problem is the user (who enters data in the form) can select any manager from database and after he clicks the submit button then an email should be sent to that specific manager with the active view of my infopath form mentioned in the body of the email.

The problem is I don’t know how to send an email to that particular manager because in Email submit data connection we can see only ‘To’, bcc fields which asks us to enter manager email, which we don’t know since we cannot expect which manager does the user selects from the database while he fills the form.

shreyassaid

shreyassaid

Hi Clayton,
as per your advice, I used a webservice (which is used to catch the manager’s email Id as soon as an user enters the managers field while filling the form) but the problem is Instead of getting the managers id the webservice is displaying the user id and sending mail to user rather than sending to manager.

shreyassaid

Hi clayton, I have an Infopath form and there is a button called ‘print’ on that form and when the ‘print’ button is pressed it should print the Infopath form. so do you have any suggestions to implement print functionality with out code ?

Clayton Cobbsaid

Shreyassaid

Hi Clayton,
I published an Infopath 2007 form with custom code(which have no errors) on central admin like one day back and till now it shows its status as “upgrading” on central admin.
1. I don’t know like why it’s taking so long time ?
2. Although its status is Upgrading on central admin but I found that form on production site but when you open it, its giving some error like
There has been an error while processing the form.
Click Continue to resume filling out the form. You may want to check your form data for errors.
Click Start Over to load a new copy of the form.
Error Details :
“An entry has been added to the Windows event log of the server. Log ID:5337 ”

when I enter into the Event log on that server I was not able to find an event with id 5337.
can you please suggest me what to do to remove the error .

Clayton Cobbsaid

Shreyas, I’m not sure. I don’t add code to forms and don’t publish them to Central Admin. There is apparently something wrong with the template, and SharePoint is unable to update the feature. You’ll have to check the logs and do more testing. Sorry that I cannot be more helpful.

shreyassaid

Hi Clayton,
I was using a data connection called GetProfile to get some users data. From yesterday I am getting a below error
“The settings for one or more data connections in your form are defined in a data connection library on a microsoft sharepoint server to retrieve this settings the form must be published to the server that contains the data connection library and form must be opened from the published location”

The GetProfile webservice is not displaying any user information on the form. what is the solution for this ? please suggest

shreyassaid

hi Clayton,
I have created an alert called Alert in a library in a sharepoint site and when ever i create a new form or modify an existing one, a message will be sent to two email id’s , now the problem is one email id is getting the alerts but other email id is not getting the alerts although it gets an initial message telling you have subscibed for alerts “Alert” and no other further alert will be received. so where is the problem ?

I have a People Selector control on a 2007 browser form. If I enter an incorrect user name and hit ‘Check name’ the page hangs over 5 minutes, then the control shows the “user not found” message. Is it possible to set some kind of time out to display the “user not found” message quicker?
Appreciate your help my project is overdue already.
Thank you
Sandor