Giter Site home page Giter Site logo

solace-dev-codelabs's Introduction

Update Codelabs Site Repo Netlify Status Weekly link checker

Solace Codelabs

The purpose of these codelabs is to create easily consumable, step-by-step tutorials that walk a developer to achieve a goal.

This repository is included as a submodule in the main site repo. The main codelabs site is deployed from that repo and codelab artifacts are kept here.

Directories

  • codelabs - contains codelabs that will be served up on https://codelabs.solace.dev/. The raw markdown file is exported into this directory via the claat tool.
  • markdown - This directory contains the markdown file that the codelabs were generated from.

How to Contribute

Prepare your repository

  1. Fork this main repository by clicking on the Fork button on the top right
  2. From a terminal window, clone your fork of the repo git clone [email protected]:<Your_Github_User>/solace-dev-codelabs.git
  3. Navigate to the newly cloned directory cd solace-dev-codelabs
  4. Checkout a local branch for your new codelab git checkout -b add-codelab-<name_of_codelab>

Option 1 - Script

  1. Setup your environment
  2. Read the solace guidelines
  3. From the root directory, run ./init.sh <name-of-codelab> script
  4. Navigate to /markdown/name-of-codelab
  5. Run the following from terminal npm install; npm run watch
  6. Edit your <name-of-codelab>.md file in your text editor of choice
  7. When ready, run export.sh
  8. Navigate to the codelabs root directory (cd ../../), add and commit your changes in a PR. From the root directory,
cd ../../ #to navigate to the root of the codelabs dir
git add .
git commit -m "add new codelab: <name of codelab>"
git push origin add-codelab-<name_of_codelab>

Note: origin in the command above the name of the remote repository. If your remote repository is of a different name then you will have to git push <name_of_remote_repo> add-codelab-<name_of_codelab>

Option 2 - Manual

Follow the steps in this tutorial: https://codelabs.solace.dev/codelabs/codelab-4-codelab

Note: original markdown of this codelab is found under codelabs/codelab-4-codelab

Learn About CodeLab

solace-dev-codelabs's People

Contributors

aaron-613 avatar abdoulbaguim avatar andrew-j-roberts avatar carehart avatar chaymee avatar christianholtfurth avatar dennis-brinley avatar dependabot[bot] avatar dishantlangayan avatar gvensan avatar harirangarajan-solace avatar jerdog avatar jessemenning avatar jschabowsky avatar kenbarr avatar leahrobert avatar mgevantmakher avatar mhilmen avatar mrc0113 avatar paul-kondrat avatar pl89 avatar shwetamazumder avatar solacecommunity-bot avatar spencerhank avatar sumeet-koshal avatar tamimigithub avatar tkthetechie avatar tomfairbairnsolace avatar ushnash avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

solace-dev-codelabs's Issues

Codelab-4-codelabs enhancement

  • Edit content to call out preferred way to authoring codelabs (automation)
  • Add guidance for tech reviewer
  • Add guidance local experience video

Add script to create new codelab from template

The idea here is to create a new folder in the markdown dir with

  1. .md file with the header presetup
  2. export.sh script that includes the claat export with ga code in it
  3. Update codelab-4-codelab steps

Add PR review process

Once the PR is up, trigger a github action that comments on the PR showing the review process guidelines

e.g.
[ ] Tag reviewer
[ ] Review Technical content

Link Checker Report

Errors were reported while checking the availability of links.


πŸ“ Summary
---------------------
πŸ” Total...........26
βœ… Successful......23
⏳ Timeouts.........0
πŸ”€ Redirected.......0
πŸ‘» Excluded.........2
🚫 Errors...........1

Errors in https://codelabs.solace.dev/
βœ— https://solace.community/categories/pubsub%2B-tutorials (HTTP status client error (404 Not Found) for url (https://solace.community/categories/pubsub%2B-tutorials))

Full Github Actions output

Automation enhancement

Temp Dir

Right now, npm run watch will export the codelab to a temp dir. It is only deleted upon ./export.sh. We have to find a way to either

  • Delete it on stopping the watch
  • Add it to a gitignore temp dir

Deps

  • Install deps if not present (MacOS + Windows)

Install Claat does not work

I tried with the go get command, I tried with go install command, I tried downloading the binary, nothing works. Can you update the codelab with working steps to show how to install claat?

Automation Enhancement - Add takeaways template as last section

I think we should add a default "Takeaways" section at the end of the generated template to remind people to do a quick recap and also to make sure we always have a community call-out.

Maybe something like this which I'm using for the codelab I'm currently working on?

Takeaways

Duration: 0:03:00

  • βœ… < FIILL IN TAKEAWAY 1>
  • βœ… < FIILL IN TAKEAWAY 2>
  • βœ… < FIILL IN TAKEAWAY 3>

solly_wave

Thanks for participating in this codelab! Let us know what you thought in the Solace Community Forum and if you found any issues along the way we'd appreciate it if you'd raise them by clicking the Report a mistake button at the bottom left of this codelab.

Remove all references to our GA property ID

Hi Team,
As discussed, we have our Google Analytics (GA) Property ID being loaded twice;

  1. We have it being loaded within our Google Tag Manager (GTM) container, which is served via Netlify's Snippet Injection.
  2. We also have it being loaded separately via Codelabs themselves.

