git clone [email protected]:w3c/echidna.git && cd echidna
npm install
npm run testserver
(don't run it with nodemon as echidna creates temp files and it'll trigger a restart)
CONFIG=config-dev.js node app.js
curl http://localhost:3000/api/request --data "url=https://www.w3.org/TR/2020/WD-clreq-20200701/&decision=foo&token=123"
If everything worked well, you should get a json file in test/staging/
. The json should contain the error wrong-date
as the document submitted was already published.
[describe a use case that works]
LDAP (Lightweight Directory Access Protocol) is used to identify a user(username and password), and making sure this user participate in the group submitting this document.
['retrieve-resources', 'metadata', 'user-checker', 'specberus', 'transition-checker', 'publish', 'tr-install', 'update-tr-shortlink']
['ip-checker', 'retrieve-resources', 'metadata', 'token-checker', 'specberus', 'transition-checker', 'publish', 'tr-install', 'update-tr-shortlink']
Service to download and install resources in the staging server. TAR file or link(pointing to Overview.html or manifest) are supported.
Check if ip making curl
request is from GitHub Actions.
Specberus.extractMetadata is called by Orchestrator, the task organizer to get metadata of the document.
Checks if the user and password is correct, and the user is participating in the group delivering the document.
Checks if the token is authorized to publish the document.
Specberus.validate is called by Orchestrator, the task organizer to validate document using metadata (profile, rectrack, patentPolicy) extracted before.
Making sure the type of the document is WD, CR or Notes. For CRs, check issue on GitHub that the director and Mar-Comm have approved the transition.
Send a request to W3C_PUBSYSTEM_URL, as well as data of the document, to publish the document.
Exec an script, to install the downloaded document to the W3C server, making sure the dated link is accessible.
Update shortlink for the document, making sure the shortlink is accessible.