Loading external data to InfoPath once only - infopath

Hopefully someone can help me with my problem.
Background
I have create an InfoPath form that is to assess project risk. It allow the user to select a scenario and in return the form returns a risk class and set of actions. The actions are displayed on the form as a multi selection list box, because I was unable to display the action list in a text box.
The form is going to be used in multiple locations, thus will be published to multiple sharePoint sites across Australia and so for easy of updating all of the scenarios and actions will be loaded from a universal SharePoint list. This will then not require the republishing of the form with every update.
The Problem
If a new version of the form is rolled out. E.g. any of the scenarios or actions change. I can not have any previously submitted forms change with it, as the previously submitted answers in the form may not be relevant in the old versions.
This is not an issue with the Scenario fields as they can be tagged to load only once. But the multi selection list box works differently and loads its data every time the form is opened.
The Question
Is there anyway of loading the data in the multi selection list box only once?
If not is there anyway I can load data into a bulleted list or some other field that I can load only once on open of the form for the first time?
Hopefully someone can help.

I had the same issue - I don't want data in old, previously submitted forms to refresh their data for dropdown, tables, etc when they are opened in the future. They need to always use the same data they were submitted with, regardless of weather the database values have changed or not.
To do this, I first unchecked the option "Automatically populate data when the form is opened". Then I unchecked the option to tell data to expire after X amount of days - so i always know the form will have data cached.
I then created a field to serve as a marker for weather to update values from the database or not. Then I used custom code to refresh secondary datasources from the database if needed. In my form loading event, I check to see if the from has already been submitted or not using my marker field.... if not previously submitted - refresh the data - if previously submitted- do not refresh data.
On submition of the form, i set my market field to indicate the form is locked and should never update its secondary sources
Hope you get my idea.
Cheers

If a new version of the form is rolled out. E.g. any of the scenarios
or actions change. I can not have any previously submitted forms
change with it, as the previously submitted answers in the form may
not be relevant in the old versions
I do not understand your problem since the previously created XML data forms are opened with XSN templates with which they have been created (i.e. previously created XML data forms are opened wh the use of old XSN template forms). If it is not so, then open a question why it is failing for you.
Also, I do not understand why do you need to load choices from external source, if it should be fixed once and forever, load it from resource XML file embedded into template itself or choices entered manually (Enter choices manually in properties of Multi Selection List Box). So, they will be stored in the used template
Please check
Free Training: Data-Driven Design - Using Default Data (Lab 1)
on step-by-step tutorial on better ways how to create in Infopath a Quiz form with Default Data (questions and answers in modules)

Related

Where is gravity form data stored?

The website I'm working on uses gravity forms and gravity form PDFs to generate PDFs from form data. There was a typo in one of the form field options. When I fixed the typo, every entry lost its data for that form field. Thankfully, this happened in a sandbox environment and the staging environment still has all of the information for that form field.
I have gone through every single table on the database and could not find where the information for these entries are stored. I also checked through the local file structure.
Does anyone know where the form field data is stored with Gravity Forms?'
EDIT:
Sorry, it was just mySQLworkbench being stupid. I had my rows set to 1000 and it was displaying 1044. That made me assume there were only 1044 rows... There were thousands of rows I didn't check. I changed my query and that fixed it
Any uploaded files will be stored in the wp-content/uploads/gravity_forms/$FORM_ID-randomstring folder. Any text entered in your form fields will be store in your WordPress database in dedicated Gravity Forms tables. A reference to any uploaded file will be stored in the database as well.
for more information please click the link https://docs.gravityforms.com/database-storage-structure-reference/ or check out other peoples contribution here >>https://legacy.forums.gravityhelp.com/topic/where-does-the-gravity-form-information-go-after-it-is-created

dynamics ax : Push Customized form to All users

Recently, I was troubleshooting an issue related to user settings. There was a requirement to migrate the user settings from one environment to another.
There is an AX 2009 form which users make their own personalisations to, moving some of the fields around, or perhaps adding other fields (via the right click->setup functions) , so that unnecessary fields are hidden.
I have saved that form , so that it is available for me , but when i migrate the form to another environment i notice that the new user don't have any change on the form.
As we all know, User related setups for queries, forms, reports etc are stored in SysLastValue table. This is a system table and can't be accessed directly through AOT.
I think here is what you are trying to achieve:
http://axaptian.blogspot.md/2010/01/savecopy-filtersqueriesinquires-to.html
Basically, it allows to save custom filters and queries and pass it to other users. Although it copies only queries, I am sure it can be modified to copy any usage data.

knockout.js - broadcast data across relevant views

