Home
  What's News
    InfoJet Service
  Overview
  Features
  Screenshots
  API Document
  How to Integrate
  Form Code
  Sys Requirements
  Configuration
  FAQ
    InfoJet POM
    InfoJet Rules
    InfoJet EditPart
    InfoJet QuickFill
    Evaluate
  Download
  Java
    Buy
  Pricing
  How to Buy
    Support
  Contact Us
InfoJet Service Configuration
You could use the following keys to config InfoJet Service.
Please add the keys into the web.config of Web Application integrated with InfoJet Service, as follow:
<configuration>
    <!-- other configuration -->
    <appSettings>
       <add key="InfoJetSoft.Service.LicenseKey" value="your license key" />
    </appSettings>
</configuration>
If you cannot find the element appSettings in your web.config, please add it as the last element of the element configuration.
InfoJet Service Configuration Keys
  • InfoJetSoft.Service.LicenseKey
    When you purchased InfoJet Service License, you will get a license key, please set it as the value, the license key will be registered automaticly.
  • InfoJetSoft.Service.TempFolder
    If you get a JetException exception throwed by InfoJetSoft.Service.Ext.CABFileFinder.findCABFile while registering form templates(xsn), please add the key such as <add key="InfoJetSoft.Service.TempFolder" value="c:\log" /> to your Web.config. Then please grant the full control of "c:\log" to everyone. By default, InfoJet Service needs to extract the files in form templates(xsn) to the system temp directory. But in some condition(such as impersonation is enabled), InfoJet Service has no perms to do it, so please add this key.
    Required for InfoPath forms need submitting via email.
    InfoJet Service will cache email attachment(xml file) in it. And please grant "Full Control" of the folder to the account running InfoJet Service. If the impersonate is enabled, you'd better to grant "Full Control" to everyone.
    Note: The TempFolder shouldn't be mapped to a web forlder, otherwise it maybe cause the AppDomain restart.
  • InfoJetSoft.Service.UseAJAX
    If its value is "false" or "none", InfoJet Service will postback using a hidden iframe, otherwise InfoJet Service will postback using Async XMLHttpRequest.
    Default to postback using AJAX, and it is suggested.
  • InfoJetSoft.Service.ResourceFilePath
    If the key is set, InfoJet Service will automatically extract the image and html files in the form template to the physical disk folder mapped by ResourceFilePath while the form template is registered. While the form template is removed from InfoJet Service, the files will be deleted also. It should be an absolute web path generally. If you are using InfoJet EditPart, the web folder should be an excluded path.
    Please grant "Full Control" perms of the "InfoJetSoft.Service.ResourceFilePath" folder to the account running InfoJet Service, generally, it is ASPNET. If impersonate is enabled, you'd better to grant "Full Control" to everyone.
    InfoJet Service will create directories in it, but we find the multiple directory creations will cause the current domain restart starting from in ASP.NET 2.0, so we suggest mapping this path to another virtual directory, such as "/AnotherVirtualDirectory/resourcefiles".
    Please reference the following article for Microsoft's viewpoint:
    https://connect.microsoft.com/VisualStudio/feedback/Workaround.aspx?FeedbackID=240686
    http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=361082
    And it is suggested to debug your web application with "Use local IIS web server", so you can create the another virtual directory in the same web site.
  • InfoJetSoft.Service.InlineFilePath
    If your forms contain the file attachment controls, please set this key, InfoJet Service needs to cache uploaded files in the physical disk folder mapped by InlineFilePath. It should be an absolute web path generally. If you are using InfoJet EditPart, the web folder should be an excluded path.
    Please grant "Full Control" perms of the "InfoJetSoft.Service.InlineFilePath" folder to the account running InfoJet Service, generally, it is ASPNET. If impersonate is enabled, you'd better to grant "Full Control" to everyone.
    InfoJet Service will create directories in it, but we find the multiple directory creations will cause the current domain restart starting from in ASP.NET 2.0, so we suggest mapping this path to another virtual directory, such as "/AnotherVirtualDirectory/inlinefiles".
    Please reference the following article for Microsoft's viewpoint:
    https://connect.microsoft.com/VisualStudio/feedback/Workaround.aspx?FeedbackID=240686
    http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=361082
    And it is suggested to debug your web application with "Use local IIS web server", so you can create the another virtual directory in the same web site.
  • InfoJetSoft.Service.SmtpServer
    Required for InfoPath forms need submitting via email.
    The address of the smtp server, if the key is set, an "Email this Form" button will appear near the "Download this Form" button. The InfoPath form will be emailed to the smtp server while the "Email this form" button clicked.
  • InfoJetSoft.Service.MailFrom
    Required for InfoPath forms need submitting via email.
    Some email account to mail the forms.
  • InfoJetSoft.Service.MailUserName
    Optional for InfoPath forms need submitting via email.
    If the smtp server needs authentication, it is the user name.
  • InfoJetSoft.Service.MailPassword
    Optional for InfoPath forms need submitting via email.
    If the smtp server needs authentication, it is the user's password.
  • InfoJetSoft.Service.DeniedUploadFileTypes
    Defaultly, the .aspx, .asmx, .asax, .asp, .exe, .msi and .dll files are denied for upload via the file attachment control. You could set the denied file types by this key, such as <add key="InfoJetSoft.Service.DeniedUploadFileTypes" value="aspx,asmx,asax,asp,exe,msi,dll"/>, the file types separated by comma.
  • InfoJetSoft.Service.ValidSubmit
    If the value is false, it will allow users to submit the form contains the validation errors. The default is true.
  • InfoJetSoft.Service.NoValidation
    If the value is true, all of form validation errors will be hidden. It will allow users to submit the form contains the validation errors. The default is false.
  • InfoJetSoft.Service.NoPostback
    If the value is true, postback disabled. The default is false.
  • InfoJetSoft.Service.LogFile
    The log file's path. If the key is set, InfoJet Service will log debug information into the file.
  • InfoJetSoft.Service.SetupAPIExtract
    If the value is true, InfoJet Service will call SetupAPI.dll to extract the form template, rather than extrac32.exe. It could be useful in the web application that have no enough perms to call extrac32.exe. And it still needs the key "InfoJetSoft.Service.TempFolder" if the web application have no perms to access the system temp folder.
  • InfoJetSoft.Service.ScriptX
    If the value is true, the printing of the header and footer using ScriptX[http://www.meadroid.com/scriptx/freedep.asp] will be enabled. Please add the following object tag before the form tag contains InfoJet Service web form, and deploy smsx.cab on your server:
    <object id="factory" viewastext style="display:none"
         classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
         codebase="smsx.cab#Version=6,3,434,26">
    </object>
    The default is false.
  • InfoJetSoft.Service.ShowProgress
    If its value is "modaless", a progress circle will be displayed while postbacking.
    And while the value is "modal", a translucent screen will cover the InfoPath web form while the progress circle is shown.
    The default value is "modaless", the value "none" will hide the progress circle.
  • InfoJetSoft.Service.LinkCSS
    The key can be set as
    <add key="InfoJetSoft.Service.LinkCSS" value="~/css/infopath-blue.css"/>,
    the key value is the web path of one css file, the "~" just works like the ASP.NET Web application root operator. InfoJet Service will replace the built-in css styles in InfoPath forms with this css, so you can customize the form styles in your web application. And, please use UTF-8 encoding for the css file.
  • InfoJetSoft.Service.UnoverridableStyles
    If the key value is true, the css styles of the InfoPath web form won't be overrided by the styles in the form editing page.
  • InfoJetSoft.Service.GlobalConnectionString
    All of the database connection strings used in the form templates will be replaced with the value of this key.
  • InfoJetSoft.Service.AutoFocus
    If its value is true, the focus will be set to the first control in the current view while the form is opened or the view is switched.
InfoJetService.config is used to config a special InfoPath form template.
Please create a xml file named InfoJetService.config like the following, add add it into your form template as a resouce file.
<?xml version="1.0" encoding="UTF-8"?>
<InfoJetService>
    <PasswordField>my:field1</PasswordField>
</InfoJetService>
Please add the configuration elements under our technical guidance.
InfoJetService.config Configuration Elements
  • <ContextValue scope="application|session|request|context"
    key="SomeKey" path="/my:myFields/my:field1"
    openTemplate="true|false" openXml="true|false" />

    This configuration element is used to pass the parameters to InfoPath web form.
    InfoJet Service will replace the value of the node identitied by the path attribute with the value of the key in the scope identitied by the scope attribute, while the template form is opened(the attribute openTemplate is true), or an existing xml form is opened(the attribute openXml is true).
    If the scope is "context", you could set the key's value as the following:
    InfoJetContext jetContext = new InfoJetContext();
    jetContext.Variables["SomeKey"] = "Value";
    InfoJetForm form = null;
    form = InfoJetService.BuildFormByTemplate(Context,jetContext,PublishUrl);
    or:
    form = InfoJetService.BuildFormByXML(Context,jetContext,PublishUrl,xml);
  • <DataObjectCache key="CacheKey1" name="DataObject1" refresh="template|form" />
    The query result(xml data) of the data connection receiving data named DataObject1 will be cached in ASP.NET Cache with the key "CacheKey1". If the refresh attribute is "template", the cached data will be updated while the form template is registered, and if it is "form", the data will be refreshed while one form is opened or the data connection is queried in the form rules or form codes.
    If two form templates use the same data connection, the key attributes should be the same also.
    Now only the database data source is supported.
  • <ClientScriptButton Id="CTRL1_5">
    <![CDATA[
       if( window.confirm( "Do you want to run the rule on the button?" ) ){
           return true;
       }else{
           return false;
       }
    ]]>
    </ClientScriptButton>

    While the button "CTRL1_5" is clicked, the javascript code in CDATA will run in the browser. If the return value is true, the default action of the button will run, such as a postback to evaluate the rules on the button in the server side. And please note, you don't need to write the javascript function header in CDATA.
  • <EnableXDocumentDOM>true</EnableXDocumentDOM>
    If this element is added, InfoJet_XDocumentDOM is available in ClientScriptButton. InfoJet_XDocumentDOM is a Msxml2.DOMDocument.3.0 object that contains the current form xml content:
    <ClientScriptButton Id="CTRL1_5">
    <![CDATA[
       InfoJet_XDocumentDOM.setProperty("SelectionNamespaces", 'xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2007-10-16T16:01:45"');
       var field1 = InfoJet_XDocumentDOM.selectSingleNode("/my:myFields/my:field1");
       field1.text = "test";
       InfoJet_UpdateFormFieldByDOMNode( field1 );
       return false;
    ]]>
    </ClientScriptButton>
  • <PasswordField>my:field1</PasswordField>
    The input textbox binding my:field1 will be converted to a password field.
  • <DataObjectPageCache>DataObject1</DataObjectPageCache>
    The query result(xml data) of the data connection receiving data named DataObject1 will be cached in the web page. Defautly, the second data source will be cached in HTTP Session.
  • <NoValidation>true</NoValidation>
    Hide all of form validation errors. It will allow users to submit the form contains the validation errors.
  • <NoPostback>true</NoPostback>
    Postback disabled.
If you run into any problem during configuration, please Contact Us.

Copyright © 2005 - 2010 InfoJetSoft all rights reserved