After reading this blog post I realized I am very similar in mindset as the author. I pretty much always have a side project, whether it is for my real job or one of my hobby projects I have written about on this blog. I do think the “best” employees in a technical role are the ones who are always playing. Playing with technology, concepts, API’s etc. The idea is the breadth of the individual grows and has ancillary benefit to their primary job. This has certainly been true for me throughout my entire career.
I remember I was in a client meeting and they expressed the desire to use Drupal as a content management. Because of my several side projects with Drupal, going through several versions of the system, and knowing in depth what it can and can’t do I was very prepared to argue both for and against the idea.
My latest project is something that has also had great benefit in my current job – mainly because I knew there was “a better way” to do this when I started creating demos. I started a project called PET (product extractor tool) that can pull products from an existing web site and then import those products, images, prices, etc into a WebSphere Commerce database. This allows us to create proof of concepts for customers using a familiar product set, product attributes, and terminology in scenarios the customer can understand (ie. speak their language). Prior to PET it could take days if not weeks creating products and all of the surrounding data around them – it really depended how detailed your scenarios were. A heavy focus in the commerce space is navigation and specifically faceted navigation (those options on retail sites down the left that let you narrow down your search results). As you can imagine, creating a full product set with many attributes could be daunting. Not to mention price lists and then inventory – if you have to show that.
I have recently modified the tool to export a set of XML files for Sterling Order Management. This means the same PET model can now be used for both WebSphere Commerce and Order Management – essentially making integrated proof of concepts between the two systems seamless (at least that is the current theory). I am still working on it but it is getting there. Because I used object oriented programming I simply use the same object model PET built from the HTML and pipe that model out as XML versus comma delimited files.
I still have a bit to go with this tool but the point of this post is I am now getting extremely familiar with the Sterling Order Management side of the equation. Diving on the underlying data model and the service API’s to get information in and out of the system.
After my last post and a bunch of research over the weekend I have decided to do this next personal project in HTML5, CSS and Dojo versus Flash or Java Applets. Thank you to everyone who responded on Twitter, Facebook and this blog – original post. So don’t be surprised if I start blogging about that project on a regular basis. The client, my wife, is still a bit shady on exactly what she wants so I am sure I will be doing and re-doing again and again. 🙂
About a month before I left my old team I was potentially going to be assigned to work on the SugarCRM application integration within IBM so I got to spend a little time analyzing the package. Sugar is an open source customer relationship manager software package that basically competes with a few of the big boys – like Saleforce.com. The really cool thing about this software is it has a pretty good community around it and has all kinds of plugins and extensions available. You can even deploy it internally or host it in the cloud – one thing I think sets it apart from SalesForce. Your data will be internal and safe. So now lets dive on the code!
As you might have been reading on this blog I created the site PlanetWebSphere.net and the site is based on Drupal 7. The exercise was for me to learn Drupal. What I really didn’t go into was how easy this site was to produce and how it was produced. In Drupal they introduced a concept call Views where you can create basically any block with text, html, or PHP. In PHP mode you have total access to the entire Drupal API including things like module, hooks, and database API’s. The screen shot on the right is actually a custom content view where you can simply write any PHP.That is the exact code I wrote for the left panel of “Feeds”.
Tonight I decided to fix something that apparently is common in Drupal 7. The core aggregation module that ships with Drupal stores feed items in a separate table (two tables in fact) and that table is not part of the search module. The great thing is, after a small amount of digging, I learned the extension model for search using the search hooks, and viola! So now you can search PlanetWebSphere.net like any other site in the world.
The module is aggregator and the file I modified was aggregator.module in core Drupal. I submitted this to a discussion on the site, maybe after some review from the Drupal Lords it will be put into the stream.