FCBlog Editor

Posted by Warner Onstine on January 12, 2005

Share and Enjoy:
  • Print
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Facebook
  • Google Bookmarks
  • DZone

Chapters finished!

Posted by Warner Onstine on January 12, 2005

Share and Enjoy:
  • Print
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Facebook
  • Google Bookmarks
  • DZone

Low-Fidelity Mockups

Posted by Warner Onstine on January 12, 2005

Share and Enjoy:
  • Print
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Facebook
  • Google Bookmarks
  • DZone

New Site launched

Posted by Warner Onstine on January 12, 2005

Share and Enjoy:
  • Print
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Facebook
  • Google Bookmarks
  • DZone

Textile Java Journey

Posted by Warner Onstine on January 12, 2005

So, why am I posting this? in short, to shorten the path for others who are looking for the same thing. I have joined the list and hope to help them bring Textile2 support to it (if they don’t already have it).

Share and Enjoy:
  • Print
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Facebook
  • Google Bookmarks
  • DZone

Software Projects Update

Posted by Warner Onstine on January 12, 2005

Truches is slowly rolling along, I have the page transformation basically working. It currently takes a url like whatever.com/index.html, looks up the corresponding xml file, parses it, places certain items into the VelocityContext and then calls the appropriate Velocity template to transform it. This then gets relayed back to the client as an html page. Very slick! I got this idea from Erik Hatcher and what he did with Blogscene. Next step is to nail down the xml format using an existing site (in this case TucsonUnderground and to start to templatize it, transform and work out those kinks. Once that’s complete then I will be working on the db->xml transformation so that we understand exactly what data we will need to pull. A fair amount of work will need to go into generating the pages (we are going to be using a ContentBlock methodology along with Metadata), and I want the client-side to be fast! Joe will be helping me as soon as he gets back from Santa Fe. He’s already done a fair amount on the db schema, so I will be looking forward to his help at that point.

Share and Enjoy:
  • Print
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Facebook
  • Google Bookmarks
  • DZone

Why use Maven?

Posted by Warner Onstine on January 12, 2005

People are continually asking me why I use Maven instead of Ant for my projects. Recently I was handed a contract to work on putting a Tapestry front-end to Spring-based app (they already have Spring MVC but they were looking for someone with time to code and who has expertise with their preferred front-end). The example app I was given was based on AppFuse, which I had a looked at previously. This app was also using an extremely complex Ant build file which had several ant files included in it’s headers and made extensive use of XDoclet to build all sorts of things.

Initially it took me an hour just to get the app built (I had previously gotten the normal AppFuse up and running in about 15 minutes). This was because I had to track down where in the Ant file they were calling the right SchemaExport for Hibernate and what was causing it to blow up. They had somehow forgotten to include the actual class files in the SchemaExport call, not sure how that happened.

Next up, I needed to figure out where in the world the web.xml file was, cuz it wasn’t anywhere that I could find. I finally figured out that they were using XDoclet to build the web.xml from xml fragments. “Finally!” I thought, “Down to business”. So, I added in the requisite pieces, now to add in the needed jar files. Mmmmm, ok, found the lib directory, which is scattered with folders like:

pmd-1.2
postgresql-jdbc-7.4
...

And there’s a lib.properties file sitting there also, so I open that up and it’s got a bunch of

postgresql.version postgresql.dir

to specify what directory what jar file is in. I go ahead and fill all that info in, which takes a good 15-20 minutes on it’s own (if I had used maven, I could’ve dropped in all that lovely stuff in about 1.5 minutes, because I already have a project using Tapestry).

Next, I had to find out how they were including the libs into the web build process. Of course it’s a mix between grabbing everything in the directory and one jar file in a particular lib directory. Added in all the naughty bits I need and voila! Something that all told should’ve taken me an hour has now taken me 2 – 2.5 hours.

If this project had originally been setup with Maven, I:

f3c955663ffc5f08f0ba2360d0520bcf

Don’t get me wrong, I’m not knocking the original developers of this, their Ant file is probably one of the better ones I’ve run across, but uggh. Why would you put other developers through this? I certainly can’t see the client or his team being able to maintain this spaghetti anytime soon.

I don’t want this to be a flame war or anything, but I just felt this to be a perfect example of why I use Maven, and why I recommend it. It’s not without it’s faults, but I personally can live with them for the time being.

Share and Enjoy:
  • Print
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Facebook
  • Google Bookmarks
  • DZone

Groovestry Announced

Posted by Warner Onstine on January 12, 2005

Share and Enjoy:
  • Print
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Facebook
  • Google Bookmarks
  • DZone

Magma

Posted by Warner Onstine on January 12, 2005

After delaying this for a while I have finally dug in and started writing Magma – a PHP code generation tool. Basically what I decided on architectural-wise is to mimic what Torque does. So, I started with an xml file which defines a schema and then I will generate some classes that allow me to retrieve, populate and save objects to the database.

So, after deciding on a path I started looking at the tools out there to help me do it. Torque uses Texen to help it generate the myriad of files (Java and SQL) that it uses. Now, DVSL is newer and seems to be more on the track for what I wanted to do.

I decided to ask the Velocity users which one they prefer and got very little feedback on either of these tools initially (I don’t think anyone is really using Texen, except for the Torque developers). Then Pete Kazmier came along and suggested something that I honestly hadn’t thought of – using Jelly along with the Velocity Tag that he helped develop for it. The more I looked at it the more it seemed to be what I wanted. I could use Jelly to control the flow of my generation as well as pull stuff from multiple sources (instead of just one xml file).

So far, I like Jelly and the way it works with Velocity is nice. The way the taglib is written the Velocity context gets seeded with the variables that are defined inside the Jelly file. This provides for some nice glue between the two. After a few minor bumps in the road I am making some good progress. One of the things that I haven’t liked is the fact that Jelly needs some tutorials, not a lot, but at least 2 or 3 illustrating how to do different things. The biggest plus of Jelly is the ability to use Ant tags plus the myriad of other tags that come with it. If there were some concrete examples which explain exactly what is going on it would help strengthen the adoption of Jelly.

Once I get things more in hand I will publish these and see if the Jelly people want them for the site.

Current progress

  • Basic class code generation – done
  • OM generation, allow selection of object from db and saving of object in db – in progress
  • Form generation – coming soon
  • Workflow generation – coming soon
Share and Enjoy:
  • Print
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Facebook
  • Google Bookmarks
  • DZone

Xkins – Skins for Struts and Velocity

Posted by Warner Onstine on January 12, 2005

Share and Enjoy:
  • Print
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Facebook
  • Google Bookmarks
  • DZone

Easy AdSense by Unreal