Working on a RETS module...

Events happening in the community are now at Drupal community events on www.drupal.org.
will_kelly's picture

First I should admit I am a realtor and not a programmer. Wordpress has a ton of solutions(more coming out daily) for real estate and currently Drupal has none. Not a single working D6 RETS module that is Open Source. Let me just say there is a ton of business out there in the real estate industry. If the Drupal community could come up with a flexible solution there is a lot of opportunity.

I undertand that there are companies that want to retain their modules and try to continue to monetize them for their own benefit. I respect this but in an effort to continue with the Open Source mentality I have decided to create a module that is highly extensible and customizeable.

The module should:
-Handle Multiple RETS feeds with custom cron settings per feed
-Take advantage of the Batch API
-Mapping of fields
-CCK/Views out of the box
-Custom Search Functions
-Built in Blocks and Views

Additional features that make sense:
-GMAP/Location built in
-Client/User Management- CivicRM may work for this.
-Multi-site For brokerages

At this point what I have done is limited.

1) Built Feed Form.-The Feeds form allows you to create an unlimited amount of feeds and to make them Active or In-active. I have not figured out the best way to edit these feeds once they are in the DB. Currently you can test the first feed in the table.

2) CCK Creation- the module auto creates CCK types on install. All the developer has to do is add a CCK export to the module(ie. listing.cck or rental.cck) On install the module loops through the file and installs the CCK types out of the box. I need to work on an uninstall solution to remove the necessary files but that can wait and shouldn't be hard.

The module currently connects to the Center For Realtor Technology demo server but it is a long way from being finished.

My next goal is to work on the mapping of the feeds and managing different mapping for different feeds.

If anyone would like to get involved, please contact me. I will certainly share all that I have so far and anything in the future free of charge. No strings attached.

Here are a couple of questions I need specifics on:
1-Does anyone have experience in mapping fields for CCK types? If you do can you point me in the right direction to a good tutorial or maybe write a post with some code here on the board.

2-I was thinking that maybe it would be better to import in a series of connections. First bring in the data. Then go back for the images.

3-Is performance affected by cck and views on a site with 100,000's of nodes? I have tried to read up on the topic but their are mixed reviews. I think having the cck/views built in will make this module port easily to D7 when it is ready. This way we don't have a break like we did with the MLS module in D5.

4-What are people using for image display? Any modules you can recommend? It would be great if there is a seamless slideshow or jquery display that someone could point me to.

My goal is to have a working module by April 1, 2010 released to the public. Anyone want to help?

Will

Comments

I agree

movemaine's picture

I agree - there seem to be a lot of solutions out there for Drupal, however no one wants to share them.

In terms of your development - I think it would be more beneficial to the community as a whole if it could function as a stand-alone module (no RETS) with RETS capability. I design a lot of real estate sites (none in Drupal) and there are alot of different MLS systems out there, and only a small percentage of agents actually use the feeds. Most agents I've designed for don't use the feed, and end up inputting the listing data themselves into their own site.

Flexiblity is my goal

will_kelly's picture

Movemaine-

I agree with you. One of the concepts that I have built in from the ground is making it flexible.

My goal is to have the module set in a way that allows developers to committ extensions for the module. If the Chicago MLS uses an IDX standard then there will be an extension for this feed that is a plug and play. If the New Hampshire based MLS is Rappitoni then that will have another extension. If the module has a great foundation then in typical drupal fashion we can scale it up in usability.

When you set the feed you will choose the "standard" that works best. If there are quirks with that MLS or feed then hopefully we can grow the module with a few tweeks of code and another option for the feeds we handle.

I think developers spend so much time figuring out the structure that by the time they have all the kinks worked out they have invested a ton of time, resources and money. It only makes sense for them to want to earn back that time, effort and money. By having a base module I think there will be a lot of time saved and hopefully Drupal expansion into the Real Estate Market.

If you could post some of the sites you have up and running it would be great.

Will, by the end of the week,

Garrett Albright's picture

Will, by the end of the week, we're going to have a site up for our module, PIRETS, which will handle many of the tasks in your list. Not all of them, but enough to be the cornerstone of a great Drupal-powered real estate site. We will also have code up on D.o for download for all. I just have to be able to find the time to get it done. Before you continue doing possibly redundant work, I encourage you to hold off until the end of the week.

That's great news

will_kelly's picture

I look forward to seeing your work.

Unfortunately I am deep into this project at this time. If anything it has taught me a ton about the backend of Drupal and the more I try to complete it the more I improve my own coding. I'll stay the course at this point because I'm learning a ton. Also I have tried to build in a few extras that I don't think are on most realtors radar but will hopefully be a good selling point for developers to go out and sign realtor clients. There may be a way to tie them in to your module after the fact.

All the best

Will

want some help?

finius_lyn's picture

I would be willing to help out if you need it. Just let me know.

D5 had Rlisting

bkelly's picture

Drupal 5 had an rlisting module that I had used. The guy put a lot of work into it but it was too slow in our environment, (20,000 - 30,000 listings). I believe the module is unsupported at this point.

As an exercise to learn D6 earlier this year I built a suit of real estate modules and an import program for a listing service in Maine to replace it. I wanted it to be search engine friendly so I themed it using zen, (also an exercise to learn zen-6).

The import creates brokers and agents with their own pages. Assigns agents to brokers and listings to agents. Locations are via the gmap/location module. I used lightbox to display a listings gallery in teaser view, (keeps the results page light) and ripped off the node_images gallery for the full nodes, (also seems to work better for older IE browsers). Since the module started as a exercise in simplicity, (6 days work) I used taxonomy for search and display, (and aliases, rss feeds, caching etc.). Demands for more precise searches has resulted in a two distinct (schizophrenic?) search methods, (I'm not sure where I'll go).

I have to say from a performance standpoint, (and I'd like to think user experience) the results really have been pleasing.

Page size is half, page loads are 5x faster, (the old one really was a dog), SEO is up 3x. We currently have more return visitors than we did all traffic before and time on site is hovering around 10 minutes.

With success comes more requests. The needs for the module to integrate "For Sale by Owner" and Rentals has me rethinking the architecture. I believe that I need to create a more basic listing type and have "Real-Estate", "For Sale by Owner" and Rentals extend the base type.

Sorry to say the installer needs mountains of work, the codebase is a moving target, the import is specific to the Maine listing service and much of the taxonomy is also.

At this point with D7 coming out any day now, a port that's ready for prime time might happen under that framework, (another learning exercise?).

If anybody has any specific technical questions, I'll try to answer.

Here's the URLs -
Live: www.mainehomes.com/
In Development: http://realestate.downeast.com/

Please be kind.

Have Fun - Bill

Those who will not reason, are bigots.
Those who can not, are fools.
Those who dare not, are slaves. - Lord Byron

Real Estate

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: