We are in the process of building a portal currently, everything is new and in development, but we will be integrating smart forms into our portal application by using an iframe. The portal is coded in php and at the time of design, using a portlet was not an option (not sure if it would be now or not). If you have any specific questions, I can give you what answers I have.
As far as data integration goes, you can implement your own custom data retriever and submitter classes and use them to transfer data in and out of the SmartForms application, e.g. via a database. For example, your main web application can pre-create initial application record in a database and pass its key to the SmartForms app as a submissionId parameter in the URL. Your data retriever then could load that data into SmartForms, collect more parameters and then the data submitter will save it back to the database. Then the SmartForms can redirect user back to your application or some other external URL.
You can take a look at the %ADVISOR_HOME%\examples\SmartForms\deployments\dataaccess\handlers to see an example of data retriever and sumbitter implementation.
We did have a lot of issues with GUI controls early on and then upgraded, we have not had problems with the GUI since that I am aware of, but I'm not sure how much it is being used.
We debated about the size of the XML document alot as well (for everything not just sf), I'm not aware of any best practices, but I am curious about the same.
Please let me know if you decide to trim down the size and recieve a better response.
We have seen major differences in the GUI response to a user event based on the size of the XML which is bounded to a Smartforms form / page.
The form we use doesn't have many controls on it (approximately 6 or so). When we trim the XML document to only contain the elements which are mapped to the form, we see significant reductions in the GUI event response time. Basically, delays are no longer noticeable. In our case we trimmed the XML document from 726 KB to 1 KB and the response time improved dramatically. Even when we trimmed it down to 222 KB and 91 KB, we still saw delays.
We are working with Blaze support to see if they can recreate the problem and then analyze further.
Regarding your implementation, I am interested in understanding how you are planning to deploy. Whether or not it is a separate web application and if so, how do you secure the application. One of the concerns we have is with two separate web applications. The main web application will interface with the Smartforms component in a separate web application and displayed in an IFRAME. We will use a url with IFRAME tags for the Smartforms component. As far as we know there isn't a way to secure the Smartforms web application. If anyone knows what the URL is, they can access the Smartforms web application.
An ideal way to go is to have the Smartforms component as a portlet within a portal. But since this is an existing application, there is not any interest at this time to redesign and implement into a Portal. Any ideas you can share are appreciated.
Have a look at SmartForm portlet deployed on open-source portal platform, Liferay, for the
Retrieving data ...