TailorDev / galaxy-tourbuilder

🔝 The amazing Galaxy Tour Builder web extension. // See demo 👉
https://imgur.com/a/0YVvz
MIT License
17 stars 6 forks source link

[Feature] generalize the tour builder to any website #8

Closed jibe-b closed 7 years ago

jibe-b commented 7 years ago

The world would benefit from a URL independent tour builder…

How much work would it be?

willdurand commented 7 years ago

What do you mean? The extension already works for all Galaxy instances, and it should generate interactive tours for all instances.

jibe-b commented 7 years ago

Sure!

But tons of websites would benefit from tours even though they have nothing to do with Galaxy. Right now, tour steps are recorded on any webpage but played only on a Galaxy app, and https://github.com/TailorDev/galaxy-tourbuilder/blob/master/src/scripts/contentscript.js returns

It looks like you are not running the Galaxy Tour Builder extension into a Galaxy application, therefore the tour cannot be played.

I'll try to see if I can find out what should be modified… :)

willdurand commented 7 years ago

Ah I see, thanks for your issue! Well, first there is no restriction on websites because it is nearly impossible to know about all the existing Galaxy instances. In addition, there are also private instances. From a end-user perspective, it is easier to enable the extension on any website (= for any Galaxy instance) than having to configure/whitelist a specific Galaxy instance.

There is an alert() message because Bootstrap Tour is required to run a tour (as well as jQuery). The error should not show if a website has these two requirements though.

Yet, this extension performs various operations to optimize tours for Galaxy. For instance, links are Galaxy-oriented, menu sections are not recorded because it is not reliable in a Galaxy context, uid elements are skipped because they change all the time in Galaxy, etc. The YAML content is also Galaxy-specific, because Bootstrap Tour does not rely on YAML for configuration. Bootstrap Tour does not know anything about preclick and postclick, intro, title_default and probably more attributes that have been added to the Galaxy interactive tours feature.

For these reasons, this extension cannot be used to record other tours than Galaxy ones and there is no plan for supporting other websites. I guess writing an extension to record any regular Bootstrap Tour would be doable (taking inspiration from this extension) and also much simpler, but it should be a separate project.

jibe-b commented 7 years ago

Thanks for your detailled answer @willdurand!

Definitivelly, this is another project. But I think it's worth building on what you did :)

But I wonder how much with preclick, postclick and the use of YAML it extends bootstraptours in a way that could be introduced to bootsraptours itself… I'll try to figure this out at some point.