Monday, December 9, 2013

OpenBedrock Moving to GitHub

Now that I've gotten the OpenBedrock project back in full swing, it's time to leave the stone age of CVS and enter the modern world by migrating to a more appropriate VCS.  I've debated the relative merits for this move, but in the end, in order to create a more community driven project, moving the project to GitHub and using git as my VCS makes a lot of sense.

While the world probably doesn't need another web application framework, and no one but I may ever contribute to it, I've always viewed Bedrock with a bit of fondness.   It was created in 1999 as a collaborative effort between myself and one other developer who initiated the concepts, to fill the gap that existed for a decent templating package.

Jay Sridhar's first effort, a C based package lacked the flexibility to rapidly change with the ideas we were generating, so Perl was adopted early in the project to make development easier and faster.  I think there was some thought of using Perl only as a prototyping platform, but soon production applications were being built in Bedrock.



Clearly there are other very good templating engines out there and there are some things I'd like to improve with Bedrock, however for all it's warts, I've found it extremely useful, easy for people to learn and more importantly easily extensible.  The new extensions to Bedrock make creating web services for use with modern web applications that take advantage of ajax extremely simple.  A web service might be as simple as dumping a variable as a JSON object.

<var --json $customer.search($input.id)>

In any event, even if this is just an exercise for me to learn more about git, it's still a good thing. ;-)

After a day of learning what one can learn about git in a day, I've cleaned up the Bedrock code base and released a 2.4.0 version that plays nice with git.  I've removed the use of CVS keywords in modules and replaced the module versioning that used the CVS $Revision$ keyword with the package version.  This removes the granularity of tracking individual module changes, however it has never been my experience that a particular module of Bedrock would be used in a way that would require a specific version.

The new Bedrock GitHub repo can be found at https://github.com/rlauer6/openbedrock

The repo attempts to preserve the history of changes and the tags.  The CVS repository will be saved in the event I regret this decision...

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.