Cg beta deployment
This page is historical since we launched the new CG site in 2015.
Notes on infrastructure
Server
- Proxy set up for beta.w3.org/community
- Fake groups will not appear on the real site
- We have a copy of IPP on the machine
- We will not import real groups into the beta; we will not mix real and fake groups
- Use state management tool for beta groups
Member company setup
- In the beta instance of the database, we plan to make Ian the AC Rep of all Members.
User Accounts
- Use the existing account system and LDAP server.
- We won't have information about which groups people are in, so when they join, they won't be able to blog.
Structuring the beta
- We will distinguish "create/support/join" from "actions you take once in a group" to simplify setup
- For new groups created by beta testers, people can:
- Propose a new group
- Support a new group
- Join a group
- Nominate chairs
- Chairs can publish
- We will set up a special group (with well-defined participants) to
- blog
Note:
- There will be no wiki in beta
Limitations of beta
- No mailing list will be set up for created groups
- Users cannot manipulate their account info (so we will disable link during beta)
Notifications
- Don't sent beta messages to team-community-process; messages will be sent to individuals
- Don't send beta messages to public-council; messages will be sent to individuals
- Don't send emails to real AC Reps
Initiating the beta
- We'll need to create some fake groups
Scenarios
Publishing
- From group home page, test the publishing UI for chairs:
- Three group types: no chair, chair and user is chair, chair and user is not chair
- Test both not yet logged in and logged in.
- Test group with zero specs, 1 or more draft reports, 1 or more final reports
Deploying the new site (after beta)
Target date
- 12 February
High level plan for making the transition
- We announce a transition plan and tell people to avoid posting or creating WP pages during a window.
Copy beta files (in file system) and IPP templates/scripts to new server.- Remove "beta" from home page title in template
- Export all beta server WP pages
- Copy production database to w3.org/community-old
- w3.org/community points to that during the transition
- allows easy rollback
- and if people post during transition we can still manually copy over
- Start the new server on the production database.
- Run the upgrade script (to update templates and widget locations)
- Import the beta pages
- Set server name to www.w3.org from the proxy front ends
- If anybody posted during transition, then manually copy from old to new those posts
Server
Ensure we have the latest debian running(Done)Do not upgrade Synfony- But what underlying dependencies would affect that, e.g., PHP upgrade?
Templates
Finish template fixesCartoon figureHas search button in widget been styled?Was there a reason for changing paragraph top margin?
Source files
Install css and js in "right place" (JG action 94)Adjust symlinks
WP
- See WP migration guidance
- Check to see if we need to update WP or WP plugins
- Manual changes to main blog: widgets, menus
- Import the original beta announcement into the new WP instance, keeping original URI and content.
- Ian may edit slightly to let people know that cgbeta.w3.org is no longer going to be serviced.
Widget orderingJG doing through scriptUpdate SMARTY_TPL constant in wp-config.phpEliminate FAQ plug-in in favor of WP page with FAQ
Calendar
Events calendar hack in functions.php not working anymore, apparently. But we decided to remove the events plug-in since it was effectively not used by anyone.
Undo redirectsThese are local to cgbeta so nothing to do if new install on new server
Content
IJ: Update beta pages wrt production server. (Done)JG: Ensure w3c forum imports correctly
Performance
- We will set up caching for three types of pages: list of groups, list of reports, group participants page
- 1 hour cache expiry
- Plus explicit curl purge on key modify events (create, join/leave, publish)
- Gerald to set up varnish instance for crux.
Gerald will configure server so that if a cookie is set and is WP's cookie test (containing wordpress_test_cookie), allow it to be cached, but for other cookies don't allow caching.
- Jean-Gui to set up explicit curl purges (via shell scripts and PHP)
Group page cache cleared when someone joins/leaves a group- Group page cache cleared when new group created.
- Reports page cache cleared when new report published
Future changes (not critical to deployment)
IPP
- Don't make these changes so that we can roll back easily if necessary
- Rename test files as non-test files (join, leave, change).Does pplib-cg-test.phi need to change?
Source files
- Action 324 Merge cgbg2012 source files into src tree