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.

Posted in Uncategorized | Leave a comment

Weekly Update #8/9

Between other projects, exams and being sick the week before last was a bit of a wash so here’s another combined update.

This week:

  • Implemented error handling for the Orionode jsdepend servlet
  • Sort of figured out mocha and wrote some test cases, still need to polish these off
  • Updated design doc

Next week:

  • Start looking at what needs to be done to implement indexerService and a jsdepend plugin on the client side

Problems:

  • Nothing too major, just waiting for feedback on my existing code
Posted in Uncategorized | Leave a comment

Weekly Update #7

This week:

  • Jsdepend is now fully operational on the server side of Orionode
  • Turns out no filesystem wrapper was actually required, though may be desirable

Next week:

  • Make any necessary changes based on feedback from Scripted/Orion devs
  • Final polishing and documentation

Problems:

  • None
Posted in Uncategorized | Leave a comment

Weekly Update #6

This week:

  • Got feedback from Scripted devs on how best to proceed to expose jsdepend’s API in Orionode
  • Implemented a replacement for the jsdepend servlet that works with Orionode’s middleware

Next week:

  • Create a wrapper for Scripted’s plugable-fs to make it compatible with Orionode

Problems:

  • None
Posted in Uncategorized | Leave a comment

Weekly Update #5

This week:

  • Jsdepend is “technically” running under Orionode
  • Got all dependencies resolved and can require the servlet without anything blowing up

Next week:

  • Unfortunately the servlet needs to be replaced with a wrapper that exposes the jsdepend API in a way compatible with Orionode

Problems:

  • None
Posted in Uncategorized | Leave a comment

Weekly Update #3/4

These two updates are getting smashed together since the week before last wasn’t particularly productive.

This week:

  • Familiarized myself with jsdepend, how it’s used it in Scripted, and the filesystem component that will be the main source of required modifications
  • Dove into Orionode to see if there’d be any tricks to getting the jsdepend servlet running, but it looks like it should be relatively simple

Next week:

  • Want to get jsdepend running on Orionode
  • More design doc updates

Problems:

  • None
Posted in Uncategorized | Leave a comment

Weekly Update #2

So this update is gonna be a little shorter since my last one was delayed and it definitely hasn’t been a full week.

This week:

  • Talked with Scripted and Orionode devs and got an overview of how content assist works in both editors

Next week:

  • Diving into the code, probably starting on the server side for jsdepend
  • Update design doc with my better understanding of what needs to be done

Problems:

  • None
Posted in Uncategorized | Leave a comment