Current projects
Here’s a list of stuff I’m currently working on.
PIRETS 2.0
My first big project when I joined Precision Intermedia was that of a real estate company, Benchmark Realty. They wanted to have searchable real estate listings on their site. The local realtor’s association provides a database of such listings through a third party, which is accessible using a protocol called Real Estate Transaction Standard (RETS).
When I was hired, work on this project was underway by some programmers who work out of the office, but they weren’t getting very far; as budgets and deadlines became increasingly doomed, I was brought into the project to see if I could help. And though I may sound immodest, I did end up finally wrapping my head around RETS and bringing the project to something resembling a state of completion. Among the problems were that the documentation for RETS is all sorts of confusing at first, and that even once you think you’ve got it, the company that was providing the RETS server sometimes had things implemented differently than was in the documentation.
Most annoyingly pointless, though, were the field names. You’d think the property ID number and price would be in fields with names like PROP_ID and LIST_PRICE, right? Nope, they’ve got names like LIST_105 and LIST_87. The server does provide a metadata option which provides a list of fields and what they mean, but you’d think the field names themselves could be a little more self-explanatory. And some fields plain did not work. The client wants properties which are listed as active or are pending with contingencies to appear on the site. The server will tell us if a property is active or pending (I think it was LIST_32 or something), but even though the metadata tells us there’s a field for letting us know if a property has contingencies (LIST_55, maybe?), it’s always empty. The hack we ended up implementing was searching for “contingen” in LIST_78 (the description field).
So it should go without saying that PIRETS, as we called it (Precision Intermedia RETS; we are so clever) is a messy, hulking, fragile behemoth built by too many cooks which we did a whole lot of unpaid debugging on even after we went live, well past the deadline and over budget.
Fast forward a year; we have another realtor client who wants another searchable web site. Only this time, I know what I’m doing and what the client is expecting, I’m aware of Drupal’s presence and how it can make life easier, and my own skills have increased manifold. It was time for PIRETS 2.0.
This time, instead of bothering with trying to query the RETS server for each search a visitor does, we’re instead caching all of the property data locally and just searching on that. The hard part has been making sure the local cache is reasonably up-to-date with the RETS server… and handling pictures, which are their own special headache because they must be requested one at a time. And if we want to hotlink the pictures off of the RETS web server (the alternative is caching those locally as well - no thanks), we have to - get this - actually download the image, then just peek at the headers the web server sent us for the “Location:” header. The rest of the data is disposed of. Sadly, this seems to be directly to RETS spec, so I can’t blame the data provider for this one.
Anyway… I’m hoping by early next week to have something worthy enough to show the client. From there, we might even end up taking it back to Benchmark and saying, “hey, we did it for reals this time!”
SigFeeder 2.0
After that tl;dr-age above, I won’t go into depth about SigFeeder. I’ll just say that I’m glad to see that so many people are still using it, yet frustrated that I can’t use it myself since it’s incompatible with the feeds Drupal provides. So I’m rewriting it - in Drupal, of course. Progress is slow since I don’t really feel like working on it very often; I’m just now at the point where I’m starting to figure out how I’m going to fetch the incoming feeds. FeedAPI’s the word. Like many other third-party APIs, it’s kind of poorly-documented, but it’s small enough that I was able to wrap my head around it without too much difficulty. Still a long ways to go before it goes live… If I recall correctly, I spent about a month and a half coding the original SigFeeder, and that was when I didn’t have anything resembling a full-time job.
Pathologic Beta 12
I released a new version of Pathologic today, to squash a bug. I even managed to get the correct files uploaded to CVS on the first try this time. Go me!
Project X
I have another project I’m working on, but since I’m contributing to it anonymously, I don’t want to link it with my real name; at least, not yet. Let’s just say that it has to do with using Drupal as a wiki. There’s various modules to help with this, but I’m not satisfied with a lot of them - I might end up reinventing more wheels than I really should.
Comments
Post new comment