Goals – Port Google Maps Web Services library functionality to PowerShell

Due Date: 11/30/2021

Description:

The “Client Libraries for Google Maps Web Services” are community-supported libraries for Python, Java, Node.js, and Go. I propose to port the functionality of the Node.js library to PowerShell as an exercise to improve my own knowledge of these libraries and practice software engineering practices like version control and testing.

NOTE: after viewing the Node.js GitHub repo and dipping into the README, I have changed the Completion Data for this item to November 30 2021. I want to get more comfortable with Node.js before writing any significant amount of PowerShell code to replicate the functions of this library. I may decide to base my PowerShell port on the Python library instead, particularly if the Node.js library makes heavy use of Node.js features that would be difficult to implement in PowerShell.

Progress:

  • Completed LinkedIn Learning “PowerShell: Functions for Advanced Automation” (6/18/2021)
  • Completed LinkedIn Learning “PowerShell: Automating Administration” (6/18/2021)

Goals – Create new version of ‘WordPress issues with Google Maps’ document

Due Date: 7/31/2021

Description:

I propose creating a Version 2.0 of the ‘WordPress issues with Google Maps’ resource to document Google Maps-related WordPress plugins and themes. 

This resource would include a schema to show the desired information to include about each plugin, such as.:

  • Theme or plugin Name (required entry)
  • Purpose of the plugin (if not apparent from the name)
  • Is there a free version of the plugin? Premium? 
  • Unify or Vector cases where the plugin was seen in the wild 
  • Link to the plugin’s entry at https://wordpress.org/plugins/ 
  • Link to the developer’s support page
  • Maps APIs actually required or used (including the endpoints – JS versus web service)
  • Screenshot of the theme’s or plugin’s Maps API configuration in the WordPress dashboard. (this would require setting up the plugin on a test WordPress install, unless a customer’s screenshot from a case is available)
  • Screenshot of the theme’s or plugin’s WordPress configuration under common error conditions (Geocoding or Places API not enabled, Maps JavaScript not enabled, billing disabled, etc)
  • Screenshot of the plugin or theme in use (from a test install)

An additional part of the solution would be a mechanism to nominate new themes or plugins for analysis. This mechanism could be a bug, or could be internal to the document (similar to the “Pending Questions” section of go/maps-tos-faq )

Also, to facilitate multiple contributors, the document should include a “How to contribute” appendix. This appendix could include how-tos for setting up or accessing a test WordPress install,

After creating the document and adding all the plugins and themes in the current ‘WordPress issues with Google Maps’ , I will complete a project one-pager to use the new version in place of the current one.

Progress:

  • Installed XAMPP and Bitnami WordPress on Google Cloud VM – 6/3/2021

Goals – Create Excel add-in to sign Static Maps URLs

Due Date: 9/30/2021

Description:

Adapt the existing C# code at https://developers.google.com/maps/documentation/maps-static/get-api-key#sample-code-for-url-signing to be used as an open source add-in for Microsoft Excel.

