--$month     ++$month

The first root log (one year ago; what memories...) explains why the root logs exist. Note: this writeup are only changes that I, N-Wing have made.


  • modified message (opcode) to detect the most basic /msg typos: a missing leading / and no text after the user


  • (boring memories junk, feel free to skip this) Wow. 1 year ago I made the first change to E2. And what a big change it was, adding a saying to the front page random quote generator. When I started out, I was hugely worried about causing Server Error!s, especially since I was pretty weak in Perl. A few early changes I did also hugely stressed the database (such as the original implementation of the other users groups). Now, I just throw Server Errors around for the fun of it, and don't create too much more work for the database.


  • started work on a generic /msg htmlcode; this will solve the problem of /msging several groups, and avoid problems like /ignore not working for certain things

$day=[ 9  ..  16 ];


  • changed writeuphints (htmlcode) so editors now also see writeup hints when viewing a specific writeup, even if it isn't theirs (I mostly did this to track down the next problem...)
  • fixed writeuphints (htmlcode) so a multi-line link wasn't treated as an improperly closed link (this would happen if the link target had an embedded newline in it)
  • updated user information XML to show if a user is in the common usergroups


  • panamaus uncovered part of nate plan to link Brian Eno to every node (oops, I just linked it from this one) (the hard links in writeuphints (htmlcode) had a &lastnode_id=whatever in the example links; I removed the lastnode part by directly calling linkNodeTitle instead)
  • changed displayWriteupInfo (htmlcode)'s function sendMessage to use sendPrivateMessage instead of directly adding the messages to the table


  • updated htmlcodes displayWriteupInfo and chatterinfo to show all messages sent if sending multiple messages on the same page load (currently, this can only happen if you talk to several people at once using the writeup header area)
  • added an optional filter and a little more infomation to private message XML ticker - give the parameter messageidstart=decimal_number to only get messages above the given number; an info tag at the start shows how many messages are in the ticker


  • fixed the problem in Message Inbox with the dangling [ in messages

--$month     ++$month

jaybonci@everything2:~> rootlog --help
Usage: rootlog --date
      c    Changed a node
      C    Created a node
      d    Deleted a node
      o    Other change
      n    Notes!
Report any bugs to JayBonci
All rights reserved. This software is provided as is, regardless of how much you whine ;)

jaybonci@everything2:~> rootlog --2.9.2002
n: Rearranged scratch pads to allow for larger pads and to help with lag reduction (because of less evaling with $VARS, page times should be slightly faster). The information was all backed up and back imported. Lots more information as to why, etc at the newsified doc:

jaybonci@everything2:~> rootlog --2.10.2002
Completely overhauled the XML subsystem. displaytype=xmltrue is now in play. There will be a separate writeup on the whole interface for clientdev. The entire gist of this is that the whole thing is in beta, and interfaces are subject to change, so make stuff nice and modular. We have DTDs but not all of them are good yet. I want to use schemas, but that's coming soon. Basically enough is done to unblock fuzzie's work on the e2client core. Explainations as to what all of this is, and why everything was changed coming soon Phew. Maybe a clientdev doc coming tonight, but more later.

jaybonci@everything2:~> rootlog --2.11.2002
Put together the documentation for the new XML interfaces. Sure, it's a writeup, but it's notable enough to list here.

jaybonci@everything2:~> rootlog --2.13.2002 Two new toys for today. One of which is for WolfDaddy's project E2 Family Tree, and the other is just a superdoc with which rooms are available located at Available Rooms (I was going to make a new ticker out of it for fuzzie, but I'll make a general consumption superdoc first. All things considered, I'm happy with both.

jaybonci@everything2:~> rootlog --2.14.2002

More ticker work. This time it's the Available Rooms XML Ticker. This is to add XML parity to Available Rooms Added employment in the user strings section of our XML export. Thanks to fuzzie

jaybonci@everything2:~> rootlog --2.15.2002

