Where did January go?

Where did 2009 go?

Our last blog post was in December?

Wow, time is flying by. The good news is we’ve been quite busy here at LightCube. The bad news is we are breaking the rule of blogging regularly (sorry).

Looking back, the past two years has brought its challenges and lessons. But we are now looking forward and gearing up for what’s in store. Speaking of which, where is what we’ve been up to:

Tienda! – Who says the internet doesn’t need another eCommerce tool? If you check with the Joomla community you’ll quickly see there is a massive need. We’ve been working with Dioscouri to bring the first native eCommerce application to Joomla! The really exciting news is that Tienda v0.2.0 (Alpha) is available.

MongoDB – For a SQL Grease Monkey like myself this is a huge redirection. Don’t worry, we’re not abandoning our traditional LAMP stack just yet. It’s not so much about leaving MySQL as much as it is about being liberated to use something else. We’re already working on a few pet projects to use MongoDB for our core ACL and automatic MediaRSS feed generating.

WebEDI – What is EDI you ask? It’s a LONG story. But I can tell you this much,  it has been around before the internet and isn’t going away anytime soon. We are helping to enhance the EDI back office systems of companies that are warming up to web services and XML.

I did say a quick summary didn’t I? Although tomorrow isn’t promised to anyone this year is going to be a busy one. We’ll keep you posted (hopefully in increments shorter than a month).

Live from NYC!

It was a wonderful day at the Joomla! Developer Conference.  Keeping to my usual style I took notes in MindMap. I’m sharing as a PDF in case you would like to click some of the links or copy some of the text. Feel free to share any comments.

Joomla Dev ConferenceNYC

A big thanks to all who organized and presented. We at LCS really enjoyed it and look forward to the next few months as Joomla! 1.6 becomes solidified.

We at LCS attended the first Joomla Day NYC event!

There were quite a few nifty things I picked up from the event that I have to investigate and incorporate into my bag of tricks. The first and major investigation point looking back is MongoDB which was brought up by Mitch Pirtle in “Expert- Extension Development” session. The other cool points you’ll have to pick up via the Mind Map that I’ve attached. Yes, its messy and “organic” but that’s what a Mind Map is all about.

Joomla Day NYC Mind Map

I delayed installing Windows SP3 on my MacBook Pro BootCamp partition because of some sub-conscience fear. If you think it will happen, it very well could – Parallels couldn’t get the Windows Virtual Machine to boot.

When I launched parallels the following screens showed up:

Windows Error #1

This was quickly followed by this screen:

Parallels_Error #2

Then it starting looping in those two screens. Never before have I seen a looping blue screen of death! After a brief investigation (translation: “low level panic attack”) and a few “force kills” in Leopard I found the solution to the problem on the Parellels Forum. For the masses of you who may already know about the solution: Great! For the rest who have been searching and haven’t found the solution this worked for me:

  1. Select XP Boot Camp Virtual Machine but don’t start it.
  2. Click “Hard Disk 1″ and open Configuration Editor.
  3. Click “Advanced” on the right panel.
  4. Click the “Clear” button to remove Parallels information from the boot camp partition.
  5. Start the Virtual Machine.
  6. When asked to Activate Windows say no.
  7. Activate windows AFTER it has fully loaded.
  8. Reinstall Parallel Tools.

It’s often the case in development you’ll find yourself embedding brand new code with the old. The simplest of commands can go a long way to making the content exchange easier. The code window.opener.document.getElementById, is a great way to pass information between webpages (the old and the new) that need to coexist. The scenario could be passing data between a parent window and child or using hidden popups. Here is a PHP example to update checkboxes on a parent window (or launching page) echoing javascript code.


//Initialize an array of checkboxes
$array_checkbox = array("chk_name1", "chk_name2", "chk_name3", "chk_name4");
$i = 0;
while($i<=4){
    $chkname = $array_checkbox[$i];
    echo "<script type=\"text/javascript\">";
    echo "window.opener.document.getElementById('$chkname').checked=true; </script>";
    $i++;
}

Wasn’t that quick and easy! You’ll notice that you could just as easily replace the checkbox names with div’s, radio buttons or anything that needed to have its value/property modified. This opens a world of possibilities for you doesn’t it?
 

Before starting up new projects we make it a custom to take our lessons learned and improve. We are at that point right now and I find myself wanting something to streamline our database architecting and development process. Most of the LAMP design we’ve done in the past has only utilized a handful of tables with minimal relationships. But I’m projecting that our future work will require databases that have more normalized tables with more relationships.

I just realized that through MySQL Workbench we can streamline our process. We typically go through Entity Relationship/Data Design modeling with our clients and this tool can save a few steps. We can go from those diagrams right to the database (live database forward engineering only available in the Enterprise Edition of Workbench). The folks at MySQL have blogged about the screen designs for Workbench that they are developing for Mac OS X. I’m really looking forward to it since I don’t like having to open up Parallels and use Windows for just one tool. It’s certainly worth using the Windows build in the meantime. I’m looking forward to the Alpha release coming in September.

