This page records known technical problems or long-term ideas for Motorway Services Online.
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:
- It would be good if page extensions could be automated.
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.
A-road services which are only on one side of the road appear to be generating 100 "southbound only" warnings. The code is very precise: don't display the warning if it's the main page, do if it's a search page, but not if it's an A-road on one side of the road. It'll need a delicate bit of code.
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.
The DISPLAYTITLE magic word doesn't work for brands with an ampersand in their name, which specifically affects the popular M&S Simply Food page. A workaround is needed.
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.
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.
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.
Motorway Services Online uses the current long-term support (LTS) version of MediaWiki, 1.39.4. 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.2. 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, so you get black on black.
- Black system icons are invisible (white icons are usually available, but the source is generally provided by load.php and it would be a nuisance to change).
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.