Wednesday, December 03, 2008

Convert PDF to TIFF - Using Ghost Script

Requirement : To convert any PDF to TIFF.
Solution: In an enterprise during the day to day activities, back operations and other teams come across requirements to convert a file from one format to another. Converting TIFF to PDF and vice versa is one of the example.

TIFF to PDF
If you are a non technical staff you may contact the software provider team in your organization and get access to the tool which does TIFF to PDF conversion. But if you are a technical person (programmer) then you can leverage iText library and write an application to achieve this. As iText is free so its easy to save yourself from licensing costs and other licensing related obligations.

PDF to TIFF
There are various scenarios where you might need to convert file from PDF to TIFF format. For example you may get some document from lender or broker in PDF format containing some sensitive information. Suppose as a part  of your process requirement you need to save only TIFF files containing no sensitive information so you have to go through two step process:
1). Convert PDF to TIFF
2). Remove the sensitive information

Here we are going to discuss the tool 'GhostScript' which helps in achieving first step. Installation of GhostScript :
Step 1: Download GhostScript by visiting the below link
http://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/gs863/gs863w32.exe
Step 2: You can install this anywhere on your computer. For tutorial purpose I am using C:\Program Files\gs

The main file we are interested in is gswin32c which can be found in C:\Program Files\gs\gs8.63\bin folder. You can use this executable to perform the conversion either by running it at command prompt or inserting the following command in a batch (.bat) file and then executing it.

command 1 : cd C:\PROGRA~1\gs\gs8.63\bin
command 2: gswin32c -dBATCH -dNOPAUSE -sDEVICE=tiffg4 -r300x300 -sOutputFile=%2 %1
Here is the explanation each switch/option we have used in the above example :

sDEVICE = Type of Tiff
-r300x300 = DPI settings
-dNOPAUSE 
Disables the prompt and pause at the end of each page. Normally one should use this (along with -dBATCH) when producing output on a printer or to a file; it also may be desirable for applications where another program is "driving" Ghostscript.  

-dBATCH
Causes Ghostscript to exit after processing all files named on the command line, rather than going into an interactive loop reading PostScript commands. Equivalent to putting -c quit at the end of the command line.
For more information visit http://pages.cs.wisc.edu/~ghost/doc/cvs/Use.htm#Output_device http://www.ghostscript.com/ http://en.wikipedia.org/wiki/Ghostscript

Tuesday, November 04, 2008

How to retrieve IS Document Class Index fields summary?

Question : How to retrieve the Index names and their types of an IS document class.
Answer : Following code can do it for you.

Dim oClassDesc As IDMObjects.ClassDescription
Dim oLib As IDMObjects.Library
Dim oPropDesc As IDMObjects.PropertyDescription
Dim oPropDescs As IDMObjects.PropertyDescriptions

Set oLib = CreateObject("idmObjects.Library")
oLib.SystemType = idmSysTypeIS
oLib.Name = sISServerName
oLib.Logon "username", "password", "", idmLogonOptNoUI
Set oClassDesc = oLib.GetObject(idmObjTypeClassDesc, sDocClassName, idmObjTypeDocument)
'lstSource is a list control
Set oPropDescs = oClassDesc.PropertyDescriptions
If Not oPropDescs Is Nothing Then
For Each oPropDesc In oPropDescs
If InStr(1, oPropDesc.Name, "F_") = 0 Then
lstSource.AddItem oPropDesc.Name + " - " + FormatDataType(oPropDesc.TypeID) + " - " + Str(oPropDesc.GetState(idmPropRequired)) + " - " + Str(oPropDesc.Size) + " - IsKey " + Str(oPropDesc.GetState(idmPropKey))

End If

Next
End If

oLib.Logoff
Set oPropDesc = Nothing
Set oPropDescs = Nothing
Set oClassDesc = Nothing
Set oLib = Nothing

Thursday, June 19, 2008

Error while configuring GCD during Content Engine Client Installation

Problem : Received GetDomainInfo hr = 0x8007005 error while configuring GCD during CE Client installation.
Solution : This problem is related to security access.Steps to resolve the problem:

The wizard is using DCOM to create an instance of a class on the Content Engine server. DCOM must be working for this task to complete. There are a few ways in which DCOM can be prevented from working, including but not limited to:

1. switching off DCOM using the dcomcnfg utility or registry modifications. See the following Microsoft Knowledge Base article for more information: . The server and workstation administrators should ensure that DCOM is enabled.

2. restricting ports which are available. The ports used by DCOM can be managed through the dcomcnfg utility using the Default Protocols tab. The local network folks should ensure that ports used by DCOM are available.

Enabling DCOM
Use DCOMCNFG.EXE
1. Run Dcomcnfg.exe.
2. If you are running Windows XP or Windows Server 2003, perform these additional steps:
a. Click the Component Services node under Console Root.
b. Open the Computers folder.
c. For the local computer, right-click My Computer, and then click Properties.
d. For a remote computer, right-click Computers folder, point to New, and then
click Computer.
e. Type the computer name.
f. Right-click the computer name, and then click Properties.

3. Click the Default Properties tab.
4. Click to select (or click to clear) the Enable Distributed COM on this Computer check box.
5. If you want to set more properties for the computer, click Apply to enable (or disable) DCOM. Otherwise, click OK to apply the changes and quit Dcomcnfg.exe.
6. Restart the operating system for the changes to take effect.

MORE INFORMATION
The following registry string value is used to enable or disable DCOM on all operating systems:
HKEY_LOCAL_MACHINE\Software\Microsoft\OLE\EnableDCOM
If you change this value to N, you disable DCOM after you restart the operating system. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
256986 (http://support.microsoft.com/kb/256986/) Description of the Microsoft Windows registry

Check the User being used for installation
Make sure that the user which is being used for installing Content Engine client should be :
a). Added into the Local Admin Group on the Server (Environment Dev/Cat/Stg) you are trying to connect.
b).'FilenetAdmins' group should also be a member of the Locan Admin Group on the Server (Environment Dev/Cat/Stg)
c) DCOM Configuration :
a) Goto MyComputer's Properties -> COM Security -> AccessPermission -> EditDefault
Add 'FilenetAdmins' with full permissions
b) Goto MyComputer's Properties -> COM Security -> Launch & ActivationPermission -> EditDefault
Add 'FilenetAdmins' with full permissions

Configurations settings were lost after Image Server upgrade.

Problem : After upgrading from IS 3.6 to IS 4.0 we lost the configuration settings in Capture for production repository. User were unable to scan using FileNet Capture.
Solution: Follow below mentioned steps :

1).Add an entry into Hosts file c:\windows\system32\drivers\etc to point to old IMAGE server as shown below :
XXX.XXX.XXX.XXX stgeorge-filenet-nch-server
2).Then open the repository in Capture Professional 4.1 using sysadmin username and password and copy all the configuration settings to Local repository.
3).Remove or comment out the entry done in Hosts file in step 1. Open the same Image Server repository in Capture Professional with SysAdmin credentials and copy config folder from LocalRepository to the missing production repository. Close the Capture application and log back in again with scanning user credentials.Test the application by scanning few batches. Old settings should be used by scan and other components.

