In Enrich your developer profile on scrviz I showed how scrviz could be used to show off your Apps Script work to potential clients (Showcase your Apps Script work and get hired via vizzy) and how to enrich your owner profile with custom data. I’ve extended that so you can now enrich the profile of each of your repos, perhaps with links to documentation or websites – or any other info you want to include. The only rule is that it’s appropriate and short.

Repo profile

Currently a repo profile is quite sparse, as most data is at the project level rather than the repo (a repo can hold several projects).  Here’s my undecorated profile for my cGoa library.

https://scrviz.web.app/?repo=brucemcpherson/cGoa

 

So there’s no much there. Much more useful if we could also have links to other places to tell a story of what this is about. Of course you can always follow the link to the repo to see what’s in the readme.MD, but it may be better to divert directly to a blogpost – or perhaps if you are monetizing, to a place where you can sell things related to this repo.

Enriched profile

In this case I would like to draw traffic to my website, specifically a couple of articles about this repo, how to use it, and other stuff not necessarily in the readme in the repo.

Here’s how this scrviz repo profile at https://scrviz.web.app/?repo=brucemcpherson/cGoa looks now.

 

The profile

You only have 1 scrviz profile to maintain. This covers not only your owner profile (see Enrich your developer profile on scrviz), but also each of the repos that you want to add enrichment data to. Here’s mine, with my owners profile, and 3 repos described. I’ll be adding more over time.

{
  "scrviz": {
    "owner": {
      "login": "brucemcpherson",
      "rows": [
        {
          "description": "Google developer expert",
          "link": "https://developers.google.com/community/experts/directory/profile/profile-bruce_mcpherson",
          "tip": "GDE since 2013 : G Suite and Identity",
          "icon": "mdi-code-tags",
          "visible": true
        },
        {
          "description": "O'reilly author",
          "link": "https://www.oreilly.com/pub/au/6781",
          "tip": "Author of Going Gas - VBA to Apps Script",
          "icon": "mdi-book-education",
          "visible": true
        },
        {
          "description": "Video channel",
          "link": "https://www.youtube.com/c/BruceMcpherson",
          "tip": "Bruce Mcpherson's Youtube channel",
          "icon": "mdi-youtube",
          "visible": true
        },
        {
          "description": "Linkedin Profile",
          "link": "https://www.linkedin.com/in/brucemcpherson",
          "tip": "Bruce Mcpherson's linkedin profile",
          "icon": "mdi-linkedin",
          "visible": true
        }
      ]
    },
    "repos": [
      {
        "repo": "bmFiddler",
        "rows": [
          {
            "description": "Handly helper for fiddler",
            "link": "https://ramblings.mcpher.com/vuejs-apps-script-add-ons/helper-for-fiddler/",
            "tip": "Wrapper library for fiddler:Abstracts sheet data - functional sheet processing",
            "icon": "mdi-file-document",
            "visible": true
          }
        ]
      },
      {
        "repo": "GasWatcher",
        "rows": [
          {
            "description": "Watching for server side Sheet changes from the client html service",
            "link": "https://ramblings.mcpher.com/gassnippets2/watching-for-server-side-changes-from-the-client-html-service/",
            "tip": "client-side to react to changes in data (or indeed any property) as well as changes in selection and Activesheet.",
            "icon": "mdi-file-document",
            "visible": true
          }
        ]
      },
      {
        "repo": "cGoa",
        "rows": [
          {
            "description": "OAuth2 for Apps Script in a few lines of code",
            "link": "https://ramblings.mcpher.com/oauth2-for-apps-script-in-a-few-lines-of-code/",
            "tip": "Low setup oauth2 library for Apps Script",
            "icon": "mdi-file-document",
            "visible": true
          },
          {
            "description": "How fast can you get OAuth2 set up in Apps Script?",
            "link": "https://ramblings.mcpher.com/oauth2-for-apps-script-in-a-few-lines-of-code/how-fast-can-you-get-oauth2-set-up-in-apps-script/",
            "tip": "Set up oauth2 from Apps Script to any service in under 15 minutes",
            "icon": "mdi-file-document",
            "visible": true
          }
        ]
      }
    ]
  }
}
scrviz-profile.json

Where to put scrviz-profile.json

Anywhere in any public repo you own. It doesn’t have to be an Apps Script one. It’s probably better (but not mandatory) to keep it in its own repository – mine is here https://github.com/brucemcpherson/scrviz-profile

You must only have 1 scrviz-profile.json across all your repos, and the login property must match that of the repo owner.

Profile contents

The scrviz.owner property contains data to enrich your owner profile, and must be present before you can enrich repo profiles. At a minimum it needs the scrviz.owner.login set to the github owner of the repo in which it lives.

Properties

name purpose
scrviz.repo.repo this should match your github repo name. The owner validation is inherited from the scrviz.owner.login
scrviz.repo.rows an array of rows – each one will render a row in the scrviz repo profile

Each row can have these properties

all are optional (except visibile) and will be replaced by some approriate default value if not supplied. Note these are exactly the same as the properties used in the scrviz.owner.rows

name purpose
description the description. If there is a link present, this will be used as the text for the link
link an external link to some more info
tip a tooltip to display when hovering over the description
icon a material design icon to use to decorate this row. It take the format of, for example, mdi-linkedin. The full directory of icons is here https://materialdesignicons.com/
visible true/false – whether to show it in scrviz – this is mandatory. If not present the row won’t be shown. Think of it as agreeing to scrviz conditions

Copying links

For convenience, each row is wired up to be able to be copied to the clipboard if you click on the icon. If there is a link present it’ll copy that, otherwise it’ll copy the text.

Tags

You can now also add tags to your profile – for details, see More scrviz updates to help you enrich your profile and repos

Links

App https://scrviz.web.app

Github https://github.com/brucemcpherson/gitvizzy

My profile https://github.com/brucemcpherson/scrviz-profile

My scrviz link https://scrviz.web.app?owner=brucemcpherson

Example scrviz repo link: https://scrviz.web.app/?repo=brucemcpherson/cGoa

All about scrviz