Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make setup process easier #27

Open
eduardoboucas opened this issue Dec 1, 2016 · 6 comments
Open

Make setup process easier #27

eduardoboucas opened this issue Dec 1, 2016 · 6 comments

Comments

@eduardoboucas
Copy link
Member

eduardoboucas commented Dec 1, 2016

Currently, the process of setting up a new dashboard can trip up some people. After obtaining a WebPageTest API key, users need to:

  1. Add the bot to their repository
  2. Use the connect tool to prompt the bot accept the invitation
  3. Use the encrypt tool to create an encrypted version of a chosen passkey
  4. Add the encrypted passkey to the config file
  5. Use the encrypt tool to create an encrypted version of the WPT API key with the previously created passkey
  6. Add the encrypted version of the WPT API key to the config file
  7. Edit the default profile file and edit the name of the property and the URL

I'd like to have a UI tool that displays a form including:

  • Repository URL
  • Chosen passkey
  • WPT API key
  • Name of the default property
  • URL of the default property

By filling in these details, the API would then take care of encrypting everything it needs to and write both the config file (staticman.yml) and the first profile (_profiles/default.html).

This endpoint will be open, as in people will be able to run this against their newly created repository without providing any sort of authentication. For this reason, we need to make sure this procedure can be ran only once, when the repository hasn't yet been modified by its owner (not sure how to determine this).

To achieve all this, I see two separate components:

  1. A new API endpoint (or an extension of the /connect endpoint to optionally accept the extra parameters)
  2. A new page on speedtracker.org containing a form and all the necessary logic to create and send the request to the above-mentioned endpoint. Instead of being a new page, this could also be an extension to the Connect page, adding new elements to the existing form.

I can handle most (if not all) of part 1, but I could use a hand with part 2, the UI for it. The existing markup and logic for the Connect, Encrypt and Run Test pages is a bit messy. I can see the need for more robust, responsive UI controls, perhaps using something like React/Preact.

@eduardoboucas
Copy link
Member Author

This could even encompass running the first test as well.

@avadhutp
Copy link

avadhutp commented Feb 7, 2017

How about just a script? The script will be triggered by the end user in his/her cloned repo. And it will change files, etc. In the end, it will simply push the changes + make the first connect.

@eduardoboucas
Copy link
Member Author

Yeah, that makes sense. It can also fire the first test, which would then trigger any scheduled tests.

@avadhutp
Copy link

avadhutp commented Feb 8, 2017

@eduardoboucas Cool, I will take a jab at this.

@eduardoboucas
Copy link
Member Author

Awesome, thanks! There might be things that I haven't fully documented properly, so if you need assistance with anything I'm happy to help.

@avadhutp
Copy link

avadhutp commented Feb 8, 2017

@eduardoboucas Cool. I will mark you on WIP pull request when I get to it this evening. :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants