Now that all the developers workstations are setup, we have started putting MouliForms through its paces.
We already started seeing some unexpected results. First, some items do have their prompts in non-standard fonts such as Arial Narrow. In this case, I added some search and replace rules for font name and size. Whenever one is found matching these fonts, we do replace them with Arial. In the case of Arial Narrow size 12, the best match was chosen to be Arial 10.
Here is the MouliForms-Oracle Forms 6-10g presentation related to the steps that will be followed when doing the migration from Oracle Forms 6i to 10g.
I also included some screenshots from MouliForms. There are also three flash presentations (made with Wink) that also show the interface, conversion steps and webutil module adaptation using MouliForms. These presentations are available to those who request it.
Please bear in mind that all four are in French but I plan to translate them to English when I have some free time to spare.
We are finally starting the migration of our main application (around 1200 modules) this July 14. Our main tool is MouliForms which I presented in an earlier post.
I spent the last couple of days ironing out the interface as well as fixing the developers machines (setting up the JRE, classpath, forms_path).
Preliminary tests on some modules are very encouraging but we need to go for a full run in order to see how MouliForms performs on our applications.
For the last two weeks, I have been working on ironing out the two functionalities in MouliForms that I think are very useful for an Oracle forms developer:
While the basic functionality is there (changes are reflected in Red), I am still having some troubles with object properties. It seems to me that the developers at Oracle did not lay out a proper mechanisms for object-property categorization.
I managed to rewrite the whole property palette (with the BEFORE and AFTER columns) but there are still some unwanted properties that do appear at the wrong place-object.
I am curently involved in a major migration project with around 1000 forms and 500 reports. Built using Designer 6i and maintained thru the years using forms builder 6i, it has been decided to migrate the whole application to oracle 10g.
During the last month or so, I wrote a JAVA application that does the migration based on the JDAPI package. In the coming days, I will present some of the stuff that I went thru and how I managed to build MOULIFORMS.
Here are the current features:
-Migration of forms from 6i to 10g. Close to 90% automated migration.
-All the new features implemented with WEBUTIL are either flagged or switched at the code level.
-Search and replace capability: I used the JAVA Regex package.
-Batch mode: compile, replace, migration.
-Report calls modified at the code level (RUN_PRODUCT to RUN_REPORT_OBJECT).
-Forms compare: before and after in a tree like fashion. Useful to see what has changed.
-Full Reports for outputs: HTML, CSV, PDF, Excel summary reports.
-Use of Log4j for various developer level reports (debugging-info etc.)
-Full JAVA Swing interface with switchable French-English interface.
There are still some bugs mainly related to the interface but Mouliforms does the job and I am really impressed by the JDAPI package.
I don’t know whether I should release Mouliforms as open-source. I already spent close to 150 hours designing it.
Next step: I will post some screenshots of mouliforms in action.
Posted by Hafed Benteftifa | Posted in Other tools | Posted on 17-04-2008
With Lotus Notes, you can be very productive if you know how to store your information. In my case, I have a library database (with a number of categories) which always open. I use it to jot down any information I may encounter during my workday.
Recently, I came across on a very smart Notes application Share documents
on Alan Lepofsky Notes blog. Basically, it will let you send any DB link from notes databases to a designated database.
In my case, I am now using it to send important emails, the ones that I may otherwise tag, to this library database.
It is very efficient and will really prove useful.
Posted by Hafed Benteftifa | Posted in personal | Posted on 17-04-2008
The website got hacked during the week-end. Some silly morrocan jerks deleted the files from the server. I had to restore from backup.
Really don’t understand the motives for doing this (apart for phishing-keylogging etc…) but this jerk can’t even use HTML.
Anyway, just wasted a couple of hours for nothing.
Posted by Hafed Benteftifa | Posted in oracle | Posted on 10-03-2008
On the otn forum, I have seen a number of posts about users trying to send emails from the database. For those that don’t know it yet, there is the utl_smtp package that can be used for this purpose.
Setup is very easy and usage is quite straightforward. Either use a procedure or a function and make use of the basic commands (smtp connection, message setup, message sending and smtp deconnect). If you need to send UTF characters, you will have to use the raw command.
For further info, check:
www.oracle.com/technology/sample_code/
www.psoug.org/reference/utl_smtp.html
www.ss64.com/orap/UTL_SMTP.html
Posted by Hafed Benteftifa | Posted in oracle | Posted on 10-03-2008
Here I am again trying to make sense of JDeveloper for an upcoming project. This is the third attempt at using Jdeveloper in a real project since 2003.
However, it seems to me like Jdeveloper is in a perpetual state of change and each version (with its own strange numbering system) brings its lot of deprecated features and new ones that no one seem to know what to make of.
I have put together some technical notes related to Oracle Forms 10g, 9i.
While they are in French, they can still be useful and understood since they contain screenshots.
These notes deal with alerts, object libraries, program unit, List items and some other basic stuff that students keep asking.
I will update as soon as I get the other remaining notes together.
How to eliminate the NULL value when displaying a Poplist
How to resolve the button that selected when the user closes a dialog
How to remove the blank lines when designing Lists in Form
How many alerts should we define in a Forms project ?
How to detect the page that was selected when switching pages in a tabbed canevas ?
How to set the PATH variable in order to avoid using the full path in your Modules ?
How to create and use a program unit in a Forms module ?
How to create and use an object library in a Forms application ?