After completing the development and testing of the plugin, I will create a project one-pager to request the add-in to be added to the URL signing samples Github repo (at http://googlemaps.github.io/url-signing/index.html )

Progress:

Goals – Create a document showing how to set up alerts for Maps API usage

Due Date: 8/31/2021

Description:

The alerting functions of the Monitoring section of the GCP Console (https://console.cloud.google.com/monitoring/alerting ) can be used to monitor Google Maps APIs. This could be a benefit to Google Maps customers, but this is not supported by GMP technical support. GCP Monitoring and Alerting may be supported by GCP technical support, but most GMP Bronze customers do not have access to GCP support.

To practice my own instructional development and presentation skills, I propose to create a document showing the steps to create alerts for Google Maps APIs, similar to this document (for Geocoding): How to set and use service level alerts on Google Maps Platform

See also: https://cloud.google.com/monitoring/alerts

Progress:

Goals – Complete PowerShell script to sign Static Maps URLs

Due Date: 6/30/2021

Description:

Complete a PowerShell script to sign Static Maps URLs (using a secret signing key copied from the GCP Console). The script will be usable as a function to sign URLs in other PowerShell scripts, or also be able to accept URLs as strings in a command line pipeline.After completing the script and accompanying documentation, I will complete a project one-pager to have the script added to the existing Github repository of Static Maps signing tools (at http://googlemaps.github.io/url-signing/index.html )

Progress:

  • Completed LinkedIn Learning “PowerShell: Functions for Advanced Automation” (6/18/2021)
  • Completed LinkedIn Learning “PowerShell: Automating Administration” (6/18/2021)
  • Added code to script module on my work VM and was able to use the function to sign a URL (6/18/2021)
  • Reviewed other URL Signing Samples, and edited my script module to provide a similar level of functionality (6/28/2021)

Goals – Improve my instructional design and presentation skills

Due Date: 6/30/2021

Description:

GMP Technical Support Analysts are technical experts – but we’re also teachers. A typical tech support interaction involves a customer not only what to do (“Add HTTP referrer restriction”) but also why (“…because if you don’t, someone could copy your API key”). Also, instructional design and presentation skills come into play when working with other members of the team.

To meet this objective, I propose to review the LinkedIn Learning Path “Become an Instructional Developer” (which I originally completed in January 2020), and complete the “Develop Your Course Design and Instructional Skills” Learning Path.

I have my own LinkedIn Learning subscription, and am not dependent on other resources to complete this objective.

Progress:

  • Reviewed LinkedIn Learning “Brain-Based Elearning Design” – April 2021
  • Completed LinkedIn Learning “Teaching Technical Skills Through Video” – 5/5/2021
  • Reviewed LinkedIn Learning “Instructional Design Essentials: Models of ID” – May 2021
  • Reviewed LinkedIn Learning “Agile Instructional Design” – May 2021
  • Reviewed LinkedIn Learning “Instructional Design: Storyboarding” – 5/25/2021
  • Reviewed LinkedIn Learning “Instructional Design: Adult Learners” – 6/2/2021
  • Reviewed LinkedIn Learning “Instructional Design: Needs Analysis” – 6/4/2021
  • Reviewed LinkedIn Learning “Instructional Design: Creating Video Training” – 6/5/2021
  • Reviewed LinkedIn Learning “Instructional Design: Working with SMEs” – 6/15/2021
  • Reviewed LinkedIn Learning “Measuring Learning Effectiveness” – 6/17/2021
  • Completed LinkedIn Learning “Training with Stories” – 6/17/2021
  • Completed LinkedIn Learning “Inclusive Instructional Design” – 6/17/2021
  • Completed LinkedIn Learning “Foundations of Corporate Training”- 6/19/2021
  • Completed LinkedIn Learning “Inclusive Instructional Design” – 6/19/2021
  • Completed LinkedIn Learning “Using Neuroscience for More Effective L&D”- 6/20/2021
  • Completed LinkedIn Learning “Applying Analytics to Your Learning Program” – 6/20/2021
  • Completed LinkedIn Learning “Creating a Culture of Learning” – 6/21/2021

Goals – Improve front-end development skills

Due Date: 12/31/2021

Description:

Supporting GMP APIs requires a solid grounding in HTML, CSS, and JavaScript. Also, we often see customers developing their websites using the React library.

I propose to upgrade my front end development skills by:

  1. completing LinkedIn Learning Path “Become a Junior WordPress Developer”, developing a WordPress child theme (complete by July 31), and developing a WordPress theme from scratch (complete by August 31)
  2. completing a selection (TBD) of LInkedIn Learning courses in modern (vanilla) JS, and implement a web page enhanced with modern vanilla JavaScript (complete by October 31)
  3. complete LInkedIn Learning Paths “Become a React Developer” and “Improve Your React Skills”, and implement a web page using React.js (complete by December 31)

Progress:

  • Completed LinkedIn Learning “First Look: WordPress Full-Site Editing” 4/25/2021 (1)
  • Completed LinkedIn Learning “Version Control for Everyone” 4/25/2021 (1, 2, 3)
  • Completed LinkedIn Learning  “JavaScript Essential Training” 5/2/2021 (1, 2)
  • Completed LinkedIn Learning “CSS Essential Training” 5/10/2021 (1, 2)
  • Completed LinkedIn Learning “HTML Essential Training” 5/12/2021 (1, 2)
  • Completed LinkedIn Learning “Making Sense of the CSS Box Model” 5/13/2021 (1,2)
  • Completed LinkedIn Learning “WordPress: Accessibility” 5/14/2021 (1)
  • Completed LinkedIn Learning “WordPress: Custom Post Types and Taxonomies” 5/15/2021 (1)
  • Reviewed LinkedIn Learning “WordPress: Building Child Themes” 5/24/2021 (1)
  • Completed LinkedIn Learning “Building a Google Maps App with JavaScript” (new beginner course) 5/29/2021
  • Re-reviewed “WordPress: Building Child Themes” and made notes of all the good stuff (6/1/2021) (1)
  • Reviewed LinkedIn Learning “WordPress: Building Progressive Themes with WP Rig” (6/11/2021) (1)
  • Completed LinkedIn Learning “Build a Flashcard App with Vanilla JavaScript and Bootstrap” (6/15/2021) (2)
  • Completed LinkedIn Learning “WordPress: Advanced Custom Fields” (6/29/2021) (1) (this was the last course of the “Become a Junior WordPress Developer” curriculum)