Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
level2

InfoPath Resources

...

  • Complete Login use case.
  • Select Form Entry use case.
  • Enter patient name in search box.
    • System will retrieve all patients matching the entered search term.
  • Select appropriate form.
    • A request for /openmrs/formDownloadServlet is sent to server. FormDownloadServlet handles request and generates an XML response that contains the form schema (xsd) along with information that will tell the browser to open InfoPath to display the form. Unless previously instructed, the browser will prompt you to Open or Save the document. The XML below helps the browser figure out what it needs to do with the response.panel
Code Block
xml
xml

<?xml version="1.0"?>

...


<?mso-infoPathSolution name="Demo Form" href="http://localhost:8080/openmrs/formentry/forms/DemoForm.xsn" solutionVersion="" productVersion="11.0.6357" PIVersion="1.0.0.0" ?>

...


<?mso-application progid="InfoPath.Document"?>
  • Select the "Open with InfoPath" option.
  • Enter data into the form. This may require stepping through several pages of a form.
  • Select Submit button on last page of form.
  • InfoPath POSTs a request containing your form data to the FormUploadServlet.
  • FormUploadServlet creates a FormEntryQueue record, sets its XML data field with XML form data from the post, and stores the FormEntryQueue in the database.

...

If InfoPath is not behaving as expected (changes aren't being reflected, etc), the problem can often be solved by clearing the cache. You can run the following on the Windows command line or create a batch file.

Code Block
none
none
"C:\Program Files\Microsoft Office\OFFICE11\infopath.exe" /cache ClearAll

...

Change your Internet Security settings:

  1. Make sure <tt> No Formathttp://localhost </tt> (or your site url) is a "Trusted Site".
    1. (In Infopath menu) Tools - -> Options - -> Internet Options
    2. Click on the Security tab
    3. Select "Trusted Sites"
    4. Click "Sites" button
    5. Add <tt> No Formathttp://localhost </tt> (or your site url) if it is not there
    6. Click Ok
  2. Make sure your "Trusted Sites" can do cross-site scripting
    1. (In Infopath menu) Tools --> Options --> Internet Options
    2. Click on the Security tab
    3. Select "Trusted Sites"
    4. Click "Custom Level"
    5. In Miscellaneous --> Access data sources across domains
    6. Check "Enable"
    7. Click Ok

...

In other words, if you have a fixed IP for the server in the formentry.infopath_server_url property, don't use

No Format
nopaneltrue
http://localhost:8080/openmrs
to browse/view/open the web application, use the fixed IP you placed in the global property.

...

Code Block
# did you remember to backup the database?

# go into openmrs db
use openmrs;

# delete all tuples with the same concept_id and answer_concept by adding temp index
alter ignore table concept_answer add unique index tmp_uniq_idx (concept_id,answer_concept);

        

# remove the temp index
drop index tmp_uniq_idx on concept_answer;     

When submitting an infopath form the message "form submitted successfully" appears but the data does not go into the database

...

This has something to do with a DTD change for how infopath marks insertion points for repeating tables. After upgrading from 1.4 to 1.6, we had to identify all the infopath forms in our system that contained repeating tables, and download the xsn, resave on the desktop with a new filename, and then re-upload.

...