I need a forms technology similar to MS InfoPath or Adobe LiveCycle Forms ES in that it has an XML data structure, is compatible with ASP.NET, renders in a browser, and is easily configurable by non technical office worker types. TurboTax Online is a good example of the type of functionality I have in mind.
The missing piece that I have not yet a solution for is that it be able to operate like a wizard such that responses to certain steps dynamically with AJAX or Flash/Silverlight or some kind of RIA either prompt or hide or alter subsequent parts of the form. It needs to be able to save all results or partial results to persistent form.
This would be easy to program the functionality but need a technology that can create / generate these forms and be able to set the rules in some sort of easily configurable way - the same way an office worker can create a form with InfoPath at least with perhaps a workflow style tool to set the ruls and flow of the form.
Was there a reason you didn't investigate Adobe LiveCycle ES2 any further?
It seems to be a good fit for your requirements, and does have a wizard like feature called Form Guides. You can hide/show sections based on user input, and have form events trigger calls to web services.
Given when you posted this, Guides may not have yet been implemented in LiveCycle - might be worth looking at again if this is still relevant for you.
Related
I have an Administrator that needs a dynamic form generator with layout capabilities on an ASP.NET page so that they can add, edit and change layout of questions that will be filled out by users whose responses will be saved into the database dynamically. The format is very important as there will be an offline piece that will be generated using Adobe Acrobat and both forms need to be very similar in format. The online portion also needs to be fully printable so that the end user can keep a copy for there personal records. Does anyone know of any ASP.NET controls, free or otherwise, that I could use to complete this functionality? Or what would be the best technology to solve this problem?
Not sure I see a question. This is more of my opinion of what you should do:
Im working on something similar. My form generator had a LOT of complicated fields and data to handle and I decided to go with silverlight. I very happy now, despite the learning curve, and the madness async api, because it would have just been hairy to do it with asp.net, pure asp.net with postbacks would just be bad UX and then putting ajax in between would've just been scary.
If you have great Ajax/asp.net experience go with it, but if not, Id suggest silverlight. I got up to speed pretty quick.
I've got an asp.net application where each client will have their own data entry forms. I'm a bit tired of reinventing this wheel. Does anyone have any good experience with an "off the shelf" component for rapidly building such forms?
The component will need to fit within an existing asp.net site and support layout of the fields, not just "dumping" the fields on the page. The data needs to go back to a database for querying (but can use it's own schema) and some light level of workflow needs to be supported (mostly around completion status). Infopath is a non-starter due to its requirements for sharepoint etc, but if you're thinking along those lines, you have some idea of what I'm looking for. The system must be open for modification as I'm sure we won't be able to find something that does everything we need.
Doesn't matter if it is OSS or commericial.
Thanks!
We've used FeedBack Server here in the past and it worked out pretty good.
Microsoft lightswitch.
Telerik widgets in a web page.
In my application, I have a situation wherein the users will need to have the flexibility to customize the UI to a certain extent. The following are some of the customizations that is being discussed now...
Change Label text associated with the with Use Input controls
Mark a control as Mandatory/Read only/Hidden
Assign a regular expression for the text box
Are there any recommended design patterns for my situation? Seems like I need to store all these in a database and worried about the performance impact if I have to read every element from the database for every page.
Thanks,
Harsha
I would look at some of the open-source CMS or portal systems written in ASP.NET and see how they are doing UI customization (if they are).
Phil Haack has some insight at the following article:
Scripting ASP.NET MVC Views Stored In The Database
http://haacked.com/archive/2009/04/22/scripted-db-views.aspx
Apparently it's not an easy thing to do in ASP.NET. It's easier to do in ASP.NET MVC, because the markup is cleaner and you can control it with jQuery.
The overall concept you are going for is not easy to have system wide, however the specifics you stated are fairly easy.
You'd have to setup some fields in a database for those values and then on the page load set those values on the page load. Pretty trivial from a 'how to'. Which your question shows that you 'get'.
Now unless you are using an Access Database :-), I don't think you have to worry about the performance hit. But if truly concerned, put some caching logic on those values so you only have to hit the database once. Though, be aware this will store the values in memory on the server, so if you are working with a very minimal hardware this could be an issue as well.
I am just assigned a project to make a paper based process to be web based. What I need to do is to allow user to fill out an online form and sign it using his/her mouse. The data entered and the signature needs to be later retrieved as a PDF file.
So, I've created a working prototype using ASP.NET webforms and a third party PDF library ( iTextSharp), along with a mouse signature capture tool that I purchased.
The prototype works fine. But my concern is, I may need to extend this application to support many ( maybe hundreds of) forms. Each form has different fields, but they all require a signature. It took me 2 days to build the prototype for one form, including creating the web forms, mark fields in PDF template, hook up web form fields with fields in PDF form, etc...In the future I don't want to spend 2 days to set up each form, is there a better way than building custom form using ASP.NET?
I know of InfoPath, but never used it, has anyone done anything similar before? Is InfoPath with SharePoint a better solution to my problem? Or there is something else? If anyone can give me some advice, I would greatly appreciate it.
Thanks a lot!
The advantage that infopath has is that it has the ability to take advantage of digital ink (handwriting) out of the box. if your version of Windows includes Microsoft Ink (XP tablet, Vista, Win 7) then Infopath will allow you to capture text and images using various available input devices (mouse, pen etc..) depending on the control that you use. A textbox will using handwriting recognition to convert the writing into text, where as an image box will allow free drawing, ideal for caputring a signature.
I have used Infopath as a standalone disconected client system that used email as the transport system. the forms were attatched to an email and added to the outbox. when the user retrieved their email, the forms were automatically sent. The great thing about infopath is that the data is xml. this gives you enourmous flexabilty with what you can do with the data.
As a side note...
You may want to think about the legal side of things when people are signing (using handwriting) e-forms. As Infopath seperates the presentation and the data, which is great for capturing the data for reporting, workflow etc, it becomes a downside from a legal standpoint as the data can be manipulated and presented very differently from what the signee originally signed. In most cases this is not problem, but if the the form is any form of legal document (invoice, goods receipt) you will need to think about how to keep both the data and presentation together and seperate at the same time.
This will be a problem for any system that seperates the data from the presentation, be it web based forms, infopath, or PDF forms.
Hope this helps...
I have also been tasked with a similar problem to solve. I looked at solutions like Adobe LifeCycle but we wanted to use SharePoint as an ECM. One of the problems with InfoPath is that it requires SharePoint or the InfoPath desktop application to fill out the forms. If you don't already have SharePoint setup or cannot use SharePoint, then InfoPath is not the way to go. I didn't want to duplicate efforts by having to create the entire form using html forms and then have to merge all that data onto a printable version for them to sign... seemed like duplicating efforts so I saw InfoPath as a possible solution. Adobe LifeCycle seemed almost a better way to go because we can just use a fillable PDF to capture, do some validation and submit the data. However, Adobe LifeCycle was very expensive so wasn't a good solution for the project.
So if its not a problem having SharePoint as part of your solution, then by all means go for it. But, if you need people to fill out the InfoPath form and not use the desktop client or be logged into SharePoint, then I don't think it's the right solution.
#sean717: You approach with itextsharp reminds me of the existing tool we use in our company. Check www.pdfsharepoint.com if you want to both highly interactive pdf forms and integration with SharePoint 2010. It works for us.
At my current job we have a CMS system that is .NET/SQL Server based. While customizing a couple of the modules for some internal use, I was a little surprised to see that instead of having APIs that returned data via your typical result set that was bound to a DataGrid/DataList/Repeater control, that the APIs returned an XML node/collection, that was then passed to an XSLT transformation and rendered on the page that way.
What are the benefits to using a model like this?
Using XSLT transformations would enable you to use a different layout and formatting than the standard .Net grid controls. Some people don't approve of using the .Net grids because they can include more HTML than necessary, and because if not managed carefully, they can bloat ViewState.
There was a recent discussion here about the .Net grids being bloatware (but developers use them anyway).
The outputted pages can be of any type, like html, php, etc.
By setting up the datasource and xml that the page merely transforms, you have also instantly created a simple 'web service' that can be consumed by other software. For example, it would be trivial to turn that grid into an rss feed or write a program to scrape that data periodically and send a more pressing alert.
The XSLT method is very MVC, unit-testing, separate-concerns friendly where ASP.NET controls well... aren't.
caveat: I reject the assumption that MS can write better html/css/js than I can. ASP.NET controls are clunky abominations.