Page MenuHomePhabricator

New wiki for fundraising Thank You pages with similar config as donatewiki
Closed, ResolvedPublic

Description

Fr-tech and advancement need to setup a wiki to host the Thank You pages at the end of the donation flow. They need to be in a subdomain of wikipedia.org

  • Request page: not applicable
  • Language code: en
  • Site URL: thankyou.wikipedia.org
  • Project name: thankyouwiki
  • Project namespace: thankyouwiki
  • Project talk namespace: thankyouwiki discussions
  • Project logo: same as donatewiki
  • Timezone: UTC
  • Shard: s5
  • Special: Yes
  • First bureaucrat e-mail address: pcoombe@wikimedia.org
  • Contact person: @Pcoombe
  • Local file uploads: disabled

Special configurations

wmgEnableLandingCheck = true
wgLanguageCode = 'en'
wgServer = '//thankyou.wikipedia.org'
wgCanonicalServer = 'https://thankyou.wikipedia.org'
wgSitename = 'Thank You'
wgRawHtml = true
wgRestrictDisplayTitle = false
wmgPrivateWikiUploads = true
wgFavicon = '/static/favicon/wmf.ico'

+

  • all users needs to have access to 2FA

Pre-install automatic checklist:

The creation is blocked until these part are all done.


Post install automatic checklist:


Step by step commands:
On deploy1001:
cd /srv/mediawiki-staging/
git fetch
git log -p HEAD..@{u}
git rebase
On mwmaint1002:
scap pull
mwscript extensions/WikimediaMaintenance/addWiki.php --wiki=muswiki en wikipedia thankyouwiki thankyou.wikipedia.org
On deploy1001:
scap sync-file wmf-config/db-eqiad.php "Creating thankyouwiki (T259002)"
scap sync-file wmf-config/db-codfw.php "Creating thankyouwiki (T259002)"
scap sync-file dblists "Creating thankyouwiki (T259002)"
scap sync-wikiversions "Creating thankyouwiki (T259002)"
scap sync-file static/images/project-logos/ "Creating thankyouwiki (T259002)"
scap sync-file wmf-config/InitialiseSettings.php "Creating thankyouwiki (T259002)"
scap sync-file langlist "Creating thankyouwiki (T259002)"
scap update-interwiki-cache

End of automatic output

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

At the moment we're just looking for a short-term solution

Fwiw, creating a a new wiki involves quite a few steps and people and might not actually be faster than setting up a new microsite. I would be able to help with the puppet part for the latter.

Wiki creation is something for which I usually have to call on @Reedy's expertise as the keeper of the secrets of Wiki creation.

Hello, can you put a similar form like T259432: Create Wikipedia Ladin on the description of the ticket? Then the bot would be able to fill out the secrets and keep track of it (An example)

- **Request page:** 
- **Language code:** 
- **Site URL:** 
- **Project name:** 
- **Project namespace:** 
- **Project talk namespace:** 
- **Project logo:** 
- **Timezone:** 
- **Shard:** TBD

- **Local file uploads:** disabled

@Ladsgroup thanks for the info. I have rewritten this task in the format you have recommended. Let me know if I need to do anything else for the bot to track it or if other tags are needed to get this on the right team radar.

@Ladsgroup thanks for the info. I have rewritten this task in the format you have recommended. Let me know if I need to do anything else for the bot to track it or if other tags are needed to get this on the right team radar.

Thanks. There's no team owning this @Urbanecm and I (with my volunteer hat) have been doing the new wiki creations in the past couple of years. This wiki is a bit special (compared to rest of wikis), so I double check everything and come back to you. Do you have an estimation of the size?

@Ladsgroup The amount of content hosted here will be very small - just a handful of fundraising support pages and templates localized into a couple dozen languages, with the associated assets. At some point we might be able to make these as a non-wiki microsite, but for now we have the content as a series of wiki templates and have all the CSS tuned to work with the mediawiki + vector base.

We would not want any thankyou.m.wikipedia.org mobile redirect, but it would be great if RESTbase worked, on the off chance that the apps are not updated to ignore this site and try loading the pages via the rest API (since right now mobile users see the app launch instead of the browser for any wikipedia.org subdomain).

@Ladsgroup one other note. We only need a few pages here but they will take the full brunt of our fundraising traffic at peak times. We're talking hundreds of thousands of users per day at peak times. Many hundreds per minute at peak rates. I don't know if that is important for you or if others should know about this too.