Tuesday, June 17, 2008

How to get user credentials being used by Capture Manager, programmatically?

Solution: You can get the CE credentials used by Capture Manager by accessing following registry entry HKEY_LOCAL_MACHINE\SOFTWARE\FileNET\Panagon Capture\ CurrentVersion\ Capture Manager\Repositories
Find your repository name and access it through application code. If you are coding your application in Visual Basic 6.0, the following link may be of your use.
http://www.freevbcode.com/ShowCode.asp?ID=4330

Wednesday, June 11, 2008

Edit Tiff image during Indexing.

Problem: The requirement was to provide users Tiff editing facility while Indexing a batch.
Environment : FileNet Capture Professional 4.1, Panagon IDM Desktop 3.2, Image Server as repository, KODAK Imaging (V 2.8)
Solution : Used KODAK Imaging (V 2.8) software which comes free with Windows Server
operating Systems. It comes as a bundle of COM(Active X) controls which can be used in Visual Basic application. Benefit of using KODAK imaging is that the Tiff image quality remains same after editing

Kodak Imaging COM components can be found at: C:\Program Files\Imaging ,if Kodak Imaging is already installed on your computer.

Session problem for multiple users while using Imaging applications through Citrix.

Problem: Consider a scenario when one user logs in to the customized Panagon application through Citrix URL, application works fine. But as soon as the second user tries to log into the same application, it kills the previous user's session.
Reason: Lack of access rights for users to Application and temporary folders being used by application.
Solution: Within Citrix presentation Server you can enable virtual IP feature. This allows each user to be allocated a unique IP address whenever they run an application from a server that has Virtual IP Addresses enabled. Citrix servers should be on a subnet that has a free IP address range to be used by the applications.

Panagon IDM Desktop 'Cache Size' Issue.

Problem: Consider a scenario when multiple users try to retrieve images from Image Server and gets 'Retrieve from cache failed' error intermittently.
Reason: The size of retrieved image file is too big for IDM cache to retrieve the image
completely.
Solution: Increased the size of Cache being configured on Citrix Server where IDM Desktop was Installed. Open FileNet IDM configure and then click 'Additional Preferences'.Expand 'Directories and Files' node and increase 'maximum cache size' & 'Maximum cached Documents’.

Unable to keep IDM Desktop running on a VM Citrix Server.

Problem: Consider a scenario where there is a requirement of preparing a Citrix Server using a Virtual Machine. We Installed FileNet IDM Desktop 4.1 and checked whether its connecting to image server, it worked fine. Then installed FileNet Capture 4.1 on this machine, configured image server repository and checked whether its functioning properly. The problem started on very next day of the installation of these softwares.When we tried to connect to Image Server from FileNet IDM Desktop 4.1 it could not connect. We uninstalled and reinstalled these software again and it started working fine, but got the same problem again on next day. So on very next day after Installation, IDM desktop was stopped working.
Reason : Unknown as of now
Solution: The solution was to install these software on a physical machine instead of a Virtual Machine.

User session locked on IS due to a network errror in Citrix environment.

Problem: Consider a scenario where user gets locked while using Imaging applications through Citrix URL and not able to continue with the work.
Reason: When user uses the application through Citrix URL, sometime session becomes expire if the application is left IDLE for a long time and it leaves the user logged into image server. Assume the user is allowed to create only session with the IS.
Solution: System administrator can be contacted to unlock the user on Image Server so that user can continue with the application.

Error ‘LDAP Server Down’ while connecting to CE 3.5.1 through Citrix after migration of existing e-Directory to a new server.

Problem: Consider a scenario where a user successfully accesses CE Server through FileNet Enterprise Manager (FEM) from a Windows 2003 server (SP1) box but gets ‘LDAP Server Down’ error while coming from Citrix URL.This error started happening after the migration of existing e-directory to a new server.The problem still remained even if the firewall rules were set to allow all incoming and outgoing traffic between e-Directory server and Citrix server hosting FEM application.
Reason: Tracing was configured on e-Directory server to track all incoming requests and outgoing responses. It was found that the requests coming through Citrix were failing while the one coming directly from the physical machine (Windows 2003 server machine) were getting processed successfully by e-Directory. It was later found that the security certificate, which was installed on the Citrix server to communicate with e-directory was meant for a user profile and not for the Local computer and that’s why not allowing anybody to launch FEM through Citrix.
Solution: Imported Security certificate through MMC console for the Local Computer not for a user profile.

Sunday, June 01, 2008

How to use an Image Services Server on a Different Subnet?

If you will be accessing an Image Services server on a subnet that is different from the one your workstation is on, add an entry like the following to the hosts or lmhosts file:
xxx.xxx.xxx.xxx --nch-server
Where:
xxx.xxx.xxx.xxx is the IP address of the Image Services server
domainis the Image Services server domain name
organization is the organization name selected for the Image Services server during the initial installation.(Typically the organization is filenet.)

For example, your entry might look like this:
10.1.20.123 mysystem mysystem-filenet-nch-server
Note that domain names are limited to lowercase and alphanumeric characters.
For more information about Image Services access, contact your Image Services System
Administrator

How to detect Bar Code/Patch code from JPEG and Gray Scale Images in FileNet Capture 5.1?

If you are using certain Kofax controller boards or have installed the Advanced Doc Processing option, you may be able to detect bar codes and patch codes from JPEG and grayscale images.

Barcode in FileNet Capture

Supported Bar Code Types
When designing a Capture system that employs special bar code features, ensure that all parts of the system — from the scanner to the storage repository — can support the features adequately.
Consider the following to ensure adequate support by Capture:
• Your scanner, scanner interface card, or doc processing software might support bar code types that are not listed in this document. Conversely, your scanner might not support some of the bar code types supported by Capture.
• Some bar code types supported by Capture might provide features (support for control
characters, for example) that are not supported in other Capture components.
• Some bar code types might contain more characters than Capture features (such as index fields) can accommodate. For example, some wo-dimensional bar code symbols support up to 2000 characters in a single bar code. However, your index fields, configured on the server, might not be able to accept that number of characters and truncate the data.
NOTE FileNet added support for two-dimensional bar codes in Capture release 4.0. If you are using an earlier release, you must upgrade to Capture 4.0 to use the two-dimensional bar codes.
General Considerations
Using bar codes for quality assurance, batch separation, and automatic indexing can reduce cost, increase system throughput, and reduce errors. A bar code contains information – account numbers, part numbers, customer addresses, etc. - that usually corresponds to properties that are associated with the documents you are scanning.

When using bar codes, you need to determine if you are using hardware or software bar code processing. If your scanner or scanner interface board supports doc processing, you use hardware bar code processing. Hardware bar code detection takes place as you scan your documents. The scanner passes the image to the processor on the board that interprets the bar code based on configuration settings in the Scan component. The interpreted information is stored as properties of the image.

If you have optional Doc Processing (Kofax Adrenaline) software installed you use software bar code processing. This processing is performed by the DocProcessing component. Software bar code processing takes place as a separate step, after you have scanned or imported your document. Software bar code processing locates the bar code in the image and extracts the embedded information. You configure the bar code settings for post-scan software bar code detection through the DocProcessing component.

