Looking for an Oracle IPM replacement?

You have hundreds of thousands, maybe tens of millions, of documents in your old Oracle IPM 10g system with only 6 months before Oracle closes the support door on that product forever. Or maybe you’re running an Optika Acorde or Stellent IBPM system which has been out of support for years. You’ve looked at the new Oracle 11g platform and it’s too heavy, complex, and missing many key capabilities that you need, features like: external searching with Linked Servers, COLD support, Office and .NET integration points, easy setup and maintenance, and a workflow system that is actually usable for someone without a PhD. Oracle is clearly, and publically, going in a different direction and moving away from traditional enterprise imaging and transactional content management.

And even if you knew of an appropriate replacement technology, how are you going to migrate all of that content out of IPM without disrupting your business? What product vendor is going to know enough about your old IPM system to be able to get the content , applications, saved searches, workflows and profiles moved to their platform? Oh, and you don’t want simply to replacement on product for another – you want a good return on this migration investment!

ImageSource has been delivering and servicing Optika Acorde, Stellent IBPM, and Oracle IPM systems for nearly 20 years (don’t get me started on eMedia!). We recognized Oracle’s change in direction several years ago and have created the perfect replacement solution for the retiring 10g product. The ILINX suite offers the same content management capabilities as IPM but goes way beyond that. In fact, ILINX is more powerful, easier to deploy, use, and maintain, with better scalability, 100% browser-based, built-in retention management, more secure, free mobile clients, cloud-ready, built on the latest Microsoft technologies.. I could go on and on.

Check it out for yourself at www.ilinx.com

Join the dozens of other Oracle IPM customers that have made the easy switch to a better, more powerful ILINX solution!

Randy Weakly
VP of Software Development
ImageSource, Inc.

Moving To The Cloud

For some interesting reading, range about the Internet for articles detailing the way the software world has changed in the past few years with the success of companies like Facebook and similarly ubiquitous, social-node technologies. Those companies have fostered the advent of the DevOps strategy, which is more a paradigm shift in corporate culture than merely a mechanical development/quality assurance/deployment strategy, and it demonstrates a new way of thinking about deployment scaling using the cloud (with an unbelievable number of servers available) while maintaining an aggressive development schedule. Sprint-cycle application development and cloud-based deployment are the order of the day for these newer entities. No longer does dev sit in a development cycle of a year or more, but rather a cycle that is measured in months at most, or weeks – even days. Getting customer-requested features quickly into the product and out to the customers is still job one, but – Oh, hey! – the difference in implementation! Ben Horowitz Article “How Software Testing Has Changed”
Continue reading

Steve Jobs and Promoting Insanely Great Software Quality

“You can’t just ask customers what they want and then try to give that to them. By the time you get it built, they’ll want something new.” (Steve Jobs, 1989)

“You‘ve got to start with the customer experience and work back toward the technology – not the other way around.” (Steve Jobs, 1997)

“[If you’re lucky, when you grow up you’ll discover one simple fact: Everything around you that you call life was made up by people that were no smarter than you and you can change it, you can influence it, you can build your own things that other people can use.” (Steve Jobs, 1994)

steve-jobs-12-970x0

Few people in recent history have made the impression Steve Jobs did. He was a thunderous, hypersonic force in a world of (relatively speaking) slow-motion quiet, leaving behind a vibrant legacy of astonishing dimensions and changing not only the way people communicate, but the very way people think about communicating in the world of information interchange.

The first two quotes highlight the difficulty of transforming a process/idea into mass-marketable software. Further, they show that for the past twenty years or so, the process of building software has not changed appreciably. One can search the Internet, scanning for the one definitive article that outlines the perfect strategy and methodology for software development, marketing and deployment. With the millions of people working diligently the past twenty-plus years in the tech world to codify any and all matters, it seems that would be doable. OK. Go ahead and look. I’ll wait. And, if the past is any indicator of future performance, twenty years from now I’ll still be waiting and you’ll be howling, foaming-at-the-mouth mad, surrounded by seriously alarming piles of used, fermenting pizza boxes and empty soda bottles. And the only one who will still love you is your Mom. Maybe. Software development can be likened to being chased by a rabid Rottweiler while trying to catch an over-amped cat jonesing for tuna when you have one leg in a cast and the cat isn’t inclined to be caught and the Rottweiler seriously wants to turn your good leg into its new, favorite chew toy, you know? Continue reading

How To Add Or Change XML Encoding With .NET

Last time I wrote about comparing XML strings in .NET, and continuing that theme I’d like to discuss another handy XML trick.  As the last article pointed out, not all XML strings are created equal.  In fact, sometimes they are missing the necessary XML version and encoding information, like in the following sample XML:

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

Notice anything missing?   Yes, the declaration information is not at the start of the XML string.  Declaration information like in the below example:

<?xml version="1.0" encoding="utf-8"?>

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

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.

Update UI controls form background worker

When you try to update an UI control from background worker, you might see this error message.

Cross-thread operation not valid: Control ‘MyLabel’ accessed from a thread other than the thread it was created on.

This is how you update UI controls from background worker.

public void UpdateLabel(string text)
{
MyLabel.Invoke((Action)(() => MyLabel.Text = text));
   MyLabel.Invoke((Action)(() => MyLabel.Update()));
 }