What you need to know when migrating off Oracle IPM 10g

The last version of the Oracle IPM 10g product baseline reaches the end of Premier Support in just a couple of months. All previous versions including those from Stellent and Optika are no longer supported. I wanted to send along some information that might be helpful in understanding the Oracle support lifecycle, support dates, and some high level information about migrating off of the IPM 10g platform.

The Oracle Fusion Middleware Support lifecycle has three phases:
1) Premier Support – in this phase Oracle provides:
• New “dot” release versions with bug fixes and enhancements
• Standard break/fix patching
• Certifications for new database, operating systems, Office versions etc.
• Technical Support (phone/web/email)

2) Extended Support (additional support fees may apply) – in this phase Oracle provides:
• NO new “dot” release versions or enhancements
• Standard break/fix patching
• NO certifications for new database, operating systems, Office versions etc.
• Technical Support (phone/web/email)

3) Lifetime/Sustaining Support – in this phase Oracle provides:
• NO new “dot” release versions
• NO standard break/fix patching
• NO certifications for new database, operating systems, Office versions etc.
• Technical Support (phone/web/email)

You can find the complete Oracle Fusion Middleware Support Lifecycle documented here:
http://www.oracle.com/us/support/library/057419.pdf
http://www.oracle.com/us/support/lifetime-support/index.html

For the Oracle IPM 10g product the Support dates are as follows:
1) Premier Support – May 2007 through December 2014
2) Extended Support – January 2015 through December 2015
3) Lifetime Support – January 2016 with no end date

You can find the complete Oracle Fusion Middleware Support Lifecycle time lines documented here (search for “Imaging and Process Management”):
http://www.oracle.com/us/support/library/lsp-middleware-chart-069287.pdf

I’ve also attached an Oracle document that describes some of the differences between IPM 10g and 11g and information about planning a migration:
Oracle Imaging and Process Management 11g Migration Guidelines

Randy Weakly
VP of Software Development
ImageSource, Inc.

How to minify your JavaScript files and why you shouldn’t wait

It is common in fast responsive web apps to minify JavaScript files to reduce file size and increase app performance.

What is it?
Minification means to remove all unnecessary characters (e.g. comments, spacing, line breaks, shortening names, etc.) from a JavaScript file so that the resulting file behaves the same but is much more compact.

Why should you minify your JavaScript files?
Here are some benefits:
- Faster load speed
- Small files and cache size
- Less demand on your web server
- Uses less bandwidth especially on mobile devices

How to minify your JavaScript files with two popular tools: Continue reading

How to Compare XML Strings Using .NET

So you want to compare two XML strings together to see if they are equal. Obviously, it would be easy to just compare the two strings using a regular string equality comparison and call it a day. However, what if the XML strings looked like the following:

<SampleXML>
    <SampleField1>Testing</SampleField1>
    <SampleField2 value="test value" />
    <SampleField3 type="int">456</SampleField3>
</SampleXML>
<SampleXML>
        <SampleField1>Testing</SampleField1>
    <SampleField2     value="test value" />
        <SampleField3 type="int">456</SampleField3></SampleXML>

All of the nodes, attributes and values are the same, but the formatting is way off. Obviously, a string equality comparison between these two would return false. Is there anything that can be done about this? Not to fear, .NET provides a pretty simple solution. Continue reading

Is it a batch, a document, a page or a file?

“The ability to save compound documents blurs the definition of “pages”, which is sometimes confusing for knowledge workers.”

The ILINX product suite, as well as most content management systems, saves content in batches. A batch can contain one or more documents and a document can contain one or more pages.

“This made complete sense when we we’re all saving only TIFF images.”

ILINX has the ability to store diverse file types in a single compound document. This includes standard image file formats along with virtually any type of electronic document, such as Microsoft ® Word, Excel, PowerPoint, Text, Video, audio, web content, etc. What used to be pages in a document may now include, as an example, a single page TIFF, a Word document with 35 pages, and a PowerPoint document with 12 pages, all combined into and saved as a single compound document that displays as three pages when indexing.

“We just might have to think about revising our terminology to keep up with all the advances in content management.”

Robert Hughet
Quality Assurance Mgr.
ImageSource, Inc.

How to run SQL code against an Oracle databse

Context: ILINX Capture, ILINX Release and Oracle IPM 11g

Problem: A customer wanted the ability to run some custom SQL code against an Oracle database after a doc has been released to Oracle IPM 11g.

Solution: Place the built-in DatabaseLookup IXM after Release and use the return value from Release to call Oracle. Below is a screen shot of the workflow:

phong

Phong Hoang
Development Manager
ImageSource, Inc.

Pulling the value from a tag in an XML data type using T-SQL

If you need to extract the data from an XML data type column to be used as part of query, and you need it to be a usable data type in MS-SQL, you can use the Value() method.  Using the Value method, we can extract the data contained within an XML tag as a SQL Data Type. The Value() method takes two arguments:

XQuery and SQLType

The following returns the value stored in the second <SSID> tag as a VarChar(50):

– First we create an XML variable to store the data that we’ll use for this example
DECLARE @x xml
SET @x =      ‘<NETWORKS>
<SSID> Wompsters University </SSID>
<SSID> Wompsters Inc </SSID>
</NETWORKS>’

– Select the second SSID value and specify that we’d like to return it as a VarChar(50), (Keep in mind the <SSID> position starts at 1, not 0)
SELECT @x.value(‘(//NETWORKS/SSID)[2]‘, ‘varchar(50)’);

– This will return the VarChar “Wompsters Inc”, which you could use like a normal String in any SQL query

Benn McGuire
QA Test Engineer
ImageSource, Inc.

How to: Get Image Page Count in .NET C#

How to get image page count in .NET C#

private int GetTotalpages(string filePath)
{
int pageCount = 0;
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
using (Image temp = Image.FromStream(fs))
{
pageCount = temp.GetFrameCount(System.Drawing.Imaging.FrameDimension.Page);
}
}

return pageCount;
}

KyoungSu Do
Software Developer
ImageSource, Inc.