How to develop a custom control for Infopath 2010 browser forms - infopath2010

I have a requirement to develop a custom control for use in InfoPath 2010 web browser forms, I've looked in all the usual sources (MSDN, InfoPathDevelopers Centre, SO etc.) but I haven't been able to find any reference or tutorials on how to do this.
Most of the documentation I have been able to find has been InfoPath 2007 specific and uses Active X for custom controls, a practice which is no longer supported.
In this particular case, the requirement is to add Captcha to whichever forms require it, but I'm expecting similar requests in the future.
Does anyone know of any resources for InfoPath 2010 custom control development, or even if this is supported?
Many thanks
Tim

As far as I can make out this feature is no longer supported, it was previously possible using Active X (so not usable outside of IE) but now that support has been discontinued.

Related

Publish Infopath Form MANUALLY to Sharepoint

Is there a way to publish Infopath form manually? I have an infopath form that I created for sharepoint on a computer. Now, I want to move that xsn file to another dev computer where sharepoint is installed but no infopath. So, I cant use the infopath publish options. Is there a way to MANUALLY PUBLISH?
What I have tried so far is to open the xsn file and read the xsf file. That did not work.
Can someone please help me out?
Thanks,
Moving my comment to answer.
First, I did not understand what "MANUALLY" did mean... but forgot to ask.
My personal belief (from never ever sufficient experience) is that it is impossible to manually substitute the publishing (which is being done from Infopath Designer).
And the latter is proprietary undocumented about full details procedure dependent on sharepoint internals (with the latter also being proprietary and closed information).
Might be somebody else has another opinion.
Well, you can try... and report here back.
Update:
There are development suites (IDE, frameworks, extensions) where you can develop all from the scratch or use open source libraries, extensions (like .NET, MS SQL Server Business Intelligence) and the approaches where you should follow what is precompiled and closed for meddling like Sharepoint and Infopath.
There are pro and contra in both.
In any case one should analyze and balance business requirements.
Anyway, I was a little puzzled by situation when you do not have Infopath installed on client machine.
In this case, you can use Infopath forms only through Infopath Forms Services of Sharepoint Server which is enterprise and rather expensive feature.
If you (or your client have it), then Infopath (which is part of Microsoft Office suite) is usually already bundled into all Microsoft plans or packages having enterprise Sharepoint server.
There is also Office 365 (Sharepoint Online) 30-day free trials with all bundled.
Here is comparison of plans and prices.
When mine expired, I was getting warnings and proposals to buy but really continued to have access for more 4 months before my access was really cut.
It is a marketing bluff that Infopath is easy. It is easy to start by clicking a few buttons and generate something ready but this easiness pays off dearly if you will be required to do something more flexible, customizable and/or not reqadily provided OOTB (very frequently used term in Sharepoint and Infopath, Out-Of-The_Box) in Sharepoint and IP when it happens that it is more difficult, more time consuming and more involved then using development from scratch approaches

Why Microsoft.SharePoint.WebControls over System.Web.UI.WebControls?

I am building visual web parts for SharePoint 2010 Foundation, using ASP.NET 3.5 in Visual Studio 2010. For those who are new, these are like making a custom "normal" .net control that you can drop onto a SharePoint page (because SharePoint is built on .net anyway).
As I'm looking at various examples online to make an input form, I notice some SharePoint specific versions of web controls. Microsoft.SharePoint.WebControls generally inherit from System.Web.UI.WebControls so would generally include or implement their functionality.
What I have yet to see is a nice listing or description of the benefits of the various SharePoint specific versions of these controls. Why go to the effort of using these specialized versions?
One example I do know is the SharePoint GridView. I found that when used with a DataSource, it has the paging and sorting built-in. So that's nice.
Does anyone know of a listing of similar "benefits" to many of the other controls? I have yet to find a nice one.
In general, you should use the SharePoint controls vs. .NET since a) they include some additional features (as you know the GridView already but more importantly, b) they are 'SharePoint Aware', thus security trimming and such things are taken care of. After all, these are the same controls used by the SharePoint UI so best to stay in line.
In all cases the SharePoint controls are hybrids of the System.Web.UI namespace. The only way you would concern yourself with using the 'raw' .NET controls would be for compatibility outside of SharePoint.

Getting Started With SharePoint and InfoPath 2010

