Motorway Services Online

Retrieved from "https://motorwayservices.uk"

Asking about Christmas?

Motorway services are still open for snacks, fuel and toilets - more details.


Known Issues

This page records known technical problems or long-term ideas for Motorway Services Online.

Upload Form

Despite it being complicated to code and not too pretty to look at, the upload form actually functions pretty well. There are, however, two noted issues with it:

  • Gallery suggestions sometimes refuse to load - Javascript error - is it when you use the "upload another" button?
  • It would be good if page extensions could be automated.

Maps

Excitingly Map:Services Search now reports the user's location, and appears to be doing a good job of it. Some people want this feature to be available on all maps, but the software doesn't support it as locations have to be pre-loaded.

In 2023, the maps available to us through Leaflet became limited. OpenStreetMap continues to provide an excellent service (frustratingly, the French version has the best colours, but we can't really use a map that's in the wrong language), although it would be nice to have a national layer that clearly shows motorways. We no longer have an aerial map provider (Google charge for their services and ESRI have low usage limits), and we have removed Stamen's artistic map.

Templates and Search Engine

All service areas are now not displayed in alphabetical order in their category. For example, if you go to Category:1960s, you will see that the list of services is a mess. This is because the search engine now takes each page by its "markerpost" so it can state its exact position on the motorway. Unfortunately it looks like it has to be one or the other. To get round this we have turned many categories into redirects, but there are still a few which look messy.

There is no right way to list facilities which are only available on one side of the road, because some people don't mind having to cross a bridge, many do mind, and most will say it depends on what the facility is. A tidier way of doing this that suits users on all devices is required.

Due to the complicated way that brands work, the search engine struggles to format situations where two very similar brands (known as 'transclusions') are both present. For example, you could have a Costa Coffee next to a Costa Drive Thru which are both "northbound only". This means a search for Costa would find two "northbound only"s. Or you could have a 'Waitrose' northbound and a 'Little Waitrose' southbound; in this case a search for Waitrose will return both "northbound only" and "southbound only". Finally, you could have a Greggs in the petrol station, which might contradict whatever Greggs is available in the main building, or it might even fire a "northbound only" when it's not needed.

The only way to tackle all these issues is to be careful about when you use "northbound only" or similar. If it might fire an unwanted response, don't put the warning or direction in the template; if needed, you can put it in text instead. From a technical point-of-view, we might be able to separate the two Waitroses, but you won't be able to separate the two Costas unless you pull out something really impressive with DPL.

Page Quality

Page text, especially bulging trivia sections, need to be continually reviewed to make sure they make sense. Parking prices need constant attention. Facilities sections should be considered to see if they could be improved.

There are some technical inconsistencies, like the use of Template:Sundry, but these are totally harmless.

  • Unsigned services should not be included in the list of brands. Admittedly this is confusing for editors, but if we include one 'Greggs not at a services' we would then have to include them all.
  • There seems to be some confusion over whether unsigned services should appear in the succession boxes. They should not, but partly-signed services may appear in italics.

Scripts

Although the website menu requires Javascript and some IT departments may frown upon this, it hasn't caused any issues and there is no urgent need for change.

The edit page sometimes fails to load the Javascript, causing the orange edit box to stay open and the search suggestions to break. It's not clear why this happens, but you can solve it by refreshing. It may be an issue exclusive to Firefox, where it times out.

I have finally had enough of iPhone apostrophes ("smart quotes"). The menu script now contains an additional function which strips iPhone apostrophes out of places where they can be disruptive (the search box, the upload form and edit box). If the rest of the world ever catches up with us and makes it easy to ban them, or if the code breaks, that's where it's saved.

The ratings system uses an outdated format (iframes), but it still performs well.

CommentBox now provide our user reviews. This uses more iframes to maintain the full flexibility. CommentBox generally performs well; Facebook was much more popular, but became unusable.

We've hijacked Special:RecentChanges and turned it into a news feature. This only works if you pre-load it with filters applied. It would be nice to have those filters appear by default.

URL Rewrite

The homepage is a problem. Because we don't use the MediaWiki standard "Main Page", we have to find another way to load it. iFrames are outdated and don't work in Chrome; PHP seems to always execute the page before checking if you're logged in, causing the user to always appear logged out. URL rewrite would be the answer, but it's difficult to find a working example. As a result of this and our 2022 battle with Google, a cookie consent form is now always loaded on the home page; this means that even logged in users will be asked to consent to cookies (because they will be treated like logged out users), even though there are no cookies to consent to.

URL rewrite also means that the database can't handle pages with punctuation in their title. Anything which uses DISPLAYTITLE, like Template:Picture gallery, won't process apostrophes properly (that's actually just an encoding issue).

Pages with ampersands or question marks in their name won't work, because those symbols have a different meaning when in a URL. We have pages with names like M&S so that those links won't break, but if you ever needed to edit a page like that, you would have to do it from the actual URL ("/index.php?action=edit&title=M%26S"). You then need to use the code editor to change the action of the form so that it directs to the same style of address. It's best avoided!

MediaWiki Cache Form Issue

It turns out the MediaWiki extension 'MagicNoCache' causes browsers to forget what people have entered in forms. This primarily affected three pages:

  • MSO:Contact: our workaround is to move the form to a separate page, slightly weakening the firewall, but solving the problem. This was the one which was most frustrating.
  • Services Search: our workaround is to send anybody who would view the form to Main Page, which is better anyway, using a PHP redirect. Only problem is the Irish page is necessarily different and we can't divide every link, so we have to still send people through the redirect.
  • Map:Services: as above, but instead we redirect to Map:Services Search.

Other pages with cache disabled will have the same problem, but the only HTML form on those pages is the search box, which is hardly a concern.

Server Issues

MSO has been known to suffer from timeout issues that sometimes did, and sometimes didn't, affect the whole server.

We have linked this to PHP-FPM running out of capacity. The capacity has been increased. Hopefully this will solve the problem, at least some of the time.

Version Lifecycle

Motorway Services Online uses the current long-term support (LTS) version of MediaWiki, 1.39.10. This has us covered until November 2025 🥳

1.39.1 was quietly adopted on 25 December 2022. We are also now running on PHP 8.3. This will have caused issues, but we need to find them!

The idea is that you shouldn't notice the difference, but if you do spot anything that's off, add it to the list:

  • Our language files ("i18n") will have been reset. I've updated all the obvious ones, but there will be more. I need to get into the habit of updating them in the database, so this doesn't happen again.
  • Dark Mode was intended to be lightweight, so it will never be perfect. The issues:
    • CommentBox is illegible (this is because each page calls the frame with a request for light mode, aka black text). Temporary patch applied.
    • Ratings script is in a frame, so it can only request one colour. Flexible background applied, but there is no flexible text colour; I have used a grey one that isn't accessible but is better than nothing.
    • Black system icons are invisible They are now inverted with CSS. Changing load.php would be better.

As a final celebration, we have now reorganised our stylesheets, which was long overdue. This will have created even more issues for us to identify, mainly things being the wrong shape or colour, or images not appearing. We haven't gone so far as to weed out redundant CSS, which would be the dream, but it's too difficult.