galaxyproject / admin-training

Galaxy Admin Training
https://galaxyproject.github.io/
60 stars 62 forks source link

GAT - Completely automated recordings #128

Open hexylena opened 3 years ago

hexylena commented 3 years ago

We are not here yet, but we're getting closer.

Support Infrastructure

Open Issues from GAT21v1

See "Role Changes" https://github.com/galaxyproject/training-material/issues/2274 (Help wanted: ansible)

Building completely automated videos

This would simply provide the 'base level' course materials (polly is an improvement over slides after all.) If you run this again, of course you would have humans produce some of the videos, but it would provide video instruction when time/money for making the videos isn't there.

hexylena commented 3 years ago

Tested https://github.com/qawolf/playwright-video during a meeting I was not paying attention to and it seems pretty ok? maybe we can make that work.

not the prettiest thing but that's because I'm copying and pasting with zero knowledge of this area.

const { chromium } = require('playwright');
const { saveVideo } = require('playwright-video');

(async () => {
  const browser = await chromium.launch();
  const context = await browser.newContext();
  const page = await context.newPage();

  await saveVideo(page, 'video.mp4');
  await page.goto('https://usegalaxy.eu');
  await page.waitForLoadState('networkidle');
  await page.waitForTimeout(5000);
  await page.click('#tool-panel-upload-button');
  await page.waitForTimeout(5000);

  await browser.close();
})();

Combined with 42f1eb8 (#2371) we'll have a script and read that script and turn it into page.clicks, annotated inline. (TODO: better syntax?)

> I'll click on Analyze Data to just to reload the page.
> await page.goto('https://gat-0.eu.training.galaxyproject.eu');
>
> I'll go back to Mapping and load bwa-mem. And then suddenly, instead of
> having no options available, you can see here we've got the Bee genome.

await page.click('find mapping SOMEHOW')
await page.goto('https://gat-0.eu.training.galaxyproject.eu/root?tool_id=bwa-mem');

>
>  Now click on that. Oh look at that, there are lots and lots and lots of
>  available genomes now including: lots of human, mouse, rat, yeast, all sorts
>  of things. And in fact if you want to see the list of all the different
>  available genomes now, that we have available to us.
>  

await page.click('#s2id_field-uid-11_select');
(can we say fragile? maybe we pin the vesion of bwa-mem.)

>  If you go to admin. We go to data tables over here. You can see here that we
>  have um a couple of data tables for managed and for all fasta. So if we
>  click on that one, you can see that we have a lot of genomes available now
>  in the all fasta data table that Galaxy can get access to. If we go back to
>  the data tables again, and go down to bwa indexes or bwa mem indexes here.
>  You can see we have access to a lot of pre-built indexes for bwa for all of
>  these different genomes. That is pretty powerful.

await page.goto('https://gat-0.eu.training.galaxyproject.eu/admin');
await page.click('admin-link-data-tables');
? no clue how to find the first TR with text 'bwa_indexes' to click on

>
>  So what did that take us? Maybe 30 minutes? And uh suddenly our Galaxy
>  server has access to all the uh the data the reference data and the tool
>  indices that the community have built over a number of years and it's super
>  simple.

and we see something like:

https://www.youtube.com/watch?v=AtJ0R_FYIW4

hexylena commented 3 years ago
hexylena commented 3 years ago

https://youtu.be/Ayb6r2J7l1I Improved version of terminal recording (and some debugging statements), thanks to suggestion from @Slugger70 that we really needed to show 'interactive' editing rather than just diffs.

introducing a new, terribly named bit of code https://github.com/hexylena/condensed to solve that issue.