Final features before 0.9.6
Roller's RssServlet now supports RSS 2.0. By default, Roller spits out RSS in the Radio style with escaped HTML content in the description element and no content element. If you pass an excerpts=true request parameter to the servlet, then it spits out RSS in Movable Type style (or is that Pilgrim style?) with a short excerpt of the content in the description element and the full content in the content tag. Thanks to Mark Pilgrim for the RSS 2.0 template.
Also, Roller now includes current day referer, page hit, and RSS hit tracking. There is a new page in the Editor UI that diplays referers in a page-able table and there is a macro for displaying the top N referers on your page. You can see the output of the macro on the bottom right of this page. I'm not sure if this is enough to earn me a Dave Rules!, but it is equivalent to the referer ranking functionality that you get with Radio.
Final release of 0.9.6 is imminent.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.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!
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!
Conquered OC4J authentication.
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.
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.
Almost there.
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.
OC4J can't handle JDK 1.4?
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" />
Deployment on OC4J.
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.
Starting OC4J.
Getting started with OC4J.
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.
Oracle OC4J 9.0.3.
RSS broken for way too long.
Matt's working too
Matt is picking up my slack and making bunch of usability and UI enhancements to Roller 0.9.6-rc1. He has done the most work in this area of any of the Roller crew and he the best looking Roller based weblog around - based on his x2 theme which is now part of the Roller distribution.
There have only been four downloads of Roller 0.9.6-rc1 so far and I can understand that. Who'd want to download and install Roller only to have to do it again next week. Still, we are getting some good bug reports and finding things that should be fixed before the final 0.9.6. I don't want to release 0.9.6 until our two big customers are happy with it. I'm hoping to get some time this weekend to wrap up the User Guide, fix some RSS output issues, and wrap up the pluggable authentication stuff. Hopefully, 0.9.6 final will be the weekend after that.
Rollout
Matt Raible has installed RC1 and is finding and fixing some small issues. Hopefully Anthony Eden will be trying RC1 tonight. In other news... Anythony reported a problem with Roller 0.9.4's RSS output that still needs to be fixed.
Roller 0.9.6-rc1 is available
This is a release candidate. The Installation Guide has been updated, but the User Guide remains to be updated for the final 0.9.6 release. You can download Roller 0.9.6-rc1 at SourceForge (thanks VA Software!). Make your contribution to Roller by reporting any problems that you find to Roller's <a href= "http://opensource.atlassian.com/projects/roller/BrowseProject.jspa"> JIRA issue tracker (thanks <a href= "http://www.atlassian.com">Atlassian!). And finally, thanks to all the Roller contributors and supporters!
UPDATE: Here are some more convenient download links:roller-0.9.6-rc1.tar.gz - All you need to run Roller (on Tomcat)
roller-src-0.9.6-rc1.tgz - Full source code, build scripts, etc.
roller-tools-0.9.6-rc1.tgz - Jars needed to build, extract into source dir
Summary of new features: Multi-user : - Admin UI for deleting users - Better start page: pages through users, shows time of last update - Allow users to change their email addresses and passwords - Plugin authenticator Weblog editing enhancements: - Ekit HTML editor applet is available as an option to users - Option to save weblog entries without publishing them - Better control over weblog entry publish date New and improve macros: - Protection from recursion in includePage and showWeblogEntries macros - Big archive calendar macro shows titles for each day - Expand/collapse feature in Bookmark and Newsfeed macros - Users can control number of weblog entries displayed - New macros, including those necessary for RSS templating RSS related features: - Multiple RSS feeds for each weblog, one for each category - RSS feeds available with full-text or excerpts only - RSS aggregation features may now be disabled - RSS syndication output is now cached
Roller 0.9.6-rc1 status
I think 0.9.6-rc1 looks pretty good, so I will probably update the install guide, and release it tomorrow night. Later in the week I'll try to do some stress tests, some memory leak tests, and wrap up the user guide for a final 0.9.6 release.
Roller and RSS 2.0
Roller now supports all the right macros for RSS templating. For example, I was able to take Mark Pilgrim's RSS 2.0 template for Movable Type and convert to a Roller template to get RSS 2.0 output from Roller.
Roller 0.9.6-rc1 test post.
All systems go! Now it's time to add some of the new features to my templates and to do a little tweaking. I'll start my tweakings with the new big archive calendar.
A little later... Now that Roller allows you to put macros in weblog entries, mentioning the macros.showWeblogEntries() macro in a weblog entry as I did on <a href=
"http://www.rollerweblogger.org/page/roller/20020927#macros_to_support_rss_templating">
9/27/2002 is the recursive kiss of death. I think I can use a thread local storage trick to prevent this and the macros.include() page recursion. Guess that means RC2. Correction: guess that means I have some work to do before I actually release RC1.
Here is a cool new one: macros.showRSSLinks() displays links for the various types of RSS 0.9.1 feeds available from your weblog. Roller now gives you two feeds per category, one with full text and one with excerpts. You can even invoke it in a weblog entry, see:
$macros.showRSSLinks()Ok, so the formatting is not that nice and it does not get expanded in the RSS feed. Hmmm...
0.9.6 weekend.
« Previous page | Main | Next page »