Due to (2.) we're noticing the following, which is causing our analytics to be polluted;

  • anyone who clones/forks the Codelabs repo then has our GA ID within their copy.
  • anyone working locally, is also being tracked in GA, as we're seeing localhost in our analytics.
  • there's also references to netlify which I'm assuming is from previews being viewed.

For the reasons above we need to remove any and all references to GA UA-3921398-10 from Codelabs as soon as we can, in order to ensure we're getting the most accurate analytics.

Screen Shot 2021-03-18 at 1 47 33 PM

Thanks again.

Link Checker Report

Errors were reported while checking the availability of links.


πŸ“ Summary
---------------------
πŸ” Total...........26
βœ… Successful......23
⏳ Timeouts.........0
πŸ”€ Redirected.......0
πŸ‘» Excluded.........2
🚫 Errors...........1

Errors in https://codelabs.solace.dev/
βœ— https://solace.community/categories/pubsub%2B-tutorials (HTTP status client error (404 Not Found) for url (https://solace.community/categories/pubsub%2B-tutorials))

Full Github Actions output

Review Be Real-Time: Design, Document, Discover and Develop Event-Driven APIs

This should be done after #120

Review Be Real-Time: Design, Document, Discover and Develop Event-Driven APIs codelab. The GUI has changed and some of the screenshots need to be updated. Please quickly run through the codelab and make sure it works. Also check codelab for formatting.

There also seems to be a formatting issue on Step 6 when creating the PaymentCharged schema.
image

Category Fixes

Before we get too many codelabs let's make sure the categories make sense.

Suggestions:

  • Both Helm codelabs should also have Kubernetes
  • Should the raspberry pi one show up under javascript?

Another issue with Java Part of the https://codelabs.solace.dev/codelabs/design-document-discover-develop-event-driven-apis

Hi,

Sorry for remark, but it is pretty frustrating to have a step-by-step lab that doesn't work. I've made a Solace course where, if I recall it right, the lab was mentioned there.

Anyway, the exported AsyncAPI file and description for code generation doesn't work at all. TL;TW - just try to get the Java code compiled by following the description and you'll meet all the issues.

Add git basics to Contribute instructions

Because many contributors are not used to git we need to add the β€œgit fork, git clone, git add, git commit, git push” steps to the solace-dev-codelab README file

Link Checker Report

Errors were reported while checking the availability of links.


πŸ“ Summary
---------------------
πŸ” Total...........26
βœ… Successful......23
⏳ Timeouts.........0
πŸ”€ Redirected.......0
πŸ‘» Excluded.........2
🚫 Errors...........1

Errors in https://codelabs.solace.dev/
βœ— https://solace.community/categories/pubsub%2B-tutorials (HTTP status client error (404 Not Found) for url (https://solace.community/categories/pubsub%2B-tutorials))

Full Github Actions output

Cannot export AsyncAPI Definition

Hi,

In the step 10, https://codelabs.solace.dev/codelabs/design-document-discover-develop-event-driven-apis/index.html?index=..%2F..index#10 attempting to download AsyncAPI definition and get:

An error occurred
The event PaymentCharged has a topic that will not work with AsyncAPI. Topic addresses must only contain letters, numbers and one or more of the following special characters: !#$&()*+,-./:;=[]_~.

Could it be a problem with Async API 2.0.0., because in the tutorial the generator should be installed in the version 0.53.1 that doesn't work properly either.

Review Codelabs for use of unsecure ports

As Solace Cloud now disables unsecure ports (such as 55555) by default we should update codelabs to use secured ports where feasible and/or show how to enable unsecure ports during setup.

Link Checker Report

Errors were reported while checking the availability of links.


πŸ“ Summary
---------------------
πŸ” Total...........26
βœ… Successful......23
⏳ Timeouts.........0
πŸ”€ Redirected.......0
πŸ‘» Excluded.........2
🚫 Errors...........1

Errors in https://codelabs.solace.dev/
βœ— https://solace.community/categories/pubsub%2B-tutorials (HTTP status client error (404 Not Found) for url (https://solace.community/categories/pubsub%2B-tutorials))

Full Github Actions output

Add image compression in automation

in the ./export.sh script, include a step to iterate over all the assets in the img dir and compress all the images
For example
https://www.npmjs.com/package/compress-images

Notes:

  1. Once an npm package is installed, the cli executable can be accessed from node_modules/<name_of_package>/bin
  2. Rename compressed images to -compress. (or similar) to avoid recompressing already compressed images
  3. Add exception handling to image extensions that is not supported by the compression cli tool. There are alot of weird extensions for images

Update EP App Domain Import Screens

Update App Domain Import Screens

  • Import button has been removed
  • Now have to click "toolkit" + choose application domains
  • they now ask for the Logical Event Mesh

This will need to be updated in every codelab that imports an App Domain file

To avoid extra user input we should ensure that a logical event mesh is specified in the export files.

Add unit tests CI/CD

Unit tests include

  • Checking GaCode in markdown and html
  • Confirm header matches convention
  • Add 404 URL checker

Link Checker Report

Errors were reported while checking the availability of links.


πŸ“ Summary
---------------------
πŸ” Total...........26
βœ… Successful......23
⏳ Timeouts.........0
πŸ”€ Redirected.......0
πŸ‘» Excluded.........2
🚫 Errors...........1

Errors in https://codelabs.solace.dev/
βœ— https://solace.community/categories/pubsub%2B-tutorials (HTTP status client error (404 Not Found) for url (https://solace.community/categories/pubsub%2B-tutorials))

Full Github Actions output

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.