Archive for March, 2006

Rails 1.1, acts_as_taggable gem, and Desko

Thursday, March 30th, 2006

I’ve upgraded Desko to the new Rails 1.1 and it broke the acts_as_taggable gem. Apparently, find_tagged_with calls the Rails method add_limit! which has changed. The great thing about the change is that the RDocs haven’t. The problem is that add_limit! now takes 3 arguements instead of 2. The extra one is now scope. To temporarily patch the problem I made acts_as_taggable pass in nil as the 3rd arguement to add_limit!.

More good news is that I still haven’t gotten AJAX file uploading working. I’ve gotten Kyle Maxwell’s form_remote_tag libraries working so the form is displayed right at least. The problem now is that it doesn’t upload and doesn’t render anything new to the view. I’ll get it eventually.

File Uploading via AJAX using Rails Helpers

Tuesday, March 28th, 2006

I’ve come across an interesting situation when trying to write the Desko filesystem plugin. The issue is that I want an AJAX call to upload a file to Desko. The problem is that Javascript shouldn’t be allowed to access the local filesystem for security purposes. Apparently there is a hack around it (meaning there is a security risk with Javascript still?). I was trying to get others’ fixes working. One of them uses RJS templates which required me to install a gem for it. RJS from what I can see is a template that uses Javascript(rjs) instead of Ruby(rhtml). There is a nice helper function with it that does the AJAX file upload workaround automagically and I wanted to use it. RJS is supposed to be integrated into Rails 1.1. Lucky for me, Rails 1.1 was released today. I’m excited to get home to try it out and see if it can do what I want.

Desko Status Update

Friday, March 17th, 2006

Desko has come a long way in such a short time. I’ve gotten the GMail plugin to read and send emails and the interface is pretty functional. I’ve spent a little time getting some JavaScript updates making the look and feel consistant for the tool. It is by no means complete but for now I think I can start the next big plugin, the taggable filesystem. I’m really excited about starting this plugin. It’s definately one of the more critical plugins for the type of functionality that I’m looking for with Desko. My short term goal is to have my resume in the Desko filesystem and be able to attach it to an email with the GMail plugin. This will require me to be able to encapsulate the file using SOAP or XMLRPC and then hook it into the GMail plugin. This is where things will get really interesting for the core Desko code. It will need to somehow manage how these different plugins interface likely need a published API. The API will emerge from the basic email attachment goal. I haven’t spent much time on designing how everything is going to interact but it should be an interesting challenge.

Desko vs. EyeOS

Thursday, March 9th, 2006

I was very happy with the progress I made on Desko today. I can successfully log into GMail and retrieve a list of my emails without downloading the entire inbox. It took me a little while to find the problem and it was quite simple in retrospect. I also made things work a little better while I was at it. I was generally feeling very pleased with the project when Corey sent me a link to eyeOS. It’s an open source online desktop written in PHP. It’s much further along than Desko and has a little community as well. It’s not exactly what I was shooting for but something very close no doubt. I plan to keep working on Desko as I see some differences in our approach. eyeOS seems to want to recreate a bunch of different apps and store them locally. Desko’s purpose is to integrate different apps together. Sure eyeOS is capable of such things but it isn’t the focus from what I gather. Also, I think Desko should be taking a distictively different direction in that it needs to focus on social networking. I want a taggable filesystem and I want to be able to share everything. Not just my files but my instances of webapps and my whole Desko instance if i want. I want to create a community of users and have Desko be the app that allows them to share among themselves. Desko is more than just a dumby replacement of the traditional desktop. Its a way to integrate and organize everything we do. It isn’t just an isolated individual running isolated apps but members of a community communicating and sharing data among themselves via Desko. That data can come from local or remote apps. The idea is to integrate it all together.

RadRails

Friday, March 3rd, 2006

Until today I’ve been coding Ruby programs in emacs. Since I just reinstalled, I don’t have any customizations for my emacs yet so I figured I’d explore some alternatives. I checked out RadRails since I had been meaning to for a while now. It’s an IDE written using the Eclipse RCP. It’s pretty slick and I’m planning on sticking with it for now. I already feel more productive.

GMailer

Friday, March 3rd, 2006

I’ve been actively working on Desko the past few days and have come across a nifty little gem called GMailer. It is a hacked GMail interface written in Ruby. This would be a perfect tool to get the GMail plugin for Desko up and running. The only problem is that GMailer doesn’t really work right. I’ve been hacking away at it and it seems to me that responses it is communicating with GMail aren’t quite accurate anymore. The latest code was published in Septembet 2005 so I don’t know if anyone is working on it anymore or not. I posted a forum message and I’m just waiting for a reply. I’ll probably end up joining that project to get it working again for them so that we can use it in Desko. GMailer has a lot of code that probably still works for the most part so there’s no reason to reinvent the wheel here.