Specific characteristics of bar codes include height, width, ratio, bar code length (minimum chars per bar code setting), max bar codes per line, max bar codes per page, search direction, bar code type, quality, edge noise, quiet zone, speckling, and skew. All of these characteristics can be adjusted to maximize bar code detection
There are a number of symbologies, or bar code alphabets, available. Each symbology varies in the number of characters contained in its alphabet. For example, Code 3 of 9 includes 43 characters including letters, digits and some punctuation.

Bar Code Quality Adjustments
The quality of the bar code on the page to be scanned (or imported) will affect whether or not the bar code can be read and decoded accurately. Both hardware and software bar code detection methods may fail if the bar codes on the original images are distorted or poorly reproduced. The following suggestions apply to the bar codes on the source documents that you are scanning or importing:
• The density of the lines of the bar code can be made darker or lighter to improve detection. Increase the resolution used to print the bar code to increase crispness of the bar code and hence the reading accuracy rate. A slight adjustment in dpi can make a significant difference. Please note that increasing the dpi resolution may also create noise. You must determine the best procedure for your unique conditions.
• Print the bar code directly onto a page.
• Never affix bar codes to a page using tape. Tape interferes with the scanner’s ability to detect the bar code.
• Larger bar codes are read more accurately and tolerate skew better
• Photocopies can show speckles that can interfere with bar code detection. Use a bar code that is printed with a laser printer to ensure a crisp copy. Improving Bar Code Reading Accuracy Adjusting your scanner can improve the success and accuracy of bar code detection. Check your scanner manual for tips to improve quality. The following conditions contribute to the accuracy reading rate and speed of detection of bar codes. By adjusting these parameters, you may control the accuracy and detection speed of bar codes.

Bar Code Height Setting
The Height setting is the distance between the top of the bar code and the bottom of the bar code. The minimum bar code height (of the entire bar code) is approximately 0.15 inch, and the maximum is 1.25 inch. However, a taller bar code has a better chance of being successfully read. By increasing the search height, the speed increases while reading accuracy decreases. By decreasing the search height, the speed decreases while the reading accuracy increases.
Bar Code Length Setting
The Bar Code Length is the minimum number of bar code characters that must be found before the bar code is processed. You specify the bar code length in the Min. Chars per bar code field. Bar Code Length applies to the following bar code types:
• Codabar
• Code 128
• Code 93
• Interleaved 2 of 5
• Code 39 (Code 3 of 9)
• Linear 2 of 5
A bar code is read more accurately and quickly if it has fewer characters. As the number of characters increases, there is a higher chance for error.

For example, a 3-character Code 3 of 9 bar code contains 50 elements, while a 10-character Code 3 of 9 bar code contains 120 elements. The 3-character Code 3 of 9 bar code has a higher probability of being read successfully and quickly. The following bar codes are fixed-length bar codes. Any value in the Min. chars per bar code field
is ignored.
• UPC-A
• UPC-E
• EAN
• Postnet
• Maxi code
Bar Codes with Thin Bars When the width of the smallest element is composed of 3 or less pixels, the detail may not be distinguished.
Width Setting
The Width is the physical width of the smallest element within the bar code. You can alter width settings slightly to work with other bar code settings. Adjust the width setting from a minimum of 0.010 inch to a maximum of 0.050 inch. Most bar code widths fall within the following ranges:

Because the larger elements of the bar code are calculated from the smallest using the ratio value. it may be necessary to adjust the ratio value as well.
Note that when the width of the smallest element is composed of 3 pixels or less, the detail may not be distinguishable. For the best accuracy rates, set the width of the barcode as close as possible to the actual width.
Ratio
Ratio is the ratio of the sizes of the large elements to the small elements of the bar code. When the ratio is large, the bar code is easiest to read. The ideal ratio is 3:1, indicating that the width of the largest element is three times larger than the narrowest element. Because the bars in a bar code can lose pixels during the scan process, smaller ratio bar codes, such as 2:1, are harder to detect. When using the ratio setting, you must also consider the Width parameter.
For example, if the width of the narrowest bar is 0.020 inch, the width of the largest bars would be 0.040 for a 2:1 ratio or 0.060 for a 3:1 ratio. You must decide which ratio and bar code width would give you the desired result based on all your operating conditions.

By default, many bar code types use a ratio of 3:1. The option to select a ratio of 2:1 is available for some bar code types. The following bar code types can make use of the ratio setting:
• Codabar
• Code 39
• Code 93
• Linear 2 of 5
• Interleaved 2 of 5
Maximum Bar Codes per line
The Maximum bar codes per line controls the maximum number of bar codes that appears along the same axis (row or column). The search continues along the same axis until the edge of the image is detected or the specified number of bar codes is encountered. The best performance is obtained when you use only one bar code per line, thus minimizing the duration of the search performed.
Maximum Bar Codes per page
The Maximum bar codes per page should always be set to the number of bar codes that may actually appear on your documents. Because the scanner or software searches the entire page, the system slows down if you specify a large number of barcodes. You may use a maximum of 64 bar codes per page.
Search Direction
The Search Direction determines which directions are used to search for bar codes. Select only the orientation directions that are required. With the minimum number of directions set, a faster search occurs because there are fewer directions to search. If you choose to search all four directions for bar codes, there is a large performance degradation.
Bar Code Types
The Bar Code Type determines what type of bar code to search for. You can select more than one bar code type, but you should select only the bar code types that you actually use. The more bar code types you select, the longer it takes to process each page. Some bar code types are mutually incompatible, and you cannot select their types together. The incompatible combinations are:
• Interleaved 2 of 5 and Linear 2 of 5
• UPC-A and EAN
• UPC-A and UPC-E
• Postnet and any other type
Quality
If you are processing bar codes that are smooth and free of noise, set the Quality to Good. Bar codes that are of lesser quality require the Normal or Poor setting. The Quality setting and the Height setting determine the number of searches for bar codes that are made within an area or page. For instance, increasing the bar code height and a lower quality setting causes the bar code driver to perform more searches for bar codes. The following conditions also contribute to increasing the accuracy reading rate and speed of detection of bar codes:

Edge Noise
Edge noise describes bar codes containing bars that have rough edges. This occurs when the bars acquire or drop pixels, causing a blurred bar. If the ratio setting is small, and the elements gain or lose a pixel during scanning, the ratio setting may decrease further making the bar code difficult to read. It is best to minimize Edge Noise by improving the quality of the bar code image you are using, for instance by increasing print resolution (dpi) when you print bar codes.