Applied a patch for insanefuzzie to formxml_user so that it gives all the information needed to be a fully qualified writeup display. I whacked the patch, because it's in play now.

Spotted a major security flaw in ecore. Spent most of the day patching that and quietly spreading the word. If you have an ecore installation of pre-1.0, please let me know, and I'll give you the security "fix" for it.
  • Not listing a change until known installations are patched

jaybonci@everything2:~> rootlog --2.16.2002

In formxml_user.. duh. s/\$USER/\$NODE/g;

jaybonci@everything2:~> rootlog --2.17.2002

Performed maintenance on the message table, largely consisting of me trying to empty out my inbox. I shit you not. I have approximately 2% of the messages on the system. I need to clean that up. Okay, other than that, I removed the JavaScript size warning. Thanks to panamaus and many others who pointed it out. Also we phased out the var in everyone's settings so that people wouldn't select it anymore, since it DOESN'T DO ANYTHING. Changed around the link display in the Search interface, because fuzzie whined. Actually, no, here's the story. I was going to use another tag there, because in the beginning it was really going to include type information, but that's not provided in a convenient header. It'll have to be arranged if there is ever a type-nuetral search, but oh well

jaybonci@everything2:~> rootlog --2.18.2002

Created a new ticker for editor cools, mostly to fuel my new bot for #everything. You can add on to the URL a count=# parameter of anything between zero and fifty. It defaults to ten, however. jaybonci@everything2:~> rootlog --2.20.2002

Fixed a security bug in formxml_user. If $$NODE{node_id} == $$NODE{node_id}. I really hope that'd never fail. Thanks for fuzzie for pointing it out. Made the adminbar have a displaytype for xmltrue. I'll move it into the developer nodelet later. Mainly to save my typing.

jaybonci@everything2:~> rootlog --2.21.2002

Fixed a bug pointed out to me in the message opcode that would display HTML exactly as you rendered it. So if you typed /msg jb <img src="foo" /> you'd get the HTML exactly as you put it out. Thanks to Roninspoon for the bug report. Stupid code was in the message opcode. Solved a mildly recurring problem with homenodes in that the last writeup link would sometimes be broken (those maintenances can and do fail to update). For the occasional time that does happen, you can now click repair to repopulate that box with the most current. Added a new debugger for coder admins to work on opcodes. This will make debugging a mile easier. jaybonci@everything2:~> rootlog --2.22.2002

Fixed a bug found by rischi that would make the (r) link in the chatterbox not work on certain themes on E2 Scratch Pad. I think I fixed it. It bothered me no end that the items in create node weren't in alphabetical order. There. Done. It's also faster now too. jaybonci@everything2:~> rootlog --2.24.2002

Over the last two days, I added a system for schema's and later on XSLT stuff. This will be of use to the IE 5.5+ and NS6+ folks. Until then, this will also be of use to other generic XML parsers. We aren't ditching the DTD stuff, but that will as well be externalized, to make parsing easier (and data downloads smaller). For this set of feature goodness, we added a few items: I also overhauled the messaging XML tickers to be more convenient and faster. The private message XML ticker and the Chatterbox XML ticker is now combined into this ticker for ease, simplicity of formatting and removal of links. By default, links come parsed. If you want them unparsed, you can apply the standard links_noparse; When parsing these tickers, PLEASE use a good sleep time and also only use differential tickerness.
    The ticker takes four parameters:
  • msglimit => Message limit takes a msg_id of the lowest message that you want to receive messages greater than (it will not include said message). This means you can poll for new messages in either the chatterbox or the private message and not do a huge strain on the server. This attribute applies first above all others. It's a good idea to try to stay in sync with the message stream. This is not gaurenteed to work, because while you may suggest a steam starting point, if haven't checked the chatterbox in a while, you may have missed a bunch of messages, and thus will only get them the 5 or 10 minutes back, according to the backtime paramter.
  • for_node => The node for which to retrieve the messages. You can either pass it the node_id or the word "me". If you pass it "me", it's assumed that you want your private messages. If you do not give it anything, it will assume that you want the messages for outside. The node for node_id=0 is considered to be outside, even if it really isn't anything. You can pass it in a room's node id from the Available Room XML Ticker, and it will get you that room, as long as you have entered that room. (there is currently no XML method for doing so, but that will change in the future).
  • backtime => Pass backtime the number of minutes back that you want to read messages from. When reading from the chatterbox, you can only read in 5 or ten minute increments. You can pass it numbers larger than that if you want to read from your message inbox.
  • nosort => By default, messages that are passed to you are in chronological order, as you would see them in the message inbox or in the chatterbox. However, you can choose this option to release the sorting, thus making the pageloads faster. If you choose to do so, they can be in whatever order mySQL will give them to you. This will help speed up load times, but it assumes that you client will sort them. It is up to client writers to figure out what they want to do with them.
  • links_noparse => Everyone's favorite link parsing suppression mechanism is yet again still good here. If you pass this a 1, you will keep links from being converted into <a href=... format. They will retain their normal look, if you choose to do the parsing by hand.
