Monthly Archives: August 2009

Book Review: Liferay Portal 5.2 Systems Development

This is a book review of Liferay Portal 5.2 Systems Development by Jonas X. Yuan. Having no previous experience with this platform, I bought this book to try to get an overview of Liferay. The book starts out by giving an overview of Liferay and an overview of JSR-286. The bulk of the book (90%) appears to document how the author built a customized Liferay portal for a client and the author uses this method to cover various HOW TO’s which describe how to customize features and functionality using Ext and the Plugins SDK. Personally I found the wording of the text in theses sections to be somewhat hard to follow as the author would flow together a long string of instructions (intermixed with code inline the sentences) rather than using bullets or ordered lists. That said, the examples do appear to be quite detailed and complete.

The last part of the book covers some more administrative and integration related issues such as staging/publishing, custom attributes (expando), OpenSearch, Spring overrides, WS, best-practices. Unfortunately, this is the material I was most interested in, however this book gives it very light treatment.

Lastly, I felt that the editing of this book was lax. There were many typos and some miss-spellings, in the code as well. Some of the grammar and semantics in the text/titles was oddly worded. Take this section titles as an example: “Enjoying the Web Content search portlet”. Huh?

Overall I think this book is worth the money if you need to get very deep into coding a customized Liferay implementation using Ext or the Plugin SDK. However if you are looking for a administrative guide, deployment guide, or deep details on integrating Liferay with other services etc, you could pass on this book.

Target audience: Intermediate to advanced Java developers.

Tagged , ,

Review: Pragmatic Thinking and Learning

pragthink This is a review of “Pragmatic Thinking and Learning” by Andy Hunt.

So this book was a change of pace for my tech book library as it is not really a technical book, but rather a sort of users guide for that piece of software in your head, called your brain. The book explains the science of the brain as well various strategies that you can employ day to day to help your utilize it in new ways….. ways that will force you to think differently thereby allowing you to learn more, absorb more and focus better. The whole point being to permit you to move from being a novice to an expert in whatever field you are pursuing. Overall the book is interesting as the author presents some of the latest in brain research and does a good job explaining how things you normally do, may actually be impeding your progress on becoming an expert in your field of interest.

Recommended? Sure, if you have some spare time grab it. Otherwise, forget it. Wow what a clear recommendation! Basically I am indifferent about this one.

Skill level: None, anyone could read this, but it is biased towards developers. (no specific language)

Review: Using Drupal

drupalThis is a review of the book “Using Drupal” by a myriad of authors.

I picked up this book because I’ve been evaluating possible migration alternatives for an existing website that requires a mixture of CMS, light-DAM and user community features (blogging, wikis etc). The playing field seems pretty big between Joomla and Drupal (from a PHP side of things) so I decided to get the highly recommended “Using Drupal” book and read it over.

This is a great book. For those of you new to Drupal it starts out by laying out the groundwork of why trying to build and maintain your own custom website from the ground up (self built) is so much work. And likewise how Drupal solves so many of those low-level grunt work stuff so you don’t have to worry about it. The first few chapters give a good overview of the basics of Drupal covering such things as Nodes, Blocks, Navigation, and content. The book caters to all skill levels, and those with more experience can jump directly to the focused module content that they are interested in. In fact this book does an excellent job of taking a “solve a problem with a module” approach. The nice thing about this book is that it shows how to use the most popular and best Drupal modules (plugins) to solve the most common tasks. Such as exposing blog or wiki functionality, managing custom content with custom attributes, providing filtered views etc. It does all of this by walking the reading through detailed steps of how to use a module, which they can follow by reading.

I think the best thing about the book is that is filters out all the module noise that is out there on the Drupal modules site. There are literally thousands of modules for so many different features, it is nice to have a book which tells you “this is what the experts use” for various tasks. The book also covers some advanced topics such as I18N, actions & triggers and custom themes.

Overall I learned quite a bit about the capabilities of Drupal by reading this book. I Recommended it, specifically to Drupal newcomers or intermediates… go get it! You will walk away with a pretty good feel for what Drupal can do, which is quite a bit.

P.S. If you have need to store custom content with all sorts of custom meta-data fields and attributes. Immediately go to the chapter on the CCK. What a slick tool. Having written a totally dynamic taxonomy system in the past that supported inheritance based content types, custom attributes and data types, I can appreciate the work the CCK guys put into their module (except that: they lack inheritance… maybe someday that will get added.)

Tagged , ,

Upgrade to Spring AS 0.8 and others

The Spring Actionscript project is maturing and as they do, they keep teasing apart the entire project. So I am now upgrading from 0.7 to 0.8 and if you are to, here is what you can expect. (change log here)

a) If you were using the older AS3Reflect library, well now they moved that again over to as3commons.reflect. Also note that the ClassNotFoundError which used to be in AS3Reflect has now moved to as3commons.lang. The have been factoring out a lot of stuff, however Spring AS still is dependent on these new libraries so you must download those SWCs and link them in.

b) Looks like as3commons now has a logging package, ugh, yet another! I already have support for Spicelib logging as well as the default Flex logging framework built into my framework, so I guess I might need to take a look at the new as3commons logging to see if I will create an adapter for that.

c) If you are still referencing the older Prana Framework xml schemas in your xmlns declaration (in applicationContext.xml) you will need to update those to use the new schema location over at springactionscript.org. It should look like the below:

<pre><?xml version="1.0" encoding="utf-8"?>
    <objects xmlns="http://www.springactionscript.org/schema/objects"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springactionscript.org/schema/objects

http://www.springactionscript.org/schema/objects/spring-actionscript-objects-1.0.xsd">

d) as3commons.reflect now dumps traces of errors during the pre-instantiation phase for all singletons. This seems to occur for objects who’s constructor expects a non-null parameter, but the reflect code is passing NULL for all parameters. In my case, my app comes up A-OK and functions fine, however if you are running in debug mode you will see all this trace output from as3 reflect.

e) lastly, if you have any sort of a build script, in my case a Groovy GANT script, make sure to update those for the new library dependencies.

Those are the only items I really ran into when upgrading. All my FlexUnit tests passed A-OK so it looks like I am good to go. Good luck.

Also check out the Spring AS docs located here

It looks like since I last looked, they added quite a few new interested features:

a) They fixed the import issue finally, now you can import other XML files as well as import them if they are embedded in your app

b) You can define your app context “xml” within MXML directly inline your Flex app which may be of use

c) Yea! the  “” (blank) value in a value declaration is fixed.

Tagged , , ,
Follow

Get every new post delivered to your Inbox.