Blogging Roller

Dave Johnson on open web technologies, social software and software development


Halloween season.

After a couple of weeks in the 80s and 90s, it finally feels like fall here in Raleigh and now we are enjoying a beautiful fall weekend. The State Fair has started and my driveway is covered with thick layer of acorns. Today we took the boys over to the Vollmer Farm in Bunn, NC. The Vollmer family opens up the "back 40" during October. They have hay rides, trike races, horseback riding, a pumpkin slingshot, two corn-field mazes, and a 40 foot underground sack slide. The farm is about 40 minutes from Raleigh. It is great fun for the younguns, but make sure you pack a lunch because the chow line can be pretty long.
Tags: General

Cocoon at the JUG, Eclipse at the WUG.

The Triangle Java Users Group (JUG) and the RTP Webshere Users Group (WUG) have a couple of interesting meetings lined up. At the JUG meeting on Monday night (Oct. 21), Conrad D'Cruz and <a href= "http://www.trilug.org/~acoliver/hackinglog.html">Andrew Oliver will present an Introduction to Cocoon 2.0. CORRECTION: The very next night Next week at the WUG meeting, John Kellerman (the Product Manager of WebSphere Studio Workbench) will be giving a full presentation and demo of Eclipse. Here are links to more meeting information:

Cocoon at the JUG: Monday Oct. 21, 2002
Triangle JUG: http://www.trijug.org/meetinginfo.jsp

CORRECTION: Eclipse at the WUG: Tuesday Oct. 29, 2002
RTP WUG: <a href= "http://www.rtpwug.org/meetings.html">http://www.rtpwug.org/meetings.html

I wish I could give you permanent links to these talks, but the JUG does not provide permanent links to meeting info until after the meeting has occured. The WUG doesn't even keep old meeting info online. Don't the webmasters realize that an UG without permamently linkable knowledge of it's history is like a tree without roots?

Tags: Java

The problem with HTML.

<a href= "http://fishbowl.pastiche.org/archives/001126.html#001126">Charles Miller has written a useful piece on the state of HTML, XHTML1, and XHTML2 with pointers to more info and interesting opinions on the topic. I feel like I've been almost totally out of touch with this stuff. I need to do some reading and not just the frenetic blog scanning that normally counts as reading for me.

One of the main reasons that I started working on Roller was to learn how to develop a webapp on both the server and client side. As an app server developer, I know the app server side of things like the Servlet API and J2EE, but on the client-side sometimes I feel pretty lost. I need to take a break from the Roller server-side and learn how to give the Blogging Roller site a serious <a href= "http://diveintomark.org/archives/2002/05/12.html">markover.
Tags: Roller

NBML

<a href= "http://radio.weblogs.com/0108103/2002/10/18.html#a102">NBML is vaporware isn't it? I can't find it anywhere.
Tags: General

Toplink

Anyways, having gotten rid of my initial JDO bias, I just started looking at what would do the job and decided that TopLink is actually really cool. It's expensive - $7000 a server - but not as much as it used to be with Bea's classic $2000 a pop for developers. It meets all the criteria in Dave's graph for top down, middle out and bottom up.[<a href= "http://www.russellbeattie.com/notebook/index.jsp?date=20021018#010545">Russell Beattie comments on Toplink]
I've only heard good things about Toplink, but it sure is expensive. I wonder what kinds of deals they cut for ISVs. Imagine how expensive JIRA would be if Atlassian used Toplink at that price.
Tags: Java

Referer log and RSS hit counter in Roller 0.9.6?

Roller suggestions Dave, if you're listening, here are my only two gripes with Roller right now. I would really really want a referrer log, and I would also like to know how many are subscribed to the RSS feed. I have a tracker which shows how many hit the webpage, but I have a feeling most people use RSS feeds (I do anyway). Add that, and I'm going to have to post a You Rule blog entry. Deal? ;-) [Valued Roller customer Rickard Oberg]
This is pretty tempting: Rickard Oberg publicly saying that "Dave rules." I could use that on my resume. All I have to do is to steal some code from <a href= "http://www.russellbeattie.com/notebook/">MiniBlog and add an RSS hit counter? I'm in!
Tags: Roller

Victory over OC4J!

I couldn't resist solving the weird CSS problem and now Roller runs perfectly on <a href= "http://otn.oracle.com/products/ias/content.html">OC4J!

The problem was this: IE was able to load the Roller style sheets, but Mozilla was not. The solution was this: add the line "text/css css" to OC4J's config/mime.types file and then delete the contents of the OC4J temporary files directory OC4J/default/roller.

Rejoice: no more install-blogging!

Tags: Roller

Conquered OC4J authentication.

