{"id":4064,"date":"2017-09-27T08:08:31","date_gmt":"2017-09-27T13:08:31","guid":{"rendered":"https:\/\/2017.us.wordcamp.org\/?post_type=wcb_session&#038;p=4064"},"modified":"2017-11-16T13:25:15","modified_gmt":"2017-11-16T19:25:15","slug":"upgrading-the-wordpress-org-support-forums-how-to-eat-an-elephant","status":"publish","type":"wcb_session","link":"https:\/\/us.wordcamp.org\/2017\/session\/upgrading-the-wordpress-org-support-forums-how-to-eat-an-elephant\/","title":{"rendered":"Upgrading the WordPress.org Support Forums (How to Eat an Elephant)"},"content":{"rendered":"<p>The WordPress support forums, which include international and<br \/>\nlanguage-specific forums and power support and reviews for WordPress<br \/>\ncore, themes, and plugins, had been running on bbPress 1.x since their<br \/>\ninception. Issues with both security and stability were a constant<br \/>\nthreat and a move to bbPress 2 was well overdue, but no one was able<br \/>\nto tackle the upgrade. 11 million existing posts spread across more<br \/>\nthan twenty sites, custom configurations and plugins written for the<br \/>\nbbPress 1 codebase, and above all, an active userbase and new posts<br \/>\ncoming in constantly meant that the project was so unwieldy that it<br \/>\nwas hard to know where to begin.<\/p>\n<p>In the summer of 2016, I upgraded the WordPress.org support forums<br \/>\nfrom bbPress 1 to bbPress 2.x. This talk will be done as an interview<br \/>\nconducted by Mika Epstein.<\/p>\n<p>It will cover the following topics:<br \/>\n&#8211; Getting the lay of the land; figure out storage, destination,<br \/>\nsandbox, meta environment.<br \/>\n&#8211; Formulating goals: Minimize downtime, clean import, remove spam\/dead<br \/>\ntopics when possible.<br \/>\n&#8211; MVP in terms of forum functionality.<br \/>\n&#8211; Native bbPress importer versus direct SQL script.<br \/>\n&#8211; Community support and notification.<br \/>\n&#8211; Staging and testing on live sites.<br \/>\n&#8211; 10x rule for new problems: memory leaks, multibyte language character count<br \/>\ntruncation, different slug lengths between schemas, saturated postmeta queries.<br \/>\n&#8211; Planned downtime.<br \/>\n&#8211; WSOD disaster two days before the scheduled changeover at 95% data load.<br \/>\n&#8211; SUCCESS!!!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The WordPress support forums, which include international and language-specific forums and power support and reviews for WordPress core, themes, and plugins, had been running on bbPress 1.x since their inception. Issues with both security and stability were a constant threat and a move to bbPress 2 was well overdue, but no one was able to &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/us.wordcamp.org\/2017\/session\/upgrading-the-wordpress-org-support-forums-how-to-eat-an-elephant\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Upgrading the WordPress.org Support Forums (How to Eat an Elephant)&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2343,"featured_media":0,"template":"","meta":{"jetpack_post_was_ever_published":false,"_wcpt_session_time":1512147600,"_wcpt_session_duration":2700,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[3868],"footnotes":""},"session_track":[1106620],"session_category":[],"class_list":["post-4064","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-banjo"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8aOEk-13y","session_date_time":{"date":"December 1, 2017","time":"11:00 am"},"session_speakers":[{"id":"3868","slug":"jennifer-dodd","name":"Jennifer Dodd","link":"https:\/\/us.wordcamp.org\/2017\/speaker\/jennifer-dodd\/"}],"session_cats_rendered":null,"_links":{"self":[{"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/sessions\/4064","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":1,"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/sessions\/4064\/revisions"}],"predecessor-version":[{"id":4065,"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/sessions\/4064\/revisions\/4065"}],"speakers":[{"embeddable":true,"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/speakers\/3868"}],"author":[{"embeddable":true,"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wporg\/v1\/users\/jmdodd"}],"wp:attachment":[{"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/media?parent=4064"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/session_track?post=4064"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/us.wordcamp.org\/2017\/wp-json\/wp\/v2\/session_category?post=4064"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}