Results tagged “Jifty”

I am now almost finished with my first week of orientation at my new job with Pittsburgh-based Grant Street Group. I’m going to be doing some software development on one of their product lines and have spent much of the week in training to use the product. I’ve also spent a lot of time reading policy, learning development practices, and digging through the code. I’m hoping that I can start digging in and actually working in the near future. I’ve gotten to meet several members of the staff as well and am very excited to be working here.

Now that I’m no longer looking for work, however, I’m hoping that I can start catching up on my back log of hobby projects that need to get done. This includes some items on the honey-do list (like cleaning the garage which never seems to happen), but I’d really like to get the second half of my latest O’Reilly article published sometime this century. I’ve had at least one person ask where the other half of it is and I really need to get the rest of the text fleshed out and off to the editor (all done, but finishing up the research).

I’m also trying to figure out what other hobby projects are going to be kept and which ones need to be canned now that I’ve switched jobs. I have some loose ends to tie up. One that is likely to be canned is my relationship with Drupal. I think I’m going to have to pass the modules off to other developers (possibly to my former employer) or drop maintenance altogether. I don’t have any need for Drupal at this time with my blog now on Movable Type, no longer working with a company using it, and I’m no longer maintaining the site for New Hope.

I’m still evaluating my relationship with the Jifty project. I really like it, but I’m not sure where it fits in my current work-life balance. I have a couple home toys I’ve written to use it, but nothing serious. I really did like the prospect of helping on the documentation side of things there more, but I’m having trouble really finding time for that. Having a son really sucks time away from being able to do much in the evenings just for kicks and giggles. (That’s not a complaint. I could very easily choose the projects over Gabriel, but who’d want to do that? Gabe is way too much fun to avoid spending time with!)

I guess I’ll see how things shake out over the next few months.

Cheers.

This past weekend I decided to dink around with Jifty to create an app for listing my current and older development projects. In the process, I'm starting to build what I think will become my new blogs. We'll see, but so far things are looking good. Anyway, if you're interested in some of the projects I'm currently working on and what I've got so far in the development for my future web site, see:

//projects.contentment.org/

For the past few months or so I've been dinking around with CAS
and OpenID
and a few other protocols for web single sign-on
. The reason for this is primarily because at work we run a multi-platform web site. For the main content portion of our web site we've been using Magnolia
and for the community side of the site we've been using Drupal
.

It's kind of an odd setup, but it works. The structure might change in the near future, but that's a different story. We've got a few other products and services that we're also building. However, we don't really want members to login multiple times whenever accessing a different segment of the web site. This is where single sign-on comes in.

For the initial revision of the work I created a homebrew solution of single sign-on. It's immature, it doesn't really handle some of the security concerns it really ought to, and it's maintained only be me. Needless to say, this was a quick and dirty rather than ideal solution. The plan all along was to create a tool that could provide a single sign-on service in a standard way so that we didn't have to do much, if any, of the maintenance.

My research led me to conclude that CAS (Central Authentication Service), created by Yale, is really the best solution available. There are several others out there including Cosign, Crowd, OpenSSO, and others. CAS is the most widely supported of these schemes and it implements a very robust, simple, and functional protocol.

The major drawback to CAS, for me, is that it is written in Java. This isn't a terrible issue at work since we already use a J2EE server to support Magnolia. Yet, my experience with J2EE servers (even the ones that are just servlet containers) has led me to believe that they tend to be more difficult maintain than Apache with CGI or FastCGI add ons. Furthermore, I have some interest in using CAS on my own web site, but don't have the means to host a J2EE server without changing how I host my site (and I'm very happy with DreamHost
).

Therefore, I decided to see how difficult an implementation of the CAS server protocol would be in a different language. It was not difficult. The protocol requires fewer than 10 HTTP request/responses to be implemented and the processing required to build those actions is straightforward. Viola, we have CAS+.

CAS+ implements the complete CAS 2.0 protocol. As far as I can tell (without asking as I haven't contacted anyone in the CAS realm), the CAS 3.0 protocol does not exist or does not differ from the core of CAS 2.0 in that it consists only of aspect-oriented hooks to extend CAS+.

My plans branch further in that I want CAS+ to be a more general solution to this problem than CAS is. CAS is meant for use in a totally secure environment, whereas I'm willing to sacrifice a few things for additional flexibility. I've implemented CAS+ in Jifty
and am using CAS+ as a test bed for the work I'm doing with Jesse Vincent on the "virtual-models" branch of that product. Finally, I am thinking of building CAS+ into a more general authentication solution. There's no reason why it couldn't also support some of the other SSO protocols that exist and I would love for it to be an authentication source and sink for distributed authentication protocols like OpenID.

Okay, so that was kind of a meandering way to introduce CAS+. If you're at all interested, feel free to check out the Subversion repository where it's hosted. This is the only project resource I currently have for accessing anything about it. If you want help with it, you can use the Jifty developers mailing list (see Jifty.org
for information) or see me, zostay, in "#jifty" of the freenode IRC server.

Here are the important links:

For a three years now, one of my favorite IT tools on my bat-belt has been RT
from Best Practical
. RT (Request Tracker) is just another bug/incident tracker, but it's got a lot of great features like seamless email integration, highly customized access control, a self-service web site, and the ability to make public replies and private comments on any ticket in the system (allowing you to keep the shop talk as technical as you need to record solutions while only giving the end-user an overview of the solution).

I noticed in the last couple months that Best Practical has created a new service web site called Hiveminder
, which is basically just a to do list manager. However, as to do list managers go, it's pretty nice. I've been using it for a week now just to see how I like it. The jury is still out on that one.

Of course, I'm never satisfied with just seeing a service, I wanted to know how it worked. I initially thought that Best Practical might have adapted their RT to handle to do lists (which wouldn't be very hard) and added some nice JavaScript front-end enhancements. That is not, however, what they did. They've been building a web development framework called Jifty
on which Hiveminder is built. This isn't really news, but it was news to me so I added it to my list of things to look into when I had the time.

This weekend I decided to finally install it and give it a shot. So far it's wowed my socks off. Before this web site became just another part of my blog, I was working on a web framework. So far, Jifty is the web framework I would have written if I'd really had the time and experience to make it happen. I'm building a very small image gallery application to see if I can get something more to my liking than anything I can fid that's already written. I'd say that after a few hours (thoroughly interrupted by feedings and calming a 1 week old) I'm well on my way to something very nice.

If you're familiar with DBIx::SearchBuilder
(used extensively by RT and, I believe, written for it) or with the internals of RT, Jifty will look familiar as well. They've reused a lot of similar ideas. For example, Jifty::DBI
is the database development framework, which is pretty much a rewrite of DBIx::SearchBuilder with a lot of the functionality that RT extended it with and an extensible new way of writing database schemas. Jifty itself does almost everything for you automatically and then you can choose which parts of the built in functionality to override. It provides some nice tools for making your site look really nice and have that all-in-one-page-Ajax-feel.

Anyway, I'm pretty excited to see what I can do with it. If I successfully put together the image gallery application, you can look forward to seeing it here sometime during the next month.

Cheers.

1

Tags

Find recent content on the main index or look in the archives to find all content.