Final Update

As of today I’ve wrapped up my work on Orion and UCOSP. My exit report is finished and will hopefully provide valuable assistance to whoever takes over. Since this is my last blog post I’ll give a summary of what I’ve done this semester.

My primary achievement was porting jsdepend from Scripted to Orionode on the server side. This involved learning how it was implemented in Scripted, figuring out how it would fit in to Orionode and then actually giving it a shot to see if I was right. Having never worked with JavaScript or much in the way of web applications it was certainly a learning experience for me. The early weeks were definitely a slog as I learned my way around not one, but two code bases. Luckily I had great help and support from both Scripted and Orion developers including Ken Walker, Mark MacDonald, Andrew Eisenberg and Kris de Volder.

It turned out that, with guidance, I was mostly right and after some trial and error and lots of reading code I had a working implementation of jsdepend in Orionode. In some ways, it was surprisingly easy, with the main work being to replace the servlet that Scripted used to expose the jsdepend API with one compatible with Orionode. I spent a little more time making sure everything was actually working and there wouldn’t be any surprises from essentially dropping jsdepend into Orionode with no modifications to the code itself. With that, and test coverage using the Mocha framework which Orionode uses, I’m confident that jsdepend is ready to go, at least on the server.

My last week has been spent digging into the client code for Scripted, looking at the components involved with jsdepend. Unfortunately there wasn’t enough time to actually start trying anything, but it seems that the remaining work will be very similar to what I’ve already done. There should be minimal changes to existing code, but a wrapper around what’s called the indexerService in Scripted will most likely be required to make it work with Orion. The indexerService being what grabs the current file, all dependencies, parses them and stores this information to supply content assist to client.

On the whole I had a lot of fun as part of UCOSP this semester. I’d recommend the program to anyone looking for a change of pace from normal classes. I got to meet some great people, including my teammates, who I unfortunately didn’t get much of a chance to work with since this was a solo project. I’d also like to say thanks to everyone who volunteered their time to give us this oppurtunity, and with that I’ll be signing off.

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s