Quiet Zones
A quiet zone is the area immediately preceding the start character and following the stop character, which should contain no marking. A bar code must be surrounded by a noise-free quiet zone of at least 1/10 inch; a 1/4 inch area is best. A quiet zone provides a period in which no lightto- dark or dark-to-light transitions occur, making it easy to differentiate a bar code from other information. Position bar codes away from the edge of an image, making sure there are no extraneous marks within the quiet zone. Clean quiet zones, also called margins, improve the readability of the bar code image.
Speckling
Speckling refers to small pixels around the bar code region. This problem becomes serious when the pixels near a bar code interfere with the detection of quiet zones. Use the Despeckle function, if available, before you start searching for barcodes to eliminate extraneous pixels in the bar code area. You can also reduce the interference that is caused by debris on the scanner glass by cleaning it prior to scanning the bar code.
Skew
Even though scanners are capable of reading skewed bar codes, there are more detection
problems with heavily skewed bar codes. It is best to apply the bar code to the page correctly. However, you may also apply the Deskew function, if available, before you start searching for bar codes.
Paper Feed
Ensure that the page is feeding correctly into the scanner to minimize skewing. Also keep in mind that it takes longer to search along the longer side of a piece of paper for bar codes than to search the shorter side.
Using Bar Codes with Faxes
It is possible to process bar codes on inbound fax images using Capture. Note that the resolution and overall quality of the fax image must be very good. The originating and receiving fax machines must be configured carefully. Additionally, you must install DocProcessing on the receiving Capture workstation. You will need to try different settings when configuring your fax machine and Capture to ensure best results.
Fax Machine Settings
Ensure that the sensitivity of the sending fax machine is set on the most sensitive setting. For some fax machines, this may be called Details. For others, the designation may be Fine or Superfine.
Capture Bar Code Settings
Because the faxed bar code is entered into Capture as a TIFF image, the DocProcessing
component is responsible for processing the bar code information. As a result, you must configure the bar code parameters in the Bar Code tab of the Doc Processing Properties dialog box. Set the Quality setting to Poor and make sure that the remaining settings for the bar code you are using are correct.

Using Bar Codes In Capture
In Capture, bar codes can be used to optically acquire such information as account numbers,Invoice numbers, and dates. Bar codes can also be used to trigger events, in much the same way as patch codes are used.
Bar Code Dates
Data fields obtained from bar codes are stored as strings. You can use string selection in the Index component of Capture to change a string date collected from a bar code into a date field against which computations can be performed. When bar codes are used for auto indexing, the date mask format of the bar code must be the same as the format in the date field. When preparing bar codes for autoindexing, use bar code date formats that are supported by Capture, and consider using one of Capture’s four-digit year formats.
If a two-digit year format is used in a bar code, the century selected for the date field applies to the date. This is true whether the century is the default current century or the stated century. Capture cannot obtain the century from the scanned date since the scanned date is stored as a string, not a true date. To create bar codes from which dates can be read:

• Match the date formats of the bar codes to the formats supported in Capture.
• Use a four-digit year format in the bar code. This action will make sure that the Capture uses
the correct century.

Supported Bar Codes
The following examples of bar codes are for definition and clarification only. Note that these example bar codes are not to scale and are unsuitable to use as test samples.
-----------------------------------------------
Standard (One-Dimensional) Bar Codes
-----------------------------------------------
The following bar codes are supported in all Capture releases.
Codabar
Codabar is a self-checking, variable-length bar code that can encode sixteen data characters (0 through 9, plus six special characters). Each character is represented by seven elements within the bar code (four bars and three intervening spaces). An intercharacter gap separates each character within the bar code. Codabar symbols can vary in length. Codabar is useful for encoding dollar quantities and mathematical figures.
Code 3 of 9 (39)
Code 3 of 9 is an alphanumeric, self-checking, variable-length bar code that uses five black bars and four white bars to define a character. Three bars are wide and six are narrow. A character is represented by nine elements. An intercharacter gap separates each character. Start and stop characters are depicted as asterisks (*) and are used to delineate the bar code. The bar code is preceded and followed by quiet zones. A check character is optional. Code 3 of 9 supports 26 uppercase letters, 10 digits, and 7 special characters which include:
- . $ / + % (space)
Code 93
Code 93 is a variable-length bar code that encodes 47 characters. Each character is composed of nine elements arranged into three bars with their adjacent spaces. Code 93 is a compressed version of Code 3 of 9.
Code 128
Code 128 is an alphanumeric, high-density, compact, variable-length bar code that can encode the full 128-ASCII character set. Each data character is represented by six elements. There must be an even number of black elements and an odd number of white elements.
EAN
EAN is used for products that are required to be identified by their country of origin. It is a fixed length bar code that can encode 13 characters. The first two characters identify the country of origin, the next 10 are data characters, and the last character is the checksum. It is a superset of the UPC-A character set. EAN is incompatible with UPC-A.
Interleaved 2 of 5
Interleaved 2 of 5 is a high-density, self-checking numeric bar code that uses five black bars and five white bars to define a character. Two digits are encoded in every character—one in the black bars and one in the white bars. Two of the black bars and two of the white bars are wide. The other bars are narrow. Each Interleaved 2 of 5 bar code must contain an even number of encoded digits and must be of a fixed length. A check character is optional.
-78/43
AA7777
Postnet
Postnet is the Zip+4 postal bar code that is placed on envelopes or postcards to expedite delivery. Each code may consist of five, six, nine, or twelve digits plus a correction code. Note that the Postnet bar code is not compatible with other bar code types and there may be only one per page.
UPC-A
UPC-A is a bar code that encodes a twelve-digit number. The first digit is the number system character. The next ten digits are data characters. The last digit is the checksum. This is the standard bar code used on merchandise to identify the product and manufacturer. UPC-A is incompatible with EAN.
UPC-E
UPC-E is a bar code that is a zero-suppressed version of UPC-A. The data characters and checksum are compressed into six characters. The original ten data characters must have at least four zeros and the number system must be zero.

Thursday, May 29, 2008

FileNet Open Client.

OverView
An out-of-the-box user interface, IBM FileNet Open Client is a development platform that uses your browser of choice to access, manage and distribute documents that reside in IBM FileNet Image Services or Content Services repositories. Its powerful technology and integration with common desktop and enterprise applications speed the development
process, and leverage and protect your investments in existing business systems.

The ability to quickly locate and access content using a Web browser allows companies to improve overall efficiency and gain a competitive edge through faster processes. IBM FileNet Open Client enables you to access documents from any Web browser anywhere across the enterprise. Open Client technology requires no software downloads and provides maximum reach into the enterprise with minimal deployment costs. And with better access to content, you can make better business decisions right when it
matters most.With Open Client, users can access any document stored in the IBM FileNet
Image Services, Content Services or Report Manager repositories right from their desktop browser. Open Client is essential whenever Web access to content is required.
Adding it to your Enterprise Content Management (ECM) solution provides the capability to view, manage, share,revise and distribute virtually any type of document — including faxes, word processing documents, spreadsheets, scanned paper documents, HTML forms, computer-generated reports, electronic data interchange (EDI)
information, and even audio and video clips.

Features & Benefits
Familiar Environment
Increases user acceptance by allowing users to work in their favorite Web
browser.

Out-of-the-Box Functionality Provides complete content input capabilities, including check-in/check-out, search and browse, and the ability to change a document’s
properties via the Web. Open Client supports compound documents and its multi-level security features provide controlled access to the information in the repository.

Global Support
Simplifies and speeds large-scale global deployment of applications in multi-national solutions, and conforms to Microsoft globalization and localization standards.
Rapid Application Development Reduces development costs by speeding the application development process and streamlining integration with IBM FileNet and other thirdparty
products. Since Open Client takes advantage of Microsoft .NET technology, developers can easily work with popular programming languages such as C++, ASP. NET, VB.NET and C#.

