Jump to content

Tool:Wikibase-databridge-storybook

From Wikitech
This page contains historical information. It may be outdated or unreliable.
2020-02-12

This tool is no longer used. The storybook is now hosted at doc.wikimedia.org.


Toolforge tools
Wikibase Databridge Storybook
Website https://tools-static.wmflabs.org/wikibase-databridge-storybook/
Description tool to support the frontend development of the Wikidata Bridge feature
Keywords wikidata, vuejs, components, ux
Maintainer(s) (View all)
Source code https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/Wikibase/+/refs/heads/master/client/data-bridge/
License GNU General Public License 3.0 or later

This tool is used to showcase components of the wikidata bridge app to facilitate communication.

Logging

The maintanance log can be found at: Nova_Resource:Tools.wikibase-databridge-storybook/SAL. Create new messages with

$ dologmsg '<your message here>'

Updating

Currently, this is a hack.

The only way to regularly execute a job with sufficiently advanced nodejs seems to be hacking the kubernetes node webserver.

In the home directory, a script updateStorybook.sh was created that contains the instruction needed for an update:

#!/bin/bash

cd ~/Wikibase/client/data-bridge
git pull
npm ci
npm run build-storybook -- -o ~/www/static

The following package.json file is placed into ~/www/js/:

{
  "scripts": {
    "start": "./../../updateStorybook.sh && sleep 2760"
  }
}

Then the server is started with:

$ webservice --backend kubernetes node10 start

This starts the service, by running npm start which then runs the update script and then sleeps for 46 minutes. The update script should take around 14 minutes. After the task ended, it is automatically restartet by the webservice magic. This means that the service should update about once per hour.


You can get the currently active pods (should be exactly 1) with:

$ kubectl get pods

You can then have a look at the logs with the following command when replacing $MY_CONTAINER_NAME with the respective name from the previous command.

$ kubectl logs -f $MY_CONTAINER_NAME