Usually I start these types of blogs with a decent disertation of what the problem was and then give the solution. Let’s flip that this time around since I’m in a quick blog mood.

Answer: ActiveCollab

Problem: Keep Reading.

When our clients and projects started to pile up we realized very quickly that we needed to get ourselves something that can give our clients exposure to our progress and help us manage our project. In my history of consulting that was done with multiple spreadsheets and project management software. Not wanting to go down that same path I started looking for SOMETHING that could be the best of all our wants and needs. Here was the raw list of wants and needs.

Needs:

  • Project portal that will allow our clients to see status reports
  • Tool that will allow us to collaborate with our clients without email chains, phone tag and IM convos
  • Location where files can be stored and information shared like a wiki but easy for a non-technical client to use
  • Web-Based and pleasing to the eyes
  • It needed to have strong User Access Control
  • Ticketing System is a must

Here are all the wants:

  • It would be great if it could be hosted on our own server
  • Wouldn’t it be great to customize it to look exactly the way you want?
  • Client portal feel without all that content management work

The solution as was previously stated is ActiveCollab. There were quite a few decent alternatives but AC really met all the requirements and then some. We have been able to customize it exactly the way we wanted and it works great. We are totally a LAMP stack shop and it was great being able to throw the code onto our sever and get it working and customized within a few short hours. Most importantly we have something that meets ALL of our needs and wants.

For more information check out: http://www.activecollab.com/

As promised, this is the follow-up of my 21 day OfficeTime evaluation (see original post “Where did time go?“). Not that all of you were waiting with bated breath for it! Nonetheless, I’m trying to stick to my blog promises.

OfficeTime certainly lived up to everything stated in the website. I was truly impressed with the integration with iCal and the ability to track not just your time but see the reports of others (I have yet to get everyone using it though, hence the blog). The benefit of the iCal integration is that when you’re trying to figure out where that time really went all you have to do is pull up your week or month and there it is. Sometimes you don’t realize how your time really gets used until you start discretely tracking it and see it visually. 

The other major thing for me was the Global Menu Bar Start and Stop. It’s a quick way to start timing without having to go through the run around of launching the program (the application has already found its way to my dock). In all blog honesty I hit a few recurring crashes but I was able to submit the bug and get a quick response from the team. They are also really welcoming with suggestions and enhancements that you throw their way.

There are of course plenty of other talking points for this application that are really eye catching. Not that any of you look to me as the authority of all that is consulting, but this is a consultant must have App!

The blogs are hot with chatter about upgrading to the new iphone 3G. To be honest I’m not exempt from the thought. After having used the iphone since November ’07 I’m more than pleased. (Sigh I’m already speaking past tense) It has truly been the best mobile device I’ve EVER had. But there is something about the iphone 3G that is tugging at the hem of my pants.  Just brining up the conversation with my wife I get a coast to coast eye roll. 
I’ll be the first to admit that it has only been a few months since I’ve purchased the iPhone. In my right mind, I would never have considered an upgrade just after an 8 month purchase. I’m not one to keep up with the Jones’ either. I really don’t need to upgrade my hardware every 6-10 months to feel I’m with the “in crowd”. So all that said and in an effort to placate my conscience i’ll do my best to analyze the situation from a purely fact based approach. Here is my best shot:

  • 3G
  • GPS
  • Upgraded Design – Speakers and such
  • The iphone can be a “hand-me down” (It’s a glorified ipod touch if you want it for $100. I’ll take the first bidder)

So should “i” iphone 3G?

Where were you last week Tuesday? What did you do? How much time did you spend doing whatever you were doing?
I’ve seen enough Law and Order episodes to know that if I’m ever asked those questions I better have an accurate answer. But have you ever really stopped to think how much time was spent working on “X” or “Y” last week Tuesday? For a small business consultant the answer to those questions directly translates into dollars and cents.
There are so many different things fighting time falling into the buckets of billable and non-billable. Keeping track of everything usually becomes a memory exercise when you actually have time after the fact to sit down and write it up. I would guess that more often than not things are forgotten. Think of the phone calls, the quick emails, the text messages, and multiply that by each simultaneous project (Dare I say per client?). Besides project scope creep, not tracking time and billing accordingly can lead to a serious migraine.
So where I’m going with all of this? I’ve been poking around for something other than my notebook, iCal and/or memory to track time. I’ve tried various methods over the years but haven’t been able to really get a solid solution. Personally, every minute needs to be tracked WHILE I’m doing the work.
OfficeTime seems to solve the problem. Upon mentioning it to my business partner ‘JH’ he responded – “Another tool”? But I think I’ve found a winner here. Here is why in a nutshell:

  • Simple “Play, Pause and Stop” buttons to activate a timer
  • Reporting of time spent based on a number of fields (Time, Project, Etc)
  • Team tracking to see how others are spending their time
  • Calendar Integration (Great for me as an iCal user!)

The only way to know if its truly it is the time tool of all tools is to demo it out for 21 days. I’ll let you know how it went.