Now you might have heard that I love WebForms and advocate it everywhere I can (which isn’t necessarily true, but let’s say it is for the sake of argument). So why, you may ask, is Bart writing a provider to an online forms solution?
The answer is really quite simple – well that’s what product management said about the idea; because we recognise that our users are using many different tools to enable and facilitate their diverse content management needs and one of these is the ability to create simple online forms. That is why we built the ECL framework and why we continue to look for ways to improve our customer’s content management experience. Actually, the answer is even simpler than that: just because I can, and because I just love ECL and by now I love it more than WebForms.
So building forms without needing to know Java, XSLT or even XML, is that really possible? Well yes, because a few individuals built a web application called Wufoo, which removes the complexity out of the form building process. They say that Wufoo reduces what used to take days (if not weeks) by trained professionals into something that could be done by anyone in minutes. So there you have it, now how to bring that into your hands (or the hands of your CMS to be more specific).
After the release of ECL I can’t seem to think about anything anymore without considering creating an ECL provider for it. The same thing happened when I came across Wufoo. The first thing I saw was their simple interface for creating and managing forms. Then I noticed they embedded them simply via an iframe or some JavaScript (which writes out the iframe tag for you btw.). From that point onwards, all that I saw was an ECL provider with forms in there. Forms that you could easily drag on your webpage via XPM as Components, so in other words I was thinking about a ECL provider again.
Now when I was writing about managing product information in SDL Tridion, I used the image of the product as the multimedia content for my ECL item. For Wufoo I really don’t have any multimedia content, so I’ll just use an icon and disregard the multimedia part. I’m really only using ECL because it gives me the great integration scenario and added benefits it comes with (the UI extension and API).
How does it work? I created a Wufoo API wrapper class which allows me to call the Wufoo API from the ECL provider. Wufoo comes with an API that employs basic authentication for each request (you authenticate with your API key). I defined the ECL Provider to display the Wufoo users in your account as folders and the forms as *files* directly under them. This way you have a similar structure in SDL Tridion as you have in the Wufoo web interface. All you need is to create a Wufoo account (you can use a free account, but you will be limited to only 3 forms).
You can create a new Wufoo form directly from the SDL Tridion CME or even from the XPM interface.
In the external metadata of the form, you can find which fields are available and even see which entries are submitted. To edit the form, you can open it in Wufoo via the info tab.
To add the form to your Page, just use a Component Template with the following DWT design and add the Resolve ECL items and Default Finish Actions TBBs.
Make sure you add the External Content Library Stub Schema to the Linked Schemas list of the Component Template. Once rendered, the IMG tag will be converted in the JavaScript embed code for the Wufoo form.
All that you need is available in my free and open source community extension on SDL Tridion World. You can use it with a free Wufoo account, or any of the paid plans. The basics are all there and working, but since it is open source, you are free to get the source code from Google code and adjust to your own likings (including connecting to any of the other available online form services like Google Forms, Pandaform, FormSite, Formstack, JotForm, etc. etc.).
Well I had a question about the Web Forms , how is auto population handled ?
Not for drop down list but rather fields can we prepopulate based on some session value.
The typical form is it deployable as jsp / .aspx
Do web forms come with default validation rules for fields and can we design our own validation sripts to work with fields in form ?
Just examining if we had a 2 forms constructed the out of box validation logic is that same for two forms or we have to add that seperately
Everything is handled by Wufoo, check out what options they have available for auto population and validation rules. Also keep in mind, this is just an example of how you can connect third party (online) forms providers to SDL Tridion, if you’d rather use another provider like I mentioned in the last paragraph, you can use this as an example on how to accomplish it.