This repository is a template dashboard website for you to display metrics mined from various places on the web using metricminer.
See the metricminer website for more info
- To get started, go to the metricminer-dashboard template GitHub repo
- Click the green "Use this template" button in the upper right corner. If you do not see it, make sure you are logged in to GitHub (and have an account).
- Name your new metricminer dashboard repository on this screen. Then click "Create new repository".
- Create your GitHub secret by going to https://github.com/settings/tokens/new
- Make sure your GitHub secret has the
repo
scopes box checked. Name it something that will remind you it has to do with your metricminer dashboard and then scroll to the bottom and click "Generate Token". Keep this page open for now. - Return to your metricminer dashboard repository and go to Settings > Secrets and variables > Actions.
- Click on
New repository secret
. Name your new secret exactlyMETRICMINER_GITHUB_PAT
- Copy and paste your Personal access token in the
Secret
box and then click the green "Add secret" button.
Table of Contents generated with DocToc
Return to the Code
on your metricminer dashboard github repository. And find the _config_automation.yml
github file. Open up that file and we will start setting up which metrics you'd like to be retrieved.
metricminer dashboard is an OTTR website with additional metric collecting functionality powered by metricminer. You can read more details about how to update your metricminer/OTTR website here. If you are not familiar with pull requests, we recommend you go read those OTTR docs first.
At the top of the config file you will see a listing of the checks that are run upon filing a pull request. If at any time you don't want these checks to be run you can set them to no
and GitHub Actions will not run them.
# Check that urls in the content are not broken
url-checker: yes
# Render preview of content with changes (Rmd's and md's are checked)
render-preview: yes
# Spell check Rmds and quizzes
spell-check: yes
# Style any R code
style-code: yes
By default there are two destinations you can save your data for metricminer (although if you change the code yourself you can feel free to save the data wherever you like). Built in to metricminer-dashboard however we have github and google as your options for a data destination.
By default your data is saved to github. But this will only be appropriate for small amounts of data (you could use something called git-lfs but we find it can be a bit of a hassle).
### Options are "github" or "google"
data_dest: github
folder_path:
If in your config file you choose "google" as your data destination you will need to do two things:
- Set up your Google Authentication secrets in this repository
- Give a folder path to your Google drive where you'd like your data to be saved.
Your metricminer dashboard will need permissions to Google if you are saving data there, or wanting to use any data from a Google product including: Google Analytics, Google Forms, Googledrive, or Youtube.
To setup Google Authentication for your metricminer dashboard, you'll need to open up R on your local computer and run the following code: If you aren't a regular R user you can always use posit.cloud to avoid the installation process.
install.packages("metricminer")
token <- authorize("google")
Then you can use this object to extract two secrets by printing them out like this and you will need to store both to your metricminer dashboard GitHub secrets (which we will describe how to here).
First, return to your metricminer dashboard repository and go to Settings
> Secrets and variables
> Actions
.
- Click on
New repository secret
. Name your new secret exactlyMETRICMINER_GOOGLE_ACCESS
- Copy what is printed out in R when you run:
token$credentials$access_token
and paste it into the Secret
box and then click the green "Add secret" button.
Repeat the same steps for the Refresh token except call this METRICMINER_GOOGLE_REFRESH
token$credentials$refresh_token
- To set up calendly authorization go here and click "Generate Token".
- Underneath "Choose a name for this token" pick a name that will remind you of this project.
- Click "Create Token" and it will send you an authorization code to your email.
- Click "Copy Token" and keep this handy.
- Return to your metricminer dashboard repository and go to
Settings
>Secrets and variables
>Actions
. - Click on
New repository secret
. Name your new secret exactlyMETRICMINER_CALENDLY
- Paste your token into the
Secret
box and then click the green "Add secret" button.
After you've set up authorization you'll need to check the following items in the _config_automation.yml
file.
- In the
config_automation.yml
file, make sure thatrefresh-calendly
is set to "yes". - Optionally, if you are saving data to google, specify a googlesheet ID you'd like the CRAN data to be saved to. This will only be relevant if you've set
data_dest
togoogle
.
###### Calendly ######
refresh-calendly: yes
calendly_googlesheet:
- Go to: https://scholar.google.com/scholar
- Search for the paper you are looking for the citation count.
- Then click the
Cited by ___
button below the title of the paper - Copy and paste this in the
_config_automation.yml
file in thecitation_papers
section.
###### Citations ######
refresh-citations: yes
citation_papers: [
"https://scholar.google.com/scholar?cites=6140457238337460780",
"https://scholar.google.com/scholar?cites=15945159957067506879" ]
citation_googlesheet:
- In the
config_automation.yml
file, make sure thatrefresh-citations
is set to "yes". - Optionally, if you are saving data to google, specify a googlesheet ID in
citation_googlesheet
if you'd like the citation data to be saved to. This will only be relevant if you've setdata_dest
togoogle
.
CRAN does not require any authorization. But in the _config_automation.yml
you will need to specify a few things.
###### CRAN ######
refresh-cran: yes
cran_packages: [ metricminer, ottrpal ]
cran_googlesheet:
- In the
config_automation.yml
file, make sure thatrefresh-cran
is set to "yes". - In the
cran_packages
of yourconfig_automation.yml
, type the names of the packages that you'd like to collect data from on CRAN. Type them exactly as they are spelled, case sensitive, separated by commas. Delete the example package names we've put there. - Optionally, if you are saving data to google, specify a googlesheet ID in
cran_googlesheet
you'd like the CRAN data to be saved to. This will only be relevant if you've setdata_dest
togoogle
.
At this point you should already have your GitHub authorization set up for your metricminer dashboard by having followed the instructions above..
In the _config_automation.yml
you will need to specify items in the GitHub section.
###### GitHub ######
refresh-github: yes
github_repos: [ fhdsl/metricminer, fhdsl/metricminer.org ]
github_googlesheet:
- In the
_config_automation.yml
file, make sure thatrefresh-github
is set to "yes". - In
github_repos
of your_config_automation.yml
, specify the names of the repositories you'd like to collect data from ingithub_repos
. Make sure it includes theowner/repository
e.g.fhdsl/metricminer
not justmetricminer
. Commas need to separate the repositories. Delete the example repositories we put there. - Optionally, if you are saving data to Google, specify a googlesheet ID in
github_googlesheet
you'd like the GitHub data to be saved to. This will only be relevant if you've setdata_dest
togoogle
.
Follow the steps from the above section to authenticate Google -- make sure that the account you have authenticated for has access to the Google Analytics properties you wish to collect.
We'll need to collect the Google Analytics property IDs for the websites you want to retrieve data from.
- Go to https://analytics.google.com/ -- You may have to login. These instructions are assuming you have already set up Google Analytics and have been collecting data.
- Then click on the website at the top of the navbar. It will bring you to a dropdown that shows all your websites.
4 .Click on one of the websites where you'd like to retrieve data from. The URL will look something like this:
https://analytics.google.com/analytics/web/?authuser=1#/p<PROPERTY_ID_HERE>/reports/home
- Copy the property id and put it in the
ga_property_ids:
part of the_config_automation.yml
.
Repeat these same steps for all the properties you'd like to collect data for, separating the IDs by commas. Delete the example IDs we have put there as placeholders.
###### Google Analytics ######
refresh-ga: yes
ga_property_ids: [ 422671031, 422558989 ]
ga_googlesheet:
- In the
config_automation.yml
file, make sure thatrefresh-ga
is set to "yes". - Optionally, if you are saving data to Google, specify a googlesheet ID in
ga_googlesheet
you'd like the GitHub data to be saved to. This will only be relevant if you've setdata_dest
togoogle
.
Follow the steps from the above section to authenticate Google -- make sure that the account you have authenticated for has access to the Google Forms you wish to collect.
Go to a form you'd like to collect data from. The URL should look something like this:
https://docs.google.com/forms/u/1/d/<GOOGLE_FORM_ID_HERE>/edit?usp=drive_web
Extract the Google Form ID from the URL and put it in the google_forms
section of the _config_automation.yml
file.
Do this for each form you'd like to collect data from and separate the form IDs with commas. Delete the example IDs we have put there as placeholders.
###### Google Forms ######
refresh-googleforms: yes
google_forms: [
1pbFfgUPYH2w9zEoCDjCa4HFOxzEhGOseufw28Xxmd-o,
1JjmsiuVoGSxvl-1M_oWittcftO955tijzeNc-cgJlo8 ]
googleforms_googlesheet:
- In the
config_automation.yml
file, make sure thatrefresh-googleforms
is set to "yes". - Optionally, if you are saving data to Google, specify a googlesheet ID in
googleforms_googlesheet
you'd like the GitHub data to be saved to. This will only be relevant if you've setdata_dest
togoogle
.
This is assuming you have already exported Slido data to a google drive folder. See Slido instructions here for how to do that. Navigate to the Google Drive folder that has the Slidos you'd like to collect. Get the URL for this folder. It should look like this:
https://drive.google.com/drive/u/1/folders/<SOME_FOLDER_ID_HERE>
Put the folder id from this URL in your drive_id:
category in the _config_automation.yml
file.
###### Slido ######
refresh-slido: yes
drive_id: 1XWXHHyj32Uw_UyaUJrqp6S--hHnM0-7l
slido_googlesheet:
- In the
config_automation.yml
file, make sure thatrefresh-slido
is set to "yes". - Optionally, if you are saving data to Google, specify a googlesheet ID in
slido_googlesheet
that you'd like the GitHub data to be saved to. This will only be relevant if you've setdata_dest
togoogle
.
Follow the steps from the above section to authenticate Google -- make sure that the account you have authenticated for has access to the YouTube you wish to collect.
Go to a video you'd like to collect data from. The URL should look something like this:
https://www.youtube.com/watch?v=<YOUTUBE_VIDEO_ID_HERE>
Extract the Youtube Video ID from the URL and put it in the video_ids
section of the _config_automation.yml
file. Delete the example IDs we have put there as placeholders.
Do this for each video you'd like to collect data from and separate the IDs with commas.
###### YouTube ######
refresh-youtube: yes
video_ids: [ XN_QPRrJZAw, YkYnni-WuaQ ]
youtube_googlesheet:
- In the
config_automation.yml
file, make sure thatrefresh-slido
is set to "yes". - Optionally, if you are saving data to Google, specify a googlesheet ID in
youtube_googlesheet
that you'd like the GitHub data to be saved to. This will only be relevant if you've setdata_dest
togoogle
.