Except for the first one, this is mostly flash stuff that has little impact on functionality.

  1. Added the collaboration nodetype. It's essentially a document with an access control list and with locking. CEs and gods have full access and can forcibly unlock. Locks expire after 15 minutes from last submit.

    It also supports the imaginary <highlight> tag which is s//'d into <span class="oddrow"> when the text is displayed. Is there a real tag that would be appropriate for that? I can't find one; <del> is as close as it gets.

    I guess I'll also add a switch to hide text in highlight tags.

    This feature matters. crtleads will in time be given access like that of CEs. Even now, we have a workable mechanism for users to collaborate on writing. Previously, this could be done only if one of the collaborators was a CE, and it had to go in a writeup, which is sucky for a number of reasons. This lets editors do real editing. This lets mentors do real mentoring. The chatterbox /msg feature is great for what it is, but it's got limits. It's nearly impossible to squeeze any real feedback about somebody's writing through that tiny little pipe, as I think a lot of us have learned. Mentors should feel free to ask their local editor for the loan of a collaboration node when a mentee needs some serious help on something. This is not a secret editor feature. CEs and gods happen to have the keys to the liquor cabinet, but everybody with a compelling need for a stiff drink should get one.

    This whole mess involves: nodetype collaboration, htmlpages collaboration display page and collaboration useredit page, htmlcode showcollabtext, and superdoc E2 Collaboration Nodes. That last is now linked from the CE section of the Epicenter nodelet.

  2. Fixed the front page log links so the ed log one points to the monthly ed log, since ehh, what the hell, nobody does daily ones any more (suggested by DrSeudo). The spirit moved me to add a link to the current root log as well.

  3. Temporarily improved chatterbox handling of infantile remarks.

  4. Assisted theonomist in messing with the epicenter nodelet such that all users can now see who (if anybody) ed-cooled the current node. The real work was done by Jay: The old way of doing this (for gods and CEs only) involved loading the whole list of editor cools, which is not small. Thanks to Jay, we now just do a quick query for one record. Jay straightened that out for editors and gods as well, in the coolit htmlcode. Mortice requested this one.

  5. Added basicoddrowcss htmlcode, which is now called by jukka container and standard container. It defines oddrow and evenrow CSS classes. The code used to be in standard container, but I wanted Jukka to have the oddrow CSS class defined for the highlighting feature in the collaboration nodetype. It makes the "cream of the cool" on the front page look nicer, too.

    All themes except npb now support oddrow.

  6. Added ekw Scheme Cannery, which extracts the user's ekw theme settings formatted as a string, which can then be fed back into it. This allows users to trade settings very conveniently. I rewrote a good bit of ekw Preferences so that the "canned schemes" are now stored in the setting node ekw canned schemes. That makes it a lot easier to add new ones and modify the old ones, in addition to making the code semi-maintainable. getvarsvalues htmlcode is part of this.

  7. Uh, yeah, I also renamed Jay's "repair" link (on your homenode, by the last-writeup link) to "update link", because there was some confusion among users about what it did. Amusingly, I had already written/newsified an announcement of that feature to help explain it, and when I went back and changed "repair" to "update link", the text became pleasingly obnoxious: "...you can update the link by clicking 'update link'." Hey, who'd'a thunk it? This is in displayUserInfo.

  8. Fixed Create a New User so that new users get the private-message reply link preference turned on when they create accounts. With any luck, this will simplify the problem of showing them how to reply privately to private messages.

  9. 2/27 At the behest of bones, fixed up Node Heaven Visitation so users can retrieve the original text of their dead writeups more conveniently.

  10. 2/27 Fixed the reply-all ("(ra)") link for group messages in showmessages htmlcode. In the group name, we're now replacing spaces with underscores and escaping single quotes.

    Roninspoon's suggestion: Fixed the JS replyToCB() function in the chatterbox nodelet so it now takes a second argument, ono. If ono is true, it puts a '?' after "/msg" when it fills in the text box. Reply-to-all now passes nonzero for that if the message text matches /^ONO: /. The message dbtable doesn't seem to track ONOness of messages. A clever user can put "ONO: " at the start of a message to a usergroup and fool the code, but a) why bother? and b) who cares? If it turns out to be a problem, we can remove the feature, but I don't think we've got that many drooling idiots running around loose here. Famous last words...