Thursday, February 28, 2008

Oracle Universal Content Management Wins one Technology of the Year Awards

Oracle Universal Content Management Wins one Technology of the Year Awards

According to InfoWorld, "Oracle Universal Content Management is a unified solution for securely managing documents, images, and other digital assets, plus Web sites...Version 10g R3 has extensive Windows Explorer and Outlook integration, works with Microsoft SharePoint, and includes comprehensive search, not to mention strong information rights and records management."

Saturday, February 23, 2008

Oracle has acquired Captovation

Oracle has acquired Captovation, a leading provider of document capture solutions that streamline the process of capturing mission-critical content for access from within business applications and processes.

In all Content Management projects, we need to integrate with a document capture solution, and Stellent provided an integration with KOFAX document capture solution. So Oracle acquiring for Captovation will enhance Content Management Products, and Oracle become the first company that have Document Capture, Content Management, Process Automation and Back Office applications.

Friday, February 22, 2008

Stellent Nationality

Stellent become popular after it is acquired by Oracle in middle east before that it didn't have a good market in middle east, and I heard some people say Stellent is German company , and others say Stellent is British company this happened because of people presenting Stellent in GITEX Dubai were Germans and British. So I took the following paragraph about Stellent from WikiPedia, that tell us Stellent was American company.

Stellent
, based in Eden Prairie, Minnesota, USA, was a software development company which provided content management systems.Stellent's main content management product, formerly known as Universal Content Management, was customizable by means of a proprietary scripting language, "iDoc", and was popular because of prepackaged business applications sold by Stellent with the system. Stellent was acquired by Oracle in November 2006. Their content management system is now sold by Oracle under the name Oracle Universal Content Management as a part of Oracle Fusion Middleware.

Tuesday, February 12, 2008

Monday, February 11, 2008

Sample Components for Universal Content Management

You can download samples from

http://www.oracle.com/technology/products/content-management/ucm/samples/index.html

The most important one is HowToComponents which contains samples of most customization you will need to do on the content server.

Manually Uninstall Oracle Content Server

To manually uninstall content server

1 - Stop Content Server Admin service and Content Server service

2 - From Registery Editor go to (HKEY_LOCAL_MACHINE\Software\Stellent) and delete it

3 - From Registery Editor go to (HKEY_LOCAL_MACHINE\System\CurrentControlSet\) and delete the key "IdcAdminService [InstanceName]_admin"

4 - From Registery Editor go to (HKEY_LOCAL_MACHINE\System\CurrentControlSet\) and delete the key "IdcContentService [InstanceName]"

5 - restart windows

Friday, February 8, 2008

IdcoScript vs Javascript

I'd like to explain the difference between IdocScript and Javascript because it is an important step for template pages in Oracle Content Server.

IdocScript is a server scripting language created for Oracle Content Server (formally Stellent Content Server) template pages. It consists of the basic functionality you need to create pages that display content or execute services. We should note IdocScript is designed only for the content server.

Javascript is a client side scripting language, that is executed by the client browsers. Javascript is used for form validations, and for making dynamic display of HTML elements. Javascript. Javascript cannot execute a service or retrieve results from the content server.

The idea is we use IdocScript for executing services and core functionality whether by standard functions, or by custom functions which are a java methods. Which means separating business logic. While Javascript is for the user interface, by Javascript we create functions for validating input data, and creating user friendly user interface. Which means separating user interface design from business logic.

<$i=1$>
<$loop tempResultSet$>
<tr>
<td><b><$i$></b></td>
<$i=i+1$>
<td><$col1$></td>
<td><$col2$></td>
<td>
<input type="button" value="click me" onClick="alert('<$col3$>');window.close()">
</td>
</tr>
<$endloop$>

Here in this code I have a result set called tempResultSet which consists of three columns (col1, col2, and col3), and I loop on this result set to display its values by just getting columns values <$col1$> and <$col2$>, but I need one more thing I need to have a button when it will be clicked, a pop up message with 'col3' value appear which is a Javascript functionality and cannot be done using IdocScript where Javascript can put event listener functions or code to HTML form elements like what we did above onClcik="alert('<$col3$>');", but in the alert method we need to display col3 value, so we just add IdocScript code that return col3 value.

