|
|
|
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.
- InfoJetSoft.Service.UseAJAX
The postback mode of InfoJet Service is set by this key, it supports three values:
"sync", to postback via the Sync AJAX, the default value.
"async", to postback via the Async AJAX.
"none", to postback via one hidden iframe.
The Sync AJAX mode ensures to postback one by one and every form logics in the server side will be executed.
And with this key, to show a modeless progress circle will be good to improve the user experience.
- 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 in ASP.NET 2.0,
so we suggest mapping this path to another virtual directory, such as "/AnotherVirtualDirectory/resourcefiles".
And please reference the following article for Microsoft's viewpoint:
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=361082
- 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 in ASP.NET 2.0,
so we suggest mapping this path to another virtual directory, such as "/AnotherVirtualDirectory/inlinefiles".
And please reference the following article for Microsoft's viewpoint:
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=361082
- 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.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 web form to prevent user input while the progress circle is shown, this is helpful to ensure the data integrity.
- 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.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</NoValidation>
Postback disabled.
|
|
If you run into any problem during configuration, please Contact Us.
|
|
|