We're talking hundreds of thousands of users per day at peak times. Many hundreds per minute at peak rates.

Thanks for pointing this out. This is a good reason for this being a wiki instead of a microsite. A wiki on the main cluster can take way more traffic than the VMs backing the microsites.

Seconding Daniel here. In cases of peak, we had experiences of outages (after death of Michael Jackson, Prince and Kobe Bryant) but one reason for that was huge spike in editing and reparsing the page so in peak times, as long as it's not edited quite often, varnish/ATS and ParserCache should handle it well.

One question, what type of wiki you want? Public (connected to SUL, so anyone can edit™) or fishbowl (everyone case see but only a handful of people have access to write or create account, similar to foundation.wikimedia.org)?

dancy added a subscriber: dancy.

Fishbowl please and thanks!

In that case, we'd need to know the email address of first bureaucrat/admin. Would that be you, or someone else from your team?

[...] This wiki is a bit special (compared to rest of wikis), so I double check everything and come back to you. [...]

Let me know once your double-checking is done and what did you figure out, so we don't duplicate efforts :-). In the meantime, below are things I'm wondering about right now, and that should probably be clarified.

Possible domains: thanks.wikipedia.org, thankyou.wikipedia.org

I see there is only one domain in the request. Is that approved/wanted by your team? Also, who I and @Ladsgroup should treat as the representative of Fundraising? This will help me to avoid confusion between "opinion" and "decision" :-).

Config notes:

  • similar to donatewiki

What does this mean? There are several customization for donatewiki, see https://noc.wikimedia.org/conf/. Ideally, list configurations you want to have enabled :-).

  • non SUL, restricted account creation

As asked above, this means we need to know who should be the first bureaucrat and admin. They will then be able to create accounts (privileged or not) for others.

  • needs $wgRawHtml = true;
  • should not redirect mobile devices to a .m. subdomain

@Pcoombe or @spatton will probably want to be the "bureaucrats and admins"

Possible domains: thanks.wikipedia.org, thankyou.wikipedia.org

I see there is only one domain in the request. Is that approved/wanted by your team? Also, who I and @Ladsgroup should treat as the representative of Fundraising? This will help me to avoid confusion between "opinion" and "decision" :-).

Yes, the fundraising team have agreed on thankyou.wikipedia.org. I'll be the point person from Fundraising, since I'm going to be managing the content and users (as I do for the TY pages in their current location)

Config notes:

  • similar to donatewiki

What does this mean? There are several customization for donatewiki, see https://noc.wikimedia.org/conf/. Ideally, list configurations you want to have enabled :-).

I took a look through InitialiseSettings.php and believe these settings are what we want for the new wiki:

wmgEnableLandingCheck = true
wgLanguageCode = 'en'
wgServer = '//thankyou.wikipedia.org'
wgCanonicalServer = 'https://thankyou.wikipedia.org'
wgSitename = 'Thank You'
wgRawHtml = true
wgRestrictDisplayTitle = false
wmgPrivateWikiUploads = true
wgFavicon = '/static/favicon/wmf.ico'

And logos = the same as donatewiki, I don't know if you can reuse the same files or have to make copies. Although these logos won't normally be visible to donors

  • non SUL, restricted account creation

As asked above, this means we need to know who should be the first bureaucrat and admin. They will then be able to create accounts (privileged or not) for others.

That would be me :) pcoombe@wikimedia.org

Oh, one more thing that I couldn't find in the settings: all users should have access to two-factor authentication

Okay then, I think we have everything we need. IMO, except the section (s5 or s3), dbname and DNS, everything else is easily changeable later, worst case we make a config change to fix those.

Change 619361 had a related patch set uploaded (by Dzahn; owner: Dzahn):
[operations/dns@master] add thankyou.wikipedia.org

https://gerrit.wikimedia.org/r/619361

Change 619362 had a related patch set uploaded (by Ladsgroup; owner: Ladsgroup):
[mediawiki/extensions/WikimediaMessages@master] Add messages for thankyouwiki

https://gerrit.wikimedia.org/r/619362

Okay then, I think we have everything we need. IMO, except the section (s5 or s3), dbname and DNS, everything else is easily changeable later, worst case we make a config change to fix those.

Agreed. We do have the section as well, DBAs commented at T259438#6354584 that we should just change it to point to s5 by default, after T259004 is ready (scheduled for tomorrow morning). I'll boldly change the description.

Change 619361 merged by Dzahn:
[operations/dns@master] add thankyou.wikipedia.org