How that thing is done, when I user requests the page contains that code, the request is passed to the web server, and the web server requests that page from the content server, the content server finds the template page which contains IdocScript code and Javascript code, in that point the content server executes the IdocScript code only which returns either HTML code or Javascript code, then the page is sent to the web server which will send it to the client with no Javascript code.

I think that explain gives you a complete picture about what happen, but I need to explain it more.

When The content server searches for the template page, it will find it like

<$i=1$>
<$loop tempResultSet$>
<tr>
<td><b><$i$></b></td>
<$i=i+1$>
<td><$col1$></td>
<td><$col2$></td>
<td>
<input type="button" value="click me" onClick="alert('<$col3$>');window.close()">
</td>
</tr>
<$endloop$>

Then the content server execute the IdocScript code before sending it the webserver, the above code will be changed to

<tr>
<td><b>1</b></td>
<td>value 1-1</td>
<td>value 1-2</td>
<td>
<input type="button" value=""click me onClick="alert('value 1-3');window.close()">
</td>
</tr>
<tr>
<td><b>2</b></td>
<td>value 2-1</td>
<td>value 2-2</td>
<td>
<input type="button" value="click me" onClick="alert('value 2-3');window.close()">
</td>
</tr>

and also the client will get the same result.

I wish this helps you in understanding the interaction and the isolation between IdocScript and Javascript.

Wednesday, February 6, 2008

Copyright Benefits

From the first day I worked on a computer in Egypt, Most of the software I work on was copyright illegal, in may university our software was illegal, in work most of the time illegal, and of course in home also.

This becomes a part of our culture if we have the ability to buy we will not buy, not because of money, but we used to do that. Let us think, if we didn't do that, we will need either to buy a software which is expensive to most of Egyptians, or to work on open source software which is the right choose.

Working on open source software, will enhance our understanding about computers, and make us need to invent and produce new open source software to fit our needs. But I think big companies need us to become fellows if we don't have money, i.e. if I don't have money to buy windows, I will work on it illegal and I will not work on other operating systems, so when I will go to work on company with others like me, the company will buy windows to us, and really this is what happen.

I wish for us to work on open source software and become contributors on these softwares.

Bugs in Airplanes

Of course I mean talking about computer programming bugs, the story is I was watching a documentary movie about a crash in airplane in Britain. After researching about reasons of this crash they discovered the following


- Pilots mistake in determining a failed engine, they have two engines one of them not working, the pilots closed the Working one.
When we try to solve a bug we must take our time determine the reason of the bug because when we choose the wrong bug reason, we will waste our time and may crash our program.

- Pilots ride a new airplane, with new technology in it, with only one day training, and the training didn’t focus on difference between the old one and the new one.
When we work in technology and especially data centric systems, we must know that the training will put us in safe side we will be able to predict problems and how to solve them, i.e. the probability of bad surprises will be smaller.

- The pilots didn’t complete their review if their decision is right or wrong because the radar man tower told them to down.
This is like losing your second chance to resolve your problem even there is another task to do, if we can compare between the two risks we will make the right decision.


- People in the airplane, i.e. passengers, noticed that the pilot closed the wrong engine, and even the airplane hospitality staff noticed that, but no one told the pilots.
When we work in team we must not be negative, when one of us see an error, he should tell others and even errors from professional ones.

Hijri Date (Islamic Date)

The problem of Hijri Date is that it differs from country to another depending on the view of the moon, for more info click here, I work in a project in Saudi Arabia and they want to use Hijri date for documents dates that came from others but in that project we use Gregorian date.

To solve this problem we want to convert Hijri dates to Gregorian and also get them back to Hijri from Gregorian, but we should have a valid conversion method that is legal in Saudi. We found Saudi research center provides a table with dates from year 1420 to 1450 and this table is approved from Saudi Government, for more info about this table.

I reached here to the reason of writing this post, First thing I noticed in this table is that it is too difficult to get data from it, it is an excel sheet in which to convert from Gregorian to Hijri and vice versa is too hard.

Our way of thinking in Middle East needs some change, we try to prove to ourselves we can do the complex things, while there are easy solutions. Instead of making dates table hard when we didn’t make it simple. Instead of making it a table why we didn’t make it a webservice that convert dates between Hijri and Gregorian and updated every new month. I wish we, in Middle East, change our way of thinking about technology soon.