So, it's November now, and we're well down the to-do list, but there's always more to do. It's an exciting time to be working on the site, and we're working super hard on improvements both to reliability, and new feature work. There is literally years of technical debt built up around these walls, and I am working full-tilt on shoring them up. I'm working to throw out a lot of code. There's a ton of junk here that the site doesn't need, and years of betas and unreleased features laying around. I'm going to be working to kill off the stuff that's making this place less nimble to develop for, so that we can really push this site forward. This log serves as a detailed record so that it is easy for staff to help track down potential breakage and lists my thoughts and priorities day by day.
In October we really saw a huge amount of progress. I'll drop you the major highlights:
Solved the google problem: We've been having a tough time trying to figure out how to interact with Google, Bing/Yahoo and Baidu. We're now properly generating correct metadata tags for description, language, and proper noindex suggestions where it is appropriate(printable pages). This allows us to have relevant, non-spammy links to our site be in the search engines. We are also publishing a sitemap (available from robots.txt) that gets updated once a day and pushes new nodes out to the search engines. This has been my number one priority as new blood and interest in the site needs to keep up so that we can continue to operate and keep the place interesting while I clean it out to really add some killer new features.
Eliminated a ton of technical debtThere's a lot more to go, but we're working very hard to eliminate years of decisions that looking back upon it, we wouldn't have made now. I've deleted or pared down a lot of unused code, and a lot of code that was duplicated or simply broken. If you are the owner of said code, or there is something you missed, we can restore it out of our github repository that powers the site.
Better operationalized webservers: I did a bunch of work for me, to make it easier to operate the site so I can focus on code, and less on kicking servers when they don't work.
Some legal stuff: I have also filed for a DMCA safe harbor provision so that we can appropriately handle DMCA copyright allegations if they ever creep up. This protects me and the site from liability. We'll be posting a DMCA policy shortly after the letter is accepted, but nearly none of you will ever need to worry about it. The short takeaway from this is that it is the first business step to be able to "handle" images and other non-text based content sanely. It's not going to happen anytime soon (as there is plenty more to do elsewhere)
Engine improvements: I'll shift the burden of the explanation here to this month, as it is underway.
This month
I'm looking to get a feature out to users this month, but I'm not sure what it looks like yet, as it's still in the design phase. Once I have a bit more details on the interface, I'll be good to go, but it very likely includes the nodeparam work from last month. This allows the application to tack any piece of data onto any type of node. I'm considering opening up the ability to tag information to book or movie reviews (like author, director, release date, rating, ISBN, that sort of thing), and have that as a bit of boilerplate information that goes along with a node or reviews. I'd like it to be crowd sourced, so I'm looking at some other way for you to use your votes: perhaps as a way to verify that a particular piece of data looks right or that you agree with a classification or a piece of metadata. Like I said, the exact design of it is still floating around, but I'm excited about dipping our toe into crowd-sourced suggestive editing. Writeup licenses are also right around the corner as well, pending UI decisions.
There are a lot of project in-flight, so I'll be carrying forward some of last month's list. It's going to be listed as a stack of items that needs to be addressed, so apologies for the format, but it's how I have to think about the complexities of the project:
Top level projects
- I'd love to work on a new layout, but there's a lot to do before we can sanely get there. The first thing we need to fix is how we are using Amazon's S3 to cache CSS and javascript (jscss.everything2.com)
- S3 upload should happen directly from an update maintenance, which is doable, but requires some surrounding features
Performance
- The engine should support just-in-time minification of the Javascript and CSS
- The Everything::S3 adapter needs to properly upload a regular and gzipped version of the file
- We need to support marking a certain version of a CSS or javascript file as being what is in "production", so that is going to take a node parameter. This will prevent us from deleting it on upload, and we can allow developers to hit the webserver as the origin for a particular CSS or javascript file if they are working on it
- The problem with S3 however gets into the engine: currently S3 uses the version from the version table (checkGlobalVersion) type stuff which works great, but it breaks the test environment, and it can put us out of sync pretty hard if we get into it. I've changed the types to join on a new interim table (s3content), and they can each manage their own individual sub-versions. However, the problem here is that we have to implement a new maintenance type to support it pre-update, so that it can set the version before it is updated, and let the post-commit update hook do the S3 uploading. I'm willing to bet that a pre-update handler for nodes is also going to allow me to unwind hacks in quite a few places to make this work.
Node backup also depends on better S3 integration
The days of themes are numbered. I need to wind down how the theme engine works, both for performance, but also because it is the major impediment to keeping ourselves agile and able to make changes quickly. Even if we say themes other than zen are unsupported, we have to figure out what codepaths are supported, and it is a huge issue to get done.
- htmlpages do not go to the NodeCache right now because they are retrieved with getNodeWhere. There is a winding way in which we determine which page is fetched for which theme for which nodetype for which displaytype, but once themes are dead, we can make a straight decision tree and cache how this is done, rather than calculating it every pageload. We could do something with multiple themes, but it is burdensome to generate it for each theme and themesetting, so I just need to double down and kill themes.
- I need to make sure we have CSS equivalents for the old themes so I can kill them and set everybody's variables properly as a part of migration so that it's painless.
- Lucy-S noted a problem where XP is not being notified for the jukka dim emulation.
The concept of settings needs to die. Either the value is a tweakable item that can be solved with a production push, it is an arbitrary attribute on a node, or it belongs in a class of cached data objects that need to be represented as a packed JSON store, and not as the buggy, strange parameter assignment that these are now. This also means getting rid of $VARS eventually, and replacing it with one-off bits of data from the database. This approach lends itself very well to caching and only grabbing the keys that are needed when they are needed.
- System settings especially needs to go. The entire %HTMLVARS structure causes us to have to bootstrap it during the in-server pageload. This lends itself to various bits of namespacing horror, but once it is gone, we can create an Everything::HTML emulation container that will allow us to pull htmlcodes in to executable, in-library blocks, and start to remove them from being in the database. evalCode is our number one performance hit, by a huge, huge margin.
- User settings will become node parameters which will have sanity, speed, and application-level logic surrounding each one, rather than the wild no-mans land that we have now.
This will also help unwind the various namespace cross-pollution hacks that have put us in the mess that we are in. We need to finish the module consolodation and move Everything::MAIL::node2mail into Everything::HTML, and from Everything::HTML into Everything::Application over a few server pushes
Mails going out from Everything::MAIL are not tagged as HTML mail, even though they are, and it looks really unprofessional.
Even more verbose crontabs on the servers (super, super low priority)
Eliminate the unneeded binaries so that there's less to clean up when we sweep for huge functional changes with grep
Move the rewrite conf into chef and out of the ecore/ tree, which is a weird place for it to live
Webserver stuff
- Add in a reverse proxy rule for images, which might solve the Jukka Dim emulation problem below
- Add in a reverse proxy rule for java chatterbox, move to S3
- Add in a reverse proxy rule for TinyMCE, because having it off page breaks some stuff, including the html edit function
- Increase the amount of memory allocated to each thread
Disallow <h1>s and possibly <h2>s in writeups, because it confuses google. We might solve this with some kind of regex, but no idea on how to solve this properly. Possibly with some CSS magic
Category javascript isn't performing well
Our database transaction strategy has caused us some serious performance headaches, and continues to do so. It needs to be rethought and perhaps thrown out. Since we are moving more towards atomic transactions of individual properties and less about squishy implicit joins on node tables requiring cascading updates, we can consider its demise.
- Because of this, new writeups is stuck on a 5 minute timer, and that needs to be adjusted. We might go as low as a minute, but it can't be updated as a part of the writeup update maintenance. It was being triggered on voting!
Node locking (as in the property on node), needs to die. Seriously, have you ever seen the page Node Locked? Yeah, that's what I thought. We just don't use it, and I don't think we're going to ever. It was more of a problem before atomic updates happened in innodb
Small stuff:
Kill off isAdmin for something inside of Everything::Application
Kill off isInUsergroup for DB->isApproved, since that is really performant now.
- Make it so that every usergroup doesn't "poison" the cache since they are permanent. Only mark system groups as permanent (gods, c_e, edev, chanops, etc)
Remove e2imagenode
Remove adminbar, and the admin nodelet, and supercloak. But to do that, I need to (and I kid you not) unwind the Everything::Mail problems above. I'm completely serious
- Commit the patches to git, and delete a bunch of them as they're mucking up my search results a lot of times. We don't need an archival record now that we have sane source control.
- Take down the patch importer.
Update the email and email sending capability of verify your email account. We are sending raw HTML as text, and the from address should be accounthelp@
- We have to move the messaging system off of the htmlcodes and opcodes that it is into a library of some kind. It is madness and message is our most fragile piece of code
- Node tracker keeps retitled writeups forever.
- Add quick rename to security monitor
- Egg commands should know about costumes.
So, without further ado, let's get on with it
Nov 1st
- Properly mark outgoing emails as having content-type of HTML (and utf-8, even if that's a lie)
- Moved Everything::MAIL::node2mail to Everything::Application, added a quick compatibility layer
- Fixed the email address on the mail for account verification Email address verification for Everything2
- Updated some of the text and formatting of Password Mail
- Took some unneeded code out of vote
- HTMLized backup ready mail
- Removed new user mail backup
- Nuked N-Wing takes a stab at What's my password?
- Nuked test user mail
- Ported the Create a new user from Everything::MAIL to Everything::Application
- Did the same with Verify your email account
- Also, What's my password?
- Removed 'Everything::Mail' from All The Code
- Changed caja de arena to remove 'use Everything::MAIL', and use the Everything::Application version of node2mail'
- Removed Everything::MAIL from showchoicefunc
- Deleted the nodemail nodeball
- Killed Everything::MAIL.
- Removed invalid nodelet 1546595 from: willfe per ou GoodKingNerdnor skybluefusion harriswu rajani Jack DrakeCaiman tyldajazz iamkaym Chad Reasco DirePickle guavablue justinhyns t3h_poker meteryam Taneth worn-out_shoe
- Removed invalid nodelet 1855429 from: 21shep fondue ariels sensei Monalisa --OutpostMir-- jes04 stand/alone/bitch dko ebbixx pjd Chras4 Albert Herring liveforever darl majorimplosion chinakow enkidu ascorbic Angst RPGeek TheDeadGuy Posmella Blindness Uberbanana Jongleur 256 babarum solaraddict masterdlx gate dutchess joshuarat archiewood TerribleAspect BuffcorePhil Two Sheds Heisenberg Nora Arviragus Pseudomammal Laura Elizabeth cordyceps water ring_wraith Redalien libertas No Springs jwfxpr OberonDarksoul Matt_t_hat Tlachtga Milk bewilderbeast Sol Invictus Hommerabi redbaker KilroyWasHere Moggsy Fargus Angela Hosiah raialoha Nadine_2 vivaldi chaotic_poet antikythera Kizor Acropolis shaogo sirspens DTal CeeGee eyeofthebeholder Switchfoot Bexaruv brokenbrain Behelit easterner cazandria tifrap Eric Clipperton ThePuck DickShopper WShortzMaims kiz032 Thosmost nosillasparkles mow Era! Anonyman klugefoo kassiexx15 red dragon LilTripper Cliopatria Penetralia FallenAngel12 der Igel frannyor mywiseman.com Gypsy Queen the user _Eilonwy_ erniegs Snowman15 voidportal Skitanz Genny D keviinn drumjod Salem Fuchs punk_gurl17 Hydrant semicolon snoopelmor@aol.com angrykeyboarder animalmother whisperinthewind Dobes lilynic kama16 abject_hero BIGDOG44 niftierthanthou syntaxterror sarrasine gsogeek Magichappens Anarcharnate Walking Turtle zelda75231 kaysadilla sassys485 jamiesbusy Gryffon chiptruth Ayoxin Emmagee303 asqui105 thereaction wstbod wyattmcconchie Allsorts normahjeane Epic22 bossritchie alexnik15 ericcire wcs792 elashimm pooryoric MizTeri nicole_luvs_ya! ivor.not nurjoohan giti deadsleep jaeger12 JohannL lismaraxt broken promises _lesra iSubLookingforDom TheOrientalAfrican Pavlovna CowboyChrissy meluseth p-ceph goldarg cjahngo Cybermetheus pompomcutie vladaemyr htorun inmostleaf gothelin lediablerouge ogooluwanimi Omikev Alisha45 nice944 Aeltar iamparkertoo woods payne PeterEjemplo viki_boi MailLite cindy123 ukebloke Feli_the_Cat OrangePeel ChristianM TakenAptly antipotter DreamingFox irish101proof jason347 animebill blufindr DanicaFlyte AlmightyTim jenniveve wrrr carolynbogert Opium_in_the_Blood MartinMMusatov trublue2 0kj Crispyduck drconfused Khvalovsky wester_gods_fester doctordome Ms. Jones. xo. Journalopedia gbjacobazzi mukeshmishra Judge_Mental His melancholy smile libralady79 anonymityrocks sweet honey spyfoxguy lostcauser devilsdue the_kestrel Norton Mansfield Cuh-thoo-loo firebourne bugQ avitas ClaytonSzeto THEPossum scorpiostinglove enduring debate m7ikey transparent owl rccolaandamoonpie doctorron Goldkin theory girl Captain Universe Grounder Estelore yalinayaq Twoaddone Lucid_Dreamer SauntEdhar hackersinci Quantum_Jeff cebra xbilldozer IceRubyRed mobeach baxishta Arlo James Barnes Povertyfighter
- Wiped out mega-old nodelet 89 from markf cpyder sine1 Snabobulous manifest mark_f Slaine
- Removed admin nodelet from markf cpyder mark_f Slaine fuzzie
- Nuked admin nodelet, since Master Control is 100x better.
- Did a bit of speculative work in Everything.pm to only call the Everything::HTML stuff if Everything::HTML is loaded. Medium-term, I have to fix the VARS mess, but the real problem is that there are various functions which cause VARS to be grabbed from users, modified, and re-stashes. If you see any weirdness with C!s, let me know.
- Nuked supercloak, the opcode.
- Nuked supercloak, the htmlcode
- Nuked adminbar, as nothing else is using it.
- Removed Definitions_that_need_work from system settings as it isn't referenced anywhere.
- Deleted everything from Node Heaven that looks like Definitions that Need Work, a maintenance node so old we don't even use it anymore.
- Removed definitionsthatneedwork from system settings, same deal.
- Nuked A rusty old node, what was left of Definitions that need work
Nov 2
- Made Guest User unnukable
- Made system settings unnukable
- I need to kill off system settings. %HTMLVARS are horribly abused, and we need to move to a place where we can have a compiled execution context. To that end, I'm thinning out the keys in there so I have limited stuff to scrape out of the codebase.
- Removed the systemsettings key from system settings. It was only there to make it un-nukable. Set the node parameter to do the same.
- Made Piercisms Generator unnukable
- Removed 'submissionsforquoteserver' from system settings. It was a maintenance node that doesn't exist anymore, and the key isn't being used.
- Deleted all of the nodes from node heaven that were submissions for the Everything Quote Server. I have them on backup, I guess, but maintenance nodes really shouldn't be in node heaven.
Nov 4
- Worked on the backup system more, specifically have a mechanism for pulling logs off of S3
- Removed commented-out code in socialBookmark (opcode), so that I can tell where system settings are being used a bit better.
Killing off the completely uncached htmlcode isinUsergroup: showchatter, message, usergroupEdev, E2 Bouncer, zenDisplayUserInfo, usergroupNinjagirls, usergroupValhalla, canseenotification, displaydebatecomment, showmessages, testshowmessages, Other Users, in10se's sandbox 6, Javascript Repository, squawkbox, suspension info, display categories
Removed the ability for SIGTITLE to add firmlinks in firmlink and addFirmlink. Since every SIGTITLE member is in Content Editors this is only a technical change. We shouldn't be hardcoding SIGTITLE in everywhere.
Added a new E::A::inUsergroup and corresponding tests in 005
Fixed a typo in nwings_sayings which caused his homenode to have an error.
Nuked healuser, hugguser, strikeuser, Ragnarok!, halls of valhalla as it was an old april fool's thing that didn't matter anymore
Nuked heavyencode. No idea why I made that like ten years ago.
Hacked Other Users to remove the CE sigil from e2gods
Editors and Chanops can no longer be locked in a room. go outside
Nov 6
- Nuked hash2var, as no one was using it
- Removed htmlvars ed/gods logic out of coolit for an E:A function
- Changed the sendPrivateMessage logic in coolit to pass in a hash param instead of HTMLVARS
- Changed Websterbless to allow all CEs and use the hash param version of sendPrivateMessage
Nov 7
- DonJaime reworked the login system so that we are no longer storing plaintext passwords in the system. We will need to work through some of the backlog of password hashing, but we're on the other side of it.
- Got rid of the HTMLVARS carry for sendPrivateMessage in displayuserinfo, displayuserinfozen
Nov 11
- Added another node to googleads which is blacklisted from ad-serving. Google's regex is bizarre and we just keep knocking off items as they report them to me
- I need to take a detour to clean up isinUsergroup: Stylesheet search, sendPrivateMessage, Findings:, category display page, debatecomment edit page, debatecomment replyto page, usergroup display page, category maintenance create, category (opcode), leadusergroup, Everything Publication Directory, Recent Users, Everything's Most Wanted, OldMinerian Autonomous Poking Machine, debatecomment maintenance create, debate maintenance create, bless, cool, massacre, socialbookmark
- Nuked: isinUsergroup
- More sendPrivateMessage work: dragUsers, messagebox, msgField, testdisplaywriteupinfo, stylesheet display page, debate maintenance create, sanctify
- Killing off: testdisplaywriteupinfo. Edited: oolong's sandbox. Nuked testdisplaywriteupinfo
- Nuked msgdemo. Trimmed the appropriate parts of N-Wing's plaything
- Added in a node parameter to allow for usergroup archiving. 'allow_message_archive'. Applies to 'usergroup'
- Completely rewrote usergroup message archive manager to use the new node parameter of 'allow_message_archive'. Also: usergroup message archive, sendPrivateMessage, message (opcode)
- Nuked: allow message archive
- Nuked: message settings, as it is a ten year old beta that never panned out
- Removed the non-production autofilter code from sendPrivateMessage
- Nuked everything email forwards, as we just aren't using it. Removed 'everything email forwarders' from showUserGroups. Nuked everything email forwarders
- Created paramsetbox, to start moving over VARS items into parameters, and we're going to casually start with the ONO message parameter
Nov 12
- Some damaged data in setting cleanup. Removed bad vars from (c)all (invfravision), Dave! (nutto), nate (various), Yam, Owen Jacobson, Damodred, mcd, 256k
- Get some commented out code out of: zenDisplayUserInfo
- Retired the NoBounty vars: Everything's Most Wanted
- Retiring the 'punched' $VARS entry show user vars, vars information. Stripped the punched VARS entry from 1732 accounts
- Retiring the 'meatloaf' $VARS entry vars information. Stripped the meatloaf VARS entry from 24802 accounts
- Wiped out every $VARS entry that looks like automsg.*
- Deleted the randomnodes nodelet, as no one was using it, and it didn't do anything
- Retiring the barf $VARS. message (opcode), VARS information. Stripped the barf VARS entry from 24000+ accounts
- Retiring the supercloak VARS. The opcode was already deleted earlier in the month. Stripped form 6 user accounts
- Retiring the 'votetest1' VARS entry. general container, vars information, personal session xml ticker. Stripped from 644 accounts
Nov 15
- Removed AFD code from showchatter
- Fixed a problem with the editor sigil in showmessages
- Removed a flag test thing from OldMinerian Autonomous Poking Machine
- Nuked flagged (htmlcode), as it has been fully wound into parameters. flag (opcode), flag (linktype), unvotable (flag), flag (nodetype)
- Made Broken nodes unnukable. Removed it from system settings
- Made Cool Archive unnukable. Removed it from system settings
- Made Create a node unnukable. Removed it from system settings. Node notes suggest that it might not be referenced anywhere.
- Added in isMaintenanceNode, to handle the situation where something shouldn't count for some reason.
- Cleaned up the isMaintenance %HTMLVARS carryover in editwriteup, removed boring heaven nodes from addwriteup
- Took out the boring heaven nodes stuff from publishwriteup
- Same in setwriteuptype, unpublishwriteup, remove (opcode)
- Updated Node Heaven to not use Boring Heaven Nodes
- Redid Maintenance Nodes XML Ticker
- Moved listMyMaintenanceNodes from the %HTMLVARS stuff to Everything::CONF
- Nuked e2node testsoftlink page, as it was an 11 year old beta
- Nuked testsoftlink as it wasn't being used anywhere
- Edited softlink to not use the %HTMLVARS method, instead checks the explicit maintenance nodes collection in Everything::CONF
- Nuked boring heaven nodes
Nov 17
- Fixed iron noder progress to use the in E:A version of isMaintenanceNode, instead of scraping HTMLVARS
- Changed writeupssincelastyear to use the maintenance_nodes CONF hash instead of scraping HTMLVARS
- Changed setupuservars to no longer use listmymaintenancenodes (uses E:A function instead).
- Nuked listMyMaintenanceNodes, as it isn't being used by anything anymore
- Nuked killit as it was an orphaned htmlcode
- Deleted the kill opcode as it was disabled anyway
- Removed weblog hints from epicenter
- Deleted simplenewsify as it wasn't being used.
- Nuke newsify, as only kill (opcode) was using it.
- Killed off Unhideify! as the weblog edit menu already covers it.
- Nuked the On This Day nodelet! The nodelet claimed it was broken.
- Nuked what happened today? oppressor superdoc. It was broken in the same way that On this Day was.
- Wiped out old news, the setting, as it was part of a broken beta feature.
- Changed the htmlcode('isAdmin') stuff out for $APP->isAdmin: editor homenode tools, epicenterZen, nodelet meta-container, showNodelets, homenodeinfectedinfo, master control, cure_infection, Back Up My Vars, node listnodelets page, Recalculate XP
- Nuked isAdmin (htmlcode)
- Nuked the old e2imagenode beta: jukka e2imagenode displayfull page, e2imagenode edit page, e2imagenode (nodetype), e2imagenode (dbtable), pictureperfect
- Made E2 Bugs unnukable, removed it from system settings
- Made ENN unnukable, removed it from system settings
- Made Everything New Nodes unnukable, removed it from system settings
- Made Everything Finger unnukable, removed it from system settings
- Removed the prohibition against bookmarking system nodes in bookmark
- Trim down the comments in episection_admins
- Remove the link to system settings from titlebar, ekw titlebar, zen titlebar
- Remove system settings dependence in genRDF.pl.
- Deleted the Ads nodelet. We aren't using it, and I'd need to provision a new campaign.
- Cleaned the 'system settings' stuff out of nodelet meta-container, zenadheader, Cool User Picks, tfcool nodelet and tfcool nodelet2
- Removed the ad_location key from system settings
- Deleted linkNode Test as it wasn't being used.
- Removed the key for Everything Quote Server in system settings and made it unnukable
- Removed the key for Everything's Best Users in system settings and made it unnukable
- Removed the key for Message Inbox in system settings and made it unnukable
- Removed the key for News for noders. Stuff that matters. in system settings and made it unnukable
- Nuked ismarkedfordestruction, as it isn't used anywhere.
- Removed the onNodeRow check from cool (opcode), since we don't use node row anymore;
- Nuked onNodeRow as only cool was using it.
- Removed the key for Node Row in system settings and made it unnukable
- Ripped the HTMLVARS hacks out of admin settings
- Retiring the episection_classic setting: Admin Settings. episection_ces. Stripped the variable from 23 accounts
- Removed the key for Nodeshells Marked for Destruction in system settings and made it unnukable
- Removed the key for E2 Nuke Request in system settings and made it unnukable
- Removed the key for Suggestions for E2 in system settings and made it unnukable
- Removed the key for 'ad_location','UserSearch' from system settings
- Removed the key for Cool Man Eddie in system settings and made it unnukable
- Changed over a clunk HTMLVARS editor call in macro FAQ to use isEditor
- Replacing the system setting for: 'createNewUser_node' e2createnewnode
Nov 18
- Fixed an odd typo that compiled in editor homenode tools
- Replacing the system setting for: 'createNewUser_node' minilogin. Made sign up unnukable.
- Nuked create nodes An ancient unused piece of code (node_id: 31)
- Made create node unnukable, and removed the key from system settings
- Removing the youtube_link VARS, as it is only disabled now: classic user edit page. Killed displayyoutube, users with youtube. Stripped the youtube_link var from 58 accounts
- Moved 'default_guest_node' from system settings to Everything::CONF (minilogin, HTML.pm)
- Took out an unneeded piece from set_htmlvars
- Updated the create a new user link from guestuserbanner so that it points to DonJaime's sign up instead.
- Removing $HTMLVARS{default_node} for CONF: zen stdcontainer, jukka container, titlebar, HTML.pm, e2 logos, minilogin, classic titlebar, login. Removed 'default node' from system settings
- Made default nodelets unnukable. Replaced the HTMLVARS incantation for default_nodeletgroup with an E::CONF one in node listnodelets page and nodelet meta-container
- Prevented nuke on zen theme. Moved the HTML.pm check on it to E::CONF. Edited: softlinks, advanced settings, settings, show user vars, Theme nirvana. Took 'default_theme' out of system settings
- Ripped out: duplicatesFound_node from system settings. Cleaned up HTML.pm, set_htmlvars
- Maked e2n unnukable. Removed from system settings
- Removed the 'everythingNewNodes_node' from system settings: It was referring to a deleted node
- Converted over 'site_name' and 'site_url' from chatterbox XML ticker, New Nodes XML Ticker, Other users XML Ticker, private message XML ticker, User Information XML, User Search XML Ticker, Verify your email account
- Removed 'site_name' from system settings
- Ported over the site_url parameter in printablefooter. Removed 'site_url' from system settings
- Nixed imageroot from usersearchform, Oolong's sandbox. Removed imageroot from system settings
- Made unnukable The killing floor.
- Removed killing_floor from system settings
- Made The killing floor ii unnukable. Removed the key from system settings
- Stripped the 'nodelet_group' parameter from the root user, it wasn't used anywhere.
- I need to finish paring down HTMLVARS in various capacities. usergroupgods, chatterlight, addnodeforward, Message Inbox, Findings:, Scratch Pads, Node Heaven, Usergroup Picks, Other Users XML Ticker II
Nov 24
- Fixed two places in which review drafts weren't functioning properly: display draft, and draft display page. This is because I modified the way the previous permissions check worked to include a piece of information that was previously available in $NODE. This is the concept of a view disposition, whether you are trying to "find", "view" (default), or "edit" a draft.
- Nuked: Scratch Pads, E2 Scratch pad
- Took out the mergeapprovedtags bit of N-wing's plaything. Nuked mergeApprovedTags. It was part of a demo to do MathML markup in things. It was a neat idea, but now that we don't use scratch-pads, I don't think we should fold that type of functionality into the core just yet.
- Removed the scratch pad stuff from Drafts
- Nuked count scratchpads, convertscratchpads, Scratch Pad XML Ticker, E2 Printable Scratch Pad, Scratch Pad Viewer
- Removed the 'hideskratchlink' from exportable vars
- Removed the 'skratchshare' exposure in displayuserinfo
- Removed the scratch pad stuff in lock user account
- Removed 'skratchShare' from exportable vars
- Stripped 'hideskratchlink' from 148 accounts.
- Stripped 'skratchShare' from 3697 accounts.
- Removed the 'skratch' line from vars information
- Removed the 'Send to Scratch Pad' piece inside of Text Formatter
- Removed the Scratch Pad piece from msgField
- Renamed a variable in noding speedometer so that it doesn't trip up my grep
- Took a scratch pad link from Everything2.1 Front Page - Noder
- Removed scratch from xml exports
- Removed scratch pad support from script_tinymce
- Removed scratch pad support from document linkview page
- Removed URL rewriting support for scratchpads
- Nuked the Forgotten Works and bits of rusty metal.
- Reworded some stuff in E2 Mission Statement to not hit my grep
- Nuked N-Wing scratch
- Nuked E2 God Summit 2001 timeline
- Nuked Draft Announcements for Plan 13
- Reworded some things in E2 Bookmarklets
- Nuked repairing writeups
- Nuked multiple scratch pad viewer
- Changed some descriptive text in nodelockreason
- Changed the way we display nodelock text in xmltrue: we now use nopublishreason instead of nodelockreason
- Nuked nodelockreason
- Removed the scratch pad link from A Custom Nodelet
- Took out some grep bait from E2 Bookmarklets (edevdoc)
- Dropped the scratch dbtables: scratch, scratch2
- Took out more HTMLVARS stuff in: N-Wing's plaything
- Working on removing the VARS for ebu_noadmins. Basically, since admins can't really manipulate their XP number, it makes sense for them to be included on the list. Everything's Best Users XML Ticker, Everything's Best Users
- Stripped the 'ebu_noadmins' $VARS setting from 615 accounts.
- Stripped HTMLVARS stuff out of comments in Writeup Search
- Took the HTMLVARS stuff out of show user vars
- Took some commented out grep-bait from Oolong's Testing Ground
- More HTMLVARS stuff from Old Writeup Settings, Outside URLs nodelet editor
- Solved a really snarly cache corruption problem with Message Inbox, which is the likely cause of The Custodian's bizarre rename a few weeks ago. Titles were getting corrupted when we made the javascript reply-to link. Thanks to Tem42 for the report.
- A lingering drafts permission problem in canSeeWriteup.
- Edited The Catwalk not to pass things in HTMLVARS
- Nuked Experience.README
- Removed the HTMLVARS passing into varscombobox inside of Everything Document Directory, List Nodes of Type
- Same as the last few, Spam Cannon. Also, 'no_goodies' isn't a VARS key set /anywhere/ on the site, so removed that check
- Cleaned up the last HTMLVARS entry in: Verify your email account
- Removed the key for 'verifyEmailAccount_node' from system settings as it was the last entry of it.
Nov 28th
- Nuked Archived: Voting/Experience System 2008, as we have it in git and don't need it in production
- Nuked the kick opcode, as it was clear from the read through it didn't work.
- Removed the lockedin piece from the room display page.
- Removed some lockedin code from rootbeer227's other sandbox
- Eliminated the /drag command from message. We have chat suspension, which is much cleaner.
- Nuked dragUsers
- Stripped the lockedin $VARS entry from 70 accounts.
- Removed HTMLVARS stuff from Everything Finger, Noding speedometer, Reputation Graph, Reputation Graph Horizontal, Oolong's Sandier Box, Notelet Editor, Node Row, Node Heaven Visitation, News Archives, My Big Writeup List, Everything's Best Writeups, E2 Gift Shop, Blind Voting Booth, bad spellings listing, bestow cools, message, inboxlight, Everything User Search, List HTML tags, Create Room, Everything Poll Directory, Everything Poll Creator, EDev FAQ, Edev Documentation Index
- Removed fixcoolcount, as it wasn't being used.
- Took the wapdoc stuff out of Everything Data Pages, cleaned up HTMLVARS junk
- Removed Archived E2 FAQ: Klaproth
- Removed nodeletheader and silentWarn as it was unused.
- Nuked AvantGo-Nice ENN, AGnewnodes
Nov 29th
- Pushed the not_found_node into Everything::CONF so I can rip it out of HTMLVARS everywhere
- Added the ability to have a preupdate maintenance, which is essential for s3content sync
- Changed the not_found HTMLVARS to use $Everything::CONF->{system}->{not_found_node} in: draft display page, ajax update page, node editvars page, node help display page, node listnodelets page, node shownodelet page, node xmltrue page, Duplicates Found:, set_htmlvars, duplicates: