Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#1 2009-02-12 12:25:04

Bloke
Developer
From: Leeds, UK
Registered: 2006-01-29
Posts: 11,453
Website GitHub

Dynamically manage an estate agency site

I know a few of you have put together estate agency sites in the past so I’d like to just pick your brains please.

The background: My Dad’s business site has been put together by the people he hosts with and it’s running IIS, using ASP with hard-coded HTML and they use Dreamweaver and… the list of nightmares continues.

My Dad uploads properties to a directory on the web server via his property management system once a day. He clicks a button and it transfers the day’s info for him. It uploads an index file — just a glorified CSV — along with a load of jpgs of the properties, tied to the property ID (eg. ACA039_6.jpg is the 6th file from Number 39 Acacia Avenue; the naming convention is a bit more complicated than that at times, but essentially that’s it).

The people who wrote the original static site had no clue about dynamic content (erm…) so after some wrangling they gave me FTP access. I put together a small module on one page that read this text index file and showed navigable properties via JS. I turned this wodge of text into a huge javacript array on the fly and then showed each property, its pics, details and a link to a Google map via the Postcode. Pretty easy really considering I’d never written ASP before (and never want to again) and had to use the Microsoft Jet protocol which is just awful!

The problem now is that, due to everything being on one page, the properties can’t be crawled by various 3rd party property aggregators. Such aggregators need an XML document / RSS feed / sitemap of each currently available property, and a hard link to redirect people to any particular property.

My Dad’s thinking of redoing the site (hooray I say!) and wants each page to be an individual article — or at least to look that way to the search engines. If I can convince him to ditch the host he’s with, what are my chances of using TXP for this?

Of you — far more experienced — people who have done such sites in the past, how do you organise the properties? One property = one article? Have you integrated a site with another property management system? How would you do it in this situation?

For my Dad and his employees, they can’t be using the TXP admin side at all. It’s not an option, as they won’t want to keep two systems up to date. The few static pages are all things like “meet the team” and “what we do” and “why choose us” etc which might change once a year. The meat of it is the properties themselves (btw they do lettings as well, which is a separate file but in a similar format).

My guess is the TXP database would have to be updated via the uploaded text file(s) and their associated images. I’d need to perhaps dynamically create/update articles or find some way to make it look that way. Or is that just asking for trouble? Any other way to approach it? The caveats:

  • When a property is sold subject to contract it needs to indicate that (e.g. a custom field set to “SOLD” or something)
  • If new pictures are taken they will be uploaded in the daily upload and need to be taken into account (e.g. added to article_image)
  • When the sale goes through, the property has to be removed from the site. This situation is indicated by the property being missing from the text file on next upload (though old images remain behind, which is a pain… I had to write a “hidden” page that they could run to tidy the directory up every now and again)

This is all taken care of by the property management software they use. The text file/images are uploaded once a day and the web site thus needs to reflect the day’s activity. The only way I can think of is to trigger something to run at a specific time of day (or poll for the uploaded file), delete all properties in the “properties” section and re-insert the current ones based on the index file.

It sounds awfully complicated — not out of my technical league, but a lot of work — and I can’t help thinking there’s a simpler way to manage it. If anyone has experience with any of this and can offer some guidance or pointers or “I’d do it this way” type stuff, I would be incredibly grateful. Even if I can’t do it myself or (ab)use TXP for this, I can perhaps advise him of people who could do it (anyone want a job?!), or at the very least what sort of questions to ask of the people he chooses to put the site together.

Many thanks in advance.


The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.

Txp Builders – finely-crafted code, design and Txp

Offline

#2 2009-02-12 13:21:33

maniqui
Member
From: Buenos Aires, Argentina
Registered: 2004-10-10
Posts: 3,070
Website

Re: Dynamically manage an estate agency site

Hi Bloke, rare to see a genius like you asking for advices, when you are usually the one giving help and clever solutions (and crazy plug-ins mash-ups) for achieving things with our beloved TXP.

What about using jmd_cvs? Maybe combined with a XML-RPC client for desktop, so it make things easier to update?

For my Dad and his employees, they can’t be using the TXP admin side at all. It’s not an option, as they won’t want to keep two systems up to date.

But isn’t the idea to migrate from the old ASP system to a totally new TXP-based system? Of course, during migration, both system have to be kept up to date, but once all the information is on TXP, why not to definitely switch to TXP?
If they want a better/simpler system, they will have to learn a few new things to maintain it.

I would go for the one property = one article.

User duchamp was creating real estate site using TXP.


La música ideas portará y siempre continuará

TXP Builders – finely-crafted code, design and txp

Offline

#3 2009-02-12 14:09:16

Bloke
Developer
From: Leeds, UK
Registered: 2006-01-29
Posts: 11,453
Website GitHub

Re: Dynamically manage an estate agency site

maniqui wrote:

rare to see a genius like you asking for advices

*blush*

What about using jmd_cvs?

Possibly. It depends if I can get it to run the way it needs to run. I’ll check it out, thanks for the idea.

Maybe combined with a XML-RPC client for desktop, so it make things easier to update?

*shrug* never used xml-rpc. Guess I should read up on it, eh?!

But isn’t the idea to migrate from the old ASP system to a totally new TXP-based system?

Yes, I’d like that. But I only considered TXP because I know it; I’m not sure it’s the right tool for the job. I mean, I’m sure it can be made to do it, but am I digging a hole for myself when something else can fit better? That’s why I’m asking if others have done a similar system. Presumably, with the number of aggregators and property management systems out there, this can’t be a unique problem.

Of course, during migration, both system have to be kept up to date, but once all the information is on TXP, why not to definitely switch to TXP?

I could. But the properties change daily. There are no “properties” as such in the current web site. The entire page is dynamically generated when a visitor clicks a link to view the current list.

Imagine storing/generating/updating 100 properties (articles) every day without ever visiting the TXP admin side. That’s what he needs to do. The property management software spits out a CSV file and the entire TXP database — every article in the ‘properties’ section — needs updating/creating/deleting based on the contents of that one file. Every day.

Off the top of my head I would envisage setting up the site like this in TXP:

  • section: about
    • articles: meet-the-team, what-we-do, why-choose-us, etc
  • section: services
    • articles: things-we-offer, some-random-services, etc
  • section: contact
    • article: get-in-touch
  • section: properties
    • articles: none ; to be populated by reading the CSV file every day
  • section: lettings
    • articles: none ; to be populated by reading the 2nd CSV file every day
  • images directory
    • empty, to be populated by the FTP upload process once a day

See what I’m getting at? If one article = one property, every article needs to be created by software, not a person. The page template reads the articles and associated custom field info (price, central heating type, number of bedrooms, location, bathrooms, garden size, etc, etc) , does article navigation, offers RSS feeds, a sitemap: in short it does everything a good site should, but without a human writing a single article in those two sections :-|

My Dad and his team use some third party software on their PCs in the office to manage their properties. They enter details, pics, rent information, and so on. They can click a button and it’ll print a property details sheet for someone who walks in off the street; it can print standard info for the properties in the shop window; it can calculate rent that’s owed, arrears, etc. They can’t get rid of that system because it manages every facet of the business. Apart from the web site, which is a separate entity.

Their software has this one button that they click at 5:30pm every day (ish) which has been configured to upload the entire contents of its database in a CSV file/series of images to their current web server. That’s the only contact the system has with the outside world and is the only method of communication. Gotta love 90s software engineering, huh?! The web site reads that file and generates the web content on-the-fly at the moment. Can I do that in TXP? Should I do that in TXP?

User duchamp was creating real estate site using TXP.

Cool, I’ll see if they have any words of wisdom that might help me see through the fog to a manageble solution. Thanks for the pointers, maniqui.

Last edited by Bloke (2009-02-12 14:17:04)


The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.

Txp Builders – finely-crafted code, design and Txp

Offline

#4 2009-02-12 16:03:52

colak
Admin
From: Cyprus
Registered: 2004-11-20
Posts: 9,091
Website GitHub Mastodon Twitter

Re: Dynamically manage an estate agency site

Bloke wrote:

See what I’m getting at? If one article = one property, every article needs to be created by software, not a person. The page template reads the articles and associated custom field info (price, central heating type, number of bedrooms, location, bathrooms, garden size, etc, etc) , does article navigation, offers RSS feeds, a sitemap: in short it does everything a good site should, but without a human writing a single article in those two sections :-|

Coming from a non pro:)

I would think that there are ids accompanying each one of these entries/properties. Is there a way those details can be populated by custom fields? So id ## always updates a particular article.

Then once you solve that:)… populate the custom fields with the details on a per property basis. you could then sort out the articles based on the custom field values (such as area, price (maybe price range), property type etc)…. After that you could face Godzilla which I think that it will be easier than persuading your family:)

Last edited by colak (2009-02-12 16:04:05)


Yiannis
——————————
NeMe | hblack.art | EMAP | A Sea change | Toolkit of Care
I do my best editing after I click on the submit button.

Offline

#5 2009-02-12 16:33:57

Bloke
Developer
From: Leeds, UK
Registered: 2006-01-29
Posts: 11,453
Website GitHub

Re: Dynamically manage an estate agency site

colak wrote:

I would think that there are ids accompanying each one of these entries/properties.

Yes. From memory, the system generates a (pathetic, imho) 6-char code made up of the first 3 letters of the road name and the house number (padded with leading zeroes). Everything is keyed off that, which is atrocious programming when you consider you could have 23 Acacia Avenue and 23 Acacia Drive up for sale at the same time. Guess the programmers assumed that would never happen, or they’re playing the statistics.

Is there a way those details can be populated by custom fields? So id ## always updates a particular article.

Perhaps, yes. I don’t relish the thought of deleting and recreating every article once a day. Plus if they decide to update the system in the middle of the day instead, it’d be nice if the web site changed at that moment. Could get mighty confusing for them if there’s a time lag.

Assuming I can solve the instantaneous update problem, maybe if I keep a record of all houses sold and never (or very rarely at least) delete them. So, for each property in the file that has just been uploaded:

  1. find, in the existing articles, the one with the url_title that matches the propertyID
  2. if it exists, overwrite the details with the new info (“update”)
  3. if it doesn’t exist, create a new article (“insert”) with the given propertyID
  4. keep track of which ones have been created/updated
  5. at the end of the file, go through all articles and set the status of every one that was not in the file as hidden

Thus, properties no longer for sale are “deleted” (hidden). At some point I could offer them a “management” view of all the properties that are still in the system and they could click the “tidy up” button which would delete all hidden articles and associated images.

As you say I’ll be using a truckload of custom fields if I do it the article way. At last count there were 46 “properties” of a property like area, price, type, postcode, address, and so on. glz_custom_fields will be on overdrive :-) And offering searches is a logical extension of this, which should put smd_query through its paces a little!

I wonder if there’s a cleaner way of handling all this? And how do I trigger the “populate the database” function when the upload has finished? Hmmm…..

Last edited by Bloke (2009-02-12 16:37:07)


The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.

Txp Builders – finely-crafted code, design and Txp

Offline

#6 2009-02-12 17:13:50

MattD
Plugin Author
From: Monterey, California
Registered: 2008-03-21
Posts: 1,254
Website

Re: Dynamically manage an estate agency site

I’m not sure your gaining anything by using textpattern for this? What’s the point of a content managment system you’re not using to update the content?

You may be better off writing something that will transform the output of their property management system into static html.

Edit- The static files would include the sitemap and xml for the rss feed.

Last edited by MattD (2009-02-12 17:16:07)


My Plugins

Piwik Dashboard, Google Analytics Dashboard, Minibar, Article Image Colorpicker, Admin Datepicker, Admin Google Map, Admin Colorpicker

Offline

#7 2009-02-12 17:50:09

Bloke
Developer
From: Leeds, UK
Registered: 2006-01-29
Posts: 11,453
Website GitHub

Re: Dynamically manage an estate agency site

MattD wrote:

I’m not sure your gaining anything by using textpattern for this? What’s the point of a content managment system you’re not using to update the content?

Yeah, I know what you mean. Hence my question about whether TXP is the right tool for the job.

It’s just so easy to filter stuff by custom field and offer searches in TXP thanks to the plugins and stuff that to go back to doing all that by hand — to somehow search through a load of static HTML files for matching properties — seems a bit more of a slog than to abuse TXP’s content management for the sake of not having anyone use the admin side! It’s a tough call, though.

On the way back from the Chinese, I did solve my automatic update conundrum though. On every page visit, simply call a form that checks the upload file (the hash of it). If the hash hasn’t changed from last time, no bother. If it’s changed, trigger the update script instead. It’ll add some seconds to the processing time on that click, but since that only occurs once after the file has been uploaded it shouldn’t pose too many problems. Who says fast food isn’t good for you :-)

Last edited by Bloke (2009-02-12 17:50:45)


The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.

Txp Builders – finely-crafted code, design and Txp

Offline

#8 2009-02-12 18:57:13

MattD
Plugin Author
From: Monterey, California
Registered: 2008-03-21
Posts: 1,254
Website

Re: Dynamically manage an estate agency site

Search is a pretty big reason. Maybe it is worth it. Writing something to push the data to textpattern doesn’t sound any more difficult then writting something to create a static site.


My Plugins

Piwik Dashboard, Google Analytics Dashboard, Minibar, Article Image Colorpicker, Admin Datepicker, Admin Google Map, Admin Colorpicker

Offline

#9 2009-02-12 19:02:24

progre55
Member
Registered: 2006-05-02
Posts: 668

Re: Dynamically manage an estate agency site

Bloke:

Not sure if this helps, but I have built several real estate websites where textpattern is the backbone. This is actually how I met Gerhard and we worked closely on the custom field plug in. when I say work, he did all the heavy lifting. :) I know that you do not want them to have to do any administration, but using articles and custom fields you can create a site which enable them to do away with the other package. Shoot me an email if you want some more details or if this would be of any help to see a couple.

progre55

Offline

#10 2009-02-12 19:24:39

Bloke
Developer
From: Leeds, UK
Registered: 2006-01-29
Posts: 11,453
Website GitHub

Re: Dynamically manage an estate agency site

progre55 wrote:

Not sure if this helps, but I have built several real estate websites where textpattern is the backbone.

Cool, I’d love to check them out to see how you made them tick, if you don’t mind. Did you have to integrate any of those sites with 3rd party systems? Either to get hold of the property data or to pass it onto aggregators / property search portals?

using articles and custom fields you can create a site which enable them to do away with the other package.

I wish they’d give it up! But it’s so ingrained in their workflow I suspect it’d be more upheaval to teach them how to use TXP.

I can see how they could replace a lot of the functionality (the interfaces to some of the 3rd party aggregators, the printed property details, etc). But I somehow doubt — would like to be proved wrong — that a TXP web site could generate rent reports, quarterly sales figures, calculate and print out arrears notices and produce tax invoices to keep the government and RICS (the chartered surveyor governing body) happy :-)

Shoot me an email if you want some more details or if this would be of any help to see a couple.

Will do, ummm, except your e-mail link’s not on the forum. I’ll see if I have your mail address anywhere when I get home. Or perhaps simpler — because I’ve probably lost your address if I ever had it — drop me a note. Thanks for your help.

Last edited by Bloke (2009-02-12 19:25:28)


The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.

Txp Builders – finely-crafted code, design and Txp

Offline

Board footer

Powered by FluxBB