I've been working on the railroad, all the live-long day
As a freelance professional, I have a variable workload. In September I had more work to do, and therefore more time to devote to coding for this site. It's an interesting thing to do in trains planes and hotels, and even when I am theoretically working but don't actually have anything to do. Beats crossword puzzles any day, and distracts me less from what is going on (which I may have to react to) than reading good books.
It's Time to Ring some Changes
When last heard of, I was getting to work on User Settings. As Everything2 has developed over the years, a lot of new features have been added, and it seemed that for every feature there was an option to switch it on or off. Some of which options didn't work, and some of which were pretty pointless. The options had been added to the settings pages piecemeal over time, and the result was not at all pretty.
Something that would be even less pretty would be a blow-by-blow account of the process of tidying up the mess. It involved a lot of copying and pasting back and forth and of tracking down where (and if) various options were actually referred to in the code. The initial visible result was a reorganisation of the old User Settings, Writeup Settings and User Settings 2 pages into Settings, Advanced Settings and the highly confidential Admin Settings. The last two were essentially no more than an attempt to impose logical order and structure on lesser used settings, but the Settings page, which is intended to be the only one of the three most people will ever need to look at, introduced some new features:
Hey, Mr Thandman, Theme me a Theme
Instead of the old 'theme' menu, which made it possible to change between the one true supported theme and all the old ones we don't want you to use any more, there is now a 'theme' menu featuring a selection of stylesheets. If and only if you are currently using an unsupported theme, it also shows the old unsupported themes. From which you can escape, simply by choosing a Zen theme stylesheet. A distinction is made between choosing the default theme as 'default' and choosing it by name, which affects whether you are automatically moved to the new default when (not if) it is changed.
The stylesheets shown on the theme menu are chosen on the basis of a setting set by the stylesheet author. This setting is only available if the stylesheet does not require automatic updating to handle the no longer recent changes in the site's html code. Stylesheet authors can read all about it in the documentation provided.
Accompanying the theme menu are options to show the colour gradient on softlinks and to use colours from your theme for that purpose. This latter option now uses colours from your chosen Zen theme, rather than from the ekw colour scheme that you probably don't have any more/never had and that we don't support any more anyway. To implement this it was necessary to patch softlink (of course), and I also created a new displaytype for stylesheets ('serve' which adds 64 style rules to colour the softlinks). Stylesheet authors can specify the beginning and end colours for the gradient; if they don't, the colours are chosen moderately intelligently from style rules intended for other things.
I was lost in the desert on a horse with no name
Since time immemorial it has been possible to have the name of the author of a writeup you haven't voted on yet hidden. Making that happen was very fiddly, and the name wasn't hidden everywhere. You could also choose between two degrees of hidden-ness. There is now a simple menu allowing you to show the name normally, hide the name but provide a link to the author, or hide the author completely until you have voted. This setting is respected most places you get to see an author's name, not just in the writeup's header.
While redoing the wiring for writeup anonymity in displaywriteupinfo I got rid of the option to choose long or short versions of C! information. The long version has been short anyway since I folded it into a widget, so the short version was redundant. To save processor time, Guest User gets a short version which can be ajaxed into longness if they are really interested.
As a result of these changes, the only effect of the hairy writeup display options (which are still visible if you go looking) is to decide what will be shown where, not how it will be shown. Their days are numbered.
It ain't what you do it's the place that you do it
The Nodelet Settings page was in a sorry state. I put in a new system for choosing and moving nodelets, although the movement is still not as smooth as it is intended to be one day, when you will be able to reorder your nodelets by drag and drop. I put the options for individual nodelets into separate htmlcodes, and they are only shown on the settings page if you are actually using the nodelet. Most individual nodelet settings can also be revealed by clicking on a link at the bottom of the nodelet. It makes sense to be able to change the settings in the place they are used, I thought.
There is no longer a setting for the 'zen epicenter'. If you don't choose the epicenter nodelet, you get its functions put in the page header.
An ah ... Miss you like CRAY-zee
In the course of all this reorganisation and polishing I deliberately dropped a few settings on the floor. No-one has complained, yet. They don't seem to be missed. No, I won't tell you what they were, in case you ask for them back.
Tell me more, tell me more!
That wasn't the end of September, but for the sake of narrative structure and bedtime, we'll leave the seismic shift in Everything2's JavaScript for next time.