OC4J does not like the funky server-side redirect that Roller uses to return the logging-in user to the page where they clicked the login link. This problem was causing a recursive redirect to redirect to redirect to infinity. Mozilla recognized the problem and put up that "Redirection Limit" popup, which is nice. IE did not recognize the problem and caused OC4J to crash, which is, to say the least, not nice.

This was an easy fix for me. I just switched my login-redirect.jsp page to use a client-side redirect rather than a server-side redirect and everything is peachy.

The next problem is XML related. Roller can't seem to read its XML menu definition file. The code, which works fine on Resin and Tomcat, uses ServletContext's getResourceAsStream() to get the XML file. On OC4J, the XML parser (called by the Jakarta Digester) blows up with a "XML-0220: (Fatal Error) Invalid InputSource" error. Rats! Time for some more googling.

UPDATE: this turned out to be a missing slash in the path to the menu config file under WEB-INF. I added the slash and that fixed Roller on OC4J and did not break Roller on Tomcat. Now Roller works perfectly on IE, but can't find it's stylesheets on Mozilla. I'll save this last problem for tomorrow.

Tags: Roller

More install-blogging

Tonight, I've been trying to complete the install of Roller of Oracle's OC4J9.0.3 J2EE app server. I've had a little luck, but I am still not quite there.

I tried the JDK 1.4 trick suggested by Matt from the JavaLobby and that worked for me. OC4J is now working fine for me under JDK 1.4.

Next, I searched around for docs on configuring OC4J Servlet Authentication so that I can get OC4J to use Roller's rolleruser and role tables. I found the <a href= "http://www.orionsupport.com/articles/datasourceusermanager.html"> docs for the Orion DataSourceUserManager on <a href= "http://www.orionsupport.com">OrionSupport.com.

Following those docs, I put a user-manager element after the principals element in the OC4J/application.xml file like so:

<user-manager class="com.evermind.sql.DataSourceUserManager">
  <property name="table" value="rolleruser" />
  <property name="passwordField" value="password" />
  <property name="usernameField" value="username" />
  <property name="groupMembershipTableName" value="role" />
  <property name="groupMembershipUsernameFieldName" value="username" />
  <property name="groupMembershipGroupFieldName" value="role" /> 
  <property name="dataSource" value="jdbc/rollerdb"/>
</user-manager>

and I put a security-role mapping after the commit-coordinator elementin OC4J/application.xml:

<security-role-mapping name="guest">
  <group name="guest" /> 
</security-role-mapping>

Then I tried to login and OC4J complained that it could not find Roller's login page "404 Not Found Could not find form-login-error page: '/login.jsp?error=true'" Matt Raible's cool error=true trick is not acceptible to OC4J. So I wrote a loginerror.jsp page, took out the error=true thing and tried again.

Now, OC4J displays my login.jsp page, but when I post the page I get a "Redirection Limit for this URL exceeded, unable to load the requested page." Time to do some googling.

Tags: Roller

You just need to find a style.

I think you just need to find a style that adds the most value to yourself and the people you talk to and stick to it. I need to think about this more, but "trust" is a very key word. Blogs enable the creation and management of trust outside of centralized brands and authority... [<a href= "http://joi.ito.com/archives/2002/10/17/trust_and_the_blogging_ethics_discussion.html">Joi Ito on disclosure and trust in weblogs]
Tags: Blogging

Almost there.

After setting up the Roller datasource by following the instructions in the Orion docs Roller still would not work. Turns out, unlike Tomcat, OC4J needs to see a resource-ref in web.xml for before it allows access to a datasource. Once I added that resource-ref to web.xml, Roller was able to find it's datasource. I am now able to view weblog pages on OC4J. The next step is to configure authentication so I can login.

This is what I added to OC4J/config/data-sources.xml:

  <data-source   
    class="com.evermind.sql.DriverManagerDataSource" 
    name="rollerdb" location="jdbc/rollerdb" 
    connection-driver="org.gjt.mm.mysql.Driver" 
    username="scott" 
    password="tiger" 
    url="jdbc:mysql://localhost:3306/roller?autoReconnect=true" 
    inactivity-timeout="30" 
    schema="database-schemas/my-sql.xml" /> 
This is what I added to Roller's web.xml:
  <resource-ref>
    <res-ref-name>jdbc/rollerdb</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>

It is late and I'm tired of this experiment in install-blogging, so I'm gonna call it a night. I hope I haven't bored you to tears and caused you to unsubscribe from my RSS feed. I'll wrap things up tomorrow night and give you a final report.

Tags: Roller

OC4J can't handle JDK 1.4?

I got the horrible "error: Invalid class file format... The major.minor version'48.0' is too recent..." error message from OC4J. So I switched from JDK1.4.0_02 back to JDK 1.3 and now Roller is actually coming up, but it can't find it's datasource. Fortunately, little Leo needs some attention because I need a break. UPDATE: Matt from the JavaLobby suggested these fixes for the JDK 1.4 problem, but I have not tried them yet:

Add this to the entry for the JSP servlet in config/global-web-application.xml:
  <init-param>
    <param-name>javaccmd</param-name>
    <param-value>/usr/java/j2sdk1.4.1/bin/javac</param-value>
  </init-param>
Add this to the end of config/server.xml:
  <compiler executable="javac"
    classpath="/usr/java/j2sdk1.4.1/jre/lib/rt.jar" />
Tags: Roller

Deployment on OC4J.

I gave up on the Oracle OC4J docs. They keep on pointing to something called dcmctl that I didn't get in the OC4J download. The appendix says that dcmctl lives in $ORACLE_HOME/dcm/bin/dcmctl and I am not in the mood to download Oracle right now. So, I pointed my browser at the Orion website and found some more reasonable docs. OC4J is just an OEM version of Orion.

I dumped Roller in OC4J/home/roller and then added the following to OC4J/home/config/server.xml:

   <application name="roller" path="../roller" />
this to OC4J/home/config/application.xml:
   <web-module id="roller" path="../../home/roller" />
and this to OC4J/home/config/http-web-site.xml:
   <web-app application="default" name="roller" root="/roller" />
Now I'm getting a string of error messages that indicate that OC4J is attempting to deploy Roller. Good.

Tags: Roller

Starting OC4J.

After 20 minutes reading the docs and rocking Leo with my foot, I still couldn't figure out how to start OC4J but Leo did fall asleep. I made a guess, tried typing java -jar oc4j.jar, and that worked. After searching the config files, I figured out that the Servlet Engine was running on port 8888 and I verified that with my browser. Now, Let's see if the docs can be any help in deploying Roller.
Tags: Roller

Getting started with OC4J.

Now that story-time is over, the big boys are tucked in, Leo is napping, and Andi is out for a glass of wine the fun can begin.

No docs were included in the 24MB OC4J download, so I hit the Oracle OTN site and found the Oracle9iAS Containers for J2EE User's Guide. Chapter 2 is what I want. I think I want to run just a single instance, but the docs make that sounds a little naughty - "this undermines the enterprise management provided by the Enterprise Manager." Whatever. Uh oh, Leo is awake and he is not happy about his cold.

Tags: Roller

Oracle OC4J 9.0.3.

Tonight's fun activity is going to be installing Roller on the Oracle OC4J 9.0.3 J2EE appserver and at the same time caring for a sniffly nosed 4 month old. I just finished downloading the 24,266,496 byte OC4J zip file.
Tags: Roller

The Cabin.

I thank my parents and my sister for an awesome childhood - where life was simple and dreams were boundless. [<a href= "http://www.raibledesigns.com/page/rd/20021016#the_cabin">Matt Raible, The Cabin]
Excellent story Matt, and those pictures are wonderful.

Tags: General

Blogs complicate things.

The reason blogs complicate things is that each one adds at least one more identity to the author's roster, which is always complicated to begin with. And most of us know very little about each other to begin with as well. [<a href= "http://doc.weblogs.com/2002/10/15#rockRoll">Doc Searls]
Tags: Blogging

Oracle releases TopLink upgrade, road map.

However, Oracle9i AS users get the new version of TopLink free while users of the other vendors' products must pay $7,000 per processor. [<a href= "http://www.infoworld.com/articles/hn/xml/02/10/15/021015hntoplink.xml">InfoWorld]. Oracle assures us that TopLink will continue to support other databases and app servers. Why the hell doesn't the InfoWorld article have a link to <a href= "http://otn.oracle.com/products/ias/toplink/content.html"> TopLink?
Tags: Java

1993.

<a href= "http://www.russellbeattie.com/notebook/index.jsp?date=20021015#002353"> What was I doing in 1993? That the year that my short stint as an independent GIS consultant came to an end. In December 1992, my wife Andi and I returned from our year and a half in <a href= "http://www.uwimona.edu.jm/">Jamaica where I had been working as a GRASS GIS consultant. We moved to my hometown Chapel Hill, NC and I was hoping that I could continue working there as an independent consultant.

Before I left Jamaica, I landed a contract with the <a href= "http://www.opengis.org/"> Open GIS Foundation and the <a href= "http://www.cedr.berkeley.edu/">Univ. of California Berkeley to develop a X-Windows based raster editor for GRASS. I wanted to find more work like that, but I just didn't have the contacts needed to continue consulting on my own. By July 1993, I had accepted a great job with the GIS group at NYNEX Science and Technology (now part of Verizon) in White Plains, NY.

After writing this up, I was browsing the pages for Berkeley's REGIS program and learned some sad news. The kind person who I worked for at Berkeley and who offered me a job there back in 1993, Kenn Gardels, passed away in 1999 at the age of 44.

Tags: general

« Previous page | Main | Next page »