Hopefully this will simply all of the needs of people for message XML tickerage. Also, because we've completely overhauled the messaging ticker, all submitted patches for the old ticker are going away at some point tonight. jaybonci@everything2:~> rootlog --2.25.2002

I suppose this stuff counts for the 25th, but hey, here we go. First off, patch cleanup, as promised:
I patched the node emailing system for EDR that would break certain mail readers (Eudora and squirrelmail to name two). In emailReport.pl:
      #jb says patched this here to quote the URLS
      #as I think it was breaking some mail clients

Added superdoc support to our increasing XML-age of database objects. This will return you EXACTLY what you would see had you executed the document, including all form objects (encoded of course). This could be for better, or for worse, but that is how it is. This was requested by insanefuzzie for some documents such as Golden Trinkets, that really don't have an export equivalent or what not. Please have second thoughts on using this to generate something heavily formatted, such as Message Inbox. Sourceforge bug on this item now listed as fixed. Deleted an old ebug entry by dannye regarding tonight's fix:
We now have a ticker for Everything's Best Users. It was designed to use some of the same elements found in homenodes, so that should be easy enough to use. Also, it takes a parameter ebu_noadmins which turns on or off the display of EBU users who also happen to be e2gods. This preference is independant of the $VARS setting, mostly because it's late and I couldn't get it to stick. This returns 50, just like the document. Sourceforge bug now listed as closed. And now because I realized how easy it would be after moaning about it myself in the chatterbox, if you have reply links turned on in the chatterbox (check your Preferences for details), then you now should see an (ra) link if you are going to reply to a group message. That should be a time saver. jaybonci@everything2:~> rootlog --2.26.2002

Changed message inbox to display only the groups you have messages from if you have the sort my Message Inbox pref in your user settings (WHICH YOU SHOULD, FOOL). Okay. That was bugging me. Added reputation up and down support, and C! support to writeups in xmltrue. Closed SF bug. Exports <groupmembership> on homenodes now. Closed SF bug. jaybonci@everything2:~> rootlog --2.27.2002
Cleaned up the Universal Message Ticker so that Guest Users can get to it (like the other message ticker), and that it includes room and topic information if you're in a room Created an export for the current XML interfaces. This will allow us to handle the deployment of new interfaces. The XML interfaces ticker includes a this parameter, in case it's not the most recent XML Interface for interfaces, if that makes any sense. Added a huge patch from Teiresias to Everything Quote Server II. Eventually, it'll all be rolled into one big happy quote servery thing. jaybonci@everything2:~> rootlog --2.28.2002
Added the ability for clientdev people to register their clients. There's a big o' chunk of information on it at clientdev: Registering a client, but the generally gist of it is you can use E2 to force updates of your clients, if you wanna keep up with our registry. Convenient and easy. Also, it's a way of doing announcements and such on the projects as they continue, sort of. The configs for all of them are exported through Client Version XML ticker. It was also added as an official export.

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...

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