Easy Integration
Leverages your existing business systems by integrating directly with desktop applications like Microsoft Office, Outlook and IBM FileNet ECM solutions like Image Services, Content Services, and Report Manager.

General Features
• Familiar browser-like user interface
• Intuitive search and query capabilities
• Document organization dynamically or in folders
• Compound document support
• Simple and advanced searches,search templates and stored search
• Multiple levels of security and access rights
• Full support of document check in/out
• Viewing options including rotate,stretch, scale, zoom and print
• Lightweight Java image viewer
• Full-function ActiveX Image and Document Viewer
• Compliance with Microsoft globalization and localization standards
• Localized in more than 10 different languages
• Industry-standard object-oriented application environment
• Web development platform based on .NET
• Toolkit, sample code and Web page templates for easy and quick custom application development Completely customizable client capabilities
• An extensive set of COM Objects for custom application development
• Context-sensitive online Help
• LDAP support for Novell eDirectory, Sun One iPlanet, and Microsoft
Active Directory

ConfigGCD.exe throws Error hr=0x80070005

Problem: While running ConfigGCD wizard gets Errror and could not proceed further.
Solution: Added Domain user with local admin rights to Content Engine Servers group. Object store server could be successfully configured for Capture repository.

New Document Classes not being updated in FileNet Capture.

Problem: Had created a new document class but when try to find it during creation of a new Settings Collections, it did not appear.
Solution: Open FileNet Capture Manager, select CE repository and click EDIT. Uncheck 'Update Docclass definition now' option and then select it again.

Capture path containing ADR will not run when documents are scanned.

Problem: If you run a Capture Path which includes Scan, Assembly and the 3 ADR steps, the documents are scanned in and then nothing more happens. The same Capture Path runs correctly with File Import instead of scan.
Solution: In the Capture Path, on the Assembly component, there is an 'Empty' box. The problematic Capture path was linking this empty box to the following ADR component. If you link this empty box back to the blue arrow on the Scan component, it should work.

Document assembly very slow in Capture Professional 5.1

Problem:
Following an upgrade from Capture professional 4.1 to Capture Professional 5.1 patch 2, assembly takes very long. When scanning a batch of 900 pages it takes 15 minutes to assemble it.
Solution: Upgrade to patch 4 solved the problem.

FileNet Capture 5.1 features

Capture 5.1 supports FileNet P8 4.0 as well as P8 3.5x. However, a single Capture
workstation will be able to connect only to one version of Content Engine at a time. That is,you can't connect to a CE 4.0 and a CE 3.5x object store from the same workstation.
• If you're connecting to Content Engine 4.0, the Capture client workstation does not have to exist in the same Windows domain as the Content Engine server.
• If you're using Capture 5.1 with versions of Content Engine earlier than 4.0 for document federation, the Capture workstation does not have to exist on the same machine as the Content Engine.
• Capture 5.1 supports the declaration of records with Content Engine 4.0. However, Capture 5.1 does not support DoD Chapter 4 which was released with Records Manager 3.7.
• For Capture 5.1, CFS-NTFS is not supported in Content Engine 4.0.0.

FileNet Capture related terms.

age able storage
Document storage that maintains contents by “age,” the length of time a document is kept. The IS page cache is age able storage. The time a document can spend in the page cache is specified by the IS administrator.
assembly
The process of sorting, organizing, and grouping pages into folders, batches, and documents for subsequent indexing and committal. Pages can be scanned images, imported files, or inbound fax documents.Successful assembly is a prerequisite for indexing. Assembly can be done manually by anassembly operator, or automated by configuring the assembly component and the event activator component.
attribute
A unit of information that describes an object. In native Capture, object properties and object attributes are nearly synonymous. They are both used to describe a given object. For custom programmatic efforts in Capture however, there is a significant difference in how attributes or properties can be used.
automatic indexing
The automatic addition of index values to the properties of a document. When indexing is automated, bar codes can contain values for scanned documents, and external index files can contain values for imported document.
bar code
An optical code containing information encoded in widths of printed bars and spaces. The computer interprets the bars and spaces as alphanumeric or numeric data. In Capture, bar codes are used with automatic indexing to optically acquire such information as accountnumber, or date received, used for indexing.
batch
A set of one or more documents belonging to the same document class that are scanned, indexed, and committed together. A batch can be contained in a folder. The subordination is: Repository, Folder, Batch, Document, and Page.
batch cache
Temporary working storage where Capture processes batches.
batch name
A string of characters (no spaces) identifying a batch in the Capture system.
batch totals
The total values of certain index fields in a batch. Batch totals can be calculated to check that the expected totals and actual totals match for the index fields in a batch. Batch totals are typically used for numeric or monetary fields. Expected totals are typed by the creator of the batch. Actual totals are entered by the index operator. This feature is configured by the Batch Totals definition on the IS.
cache
A temporary storage location for documents on their way to and from permanent storage. Cache is magnetic disk space. The IS administrator allocates portions of the cache storage to different cache types (referred to as logical caches). Capture does most of its processing in batch cache. Once a document is committed it moves to page cache.
Capture Manager
An administrative application that configures and controls the collection of statistics, Capture’s connection to repositories, Capture repository session names, the registered components on the workstation. This program is used when the Capture application is started to determine the components to load and the repositories sessions to begin.
capture path map
A graphical presentation of the sequence of steps in a capture process.
capture path
An automated series of steps that is executed to move a batch through the selected Capture components.
capture path wizard
An automated process to select and connect the Capture components into a work flow. The capture path wizard creates the capture path, which is a VB script.
cataloging
Writing index information to the index database during committal.
committal
The process of moving a document from batch cache to page cache and making the document available for retrieval. Committal is the stage at which scanned pages, imported files, or faxes become documents. Committal is the last step in entering a document into the FileNet system. The index values are written to the index database and the storage media addresses to the permanent database.
component
A module, such as scan, index, verify, and so on, that performs a clearly defined operation leading to the completion of the overall job of document capture.
Capture application
The image, file, and inbound fax acquisition tool of the FileNet system. The Capture application is an OLE container written in C++ incorporating several OLE controls. An OLE container can be written in a variety of programming languages, including C++ and Visual Basic.
data object
Folders, batches, documents, or pages.
database
A collection of logically related records or files. The FileNet IS system uses two types of databases: a third-party relational database management subsystem (RDBMS) for index data and multi-keyed file (MKF) databases for document addresses and work in progress. The Capture local repository is an ODBC database.
Database Maintenance
The FileNet application used by the IS administrator to create and maintain indexes, among other server functions. Database Maintenance also provides reports on indexes, document classes, and media families.
date field
The field type that stores date information only.
declare
Term used by the Records Manager product to describe the process of creating a new record and associating it with some type of information (e.g., electronic document, email, external document, etc.).
dialog box
A popup window containing fields that require input from the user.
disposition schedule
Controls the retention and disposal of records.
distributed processing
A coordinated configuration of the Capture system on multiple workstations, each dedicated to a targeted business purpose.
DocProcessing
A component providing image enhancement, bar code and patch code recognition, and other features, for post-scan processing.
DocType
For IS only, the page type of a document. Values include IMAGE, FORM, TEXT, MIXED, or OTHER.
document
A set of image pages or other electronic files stored in a repository (library) and associated with a document ID and a set of properties. A document can be contained in a batch. The subordination is: Repository, Folder, Batch, Document, and Page.
document class
Profiles stored on IS servers that provide index fields, access rights, committal information, and optical disk families. The document class forms the foundation of the settings collection.
document ID
A unique number assigned to a document; specifically a GUID on the local repository.
document services
FileNet IS software that stores and retrieves documents on the storage library.
domain name
The second part of the NCH resource name. The domain name is the system name, which is determined by you and set up by your FileNet support representative at FileNet system configuration. The NCH resource is in the format object:domain:organization. In the example Mary1:Taos:FileNet, the domain name is Taos.
Event Activator
A component used to read properties from objects and write properties to objects. Event activator is used before assembly processing. In event activator, one or more rules can be defined for the reading and writing of properties (attributes). One common use of event activator is to read a patch code property from a page object, and insert (write) to that page a start of document property. When the assembly component is run, assembly makes that page the start of a document.
event logs
Daily logs containing error messages and entries for activities occurring in the system. Use the Task Manager to review event logs for FileNet software.
external item
An object with properties that is not itself stored in the repository or storage library, typically a physical object such as a magnetic tape or a CD.
external index file
An ASCII text file that provides the index information for an imported file. When the file is imported the values in the index file are added to the imported file’s object properties. The index file is not imported to the repository. The file being imported and the index file must have the same base name, only the extension is different, for example, img0003.tif and img0003.fna. FNA is a common index file extension.
File Import
A Capture process used to bring various types of files into the FileNet system for processing and committal. Like scan, file import is a way to initially acquire a file for processing with Capture.
File Plan
A specific organization of records based upon a hierarchy of record categories and record folders. Often specified by industry and governmental specifications and company business/functional organizational units.
field
In windows and dialog boxes, fields are unprotected areas where you can enter data.
filter (repository filter)
A process to selectively retrieve a limited number of batches to an operator. The Repository filter selects batches from only one repository at a time. You specify the filtering rules for selecting batches by configuring several selection criteria in the Filter Options dialog box.
folder
A container most often used to hold one or more related batches. The subordination is: Repository, Folder, Batch, Document, and Page.