https://gerrit.wikimedia.org/r/619361

@Pcoombe

thankyou.wikipedia.org has been added to DNS

Is an '.m.' mobile link needed/wanted?

Change 619362 merged by jenkins-bot:
[mediawiki/extensions/WikimediaMessages@master] Add messages for thankyouwiki

https://gerrit.wikimedia.org/r/619362

@Pcoombe

thankyou.wikipedia.org has been added to DNS

Is an '.m.' mobile link needed/wanted?

No mobile subdomain. Thanks!

@Ladsgroup Any idea how to get rid of mobile subdomain assumption? Is removing mobilefrontend the right way? I see donatewiki has MF installed, and it seems to somehow bypass it and handle mobile itself, so maybe just landing page enabled would do?

@Ladsgroup Any idea how to get rid of mobile subdomain assumption? Is removing mobilefrontend the right way? I see donatewiki has MF installed, and it seems to somehow bypass it and handle mobile itself, so maybe just landing page enabled would do?

It'll probably need an exception in the frontend rewrites if it does all wikipedia subdomains

Urbanecm updated the task description. (Show Details)

Change 619446 had a related patch set uploaded (by Ladsgroup; owner: Ladsgroup):
[operations/puppet@production] Exclude thankyou wiki for mobile redirect

https://gerrit.wikimedia.org/r/619446

There are some incidents ongoing with appservers. I think we can get this done early next week.

Thanks everyone for all the help! This will make a huge, positive impact on the donor experience!

I have scheduled @Ladsgroup's puppet patch for Tuesday's puppet request window.

For the record, it is possible to test the patch via curl:

urbanecm@LAPTOP-A3BHKQ07  ~
$ curl -A 'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Mobile Safari/537.36' -I 'https://thankyou.wikipedia.org/wiki/Foo'
HTTP/2 302
date: Wed, 12 Aug 2020 20:43:17 GMT
server: Varnish
x-cache: cp3060 int
x-cache-status: int-front
server-timing: cache;desc="int-front"
strict-transport-security: max-age=106384710; includeSubDomains; preload
set-cookie: WMF-Last-Access=12-Aug-2020;Path=/;HttpOnly;secure;Expires=Sun, 13 Sep 2020 12:00:00 GMT
set-cookie: WMF-Last-Access-Global=12-Aug-2020;Path=/;Domain=.wikipedia.org;HttpOnly;secure;Expires=Sun, 13 Sep 2020 12:00:00 GMT
x-client-ip: xxx
location: https://thankyou.m.wikipedia.org/wiki/Foo
access-control-allow-origin: *
content-length: 0

urbanecm@LAPTOP-A3BHKQ07  ~
$

I have scheduled @Ladsgroup's puppet patch for Tuesday's puppet request window.

I have requested this and another patch for this week's puppet window but didn't get merged yet :( I hope I can convince people to merge it before next week.

Change 619852 had a related patch set uploaded (by Urbanecm; owner: Urbanecm):
[operations/mediawiki-config@master] Initial configuration for thankyouwiki

https://gerrit.wikimedia.org/r/619852

I have scheduled @Ladsgroup's puppet patch for Tuesday's puppet request window.

I have requested this and another patch for this week's puppet window but didn't get merged yet :( I hope I can convince people to merge it before next week.

Heh :/. Feel free to revert if you manage to get it merged :-).

Change 619852 had a related patch set uploaded (by Urbanecm; owner: Urbanecm):
[operations/mediawiki-config@master] Initial configuration for thankyouwiki

https://gerrit.wikimedia.org/r/619852

@Pcoombe As this wiki is a bit special, could you please review the configuration?

@Ladsgroup @Pcoombe This wiki is scheduled to be created on Monday, August 17 2020, at 13:00 UTC. The mobile redirect is scheduled for Tuesday, as it can be done at any point after wiki creation. After that, it should be fully ready for you :).

Change 619446 merged by Ema:
[operations/puppet@production] Exclude thankyou.wikipedia.org for mobile redirect

https://gerrit.wikimedia.org/r/619446

Change 619446 merged by Ema:
[operations/puppet@production] Exclude thankyou.wikipedia.org for mobile redirect

https://gerrit.wikimedia.org/r/619446

Thanks! Works as expected now.

@Ladsgroup @Pcoombe This wiki is scheduled to be created on Monday, August 17 2020, at 13:00 UTC. The mobile redirect is scheduled for Tuesday, as it can be done at any point after wiki creation. After that, it should be fully ready for you :).

