In an agrarian society, the main practical function of the calendar is to track the proper times for sowing and reaping. In Europe, the winter months are a quiet time for farmers. This may be the reason why there was a period in the winter that had no months assigned to it in the original Roman Calendar: the first month was March, and the month of July was the fifth month, whence its name 'Quintilis,' derived from the same root as the Latin for five, 'quīnque.' (Which is also derived from the same root as the English for five, 'five.') Several hundred years before the start of the Common Era, two new months Ianuarius and Februarius we added to the start of the year in the winter period, and Quintilis became the seventh month. In the year of the death of the pontifex maximus Gaius it was renamed Iulius in his honour. Without a solid understanding of these facts, much of the following may be hard to follow:

Power to Some, but not to the People

On an occasion on which his remark was of deep current relevance, the Dear Leader was heard to mention that he saw no reason of policy why Content Editors should not have the same abilities as admins to rename, repair, reorder, and otherwise manipulate and maintain e2nodes, the pages that contain the writeups on this site. So there was something new to do, which didn't have much to do with drafts, which I found were getting a little old by this time. The main technical obstacle was that ecore usually only allows admins and the author of a node to update it. So:

  • e2node maintenance create sets the author_user of a new e2node to the Content Editors usergroup, so Content Editos can update it. The user who in fact created an e2node was already recorded in the creator_user field of the e2node database table, so this could be done with no loss of information. The htmlcode e2node maintenance update makes sure the author_user doesn't get changed to anything else by mistake. Your Nodeshells, Your filled nodeshells, Nodeshells and The Old Hooked Pole now search for and/or show the creator_user not the author_user. For a while, every time that someone bookmarked an empty e2node, every admin and member of the Content Editors usergroup got a message notifying them of the happy event. But OldMiner fixed that, as well as a few other similar glitches that I'd missed.
  • Htmlcode windowview, which provides a window containing tools to move around or remove the members of a nodegroup (such as the writeups in an e2node), and which previously only allowed access to admins, now provides access to anyone who is authorised to update the node. The opcode orderlock allows CEs as well as gods to lock the order of writeups in an e2node.
  • Magical Writeup Reparenter, which is used to move writeups from one e2node to another, or to put them in an e2node if they have got lost, was amended to allow CEs to use it. A link to it in the e2node admin tools is provided by ordernode, and voteit puts one in the admin widget in individual writeup footers.

Miscellaneous tweaks

With that, editors could do quite a lot of what they should be able to do, but still not everything that admins could do to an e2node. But there were other demands on my time, and other things I noticed were in need of improvement while foraging through the code:

  • If the title of an e2node is changed, the titles of the writeups in it need to be changed to match. This is now done automatically by a call to repair e2node in e2node maintenance update. For its part, repair e2node only updates the nodegroup of the e2node (which records which writeups are in it and in which order) if it has changed.
  • If a writeup is found to be unparented (not to be properly attached to an e2node), firmlinks puts a message to this effect at the top of its page. This longer tells members of staff who could fix the problem to contact an administrator to fix it. Instead, it tells them to fix it themsleves, and gives them a link to Magical Writeup Reparenter to do it.
  • There was an option in Advanced Settings for editors and admins to have the writeup admin tools always visible in writeup footers, instead of tidied away in a pop-up widget. One result of choosing it was that fewer tools were available in writeup footers, since there isn't room for all of them. Admins get equivalent tools elsewhere, but editors do not, so only admins should have been given this option. And very few of them were using it. Now only three of them get it at all, and since it complicates things, it is likely to be axed completely in the not too distant future.
  • The Patch Importer, used to move new code from the development server to everything2 proper, can show either a list of patches available for import or the details of an individual patch. On the list it showed whether a patch applies 'cleanly,' i.e., whether it was based on the same code on the development server as is presently running on the production server. It did not show this information on the individual patch display. Since individual patches can be accessed without going through the list, using a link on the patch's page on the development server, it really should have. Now it does.
  • The code in a patch could theoretically change between it being shown to the administrator/coder importing it and the import itself, making it possible to get undesired code into the site. The Patch Importer will now detect changes like this, and refuse to import the code.

Inevitably: drafts

I polished up some features related to the drafts system, as well:

  • show content includes an 'author_id' parameter in a link to a draft or writeup in an e2node. This will make sure it gets shown even if it would normally be hidden.
  • The Drafts for review page shows more information about drafts and sorts them according to how long they have been up for review and whether an editor has left any notes on them.
  • The publishdraft htmlcode uses a new function in ecore (thank-you again, OldMiner) to wrap the critical part of the conversion of a draft to a writeup in a database transaction so it will either all work properly or fail completely. Half-converted drafts used to do strangely awful things to the site: attempting to access one essentially stopped everything working for about five minutes for unknown reasons. But then OldMiner found the reasons and fixed them.

Log in or register to write something here or to contact authors.