folder name

Any valid Windows folder name is allowed. Capture folder names should not exceed the following maximums:
• IS Repositories: 60 characters
• Local Repositories: 64 characters
• CS or CE Repositories: 64 characters
For any repository (library), a folder path and name cannot exceed 152 characters in all.
group
A group of one or more users. The system administrator creates user and group accounts. A user can belong to any number of groups. Membership in groups determines a user's access rights. For IS users, a user's access rights determine what the user can do with folders, batches and documents.
group property (attribute)
The category to which a property (attribute) belongs. Typically, the group is the name of the component that owns the property, for example, ImageVerify or Index.
GUID
Globally Unique Identifier. A GUID is a unique number used to identify classes and interface types exposed by each component.
IS
FileNet’s IDM Image Services, a set of servers and services providing a single document image database. The database includes a single index database, a single document locator database, and a collection of document images on storage media.
image enhancement
Methods of improving image appearance after scanning. Capture image enhancement features including image deskewing, black border removal, image despeckling, line and streak removal, and image deshading. These features provide cleaner images and help reduce file sizes.
Image Verification
A process that displays captured images for evaluation. This is generally done before assembly, but may also be used to check assembled documents before they are committed. As an operator views the images they can manually reject images (such as blank pages or separator sheets) and mark unacceptableimages for later rescan.
index
To add values to the object properties of a document. These values are used to find and retrieve the document after it is committed. Examples of index values include: an account number, a person’s name, or a social security number. Index values are usually typed in manually by an index operator. Only a document belonging to a document class that has index fields can be indexed in Capture.
index verification
A process to double-check selected index entries before a document is committed. The fields that are used for Index Verify are set up on the IS server at the same time that indexing for the document class is set up. Normally, index verification is done any time after a document has been indexed or auto indexed, but before it has been committed.
index database
An RDBMS database (Oracle or Microsoft SQL Server) that contains document and folder information.
indexing
A step in the Capture processes.
input mask
A template that displays elements such as dates and numbers in a particular format. For example, mm/dd/yyyy is a mask that tells the system to accept input of a date in the following format: 10/31/2000. Input masks are used with indexing to control the format of index values.
library
An IS, IDMDS or other integrated document management system.
List View
An OLE control used to display the contents of objects in the repository.
local repository
A repository that is based upon an ODBC compliant database, which may reside on a local workstation.
locked objects
Images not yet written to storage media are “locked” in cache and cannot be deleted.
magnetic disk
Usually an internal hard disk on your server system where the IS software, cache, databases, and so on are stored.
menu field
A field containing a list of possible entries. A menu field is one of four data types that can be defined in Database Maintenance on the IS. It contains a list of valid string values for an index field and is represented in the Index component as a drop down list box.
migration
The process of copying documents from page cache to a storage library, which is often an optical media server. Not all systems have a storage library.
MKF
Multi-Keyed File databases that include the transient data-base, the permanent database, the NCH database, and the security database.
name property (attribute)
The name of the property (attribute). An example name is Resolution or Image Height.
NCH
The network clearinghouse is an MKF database that keeps track of resources and their addresses. A resource (such as a user ID or a printer) is identified by a three-part name stored in the NCH database in the format object:domain:organization, for example, Mary1:Taos:FileNet.
NIL
The path that an operation takes in the event that the component consumes all of the incoming work and puts nothing out. This connector is only used for certain components. For example, the NIL path is used for assembly, which consumes page after page, sending nothing out until it has a complete batch.
object name
The first part of the FileNet system NCH resource name. Some objects have names predefined by the system. For example, DefaultIMS is the name used to access the index database. Your support representative configures names for your printers and tape drives. The NCH resource is in the format object: domain: organization. In the example Mary1:Taos:FileNet, the object is Mary1.
organization name
The third part of the NCH resource name (the default name is FileNET or FileNet). Xerox Corporation registers and distributes organization names. The NCH resource is in the format object:domain:organization. In the example Mary1: Taos: FileNet, the organization is FileNet.
ODBC
Open Data Base Connectivity. A Microsoft standard for interfacing to a variety of database products.Capture uses the ODBC interface in two areas: as a storage model for the local repository when processing off-line and, for the metrics/statistics database.
OSAR
Acronym for FileNet’s proprietary Optical Storage and Retrieval unit.
page
A file containing the image of a single side of a scanned paper page. In file import, a single file containing all the pages in the electronic document. In fax documents, each file typically contains a single fax page. The page object contains the properties of the file. The subordination is: Repository, Folder, Batch, Document, and Page.
page cache
Ageable storage where the IS system stores committed documents. IDM Desktop retrieves documents from page cache for viewing and processing. Page cache can act as permanent storage when you do not use optical storage media.
patch code
A simple pattern of four horizontal bars that can be applied to a page and detected by the Capture software. Patch codes can be placed on a document as a sticker, or they can be pre-printed on documents or separate sheets. Unlike bar codes, patch codes do not contain encoded information.In Capture, patch codes are most often used to trigger the separation of pages into folders, batches, and documents. For example, you might configure the Capture software to mark a page containing a PATCH1 as Start of Batch, and a page containing PATCH2 as Start of Document.
permanent database
A database that stores the media location of each document entered into the system and contains tables for media surfaces, media families, and notes.
phase
A name for a batch processing step. A processing phase may in turn use one or more Capture components on a single workstation.
polling
A method to selectively retrieve a limited number of batches for automated processing. Polling filters batches from multiple repositories, checks for new batches at a specified interval, and automatically starts capture paths. You specify the filtering rules for selecting batches by configuring several selection criteria in the Filter Options dialog box.
property database/repository
Storage location for document and folder properties.
property
A unit of information pertaining to an object. In native Capture, object properties and object attributes are nearly synonymous. They are both used to describe a given object. For custom programmatic efforts in Capture however, there is a significant difference in how attributes or properties can be used. Properties usually convey parameters that a component uses to specify how a unit of work will be processed. Most Properties can be examined and changed by pulling up the property sheet of the component. Some attributes are component processing parameters and will be loaded into the properties of a component. Other attributes are used to convey information about an object, such as “this is the start of the batch.” Attributes can also be used to dynamically attach to the object additional information derived
from the Capture process, for example, bar code or patch code information.
RDBMS
Relational DataBase Management System. The RDBMS manages the index database and queue database.
Records Manager (RM)
The P8 Records Manager add-on product.
Record Activator
A step in the Capture process.
record category
A container within a file plan that can contain records, sub-record categories or child record folders. A record category cannot contain both a sub category and a sub folder.
record class
The classification of a Records Manager record object. Analogous to a document class for document objects. Examples include “Electronic Record” and “Marker Record”.
record classification
The full path of a record’s storage location within the Records Manager organization hierarchy. It can include file plan, record category and record folder where applicable. A record can exists in more than one record classification.
record folder
A container within a file plan that can contain records. A record folder cannot contain either a sub record category nor a sub record folder.
record profile
Defines the complete set of characteristics needed to declare a specific record. These characteristics include record class, (optional) record type and record classification(s).
record type
Assigning a record type to a record assigns a disposition schedule to the record. This overrides any disposition schedule that the record inherited from its containing parent.
repository
A permanent storage location. The subordination shown in the Tree View is: Repository, Folder, Batch, Document, and Page.
repository filter
A process to selectively retrieve a limited number of batches to an operator. The Repository filter selects batches from only one repository at a time. You specify the filtering rules for selecting batches by configuring several selection criteria in the Filter Options dialog box.
repository object
Any item contained within a repository used by Capture. For example, folder, batch, document, page, template, capture path, or settings. Repository object is often more informally called an object.
repository session
An alias for a repository name. Using a repository session name that is different from the repository name gives greater flexibility in organizing the Capture system. The repository session name is often used to identify the location of the BES, for example, Los_Angeles. Use Capture Manager to add, change, and remove session names.
routing agent
A program which accepts a capture path and executes it. The routing agent, an OLE control, provides the functionality of accessing repository objects and feeding the objects to the program, and updating the contents of repository objects upon completion of the components processes. The program is a Microsoft Visual Basic for Applications (VBA) engine.
RPC
Remote procedure call, a process on one computer to make a request for service on another computer.
RPC is the standard throughout the FileNet software for interstation communication.
sample document
One or more files stored under a settings collection in the Config folder that is used as a basis for determining the settings for individual components. For example, identifying a bar code or a patch code.
save continue
This function is used when the component is required to continue processing after completion of a batch. Normally, the component stops after completion of a batch. For example, a capture path including scanning and save continue would never terminate. Batches are continuously passed back to the repository so other workstations can retrieve work. Save continue is typically used when processing a seed batch that creates new batches. The save continue function makes the new batches available for other workstations while you continue to work on the seed batch. Save continue is used in the capture path wizard.
save stop
This function is used when a capture path is not completed on a single workstation. Save stop is used to move the batch back to the repository so other workstations can retrieve the work. Save stop is used in the capture path wizard.
settings collection
A group of Capture component configurations tied together by a document class. Different settings collections with different component settings can be created.
settings wizard
An automated process that steps the user through creating or editing a group of settings called a settings collection.
settings
Adjustments to a Capture component, for example, scan resolution, and image enhancement value.
storage library
The location where documents are permanently stored. The storage library is often a storage media jukebox, a unit that has a number of slots for containing storage media and a robotic arm that moves the media between slots, drives, and the input/output slot. Not all systems have a storage library.
storage library server
In a system with two IS servers, the server that manages the storage libraries and includes cache storage as well as the related databases. A storage library server is sometimes referred to as an OSAR server. A system can have multiple storage library servers, each of which can manage up to eight libraries. In a system with multiple storage library servers, one serves as the document locator server that keeps track of the contents of all storage libraries.
template
An object that associates one or more settings collections and a capture path to be used for processing a given type of document. Note that the provision of multiple settings collections allows for the use of multiple document classes with a template.
Workspace View
An OLE component server that displays selected objects contained within the repositor

