Tag Archives: InfoPath

SharePoint and the Future of InfoPath

For those who don’t already know, InfoPath’s days are numbered. Microsoft has discontinued releasing InfoPath as part of the Office suite of applications, but will be supported as part of their typical lifecycle cadence of 10 years. I know many business users of SharePoint who have used InfoPath either to create custom List Forms or custom forms for a Form Library, and I am regularly asked “will InfoPath be supported in SharePoint 2016?”. My response is usually “Yes, it will be supported”, but in reality business users should be aware of the changes forthcoming, at least as of the date of this post.

While watching the SharePoint Virtual Summit today several chat dialogs took place between Microsoft staff and attendees, many involving this same topic. I captured what I could and wanted to share it here. The responses to the questions below are from Microsoft staff. Please feel free to comment if you have additional or corrective knowledge about SharePoint and InfoPath you’d like to share as well. Much of this is coming in Feature Pack 2 for SharePoint 2016 (coming Fall 2017).

In summary, InfoPath is still supported and can be used against any SharePoint list or library, but it’s not going to be directly integrated into the UX.

Is there any information available on the proposed replacements for InfoPath and SharePoint Designer?

PowerApps and Flow will be replacing custom forms and workflow design. PowerApps on SharePoint lists is our going forward solution to succeed many classic InfoPath scenarios. It’s the new solution for custom forms in SharePoint.

Will PowerApps fully succeed Infopath forms, or will they co-exist?

Depends on the scenario – PowerApps will enable custom forms in SharePoint, support simpler configuration etc. all of which InfoPath users love using. Watch out for blog posts and Microsoft Mechanics videos.

Can you integrate PowerApps forms with REST services? Just like how you could in InfoPath or custom JavaScript forms?

Yes, we call them custom connectors, https://powerapps.microsoft.com/en-us/tutorials/register-custom-api/

What will happen to any existing deployed InfoPath forms?

You will be able to create equivalent forms in PowerApps. We don’t plan to have a migration tool at this time. We have been rebuilding InfoPath forms with PowerApps to test this out. It does take a slightly different approach, but it is possible to redo most without issue.

Will there be any way or method for customers who use InfoPath currently to convert them to PowerApps without having to recreate everything manually?

This is not available at this time.

What is the path from InfoPath forms to PowerApp or something to replace?

You’ll be able to open the PowerApps designer to build new forms directly from your list – the data stays in place and the new forms just take over for SharePoint.

Eric

Eric Oszakiewski is a professional software developer based in Scottsdale, AZ with over 35 years of IT experience, and 19 years Native American Gaming experience. He is currently working as a Sr .Net/SharePoint Developer for General Motors, and also as a consultant.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Error when removing InfoPath Form Template from MOSS 2007

You may or may not have seen the following error message when trying to remove an InfoPath Form Template in Central Administration-Application Management-InfoPath Forms Services / Manage Form Templates:

“The timer job for the operation has been created. However, it cannot be run because the administrative service for this server is not enabled…”

In my case, this is due to Network restrictions. Although I’m a site collection admin and a Farm Admin, AND a local admin on the server (and it’s a dev server on top of that), I’m not a Domain Admin and neither is the service account for SharePoint, which causes a whole host of other problems. For those in that situation (and so I don’t forget how I did it so I can fix it again later) this is the solution to that issue.

The timer job may show up as “Failed”, but the event is still lingering in the database. It can be kicked off using the STSADM command as follows:

From the command line on the affected server, navigate to C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12bin and use the following command:

stsadm.exe -o execadmsvcjobs

This will launch all outstanding events the timer job tried to kick off but couldn’t, in the order they were received. In my case, I even discovered a few things that tried to launch on their own but couldn’t, like Anti-Virus updates and patches. Interesting. Hope this helps someone someday. It’ll at least help me again when I forget how I got it to work that one time. ; )

Eric

Eric Oszakiewski is a professional software developer based in Scottsdale, AZ with over 35 years of IT experience, and 19 years Native American Gaming experience. He is currently working as a Sr .Net/SharePoint Developer for General Motors, and also as a consultant.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Returning the Nth weekday in SQL…and in InfoPath

Ok, after much research I found a forum that had a posting that demonstrated how to get the Nth chosen weekday of a month using T-SQL. Here’s the code:

DECLARE @date datetime
DECLARE @weekday int
DECLARE @day datetime
DECLARE @number int
DECLARE @WhichOne int

SELECT @WhichOne = 2 -- Set this to the week you want to grab
SELECT @number = 1
SELECT @weekday = 0
SELECT @date = getDate() -- Change to dateadd(month, 1, getDate()) for next month, etc.

WHILE @weekday  4 -- Change this value to be the day of the week you're looking for
BEGIN
    SELECT @day = (CAST(STR(MONTH(@date)) + '/' + STR(@number) + '/'+ STR(YEAR(@date)) AS DATETIME))
    SELECT @weekday = DATEPART(weekday, @day)
    SELECT @number = @number + 1
END

SELECT DATEADD(d, (@WhichOne - 1) * 7, @day)

Many MANY thanks to Tara for this posting! The link to the forum post is here.

Now, how did I get InfoPath to see this? In the InfoPath form, I added a DatePicker control. Next I had to create a Data Source, point to a server and database on our network somewhere (doesn’t matter where). Click “Edit SQL” and add this code to that box. Click through the wizard and right click on the control, choosing Properties. Click the Function design button next to Default Value, Click Insert Field or Group, and under Data Source, choose your newly created data source. Expand out the tree until you see your result set field and choose it. Don’t forget to export your data connection to a Data Connection library on your SharePoint server and site, or the form won’t work.

Eric

Eric Oszakiewski is a professional software developer based in Scottsdale, AZ with over 35 years of IT experience, and 19 years Native American Gaming experience. He is currently working as a Sr .Net/SharePoint Developer for General Motors, and also as a consultant.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

InfoPath data validation using regular expressions

I found it interesting yesterday, while building an InfoPath template for SharePoint 2007, that you can use regular expression code to perform data validation the same way it’s used in an ASP.Net form, and the same way it’s done in C#. Here’s an example:

In my form, I wanted to make sure the data entered conformed to a specific email address format. Normally, an email address pattern looks like this:

w+([-+.’]w+)*@w+([-.]w+)*.w+([-.]w+)*

This won’t work in InfoPath, there are too many unrecognizable characters. However, very similarly you can force a pattern match in InfoPath by doing something like this:

p{L}+@p{L}+.p{L}+

Unlike C# and ASP.Net, InfoPath data validation has some explanation of the code behind their form of regular expression validation. C# regular expression code is all over the internet, a Google search will provide a wealth of help on it, and I’ve blogged about it before. But I found it interesting that you can use regular expression for data input validation, not to mention to promote security, preventing SQL injection and launching of unsafe code. If you’re well versed in InfoPath you already knew this. If not, give it a try by right-clicking on the TextBox control, for example, and choose Data Validation. Under the “If condition is true” section, the third drop down will say “Select a Pattern”. Choose this, and in the Data Entry Pattern window, under Standard Patterns choose Custom Pattern. Then use the Insert Special Character drop down below to help you build your expression. Like regular expressions, you can force specific words, too. So something like:

p{L}+@gmail.com

Would be the same as saying “allow any word before @gmail.com”. The p{L} allows any letter, the “+” immediately after that says “multiple”. As you can see, there’s a lot of possibilities with the way to construct expressions. Give it a try the next time you’re in InfoPath!

Eric

Eric Oszakiewski is a professional software developer based in Scottsdale, AZ with over 35 years of IT experience, and 19 years Native American Gaming experience. He is currently working as a Sr .Net/SharePoint Developer for General Motors, and also as a consultant.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube