Wednesday, June 25, 2008

New DBPrism release - Apex users read this!!

Two weeks ago I released a new DBPrism release, 2.1.2
DBPrism is a project which provides a J2EE mod_plsql replacement and is a core of DBPrism CMS which uses Java Stored Procedure support.
As mod_plsql replacement users can integrate Apex applications in any J2EE container without using Apache mod_plsql. This integration means that for example you can use JSP's include or forward tags to get content generated with Apex.
Also you can integrate your Apex application with your favorite SSO/JAAS strategy because in this release we include Oracle JDBC proxy user support. Proxy user support means that DBPrism will use a valid getUserPrincipal() or getRemoteUser() Servlet values to pass it as effective user to a JDBC connection which was initiated with a generic user also called big application user.
To know more about DBPrims proxy user support see DBPrism demo page information also you can find more information about how to work with Oracle proxy user support in this Blog page.
A full change log of this release is at Download page of DBPrism's web site.
Have fun, Marcelo


Carl Backstrom said...

I've run APEX on top of DBPrism to take advantage of Batik to dynamically generate theme images and it worked great, is absolutely something worth looking into for APEX developers.

Dimitri Gielis said...

Nice... didn't have time to test it out, but it looks like this might be a fit for a lot of users who also use Java.


Marcelo Ochoa said...

I discussed with Kris Rice about the addition of some functionality to DBprism for generating PDF with Jakarta Poi.
But they follow in the idea of using BI publisher (I think).
I don't know how Apex generate PDF with BI publisher but for DBPrism is to easy to integrate some post processing task and it will get all the benefits from the j2EE stack like JAAS or SSO.
Best regards, Marcelo.

Carl Backstrom said...


Yeah I was basically using DBPrism instead of Cocoon in fact I think I built it on Kris's test instance before I installed my own.

The more tools in the toolkit the better I say.


Marcelo Ochoa said...

I didn't see this post :(
Very good stuff. As usual, Cocoon functionality is simple as a few XML files.
I love Cocoon, and We have a powerful database oriented CMS on top of them with only 900 lines of Java code :)
Best regards, Marcelo.

admindba said...

I am planing to test dbprism as CMS using oracle.

I need help in setting this up.

Please help as i see no documents on how to do it anywhere..

I have oracle 10g R2 box and i want to give my user a full text search functionality on web page
and contents

Marcelo Ochoa said...

Hi admindba:
You can sign to DBPrism user list:
for question related to DBPrism or DBPrism CMS.
But, if you are not rushed let me a few weeks to upload latest version of DBPrism CMS 2.1.2.
It has several improvement :)
I'll post an announcement at this blog and also in DBPrism's project news.

Algimas said...

Hello Marcelo,

Could you help me with one DBPrism problem on APEX?
I did the whole installation based on: and everything works SUPER except one thing ;). When page has more than one char from ISO/IEC 8859-2 e.g. “óó” the whole page gives me an error: “HTTP Status 404” because DBPrism change two letters into something very strange e.g: “óó” into “óó”.
What is also interesting, when I use this same page without DBPrism, I mean http://localhost:8080/apex/f?p= … everything, with “óó”, works as it should.
I have looked into DBPrism logs and I have found only one error:
2009-03-06 22:03:34,768 [http-80-4] ERROR com.prism.DBPrism - .makePage exception:
java.sql.SQLException: PLSQL Adapter - PLSQL Error
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
So as you see it should be something wrong with the char-encoding, but I can't find were it could be located.

My apex DAD:

category name="DAD_apex">
property name="dbusername" value="apex_public_user"/>
property name="dbpassword" value="apex1234"/>
property name="connectString" value="${demo.db}"/>
property name="useProxyUser" value="false"/>
property name="defaultPage" value="apex"/>
property name="toolkit" value="4x"/>
property name="compat" value="8i"/>
property name="documentTable" value="wwv_flow_file_objects$"/>
property name="docAccessPath" value="docs"/>
property name="docAccessProcedure" value="wwv_flow_file_mgr.process_download"/>
property name="dbcharset" value="utf-8"/>
property name="clientcharset" value="utf-8"/>
property name="nls_lang" value="American_America.AL32UTF8"/>

I have also tried to change “utf-8” into iso-8859-2 but it didn't helped :(.

Have you had such a similar problem with other charset?

If you need more logs information etc. I could send you as much as you need.

Thanks in advance.


Marcelo Ochoa said...

Hi Algis:
Please see this thread at SF forums:
Its related to NLS_CHAR semantics issues :(
Best regards, Marcelo.

PD: If you have any other problems please use SF list for posting and sharing the answer with other DBPrism users.

Jens Gauger said...

Hello Marcelo,

i´m using DBPrism with APEX on XE and first i have to say that i am very happy with it. The performance in relation to the EPG is outstanding and one of my biggest problems on XE - the use of DB Links - has been solved.

But, i still have some problems with the character encoding. I've read that there are some issues with that ... but maybe you have already solved this?!

DBPrism on Tomcat on Linux (LANG=utf-8)
Browser in de_DE
- dbcharset=iso-8859-1
- clientcharset=utf-8

The application generally runs normal. But if i try to write a special character into the database (äöü...) it fails. There is a workaround for this: I have to switch the encoding in the browser to iso-8859-1 and then the special character will be saved correctly. If i change the the clientcharset in the prism.xconf to iso-8859-1, the behavior changes. Then i have to switch the encoding in the browser to utf8 in order to save the characters correctly.

Strange! Do you have a solution for this?

Thank you and best regards,

Marcelo Ochoa said...

Hi Jens:
Did you see this thread?
If you can't solve the problem, please continue the question on that forums which have better support for threads.
Best regards, Marcelo.

PD: Note that iso-8859-1 is not equal to iso-8859-15

Anonymous said...

Hi Jens
With this parameters its work well
Robert Ferro

property name="dbcharset" value="utf-8"
property name="clientcharset" value="iso-8859-1"
property name="nls_lang" value="American_America.AL32UTF8"

Anonymous said...

In fact ... not so well some homemade Javascripts does not works because they need UTF8 !!!

Robert Ferro