Roller on Glassfish - or the beginning of the end

February 18th, 2006

So, it seems that it works.
I used the JdbcsRealm from the glassfish bug.parade (written by bjb), tweaked a bit antlr, etc and I can show my blogs. But not for long. After 8 or so calls the server hangs - perhaps it has something to do with the encoding handling or whatever.
Deploying on an appserver became more complicated that making C-code going on UNIX. Tomcat/MySQL define the “Windows” here: Everything works (somehow, not as expected) and glassfish reminds my here of the the early UNIX: The aimed for MULTICS, but ran out of money. ClassLoader-problems - library conflicts strange interdependencies between Security-Layers - give me a break. This stuff sucks. Perhaps it is Roller’s fault and I should have tried something other before (I did, and all worked fine). The point is that you have to “buy” a new appserver for a new app, while keeping the old one for the existing ones.
Sounds familiar? Yes this is what we all laughed about about in stories like when Microsoft was an airline, etc.
Same thing with “browsers-based”. I spoiled some weekends to make a simple site look right in different browsers. After getting it right (with some dirty tricks) on Firefox, Opera and IE6&7 I learned that Safari had another understanding (after reading the specs I have to admit that all other browser seem to get it wrong there).
To sum up I’d say that computing actually got fucked up during the last 10 years.
BTW: Does anyone still remember XWindows? If think implemented the todays needs very nicely
PS: I beg for an excuse that I didn’t spice up this post with some links, see next post for the reason of this

Roller on Oracle

February 13th, 2006

This was a stupid one. Running roller on Oracle (9.2) is actually not as difficult as it seems:

  1. org.hibernate.dialect.Oracle9Dialect in hibernate.cf.xml
  2. Make the Realm connected to your oracle-DB:
  3. <realm classname=”org.apache.catalina.realm.JDBCRealm” debug=”99″ drivername=”oracle.jdbc.driver.OracleDriver” connectionname=”roller” connectionpassword=”roller” connectionurl=”jdbc:oracle:thin:@lxoracle:1521:devlpt” usertable=”rolleruser” usernamecol=”username” usercredcol=”passphrase” userroletable=”userrole” rolenamecol=”rolename”> </realm>

  4. For a true transactional DB:
    </parameter> (otherwise the BasicDataSourceFactory’s default enforces autocommit.

Not that this will only work with the new Oracle-drivers ojdbc14.jar for Oracle 10g! The older version cannot handle CLOBs as Strings and so the hibernate-mapping for the roller_properties is wrong.
Next thing to do: Get this also going on a Mustang/Glassfish. (There is a nice description which just misses that WEBLOGENTRY.pubtime must be nullable)