Tuesday, May 27, 2008

How to 'ping' an Image Server from a workstation?

Solution: Suppose you are using an Image Server say 'ImageSvr' and want to 'Ping' it. It can not be done by using normal 'ping' command, instead use following syntax to achieve this :

ImageSvr-filenet-nch-server

Where ImageSvr = Name of Image Server Repository
filenet = Name of domain
nch = Network clearing house

Wednesday, May 21, 2008

A guide to win32 APIs.

http://visualbasic.about.com/od/usevb6/l/aa103002a.htm

'Server batch cache is FULL!' error while committing batches using FileNet Capture 4.1

This error(Error tuple is 77,0,8)occurs if we have an application which is trying to commit number of batches using Capture. The solution is to wait for some time untill all the batches in BATCH CACHE are committed. Start using FileNet Capture 4.1 after some time. This should work fine. More information on this error can be found on FileNet site http://www.css.filenet.com/

How to get a word written on the page after being scanned? (FileNet Capture 4.1)

'STAMPER' property of Scan component can be set to write a particular Test/String on the page after its been scanned. Show 'Scan' properties of a settings and goto 'Stamper' tab and configure whatever string you want to configure.

Sunday, April 27, 2008

Write Web Service using .NET

What and Why Is Web Services
Web Services, as known as XML Web Services, are units of application logic that provide data and services to other applications using Internet (or Intra net). Applications access Web Services via different kinds of Web protocols and data formats such as XML, with no need to worry about how Web Services are implemented. They can be implemented for any operation system that supports communication over the Internet and Intranet. They are the cornerstones of the Microsoft .NET programming model.
Web Services can be accessed by any language, using any component model, and running on any operating system. They utilize HTTP as the underlying transport, which allows function requests to pass through corporate firewalls. XML is used to format the input and output parameters of the request, so the request is not tied to any particular component technology or object calling convention. The Microsoft .NET Framework makes Web Services easy to write components that communicate using HTTP and SOAP.
Web Services are similar to the regular services in our life. For example, if you have a car that needs gasoline to run, you do not need to have your own gas pump at home. All you need to do is drive to a nearby gas station, fill up the gas tank, and you are on your way. You have received a service from the gas station, Web Services are like this as well. Now, imagine that you are going to build a web site or a Internet system for you company, you can use Web Services' "services" to get a complicated application. That should lighten your workload.
Building Web Services
Before you start to create your Web Services, there are some of concepts you have to know. The two most important things are the Simple Object Access Protocol (SOAP) and XML. SOAP is a way for applications to communicate with one another over the Internet, independent of platforms. Unlike Http-Get and Http-Post, only can send name/value, but SOAP can send various rich data type, classes, objects, and others. XML is a pared-down version of SGML, designed especially for Web documents. It allows designers to create their own customized tags, enable the definitions, transmission, validation, and interpret data between applications and between organizations. SOAP relies on XML.