I am currently undertaking an exercise to research on a number of JS MV* frameworks and select one that best suits the team's needs. Knockout is one of the contenders that I am learning about.
One of the most important requirements is for changes in the data in a view model to be broadcast to all the views that use such data. For example, lets say we have client details listed in a data grid on a page, clicking on any row in the data grid brings up a pop-up dialog where the user can edit the values of the selected row. When the change is made and the user clicks 'Save', the data is updated in the database. But what we also want is that the change be reflected in the local ko.observablearray and then for any other views that use this 'clients' collection to refresh themselves with the new data. In other words the views must refresh themselves with the data in ko.observablearray rather than get a fresh list from the database.
I have been successful in doing this - have one a single .cshtml file which houses the data grid and a form to create new row in the data grid. In this scenario, the data in the grid refreshes correctly. But when the change happens on a another cshtml file, I am not able to carry these changes across to the other views. Can this be done in knockout and if yes, please point me to an example of how and where this has been done.
I would use a Event aggregator pattern. I have made one for SignalR
https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy
Install usign nuget
Install-Package SignalR.EventAggregatorProxy
If you have no use for SignalR you can then extract the relevant parts from my lib, demo here
http://jsfiddle.net/jh8JV/

Working with Large JSON stored in client side Hidden

I am working on a page which has 3 jQGrids and i use JSON to bind it. Working on MVC 3 application.
Example, i have a dropdown that shows Department Name list, if i change any department i need to load all the employees under that department in my grid. User edit some records in a grid often.
But the user will never save immediately, they keep editing so many
department employees and do a single save.
To persist all the changes till user click global save, i decided to keep all the employee record details in a JSOn format stored in a hidden field. So i load from hidden and bind to grid based on selected department and update local JSON when user update in grid and finally i send the hidden JSON to server.
I am storing 10 fields of 100 employee details JSON data in hidden field and use. I know i am increasing response size and post data
size. Question is, will it impact a big problem in performace? or can
i store in a session and load from it? Which would be the best way?
Theoretically there is no other problem than the delay that a page make to send back the data when the user make post back.
But in real life I have see (rare but existing ones) problems with very big fields on post back. Some routers, or proxy they cuts them, or block them - I do not know the actually reason, some times they maybe just stupid filters.
To avoid this rare case from happening you can compress and split the input hidden field to more than ones (the issues appears when the size is huge on one).
Now, the session is a good solution that can help to minimize the data send front and back. Its may grow up the session, and you must find a way what and how you handle if the user opens two same windows, the session data must be two different ones.
Some examples on how you can compress the input field. Is talking about viewstate, but the idea is the same:
http://www.codeproject.com/Articles/14733/ViewState-Compression
http://www.hanselman.com/blog/ZippingCompressingViewStateInASPNET.aspx
http://www.bloggingdeveloper.com/post/How-To-Compress-ViewState-in-ASPNET-20-ViewState-Compression-with-SystemIOCompression.aspx

access forms as asp.net's listview

I made an access vba application where all my architecting was simply creating a one-to-many relationship between a "status" table and a "data" table that contained all the other details of my record. Created a form with the single click of a button with my "status" table open, and wallah,,, I got a form for my open or closed records that had dropdowns for each field where theres a related table. For activity tracking, I had to make a many-to-many table , and made a one-to-many for the status of those activities and again, clicked the create form and I was in business. To finish things off all I did was integrate a checkbox in my data fields and put buttons on my status forms that act on the record that got checked, and I was done, fast & painlessly, kinda.
Is there any ASP.net code generation of a data control in where I can just structure my MYSQL database, make the relationship and generate code of the RELATED "status" table and get my form w its related subform with text fields & DDL's automatically generated, fast? If not, what would you consider is the next best approach (i.e. using excel for replicating repetitive code)?
Take a look at http://www.asp.net/dynamicdata
As far as I know (having not used it myself) it will do what you need, ie quickly generating data entry pages from an existing sql schema.
Access can actually create .net forms when you use access 2010. (the forms are real xaml or so called zammel forms). The beauty of this system is you get to keep the same point and click approach that allows you to build master forms with child sub-forms. You not have to write one line of code and you not ever see one connection string. Only downside of this great new system called "Access Web Services" is it requires SharePoint (enterprise).
So, this is a true access development for the web, but you continue to use the Access client to build those forms. Those forms scale out to many users since you using xaml forms and SharePoint. Here is a video of this in action:
http://www.youtube.com/watch?v=AU4mH0jPntI
At the half way in above, note how I switch to running the access application 100% in the browser.

Resources