The on-wiki version of this newsletter can be found here:
https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Updates/2022-08-05
--
Launch Plan
As we are getting closer to launching Wikifunctions, we want to share our
launch plan with you.
Launch will go through four major stages; we will detail below what each of
them means:
1. Beta: get the beta in a working mode and let folks know about it
2. Locked-down: deploy WikiLambda to
wikifunctions.org but with no
general editing
3. Limited: switch on public visibility and limited function editing on
wikifunctions.org
4. General: move to full editing for
wikifunctions.org, declare it
launched
Let’s take a look at each of the stages.
Beta
We aim to invite external people to the Beta as soon as possible. The
content on Beta may be deleted at any time. This is true for individual
pages as well as for the wiki as a whole. Also, this situation will not
change: we do not plan to keep content on Beta persistent or to put
particular effort into migrating it.
Beta is auto-deployed from "head", which means whenever we merge a change
to any of the components of Wikifunctions, it will be deployed to Beta
within a few minutes.
We are still working on ensuring that the major workflows are possible and
that a rough monitoring infrastructure is in place.
Locked-down deploy
We will set up
wikifunctions.org as a wiki — an instance of WikiLambda on
the production Wikimedia systems. This is to find hidden surprises in
moving it from beta to production. This will use the standard Wikimedia
accounts ("SUL <https://meta.wikimedia.org/wiki/Help:Unified_login>") but
will allow only a very small group to make edits or call the API while we
check that everything is plugged together as we expect.
For this system, we will already be following our future deployment
mechanism, i.e. we cut releases and are part of the weekly Wikimedia-wide
deployment train <https://wikitech.wikimedia.org/wiki/Deployments/Train>,
etc. We will begin to prioritize fixing issues in production, figuring out
a playbook on how to do this (ideally, we will be following existing
Foundation playbooks on this).
Content may still be deleted any time.
Limited launch
We may reset the content at this point. We will copy over the Main Page and
other community content from Meta, where we previously collaborated with
the community on the Wikifunctions main page (we will start a discussion on
that, soon). We switch on general editing for all logged in users, and
Wikifunctions-specific editing to users with the appropriate rights. We
will have a configurable rate-limiting in place, which limits the number of
functions a single user can run. Calling approved functions will work for
both logged-in as well as logged-out users.
We will follow the deployment train, and so we need to have processes to
support three versions (head, current deployment, next deployment), while
developing like other Wikimedia teams do. We will have the appropriate
playbooks in place for that.
From this point on, content (functions, implementations, documentation)
will be expected to be persistent. We still might need to start over, but
we will try not to.
General launch
We will declare a general launch. We will have to follow our deployment
playbooks. We will have to keep content persistent.
At this point we will invite external communities and increase our outreach.
Please let us know if you have suggestions or questions around the launch
plan.
Representing functions
We have recently published the start of a discussion about generic function
types
<https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Generic_function_type>.
The initial function model had expected to change the type of a function
from just being a Function to include the signature of the function, i.e.
the type of a function such as “length of string” would not be just “
function” but instead “function from a string to a positive integer”. This
would have considerable advantages, particularly for higher-level
functions, i.e. functions using other functions as arguments.
However, our recent experience with Benjamin arrays
<https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Updates/2022-07-29> showed
us that changing the function model is a rather complex and subtle process
that will likely take a long time. We are not sure about whether the
benefit is worth the effort and delay, and what our approach here should
be. Ali Assaf wrote this document detailing three options
<https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Generic_function_type>,
and we invite you to share your thoughts.
Wikimania 2022
We will be presenting at Wikimania! Wikimania 2022 will be from August 11
to 14 and will be primarily virtual. You can learn more about the event and
register from the Wikimania 2022 page
<https://meta.wikimedia.org/wiki/Wikimania_2022>.
Some of our team will be attending portions of the Hackathon. If you'd like
to work on one of the #good_first_tasks
<https://phabricator.wikimedia.org/maniphest/query/_kVbtV8W6la8/#R> or
another task, we would be very thankful. Reach out to our team members, and
say hi! We’re happy to help.
Reminder: You can also see an overview of our session and related sessions from
last year's Wikimania
<https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Updates/2021-08-20>.
Workstream updates as of July 29, 2022
- July 25 – 29 was a ‘Fix-it’ week for the Abstract Wikipedia team.
During this week, the team paused the development of new features, and
focused on tasks related to technical debt.
- Interviews for the QTE role are in progress
- We continued on-boarding the Google fellows who have recently joined
the team