Web Services relies on XML-formatted messages to send data and receive commands. Web Services support three stardard protocols, Http-Get, Http-Post, and SOAP. In Web Services , the Http protocol only can be use the simple data. We do not discuss it here. All Web Services exmaples in this artical use SOAP communication.
Now let's explore how to build a Web Service at server. There are two ways to do so. If your Web Service is quite simple, you can directly save it as a .asmx file, such as TempConvertorCsharp.asmx. In some complicated applications, especially for database related applications, I prefer to use components. For instance, The DB Query1/2-Web Service at my .NET tutorial, I created the classes as component first, then created a .asmx Web Service file that called the component (to create a component, see my .NET tutorial for details.) The whole structure of the service is "UI-Component(Web Service classes)-Database" known as 3-tier architecture.

Understanding Web Services
Interconnectedness engendered by the World Wide Web has created a pressure to create applications that are interoperable and distributable over the network. The direction of effort is towards creating applications that connect to each other regardless of the language or platform in which the application was created.
Web services are externally exposed systems that allow applications to talk to each other and share information over a network. The web service standards are built upon other standards such as HTTP or XML and are not reliant upon any proprietary systems. The Web service is itself a collection of methods that can be called from a remote location so that these methods accept and return parameters and provide for a wide variety of functionalities that can be used internally in the application that is exposed to the public.
The concept behind web services is not new. The ad hoc methods of tying applications together have merely given place to organized methods of communications between applications. Standardized specifications have also lowered costs and shortened development timelines.
Prior to the emergence of Visual Studio.NET in the market a number of technologies attempted to cater to the needs of the Web based world. Let us briefly look at the various technologies that tried to address these issues.
SOAP
Simple Object Access Protocol (SOAP) is a protocol that uses the XML to describe the data and Hyper Text Transfer Protocol (HTTP) to transmit application data. The Web Service and the client application must agree upon a common protocol to facilitate communication. SOAP is a standard communication protocol for interchanging information in a structured format in a distributed environment. Messaging is an example of information exchange between a client and a web service. The calls made by a client application to a web method and the data returned by a web method to the client are the messages that are actually exchanged. A SOAP packet is created when a web client makes a call to the web method. This message contains the name of the web method and the parameters that are needed for making a call to the web method in XML format. The Web method is invoked based on the information available in the SOAP Packet
The System.Runtime.Serialization.Formatters.Soap namespace contains the System.Runtime.Serialization.Formatters.Soap.SoapFormatter class, which can be used to serialize and de-serialize objects in the SOAP format. When building applications that uses the types in this namespace, a reference must be made to the System.Runtime.Serialization.Formatters.Soap.dll assembly. The COM+ SOAP service permits the publishing of a component as a XML Web Service. Clients can continue to access the component using previous methods, but the component is also accessible using WSDL (Web Services Description Language) and SOAP. We will see more of SOAP usage later in the lesson.
Disco and UDDI
The Web Service Discovery Tool (DISCO) is used to discover the URLs of XML Web Services located on a Web server and saves documents related to each XML service on a local disk. The DISCO takes the URL and discovers and produce publishes discovery documents (.wsdl, .xsd, .disco and .dicomap files) as arguments. Some of the options available for use with this tool are:
/d[omain]:domain Specifies the domain name to use when connecting to a proxy server that requires authentication
/nosave Does not save the discovered document or results
/nologo Suppresses the Microsoft startup banner display
/o[ut]:directoryName Specifies the output directory in which to save the discovered documents. Current directory is the default one.
/p[assword]:password Specifies the password to use when connecting to a proxy server
/proxy:url Specifies the URL of the proxy server to use for HTTP requests.
The following command is an example of how the tool can be used to search a specified URL for the discovery of documents. The documents are then saved to the current directory. It will throw an error message if it cannot find discoverable documents at the URL specified.
disco http://www.vbdotnetlearning.com/selflearningservie.disco
To specify a directory to save the documents you can use the /out option as shown below:
disco /out:VBtutorial http://www.vbdotnetlearning.com
Universal Description, Discovery and Integration (UDDI) is a platform independent framework functioning like a directory that provides a mechanism to locate and register web services on the internet. The web service provider makes the web service available to the consumer by describing the web service using a WDSL document and then registering the Web service in the UDDI Directory. The UDDI Directory contains pointers to the Web service and the WDSL document for the Web service. After this is done the Client Applications can discover the Web service using the UDDI Directory. The UDDI specification calls for three elements as given below:
(1) White Pages -- These provide business contact information
(2) Yellow Pages -- These organize Web services into categories like usage billing service, authorization service and so on.
(3) Green Pages --These Pages provide detailed technical information about individual services.
WSDL
Web Service Discovery Language (WSDL) is a markup language that describes the web service. In order to use this Web service, the Client application developers need to know the methods exposed by the Web service and the parameters to be passed to these methods. It is imperative that access to these methodologies is available at development time and it is just this need that WSDL addresses. A typical WSDL document provides the following information to the developer:
v The Web service available for a given Web site
v The purpose for which these services can be used
v The types of parameters that need to be passed to a Web service
v The format used to access these Web services
v The URL at which a Web Service can be accessed

Thursday, April 10, 2008

"Unable to save orientation" - Capture Viewer

Problem: When trying to save the rotation on a faxed image, gives "Unable to save rotation" error.[FileNet Capture 4.1 and CE 3.0]
Solution: The error occurs because of unavailability of 'Rotation' tag on the image. Solution is to specify rotation value in DocProcessing component as 180 degree.[and then rotate the image again to 180 degree in source code incase of customize application].

Wednesday, January 09, 2008

How to generate BarCode on physical forms ?

Query : How to generate Bar code on physical forms?
Solution : Barcode functionality on physical forms can be implemented using two types of technologies :

1).Using a barcode font (IDAutomation 3 of 9 Type) which is freely available from internet : the document was rendered in PDF from XML through Thunderhead Doc. Generation Software
2).Using Barcode4J barcode functionality integrated with Apache FOP for PDF document rendering (visit http://xmlgraphics.apache.org/fop/resources.html)

Option-1 is useful if you are rendering the physical form through thunderhead document generation software; Option-2 is preferred if you want to implement bar-code independent of thunderhead;Option-2 can be easily implemented using XSL alongwith Apache FOP open source JAVA API