Thank you! I reviewed the config and it looks fine to me, although I'm certainly not an expert. I will be around for the wiki creation on Monday, and then plan to do the migration of our existing pages later in the week.

Change 619852 merged by jenkins-bot:
[operations/mediawiki-config@master] Initial configuration for thankyouwiki

https://gerrit.wikimedia.org/r/619852

Mentioned in SAL (#wikimedia-operations) [2020-08-17T13:46:08Z] <urbanecm@deploy1001> Synchronized wmf-config/db-eqiad.php: Creating thankyouwiki (T259002) (duration: 00m 55s)

Mentioned in SAL (#wikimedia-operations) [2020-08-17T13:47:06Z] <urbanecm@deploy1001> Synchronized wmf-config/db-codfw.php: Creating thankyouwiki (T259002) (duration: 00m 56s)

Mentioned in SAL (#wikimedia-operations) [2020-08-17T13:48:06Z] <urbanecm@deploy1001> Synchronized dblists: Creating thankyouwiki (T259002) (duration: 00m 55s)

Mentioned in SAL (#wikimedia-operations) [2020-08-17T13:49:26Z] <urbanecm@deploy1001> rebuilt and synchronized wikiversions files: Creating thankyouwiki (T259002)

Mentioned in SAL (#wikimedia-operations) [2020-08-17T13:51:02Z] <urbanecm@deploy1001> Synchronized static/images/project-logos/: Creating thankyouwiki (T259002) (duration: 00m 55s)

Mentioned in SAL (#wikimedia-operations) [2020-08-17T13:52:07Z] <urbanecm@deploy1001> Synchronized wmf-config/InitialiseSettings.php: Creating thankyouwiki (T259002) (duration: 00m 55s)

Mentioned in SAL (#wikimedia-operations) [2020-08-17T13:54:09Z] <Urbanecm> Create account Pcoombe (WMF) at thankyouwiki, email set to pcoombe@wikimedia.org (T259002)

@Pcoombe The wiki was just created. You should have an account there already (called Pcoombe (WMF), per your SUL account). You need to reset the password via the "I forget my password" feature, and then you should be able to log in. Please test the wiki works as intended, and let us know if there's anything broken :-).

Thanks so much @Urbanecm! Logging in worked fine, I made some tests and everything looks good so far. I'll be transferring over the existing content and creating some more accounts tomorrow.

Urbanecm claimed this task.

Thanks so much @Urbanecm! Logging in worked fine, I made some tests and everything looks good so far. I'll be transferring over the existing content and creating some more accounts tomorrow.

Wiki's up, closing :).

Change 620737 had a related patch set uploaded (by Ppchelko; owner: Ppchelko):
[mediawiki/services/restbase/deploy@master] Add thankyouwiki to RESTBase

https://gerrit.wikimedia.org/r/620737

Change 620737 merged by Ppchelko:
[mediawiki/services/restbase/deploy@master] Add thankyouwiki to RESTBase

https://gerrit.wikimedia.org/r/620737

Mentioned in SAL (#wikimedia-operations) [2020-08-17T16:35:21Z] <ppchelko@deploy1001> Started deploy [restbase/deploy@7f16bad]: Add thankyouwiki T259002

Mentioned in SAL (#wikimedia-operations) [2020-08-17T18:46:38Z] <ppchelko@deploy1001> Finished deploy [restbase/deploy@7f16bad]: Add thankyouwiki T259002 (duration: 131m 17s)

Mentioned in SAL (#wikimedia-operations) [2020-08-17T18:46:44Z] <ppchelko@deploy1001> Started deploy [restbase/deploy@7f16bad]: Add thankyouwiki T259002, take 2

Mentioned in SAL (#wikimedia-operations) [2020-08-17T18:58:03Z] <ppchelko@deploy1001> Finished deploy [restbase/deploy@7f16bad]: Add thankyouwiki T259002, take 2 (duration: 11m 19s)

Mentioned in SAL (#wikimedia-operations) [2020-08-17T18:58:08Z] <ppchelko@deploy1001> Started deploy [restbase/deploy@7f16bad]: Add thankyouwiki T259002, take 3

Mentioned in SAL (#wikimedia-operations) [2020-08-17T19:01:05Z] <ppchelko@deploy1001> Finished deploy [restbase/deploy@7f16bad]: Add thankyouwiki T259002, take 3 (duration: 02m 57s)