The recent Drupal 7 release has me excited about the direction of core and some of the new opportunities for developers in the real estate space. One of the strong points for me is the implementation of fields and how streamlined it has made certain aspects of development. There are challenges however and Drupal 7 seems to have lost a step in speed.
I would like to know if there is interest in developing a framework(module or series of modules) by some community members. Last year I had asked the same question but stopped once Pirets and Drealty were released. Both are excellent modules but they don't work for a number of MLS implementations because the RETS protocol is not being followed by the MLS organizations not a fault of the modules or developers who wrote them.
My thoughts are...
1) Create a module as the framework/API for taking data and storing it appropriately. The module will leverage drush on the initial setups of the feeds. The module will take multiple mls feeds from the onset which means the initial data import could be huge and without drush it just won't work.
2) Create sub modules for the specific MLS's and their individual implementations of the RETS protocols. When setting up a RETS feed you would choose the appropriate sub-module from a widget and the module would do all of the work.
3) Create a client/user interface that allows for saved searches and email updates of new listings that meet their criteria.
With the right approach and clear plan I think this complex project can be wrestled into submission.
Drupal 7 is still in it's infancy and if we can get ahead of the curve I think D7 can own the real estate industry.
I look forward to your thoughts.
Will
Comments
re: drupal 7 and real estate
Greetings Will --
You are correct. Drupal 7 and real estate sites are a natural match, especially with RDFa now baked into 7.
However, my interests lead down the opposite path from yours mentioned above. Instead of current MLSs or closed MLSs and RETS, my focus is for MLSs which are open to the public and use alternative XML called Remetal.
I am currently researching Drupal 7 for future Accredited OpenMLS Registrars (AOR) connected to the World Wide MLS (WWMLS) created, developed, and operated by my nonprofit GR8C.
A brief overview is at http://openmls.org.
In my opinion, it's a win-win for developers and the public since they'll each have a choice, especially with Drupal 7.
Open to comments.
Corey
--
Corey Leong
Global Real Estate And Technology Consortium (GR8C)
Executive Director
What a wonderful idea....
Hello Corey,
Your mission is admirable but what a long battle you have ahead. The MLS battles will be fought in court rooms and trenches of which I have no desire to be in.
My interest lies in promoting Drupal 7 and making it a seamless platform for the Real Estate Industry. The flexibility and innovations possible with Drupal 7 are endless. One of the main challenges with D6 was the node system. My D7 knowledge is in it's infancy but the switch to the implementation of the Entity API can really stream line the process interfacing with multiple MLS's and huge amounts of data, tables and arrays.
The concept I listed actually makes more sense to your cause than you may think. Based upon my brief reading of your site it is about opening the data to all. Once it's open how do you bring it in and stay compliant with the different laws of each state. New Jersey's real estate laws differ from say New York or Pennsylvania or Florida. Then there is the brokerage laws and contracts between the agents and the home owners. Fiduciary responsibility. My head is starting to hurt. You already know all of this I digress.
Drupal is open, the MLS data is not. Instead of approaching the module in the historical fashion where there is conflict after conflict with different MLS's my goal is to build a bridge between Drupal the data and the MLS's different RETS approaches without having to recode or hack the module. Instead we would install the module that handles the entities of listings, brokers, agents, etc. Then the MLS specific module would be installed on top. If a closed MLS goes to the open standard your organization proposes all you have to do is change the module for the MLS to use your XML Remetal.
What if a real estate brokerage belongs to 2 MLS one that is open and one that is closed? We still need a way to handle the data in Drupal 7. If you approach it from the us or them mentality it is doomed. With 2 different feed types there is currently no efficient way to handle it in drupal 5, 6 or 7. If a brokerage belongs to an MLS that Pirets doesn't work for then what is their option?
In my opinion no one should have to hack or customize a module in Drupal's future. With the proper design modules should be extendable. They should not have to be hacked to work. A simple add on module that changes the parent module should be the only approach. These add on modules can then be contributed back to the project for the world to consume. It's your win-win for clients and developers. The commerce module is a perfect example. Though its not complete once it is Ryan and the other developers(who's names escape me) will have helped revolutionize the platform indefinitely.
You have to convince 900+ MLS that your way is the future. I sincerely hope you do.
In the mean time we need a Drupal 7 seamless solution for the real estate industry.
For other developers reading this, the 900 MLS serve millions of realtors websites. There is a lot of money to be earned by this approach. The real estate industry is polluted with poorly designed closed solutions. An agent with a website probably pays anywhere from $50 to $400 per month for a website that barely works.
Anyone interested let me know your thoughts.
Will
Re: What a wonderful idea....
Hi Will --
Sorry for the delay, the weekend got in the way.
The main difference for OpenMLS is implementing an accreditation process. OpenMLSs will need to apply to be formally accredited by my nonprofit. And one of the policies in the accreditation policy is that an accredited OpenMLS cannot operate or be associated with a realtor association. This policy addresses your worries regarding litigation, evangelizing to the 900+, and any open data issues. It's an entirely different network and I have rebuilt the entire infrastructure from the ground up which I will begin to divulge in the coming months.
With that out of the way, my goal is to use Drupal 7 to create a demo MLS on the web. I would be more than happy to share my progress with this group here. As you stated above, I'm sure there will be some common ground between the two types and duplicating effort is always inefficient.
My ultimate goal is to help create a new market and new jobs for drupal developers.
Thanks Will,
--Corey
MLS on drupal will be easy...
Corey,
You could write an MLS straight out of core with a few contributed modules. There is nothing complicated about it once you add the appropriate modules.
Why would anyone move to a model that excludes Realtor associations? Why would anyone list their home away from the masses(traditional MLS)?
Changing the RETS protocol to an open true standard is a great concept. Eliminating the million plus professionally trained licensed realtors and their associations will never work. The public trusts that their representatives(realtors or agents) have their best interest at heart. It's hard for me to grasp an accreditation that omits the professional standard.
Best of luck with your project.
Will
Re: MLS on drupal will be easy...
Will --
Thanks for the suggestions. From here on out, I'm shutting up and putting up drupal related work only. We could go on and on pointlessly in regards to what's good or bad for the RE industry.
Three basic functions for a demo registrar I'm building are as follows:
I'm going with Drupal 7 and Postgresql 8.x db. I'll also need a messaging module for communicating with a messaging router located in our AWS cloud.
-- Corey
2) Create sub modules for the
This made me smile. Oh, what a wonderful "standard" RETS is!
One approach to this which I currently have about 90% implemented in PIRETS might work like this:
So then, per-server compatibility modules would have three points of access to alter the querying process to meet the needs of a non-standard server implementation: before the query happens; on the raw data returned from the server on a query; and on the parsed data.
Just an idea you should feel free to steal, and how I'd implement it if I were to write PIRETS all over again, God forbid.
I have a similar path
My approach(very early) is to first create an efficient bridge that pulls in all the data and updates in their entirety. It makes larger Db but eliminates the complicated front end. Once the data is pulled in easily, tongue in cheek, then we can work on the node structure.
Instead of modifying code you can easily write the alter in a sub module. This allows two completely different RETS implementations to work seamlessly on a single Drupal install.
Thanks for the feedback. You could just rewrite Pirets for 7 to save us all the trouble.
Will
You could just rewrite Pirets
If I were to rewrite PIRETS, it wouldn't be a straight rewrite. I'd add oft-requested features that it doesn't have currently yet couldn't be implemented in the current version of Drupal without some fundamental changes; most notably, the ability to pull data from more than one RETS server per site.
And I'd want somebody to pay me a whole heap of money to do so. Sorry, but my interest in enterprisey and almost universally shoddily-implemented real estate listing protocols is not deep enough that I'll rebuild it from the ground up out of the kindness of my heart…
Have you considered creating
Have you considered creating a Kickstarter project for it to get the funds? Are you familiar with the Kickstarter platform? It allows you to commit to a project, but only when the funds have met your demands. I would totally be your rally support team if you set one up, I'd also make a significant pledge myself. I bet we could meet your price!
Since my last post, things
Since my last post, things have been made further complicated by the fact that I've moved to the other side of the planet and am now going to school full-time again. Since I'm only working part-time (in between the times I try to have a social life), my time to work on PIRETS is limited (and that's assuming I were to quit the jobs I currently have, which I'm kinda eh on). And I am familiar with Kickstarter; enough to know that making just a proposal itself requires a good deal of work and making a bunch of promises I may not be able to keep given current life chaos.
So… yeah. =[ I don't know; maybe. Would anyone else here be able to make a "significant pledge?" How significant?
Property listing module
Property listing module not working in drupal 7 real estate?