I am a .Net developer and I need to get started with SharePoint 2010 and InfoPath 2010 for a new project.
I believe I don't want too much SharePoint just the basic configuration and how to host an InfoPath form there. For InfoPath I need to know how to design forms and program it using VS2010.
I appreciate if you can provide me with some links/books to get started with SharePoint and InfoPath (with more emphasis on InfoPath development).
Edit
I really need some personalized advice instead of an entire website to surf. I will be totally lost like this.
As John alluded to - the path to learning really depends on your project needs.
My recommendation would be to learn InfoPath first. You don't need SharePoint and you don't even need Visual Studio to utilize the majority of InfoPath. You might be able to accomplish your goals right there without even delving into anything else.
If that is not enough start looking at the other things. You will need advanced programming (Visual Studio) if you are trying to customize the form experience for the user, adding functionality that is not available directly in InfoPath. Start looking down this path if you run into roadblocks with how you want your InfoPath form to work.
You will need SharePoint if you need a delivery mechanism, forms storage, tracking for the users. Start looking down this path if the forms start being complicated to manage on a file share (or if you need extra functionality like change tracking etc).
In general - start with Infopath and progress to the other things based on your needs. Programming is for the form (singular) experience, SharePoint is for the forms (plural) experience. Note also that they are not mutually exclusive - usually you end up needing both.

Sharepoint 2010, Create Content based website

I did not use sharepoint before!!
Did you use Share-point 2010 before?, MS is saying that it can do a CMS website and without previous sharepoint version limitations, I am worry about that:-
1-
Can I create whatever I need in UI layer?
Any designer does not let me do things at the lowest level, (HTML, JQUERY, Javascript, CSS), will cause great troubles, does that apply on share-point?
2-
Is it really compatible with FF, and Chrome browsers, or I will find my self in deep troubles.
3-
Do u know anything that makes me not creating a CMS site like this http://www.editeur.org/ using sharepoint 2010 ?
Thanks
These websites use SharePoint:
http://sharepoint.microsoft.com/
http://www.cadbury.co.uk/
http://www.ferrari.com/
As you can see, it is possible to create highly customized layouts. However, you need to be aware that the learning curve is steep - you have never used SharePoint before, so there's a lot of learning ahead of you.
SharePoint 2010 supports non-IE browsers better than SharePoint 2007. This article contains a detailed analysis of this problem. There seems to be no known limitations related to content management, but you'll have to test it yourself to be sure.

What exactly can "Full Control" with SharePoint Designer accomplish?

I've been brought in as an intern to develop a SharePoint site. My team won't authorize the budget for Visual Studio and I don't have physical or remote access to the SharePoint server (running Windows SharePoint Services 3.0 a.k.a. WSS) on the back-end.
So what exactly can I do? I'm familiar with web technologies like PHP, JavaScript, HTML, and CSS. However, since the environment is SharePoint, I'm stumped trying to figure out how much control I have with Microsoft's definition of "Full Control".
If I can write some C#, I'm pretty sure that would be sufficient, but as I said no Visual Studio for me.
Any good ideas of features that people will use on a site built with the limited functionality of WSS and SharePoint Designer with "Full Control"? Can I somehow manipulate the default Web Parts into something cool or useful? Are there Ajax tricks I can do to accomplish something on the back-end?
Thanks in advance, I'm new to StackOverflow and eager to get involved here!
You can actually accomplish a LOT in SharePoint outside of a custom .NET solution. Some recommended learnings are:
JavaScript/jQuery - Know how to interface with a WebService using jQuery. SharePoint exposes a number of very useful WebServices in the /_vti_bin directory. Click here for a list: http://msdn.microsoft.com/en-us/library/ms479390.aspx. For example, I recently built a scrolling slide-show webpart entirely using jQuery and SharePoint's built-in webservices that pulls from a provided picture library.
DataForm Web Parts. Do some searching around on what these are and how they work in SharePoint. The tl;dr of these is that they're databound webparts that are bound to an SPDataSource and then rendered using XSLT to format the bound data. You can work with these in SharePoint designer, completely through the markup of your aspx page.
Do some searching on "customizing sharepoint list forms." The NewForm, DispForm and EditForm of any list or library can be customized to have behaviour or content added to them.
Those are just off the very top of my head...
EDIT:
I forgot to also mention http://www.muhimbi.com/Products/SharePoint-Infuser-%28Free%29.aspx
I've been meaning to check this out, since the concept is sound. I haven't tried it out myself but it will save you a lot of hassle when it comes to adding custom script that encompasses your entire site.

Resources