Running a French Holiday Gite in Rural Brittany

Thursday, March 20, 2008

Currently on holiday in France - but occasionally online courtesy of McD

Perhaps this should be subtitled as a "McBlog entry" ??

We're currently on holiday at our French Holiday Gite, and although I've taken my laptop on holiday to France beforehand, I've mainly used it to download photos from the camera rather than actually trying to get online.

Well this time courtesy of a great spot by Bob Toovey over at his Computing in France Blog I've been parking up in McDonalds car park and getting online as they're offering free WiFi access at most of their restaurants across France.

It's been really great to get ahead of some of the hundreds of emails I get each week and to be able to respond to the booking enquiries we've received this week (all unfortunately for August which is already fully booked 8-( ).

Back soon !


Wednesday, March 19, 2008

Fixing HTML errors - getting our Gite website to be W3C valid HTML

A couple of weeks ago I wrote about getting FluffySearch search engine to work on my website, and concluded with the realisation that I'd been missing off quotes around filenames in <a> and <img src> tags and hence caused the HTML to be invalid.

As I set about correcting what I thought were simple and repeated HTML errors across the website I found that in fact I had a whole host of underlying HTML problems that should be fixed. None of these are actually visible when you look at the site with Firefox, Internet Explorer, etc as web browsers are generally fairly tolerant of invalid code, but nevertheless I did still want to get them fixed.

At the top of each HTML page is a document type definition that defines what version of HTML (or XHTML) the site is written in, it looks like this:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "">

This says that I'm using HTML 4.01 STRICT for this webpage. Of the different versions of HTML, 4.01 is the most recent, and STRICT is more rigourous as to what HTML is allowed unlike TRANSITIONAL which is more of a half-way house between HTML 4 and the previous major version, 3.2.

When I set about redesigning the website back in 2006 I found that I ended up with some display and alignment errors in particular browsers (especially Internet Explorer) if I used transitional HTML as IE then started reverting to "quirks" mode instead of "standards" mode. I therefore decided at the time to adopt strict HTML to stop this happening, and then HTML 4.01 as it was the most recent version of HTML at the time.

In hindsight of course some of this logic is probably fatally flawed and irrelevant but not wanting to go around the fun and games I had with the site layout again it's easier to push on and just get back to valid HTML.

Almost all the errors are due I'm sure to moving from HTML 3.2 to HTML 4 STRICT and of course much of the pain I've now just had would have been avoided if I hadn't been lax for the last year or so and actually had ran the website through the W3C validator, .... but as they say, we are where we are.

The full definition of HTML 4 strict is on the W3C website, but it's fairly incomprehensible (IMHO) so to help others out that may be embarking on adopting HTML 4 strict, here's the various problems and changes I found and fixed. Also useful is this summary of HTML 3.2 constructs not in HTML 4

  • Missing quotes around image source references
    <IMG src=/theme/mast_mos.jpg> produces an error message "an attribute value must be a literal unless it contains only name characters".
    The problem is that as the pathname to the image contains characters other than letters, numbers or full stops, it must be enclosed by quotes and re-written as <IMG src="/theme/mast_mos.jpg">

  • Missing quotes around anchor link and form link references
    <a href=http://blahblah/blah > produces an obscure error message "NET-enabling start-tag requires SHORTTAG YES", and then "end tag for element "A" which is not open" from the closing </a> tag.

    Like the above problem with <img>'s, the URL reference must be enclosed within quotes when it contains anything other than letters, numbers or full stops (e.g. colon or slash) and so the anchor tag needs to be changed to <a href="http://blahblah/blah" >.

    Similarly <form Method=POST action=http://whatever/whatever> needs to be re-written as <form Method=POST action="http://whatever/whatever">

  • Ampersands within URL links
    Some of the URL links to external websites contain an ampersand character which isn't valid HTML and from a single link such as <a href=http://blahblah?id=rss&ut=http://whatever> you get a slew of error messages as the text following the ampersand tries to be interpreted as a HTML variable:
      # cannot generate system identifier for general entity "ut".
      # general entity "ut" not defined and no default entity.
      # reference to entity "ut" for which no system identifier could be generated.
      # entity was defined here.

    The problem's described in WDG's Ampersand's in URL's and is easily fixed by changing the & to &amp; like this:
    <a href="http://blahblah?id=rss&amp;ut=http://whatever">

  • Using the 'target=_blank' tag to open links in a new window
    In HTML 4.01 strict, XHTML 1.0 Strict and XHTML 1.1 the use of the target tag has been removed as target is designed to be used with frame-based DTD's.

    The upshot of this is that there's no easily obvious way with any of these DTDs to enable a link to open in a new window. I use this functionality quite a bit as there are a number of links to external websites (e.g. Brittany Tourist information) and I wanted these to open in a new window so that the visitor would still be easily able to return to my own Gite website.

    There's some really cludgy ways round this problem suggested on the web including using Javascript to dynamically add a target attribute to the <a> tag at page load time which just means that whilst the page validates OK using the W3C validator all that's really happening is that you're causing the page to become invalid when it's rendered in the browser ... this is just hiding, not fixing the problem.

    I then found another article that suggests creating your own custom DTD by taking the base HTML 4.01 strict DTD (in my case) and then merging in the target attribute DTD from the frames DTD - this sounded so complicated I really didn't want to go down that route. I was trying to find a way of making standard valid HTML rather than creating some new bastardised version of HTML to get around the problems with the standards!

    The final, and really elegant solution, which I decided to adopt in the end was buried in comment #19 made against Jesse Skinner's Javascript to change <a> tags at page load time which was to replace
    <a href=" target=_blank">

    with an embedded onlick bit of Javascript:
    <a href=" onclick="target='_blank';">

    And this is not only valid HTML, it's valid Javascript, and it works a treat in all the browsers I tested it in - job done!

    Only downside is that if Javascript's not enabled in the visitors browser then onclick is ignored and when the link's clicked it opens the new (external) page in the same browser window rather than a new window. This for me is a minor issue and one I can definitely live with.

  • Width and Height declarations to table cells
    <TD valign=bottom width=270> is no longer valid and as explained on Joe2Torial's explanation of HTML tables,
    "This code would not validate in XHTML or HTML 4.01 Strict because the width and height attributes are removed in favour of using stylesheets (CSS)".

    Fix is to change the TD tag to become <TD valign=bottom style="width: 270px;"> or (better) define a CSS class and apply it wherever needed.

  • Bullet style definition for unordered lists
    <UL><LI class=p1 type=circle>blah blah</LI></UL> produces the error message 'there is no attribute "TYPE"' as the 'type' and 'value' attributes have been deprecated in HTML 4.01 in favour of styling the list using a CSS style sheet.

    I therefore introduced a new class into my CSS style sheet:
    .circl {

    And then applied this class to the unordered list:
    <UL class=circl><LI class=p1>blah blah</LI></UL>

    (The class=p1 entry against each list item is to add 4 pixels of bottom padding to each entry, in effect to create line-and-a-half spacing of the list which aids readability).

  • Forms and Blockquote must contain an outer block element
    On my website I had forms (for making booking enquiries and for subscribing by email to new articles on this blog) defined like this:
    <FORM Method=POST action=http://blahblah>&nbsp;<INPUT name=EMAIL maxlength=255 ... > ... etc

    and similarly Blockquote's (for indented paragraphs such as our address) defined as:
    <BLOCKQUOTE>2 The Slade<BR>Wrestlingworth<BR> ... etc

    These produce a slew of error messages such as 'character data is not allowed here' and 'document type does not allow element "INPUT" here; missing one of "P", "H1", "H2", "H3", "H4", "H5", "H6", "PRE", "DIV", "ADDRESS" start-tag'.

    The problem is that the syntax of BODY, BLOCKQUOTE and FORM have changed in HTML 4 to require a surrounding block element such as <DIV> or <P>

    So the errant input form example above now becomes:

    <FORM Method=POST action="http://blahblah"><DIV>&nbsp;<INPUT name=EMAIL maxlength=255 ... > ... etc

  • Using CSS to style horizontal rulers
    The styling attributes for <HR> tags (WIDTH, SIZE, ALIGN and NOSHADE) have all been deprecated in HTML 4 in favour of using CSS to set the size and style of the horizontal ruler.

    So instead of <hr size=1 align=left width=400> I had to change the HTML to <hr style="height:1px; text-align:left; width:400px;">.

    There's a bunch of other similar deprecations done to other HTML tags in favour of using CSS instead and I found a good summary of CSS alternatives to HTML4 deprecated tags over on Cavalcade of coding.

And so by the end of all this if you've managed to keep reading this far (thanks!) you'll be wondering if my quest is complete and everything's now sorted out across the website with perfect HTML 4.01.

In a word, NO.

All these fixes and changes have been implemented on all the different pages of the website and every one of the pages now validate as being HTML 4.01 strict, apart from just two.

Firstly the homepage has a problem with the recent HTML fix I introduced to center-align the GitesDeFrance image in Firefox which I haven't been able find a way to recode around, and secondly the flash-based PictoBrowser that shows an image gallery of Flickr photos gets rejected as the <EMBED> tag isn't valid HTML.

However I think I'll rest on my laurels for just a day or two (well more likely a few weeks!) before attempting again to crack these two obstinate HTML problems ...

Update July 08: Rewrote the Pictobrowser HTML to make it W3C standards compliant - almost got the whole site sorted now!


Thursday, March 13, 2008 - first with instant vacation rental bookings and confirmation

This week RentalSystems announced that they've launched a new website which claims to be the internet's first and only site that allows customers to book vacation holiday rentals direct with the owner and receive an instant booking confirmation.

Based on the existing RentalSystems booking engine, presents to the customer the subset of RentalSystems properties that have guaranteed availability by showing only those properties which offer instant confirmation so it becomes as easy to book a Gite holiday as it is to book a hotel bedroom.

In RentalSystems there's an option that you can set to allow customers who request a set of booking dates to receive instant confirmation of their booking and proceed straight through to paying the rental deposit. Obviously this is only going to be of use to you if you're sure your RentalSystems availability calendar is 100% up to date as otherwise you risk confirming bookings for dates that you've already rented out via another source.

For me I'd previously not marked my property as being available for instant bookings as I wanted to give customers the option to check details etc before I confirmed the booking to them. Having said that though, I do always update the availability calender for our holiday home on Rental Systems as I don't want the embarassment of having to turn down bookings, and anyway I've always ended up accepting all the RentalSystems bookings that we've had, so turning the option on wasn't such a big deal for us.

When you turn on Instant Booking Confirmation you do get a few options that you can select and enable you as to which bookings will get processed via the normal request dates/confirm availability/accept booking cycle; you can select to filter on booking requests:
- over the christmas period
- more than a certain number of single sex occupants (e.g. if you want to prevent "lads away" type bookings)
- less than X days ahead (e.g. to allow you time to inform whoever does your changeover)
- with party members greater than a set age (e.g. if there's limited access upstairs)
- with party members less than a set age (e.g. if you don't want kids just turned 18)
- with more than a certain number of children (e.g. if you've only a certain number of cots or single beds)

If you choose to set these filters (and you don't have to) then you're not actually saying you won't allow bookings from customers that meet any of these criteria, what happens instead is that the booking's not automatically confirmed, instead you're sent the booking request and asked if you want to accept or decline it.'s available for no extra charge over and above the normal RentalSystems booking commission (of 10% + VAT) so for me I decided to go for it as it's another possible booking source which is no bad thing.

Obviously if it doesn't work out and I start getting bookings that for whatever reason I can't proceed with I may change my mind.

If you use RentalSystems what do you think, are you available for Instant Confirmation? If not, what's your thoughts?
Please do leave a comment

Labels: ,

Saturday, March 08, 2008

"Borrowing" books from a holiday home - a Modern Moral question

As I'm frequently working down near Heathrow airport at the momment and it's a 70+ mile drive each way with the M25 and A1(M) in the way (i.e. it's a painful 2-hour morning commute), I've been staying over some nights and hence reading The Times in the hotel fairly frequently.

In an October issue of The Times there was a 'Modern Morals' entry I thought quite interesting:
The holiday home that our family rented in the Lake District contained a selection of second-hand books - left, we assumed, by previous holidaymakers.
Our daughter became engrossed in one book but had not finished it by the time the holiday had ended.
We agreed that she could take it with her, as we left one of our books in its place.
Was this an ethically acceptable swap?

Joe Joseph the resident moral columnist replies ...

Life is so much simpler when you make your own useful assumptions isn't it?

By assuming that the holiday home's library comprised the leftovers of previous guests, it becomes a lot more convenient to execute a swap, doesn't it? After all, the books don't then belong to the owner of the house; they are not, thus, an amenity left to make the stay of the guests more pleasant. They are pretty much one step away from the dustbin. Why you're practically doing the owner a favour by taking them with you!

Once you assume that the books have been left by previous holidaymakers, it becomes less ethically troubling to swap one for one of yours. Were you to assume that they belonged to the owner, you'd feel no more able to carry out this swap than you would swap one of your saucepans for one in the rented house's kitchen.

And what makes you think that holidaymakers leave behind books? Many won't even leave behind two unused tea-bags.

Definitely food for thought!

I'm happy to report that we have no such similar moral challenges with the books in our holiday home.

We've a small library of books that I've read and enjoyed, and our 'Gite Guide' tells our guests that they're more than welcome to read them, borrow them, or leave their own completed holiday reading for the benefit of others. Over the years I've added a more books and some children's books as well, as have our guests, and so much so that I had to erect a second set of book shelves in the bathroom as the shelves in the lounge were overflowing!

Fortunately we'll eventually complete rennovating the second Gite so there'll be room for more books in there if they continue to accumulate. It's interesting when we go on holiday ourselves to France to play 'spot the difference' and try to work out what books are new.

Joe Joseph has published a collection of his Modern Morals columns in the book Should I Flush My Goldfish Down the Loo?; just £6.49 from Amazon.


Friday, March 07, 2008

French mayor bans dying in the parish

I picked up an amusing story today about a French mayor who has banned village residents from dying in the parish as the village cemetry is full and an application to purchase additional land has been rejected.

Unless you've already reserved a plot then the mayor has ruled that you're not allowed to die (or at least if you really must die, then you have to die somewhere else)!

It's a bit early for being an April fool joke (or Poisson Rouge if you're in France), and as the same story's being reported on Reuters and ABC News so maybe it's true?


Sunday, March 02, 2008

Problem with the new Septic Tank - fat trap's "popped out" of the ground

When I was over holidaying (well plasterboarding actually) at our Brittany Gite in February I found to my surprise that one of the two fat traps on the new fosse septique we had installed in August 07 had risen out of the ground.

Talking to the neighbour later on that day I found that there'd been loads and loads of rain and that the nearby river had burst it's banks (fortunately there's a flood plain on the opposite fields away from our Gite so there was no danger of us flooding). With all the rain the ground had got waterlogged, and out of the ground like some proverbial phoenix the fat trap had risen.

When the new fosse was installed you have to have a fat trap between the kitchen and the fosse if there's a long run of pipework. We therefore had to have one for the house that we currently occupy and rent out, but given the distance we decided to also have one installed for the second kitchen in the 'future project' un-renovated half of the house.

The problem was (with hindsight of course) was that when the fat trap was installed no-one thought of filling it up with water. As the water table had risen, the fat trap (basically just a plastic box) had been pushed out of the ground.

I was quite worried that the pipework had got damaged in the process so called the builder up to ask if he could come over and take a look at it. He was pretty good about it and came over two days later and we found that fortunately none of the pipework was damaged, and it was a relatively simple matter of raking back the gravel, taking the fosse out, emptying the hole of water, re-digging it out a bit more, putting the fat trap and pipes back together in the hole, filling the fat trap up with water, then tidying the soil and gravel back together again.

All in all they were only over at the house repairing the fosse for just over an hour. I was a bit dismayed at the cost of the repairs though, not only was there the hourly charge for labour but there was a fairly substantial call out fee as well which he hadn't told me about in advance.

I could have argued I suppose that the problem was partly his fault (he never told me to fill the fat trap up with water), but at least everything is sorted and back to normal now so I just paid up.

Labels: ,