diff --git a/.github/workflows/rename-folder.yml b/.github/workflows/rename-folder.yml new file mode 100644 index 00000000000..24f7af200b5 --- /dev/null +++ b/.github/workflows/rename-folder.yml @@ -0,0 +1,64 @@ +name: Rename Folder + +on: + pull_request: + paths: + - '**/rule.md' + types: [opened, synchronize] + +jobs: + rename-folder: + runs-on: ubuntu-latest + permissions: + contents: write + issues: write + repository-projects: read + pull-requests: write + + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + token: ${{ secrets.GITHUB_TOKEN }} + ref: ${{ github.event.pull_request.head.ref }} + repository: ${{ github.event.pull_request.head.repo.full_name }} + + - name: Check for modified rule.md + id: check_modified + run: | + if git diff --name-only $(git merge-base origin/main HEAD) | grep -q 'rule.md'; then + echo "modified=true" >> "$GITHUB_OUTPUT" + else + echo "modified=false" >> "$GITHUB_OUTPUT" + fi + + # - name: Rename folder if necessary + # id: rename_folder + # if: steps.check_modified.outputs.modified == 'true' + # run: | + # folder_name=$(dirname $(git diff --name-only $(git merge-base origin/main HEAD) | grep 'rule.md' | head -n 1)) + # uri=$(grep -m 1 '^uri:' ${{ github.workspace }}/$folder_name/rule.md | awk '{print $2}') + # if [ "$folder_name" != "$uri" ]; then + # mv $folder_name $uri + # echo "rename=true" >> "$GITHUB_OUTPUT" + # else + # echo "rename=false" >> "$GITHUB_OUTPUT" + # fi + + - name: Rename folders if necessary + id: rename_folders + if: steps.check_modified.outputs.modified == 'true' + run: | + sh .workflow/rename-folders.sh + + - name: Commit and push changes + if: steps.rename_folders.outputs.rename == 'true' + run: | + git config --global user.name 'github-actions[bot]' + git config --global user.email 'github-actions[bot]@users.noreply.github.com' + git add . + git commit -m "Rename folder to match URI" + git push || true + echo "Auto-fix applied" + diff --git a/.workflow/rename-folders.sh b/.workflow/rename-folders.sh new file mode 100644 index 00000000000..0695119e22c --- /dev/null +++ b/.workflow/rename-folders.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +is_rename=false +for rule_file in $(git diff --name-only $(git merge-base origin/main HEAD) | grep 'rule.md'); do + folder_path=$(dirname $rule_file) + folder_name=${folder_path#rules/} + echo "Folder path: $folder_path" + echo "Folder name: $folder_name" + + uri=$(grep -m 1 '^uri:' "${GITHUB_WORKSPACE}/$rule_file" | awk '{print $2}') + echo "URI: $uri" + + if [ "$folder_name" != "$uri" ]; then + mv "${GITHUB_WORKSPACE}/$folder_path" "${GITHUB_WORKSPACE}/$uri" + is_rename=true + + if grep -q "^redirects: \[\]$" "${GITHUB_WORKSPACE}/$uri/rule.md"; then + sed -i "/^redirects: \[\]$/d" "${GITHUB_WORKSPACE}/$uri/rule.md" + fi + + if grep -q '^redirects:' "${GITHUB_WORKSPACE}/$uri/rule.md"; then + # if grep -q "redirects:.*- $folder_name$" "${GITHUB_WORKSPACE}/$uri/rule.md"; then + if grep -q "^ *- $folder_name$" "${GITHUB_WORKSPACE}/$uri/rule.md"; then + echo "Old folder name is already in redirects" + else + sed -i "/^redirects:/a \ \ - $folder_name" "${GITHUB_WORKSPACE}/$uri/rule.md" + fi + else + sed -i "/uri:.*/a\\redirects:\\n - $folder_name" "${GITHUB_WORKSPACE}/$uri/rule.md" + fi + fi +done +echo "rename=$is_rename" >> "$GITHUB_OUTPUT" diff --git a/rules/3-steps-to-a-pbi/3StepsToAPBI.jpg b/3-steps-to-a-pbi123/3StepsToAPBI.jpg similarity index 100% rename from rules/3-steps-to-a-pbi/3StepsToAPBI.jpg rename to 3-steps-to-a-pbi123/3StepsToAPBI.jpg diff --git a/rules/3-steps-to-a-pbi/KB-customize-board-columns.png b/3-steps-to-a-pbi123/KB-customize-board-columns.png similarity index 100% rename from rules/3-steps-to-a-pbi/KB-customize-board-columns.png rename to 3-steps-to-a-pbi123/KB-customize-board-columns.png diff --git a/rules/3-steps-to-a-pbi/Testing-task.png b/3-steps-to-a-pbi123/Testing-task.png similarity index 100% rename from rules/3-steps-to-a-pbi/Testing-task.png rename to 3-steps-to-a-pbi123/Testing-task.png diff --git a/rules/3-steps-to-a-pbi/rule.md b/3-steps-to-a-pbi123/rule.md similarity index 97% rename from rules/3-steps-to-a-pbi/rule.md rename to 3-steps-to-a-pbi123/rule.md index f1a4e5dac08..d8831670d25 100644 --- a/rules/3-steps-to-a-pbi/rule.md +++ b/3-steps-to-a-pbi123/rule.md @@ -5,7 +5,7 @@ seoDescription: Master the 3 essential steps of PBI management with SSW's expert guide. From readiness to coding and finalization, streamline your Agile processes for maximum efficiency. Learn more and enhance your project management skills today. -uri: 3-steps-to-a-pbi +uri: 3-steps-to-a-pbi123 authors: - title: Adam Cogan url: https://ssw.com.au/people/adam-cogan @@ -24,8 +24,11 @@ related: - done-do-you-know-when-to-send-a-done-email-in-scrum - close-pbis-with-context redirects: + - rules/3-steps-to-a-pbi1 - do-you-know-the-3-steps-to-completing-a-pbi - do-you-know-the-3-steps-to-a-pbi + - 3-steps-to-a-pbi + - 3-steps-to-a-pbi12 created: 2013-08-30T06:33:21.000Z archivedreason: null guid: 1de9df77-9b69-4242-b648-e08e5980e9a6 diff --git a/rules/404-error-avoid-changing-the-url/404-good_1710232021928.jpg b/404-error-avoid-changing-the-url12/404-good_1710232021928.jpg similarity index 100% rename from rules/404-error-avoid-changing-the-url/404-good_1710232021928.jpg rename to 404-error-avoid-changing-the-url12/404-good_1710232021928.jpg diff --git a/rules/404-error-avoid-changing-the-url/rule.md b/404-error-avoid-changing-the-url12/rule.md similarity index 93% rename from rules/404-error-avoid-changing-the-url/rule.md rename to 404-error-avoid-changing-the-url12/rule.md index d72b38293e4..f4b0686dd82 100644 --- a/rules/404-error-avoid-changing-the-url/rule.md +++ b/404-error-avoid-changing-the-url12/rule.md @@ -3,7 +3,7 @@ type: rule archivedreason: title: Do you avoid changing the URL on a 404 error? guid: 0d3576ad-6b39-4682-b425-3d68751a100b -uri: 404-error-avoid-changing-the-url +uri: 404-error-avoid-changing-the-url12 created: 2016-08-11T18:08:44.0000000Z authors: - title: Adam Cogan @@ -11,11 +11,13 @@ authors: related: - 404-useful-error-page redirects: + - 404-error-avoid-changing-the-url1 - do-you-avoid-changing-the-url-on-a-404-error +- 404-error-avoid-changing-the-url --- -When you request a URL of a file that doesn't exist, you will get an error message. You should make sure that the URL in the browser doesn't change. This way, it's easy for the user to correct. +When you request a URL of a file that doesn't exist, you will get an error message. You should make sure that the URL in the browser doesn't change. This way, it's easy for the user to correct. E.g. The user doesn't have to retype the whole URL if there is a spelling mistake or a forgotten/mixed up letter. @@ -49,4 +51,5 @@ To show the customized error page while not change the original URL, you can use ``` cs Server.Transfer("/ssw/ErrorPage.aspx") ``` -**Figure: Custom error page handler in Global.asax** + +**Figure: Custom error page handler in Global.asax** diff --git a/rules/404-error-avoid-changing-the-url/url_asp.gif b/404-error-avoid-changing-the-url12/url_asp.gif similarity index 100% rename from rules/404-error-avoid-changing-the-url/url_asp.gif rename to 404-error-avoid-changing-the-url12/url_asp.gif diff --git a/rules/404-useful-error-page/404-bad.jpg b/404-useful-error-page1/404-bad.jpg similarity index 100% rename from rules/404-useful-error-page/404-bad.jpg rename to 404-useful-error-page1/404-bad.jpg diff --git a/rules/404-useful-error-page/404-good.jpg b/404-useful-error-page1/404-good.jpg similarity index 100% rename from rules/404-useful-error-page/404-good.jpg rename to 404-useful-error-page1/404-good.jpg diff --git a/rules/404-useful-error-page/rule.md b/404-useful-error-page1/rule.md similarity index 94% rename from rules/404-useful-error-page/rule.md rename to 404-useful-error-page1/rule.md index 6595a3e75a6..03995aac96b 100644 --- a/rules/404-useful-error-page/rule.md +++ b/404-useful-error-page1/rule.md @@ -3,7 +3,7 @@ type: rule archivedreason: title: Do you have a useful 404 error page? guid: a006213a-e97b-46a7-a66b-beb52b205533 -uri: 404-useful-error-page +uri: 404-useful-error-page1 created: 2016-08-11T17:30:01.0000000Z authors: - title: Adam Cogan @@ -13,7 +13,9 @@ authors: related: - 404-error-avoid-changing-the-url redirects: + - 404-useful-error-page - do-you-replace-the-404-error-with-a-useful-error-page +- 404-useful-error-page --- @@ -26,8 +28,9 @@ A well-designed custom error page encourages surfers to remain in your site and ```xml ``` + ::: bad -Figure: Bad example - The default code on web.config +Figure: Bad example - The default code on web.config ::: ```xml @@ -35,6 +38,7 @@ Figure: Bad example - The default code on web.config ``` + ::: good Figure: Good example - The custom code in the web.config ::: @@ -46,11 +50,11 @@ This error information is useful for the developer to do debugging. However, it ```xml ``` + ::: good Figure: Good example - Turning on "customErrors" protects sensitive information against Hacker ::: - ::: bad ![Figure: Bad example - Unhandled error](404-bad.jpg) ::: diff --git a/rules/8-steps-to-scrum/8StepstoScrum-V5-1.pdf b/8-steps-to-scrum-test-doub/8StepstoScrum-V5-1.pdf similarity index 100% rename from rules/8-steps-to-scrum/8StepstoScrum-V5-1.pdf rename to 8-steps-to-scrum-test-doub/8StepstoScrum-V5-1.pdf diff --git a/rules/8-steps-to-scrum/8StepstoScrum-V5-2.pdf b/8-steps-to-scrum-test-doub/8StepstoScrum-V5-2.pdf similarity index 100% rename from rules/8-steps-to-scrum/8StepstoScrum-V5-2.pdf rename to 8-steps-to-scrum-test-doub/8StepstoScrum-V5-2.pdf diff --git a/rules/8-steps-to-scrum/8StepstoScrum-v2.pdf b/8-steps-to-scrum-test-doub/8StepstoScrum-v2.pdf similarity index 100% rename from rules/8-steps-to-scrum/8StepstoScrum-v2.pdf rename to 8-steps-to-scrum-test-doub/8StepstoScrum-v2.pdf diff --git a/rules/8-steps-to-scrum/8StepstoScrum.png b/8-steps-to-scrum-test-doub/8StepstoScrum.png similarity index 100% rename from rules/8-steps-to-scrum/8StepstoScrum.png rename to 8-steps-to-scrum-test-doub/8StepstoScrum.png diff --git a/rules/8-steps-to-scrum/8stepstoscrum-v5-1.jpg b/8-steps-to-scrum-test-doub/8stepstoscrum-v5-1.jpg similarity index 100% rename from rules/8-steps-to-scrum/8stepstoscrum-v5-1.jpg rename to 8-steps-to-scrum-test-doub/8stepstoscrum-v5-1.jpg diff --git a/rules/8-steps-to-scrum/8stepstoscrum-v5-2.jpg b/8-steps-to-scrum-test-doub/8stepstoscrum-v5-2.jpg similarity index 100% rename from rules/8-steps-to-scrum/8stepstoscrum-v5-2.jpg rename to 8-steps-to-scrum-test-doub/8stepstoscrum-v5-2.jpg diff --git a/rules/8-steps-to-scrum/rule.md b/8-steps-to-scrum-test-doub/rule.md similarity index 98% rename from rules/8-steps-to-scrum/rule.md rename to 8-steps-to-scrum-test-doub/rule.md index fffb3848569..affd833ffdc 100644 --- a/rules/8-steps-to-scrum/rule.md +++ b/8-steps-to-scrum-test-doub/rule.md @@ -1,7 +1,7 @@ --- type: rule title: Do you know the 8 Steps to Scrum? -uri: 8-steps-to-scrum +uri: 8-steps-to-scrum-test-doub authors: - title: Adam Cogan url: https://ssw.com.au/people/adam-cogan @@ -10,7 +10,7 @@ authors: related: - backlog-refinement-meeting redirects: - - do-you-know-the-8-steps-to-scrum + - 8-steps-to-scrum created: 2013-06-28T03:50:10.000Z archivedreason: null guid: 5759f753-1524-4803-869c-8b881eae28a1 diff --git a/rules/8-steps-to-scrum/scrum-image.png b/8-steps-to-scrum-test-doub/scrum-image.png similarity index 100% rename from rules/8-steps-to-scrum/scrum-image.png rename to 8-steps-to-scrum-test-doub/scrum-image.png diff --git a/rules/a-b-testing/rule.md b/a-b-testing1234/rule.md similarity index 70% rename from rules/a-b-testing/rule.md rename to a-b-testing1234/rule.md index e9675f214a9..7a0f3aca8aa 100644 --- a/rules/a-b-testing/rule.md +++ b/a-b-testing1234/rule.md @@ -1,20 +1,23 @@ --- type: rule title: Do you know the best way to do A/B testing? -uri: a-b-testing +uri: a-b-testing1234 +redirects: + - a-b-testing123 + - a-b-testing123 authors: - title: Piers Sinclair url: https://www.ssw.com.au/people/piers-sinclair created: 2022-04-20T05:56:17.498Z guid: bb49a520-59fa-4190-b19e-b70a6b450975 --- -A/B Testing is the process of testing different versions of an application on different users to gather empirical evidence to learn which version is better. +A/B Testing is the process of testing different versions of an application on different users to gather empirical evidence to learn which version is better. Using A/B Testing enables you to get features tested and when used effectively means that **a bug will never be deployed to 100% of users.** Generally, new features should be tested on 20% of users and rolled out to others once they are reliable. `youtube: https://www.youtube.com/embed/v=zFMgpxG-chM` -**Video: What is A/B Testing? | Data Science in Minutes** +**Video: What is A/B Testing? | Data Science in Minutes** There are several ways this can be done... @@ -25,13 +28,14 @@ There are several ways this can be done... Feature flags are a modern way to toggle features for users. They are essentially a little bit of code that can be turned on and off at will. That means you can choose, when features are deployed and who gets them. Feature flags are often implemented by developers writing their own code. However, there are better solutions today: -* [LaunchDarkly](https://launchdarkly.com/) - * [Video interview](https://tv.ssw.com/ndc-sydney-2017-ask-me-anything-with-adam-cogan-and-edith-harbaugh-launchdarkly-tripit-devops/) of LaunchDarkly CEO Edith Harbaugh +* [LaunchDarkly](https://launchdarkly.com/) + + * [Video interview](https://tv.ssw.com/ndc-sydney-2017-ask-me-anything-with-adam-cogan-and-edith-harbaugh-launchdarkly-tripit-devops/) of LaunchDarkly CEO Edith Harbaugh * [Azure App Configuration](https://docs.microsoft.com/en-us/azure/azure-app-configuration/overview) is the recommended solution and there are some great tutorials that help developers get up and running in minutes: - * [Use feature filters to enable conditional feature flags](https://docs.microsoft.com/en-us/azure/azure-app-configuration/howto-feature-filters-aspnet-core) - * [Tutorial: Use feature flags in an ASP.NET Core app](https://docs.microsoft.com/en-us/azure/azure-app-configuration/use-feature-flags-dotnet-core) + * [Use feature filters to enable conditional feature flags](https://docs.microsoft.com/en-us/azure/azure-app-configuration/howto-feature-filters-aspnet-core) + * [Tutorial: Use feature flags in an ASP.NET Core app](https://docs.microsoft.com/en-us/azure/azure-app-configuration/use-feature-flags-dotnet-core) ## Azure Deployment Slots @@ -39,4 +43,4 @@ Feature flags are often implemented by developers writing their own code. Howeve ## Azure FrontDoor -[Azure FrontDoor](https://docs.microsoft.com/en-us/azure/frontdoor/front-door-overview) is an offering that lets developers direct traffic to different versions of an app. \ No newline at end of file +[Azure FrontDoor](https://docs.microsoft.com/en-us/azure/frontdoor/front-door-overview) is an offering that lets developers direct traffic to different versions of an app. diff --git a/a-b-testing12345/rule.md b/a-b-testing12345/rule.md new file mode 100644 index 00000000000..3deceb37bc4 --- /dev/null +++ b/a-b-testing12345/rule.md @@ -0,0 +1,46 @@ +--- +type: rule +title: Do you know the best way to do A/B testing? +uri: a-b-testing12345 +redirects: + - a-b-testing123 + - a-b-testing1234 +authors: + - title: Piers Sinclair + url: https://www.ssw.com.au/people/piers-sinclair +created: 2022-04-20T05:56:17.498Z +guid: bb49a520-59fa-4190-b19e-b70a6b450975 +--- +A/B Testing is the process of testing different versions of an application on different users to gather empirical evidence to learn which version is better. + +Using A/B Testing enables you to get features tested and when used effectively means that **a bug will never be deployed to 100% of users.** Generally, new features should be tested on 20% of users and rolled out to others once they are reliable. + +`youtube: https://www.youtube.com/embed/v=zFMgpxG-chM` + +**Video: What is A/B Testing? | Data Science in Minutes** + +There are several ways this can be done... + + + +## Feature Flags (Recommended) + +Feature flags are a modern way to toggle features for users. They are essentially a little bit of code that can be turned on and off at will. That means you can choose, when features are deployed and who gets them. + +Feature flags are often implemented by developers writing their own code. However, there are better solutions today: + +* [LaunchDarkly](https://launchdarkly.com/) + + * [Video interview](https://tv.ssw.com/ndc-sydney-2017-ask-me-anything-with-adam-cogan-and-edith-harbaugh-launchdarkly-tripit-devops/) of LaunchDarkly CEO Edith Harbaugh +* [Azure App Configuration](https://docs.microsoft.com/en-us/azure/azure-app-configuration/overview) is the recommended solution and there are some great tutorials that help developers get up and running in minutes: + + * [Use feature filters to enable conditional feature flags](https://docs.microsoft.com/en-us/azure/azure-app-configuration/howto-feature-filters-aspnet-core) + * [Tutorial: Use feature flags in an ASP.NET Core app](https://docs.microsoft.com/en-us/azure/azure-app-configuration/use-feature-flags-dotnet-core) + +## Azure Deployment Slots + +[Azure Deployment Slots](https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots) are another way of doing A/B testing, you essentially deploy 2 versions of your app and then direct traffic to different versions. + +## Azure FrontDoor + +[Azure FrontDoor](https://docs.microsoft.com/en-us/azure/frontdoor/front-door-overview) is an offering that lets developers direct traffic to different versions of an app. diff --git a/rules/add-a-comment-when-you-use-thread-sleep/rule.md b/add-a-comment-when-you-use-thread-sleep2/rule.md similarity index 90% rename from rules/add-a-comment-when-you-use-thread-sleep/rule.md rename to add-a-comment-when-you-use-thread-sleep2/rule.md index 93331d9a84e..b6dce5f0cab 100644 --- a/rules/add-a-comment-when-you-use-thread-sleep/rule.md +++ b/add-a-comment-when-you-use-thread-sleep2/rule.md @@ -3,7 +3,7 @@ type: rule archivedreason: title: Comments - Do you add a comment when you use Thread.Sleep? guid: 34e9cb81-73a3-4d80-ad1b-141bc19eb37f -uri: add-a-comment-when-you-use-thread-sleep +uri: add-a-comment-when-you-use-thread-sleep2 created: 2018-04-26T22:00:01.0000000Z authors: - title: Adam Cogan @@ -11,6 +11,7 @@ authors: related: [] redirects: - comments-do-you-add-a-comment-when-you-use-thread-sleep +- add-a-comment-when-you-use-thread-sleep --- diff --git a/rules/add-a-customized-column-in-grid-if-there-are-default-values/badexampleforcustomizedcolumn.gif b/add-a-customized-column-in-grid-if-there-are-default-values3/badexampleforcustomizedcolumn.gif similarity index 100% rename from rules/add-a-customized-column-in-grid-if-there-are-default-values/badexampleforcustomizedcolumn.gif rename to add-a-customized-column-in-grid-if-there-are-default-values3/badexampleforcustomizedcolumn.gif diff --git a/rules/add-a-customized-column-in-grid-if-there-are-default-values/goodexampleforcustomizedcolumn.gif b/add-a-customized-column-in-grid-if-there-are-default-values3/goodexampleforcustomizedcolumn.gif similarity index 100% rename from rules/add-a-customized-column-in-grid-if-there-are-default-values/goodexampleforcustomizedcolumn.gif rename to add-a-customized-column-in-grid-if-there-are-default-values3/goodexampleforcustomizedcolumn.gif diff --git a/rules/add-a-customized-column-in-grid-if-there-are-default-values/rule.md b/add-a-customized-column-in-grid-if-there-are-default-values3/rule.md similarity index 90% rename from rules/add-a-customized-column-in-grid-if-there-are-default-values/rule.md rename to add-a-customized-column-in-grid-if-there-are-default-values3/rule.md index 46725e6eec5..7e4696fc0df 100644 --- a/rules/add-a-customized-column-in-grid-if-there-are-default-values/rule.md +++ b/add-a-customized-column-in-grid-if-there-are-default-values3/rule.md @@ -1,7 +1,9 @@ --- type: rule title: Do you add a "(customized)" column in grid if there are default values? -uri: add-a-customized-column-in-grid-if-there-are-default-values +uri: add-a-customized-column-in-grid-if-there-are-default-values3 +redirects: + - add-a-customized-column-in-grid-if-there-are-default-values authors: - title: Adam Cogan url: https://ssw.com.au/people/adam-cogan/ diff --git a/rules/add-a-description-to-github-repositories/bad-no-description.png b/add-a-description-to-github-repositories22-t/bad-no-description.png similarity index 100% rename from rules/add-a-description-to-github-repositories/bad-no-description.png rename to add-a-description-to-github-repositories22-t/bad-no-description.png diff --git a/rules/add-a-description-to-github-repositories/good-nice-description.png b/add-a-description-to-github-repositories22-t/good-nice-description.png similarity index 100% rename from rules/add-a-description-to-github-repositories/good-nice-description.png rename to add-a-description-to-github-repositories22-t/good-nice-description.png diff --git a/rules/add-a-description-to-github-repositories/rule.md b/add-a-description-to-github-repositories22-t/rule.md similarity index 80% rename from rules/add-a-description-to-github-repositories/rule.md rename to add-a-description-to-github-repositories22-t/rule.md index 21463b209be..606bdf252b8 100644 --- a/rules/add-a-description-to-github-repositories/rule.md +++ b/add-a-description-to-github-repositories22-t/rule.md @@ -3,14 +3,16 @@ type: rule archivedreason: title: Do you add a description to your GitHub repositories? guid: 1c244aed-36dd-48c5-9232-1b02f2ca90e3 -uri: add-a-description-to-github-repositories +uri: add-a-description-to-github-repositories22-t +redirects: + - add-a-description-to-github-repositories22 + - add-a-description-to-github-repositories2 created: 2021-05-19T05:09:16.0000000Z authors: - title: Brady Stroud url: https://ssw.com.au/people/brady-stroud related: - do-you-know-how-to-name-a-github-repository -redirects: [] --- diff --git a/rules/add-a-featured-image-to-your-blog-post/blog-no-feat-image.jpg b/add-a-featured-image-to-your-blog-post2/blog-no-feat-image.jpg similarity index 100% rename from rules/add-a-featured-image-to-your-blog-post/blog-no-feat-image.jpg rename to add-a-featured-image-to-your-blog-post2/blog-no-feat-image.jpg diff --git a/rules/add-a-featured-image-to-your-blog-post/blog-with-feat-image.jpg b/add-a-featured-image-to-your-blog-post2/blog-with-feat-image.jpg similarity index 100% rename from rules/add-a-featured-image-to-your-blog-post/blog-with-feat-image.jpg rename to add-a-featured-image-to-your-blog-post2/blog-with-feat-image.jpg diff --git a/rules/add-a-featured-image-to-your-blog-post/rule.md b/add-a-featured-image-to-your-blog-post2/rule.md similarity index 88% rename from rules/add-a-featured-image-to-your-blog-post/rule.md rename to add-a-featured-image-to-your-blog-post2/rule.md index 3919bd447cf..333f074a5d6 100644 --- a/rules/add-a-featured-image-to-your-blog-post/rule.md +++ b/add-a-featured-image-to-your-blog-post2/rule.md @@ -3,13 +3,14 @@ type: rule archivedreason: title: Do you add a featured image to your blog post? guid: 70b94631-7f63-4209-87f1-9f854ba8db38 -uri: add-a-featured-image-to-your-blog-post +uri: add-a-featured-image-to-your-blog-post2 created: 2018-04-03T23:31:26.0000000Z authors: - title: Adam Cogan url: https://ssw.com.au/people/adam-cogan related: [] redirects: + - add-a-featured-image-to-your-blog-post - do-you-add-a-featured-image-to-your-blog-post --- @@ -18,12 +19,10 @@ A relevant featured image is a great way to add a splash of color to your blog a - ::: bad ![Figure: Bad Example – the content might be interesting but it is not very appealing](blog-no-feat-image.jpg) ::: - ::: good ![Figure: Good Example – the content is more appealing](blog-with-feat-image.jpg) ::: diff --git a/rules/add-local-configuration-file-for-developer-specific-settings/local-config-file-1.png b/add-local-configuration-file-for-developer-specific-settings222/local-config-file-1.png similarity index 100% rename from rules/add-local-configuration-file-for-developer-specific-settings/local-config-file-1.png rename to add-local-configuration-file-for-developer-specific-settings222/local-config-file-1.png diff --git a/rules/add-local-configuration-file-for-developer-specific-settings/local-config-file-2.jpg b/add-local-configuration-file-for-developer-specific-settings222/local-config-file-2.jpg similarity index 100% rename from rules/add-local-configuration-file-for-developer-specific-settings/local-config-file-2.jpg rename to add-local-configuration-file-for-developer-specific-settings222/local-config-file-2.jpg diff --git a/rules/add-local-configuration-file-for-developer-specific-settings/rule.md b/add-local-configuration-file-for-developer-specific-settings222/rule.md similarity index 95% rename from rules/add-local-configuration-file-for-developer-specific-settings/rule.md rename to add-local-configuration-file-for-developer-specific-settings222/rule.md index 7e70c90d4e5..06638aee79d 100644 --- a/rules/add-local-configuration-file-for-developer-specific-settings/rule.md +++ b/add-local-configuration-file-for-developer-specific-settings222/rule.md @@ -3,7 +3,7 @@ type: rule archivedreason: title: Do you add a local configuration file for developer-specific settings? guid: 3687d1f8-1a96-476c-898e-a363fa4ae599 -uri: add-local-configuration-file-for-developer-specific-settings +uri: add-local-configuration-file-for-developer-specific-settings222 created: 2019-01-11T19:45:12.0000000Z authors: - title: Adam Cogan @@ -12,6 +12,7 @@ authors: url: https://ssw.com.au/people/brendan-richards related: [] redirects: + - add-local-configuration-file-for-developer-specific-settings - do-you-add-a-local-configuration-file-for-developer-specific-settings --- diff --git a/rules/add-quality-control-to-dones/SpellAndLinkCheck.jpg b/add-quality-control-to-dones1/SpellAndLinkCheck.jpg similarity index 100% rename from rules/add-quality-control-to-dones/SpellAndLinkCheck.jpg rename to add-quality-control-to-dones1/SpellAndLinkCheck.jpg diff --git a/rules/add-quality-control-to-dones/rule.md b/add-quality-control-to-dones1/rule.md similarity index 96% rename from rules/add-quality-control-to-dones/rule.md rename to add-quality-control-to-dones1/rule.md index ed6fa41b50e..954a760e979 100644 --- a/rules/add-quality-control-to-dones/rule.md +++ b/add-quality-control-to-dones1/rule.md @@ -3,7 +3,7 @@ type: rule archivedreason: Merged to [https://ssw.com.au/rules/checked-by-xxx](/rules/checked-by-xxx) title: Dones - Do you show quality control with "Checked by xxx"? guid: 9e0e6476-651a-4271-95b0-e7169eba1607 -uri: add-quality-control-to-dones +uri: add-quality-control-to-dones1 created: 2009-04-08T09:31:23.0000000Z authors: - title: Adam Cogan @@ -14,6 +14,7 @@ related: [] redirects: - dones-do-you-add-(or-show)-your-quality-control - dones-do-you-show-quality-control-with-checked-by-xxx +- add-quality-control-to-dones --- diff --git a/rules/add-quality-control-to-dones/ruleDoneCheckedBy.png b/add-quality-control-to-dones1/ruleDoneCheckedBy.png similarity index 100% rename from rules/add-quality-control-to-dones/ruleDoneCheckedBy.png rename to add-quality-control-to-dones1/ruleDoneCheckedBy.png diff --git a/rules/add-redirect-from-http-to-https-for-owa/rule.md b/add-redirect-from-http-to-https-for-owa1/rule.md similarity index 96% rename from rules/add-redirect-from-http-to-https-for-owa/rule.md rename to add-redirect-from-http-to-https-for-owa1/rule.md index 7359e09459b..81332f7e603 100644 --- a/rules/add-redirect-from-http-to-https-for-owa/rule.md +++ b/add-redirect-from-http-to-https-for-owa1/rule.md @@ -3,15 +3,17 @@ type: rule archivedreason: title: Do you add a redirect from http to https for OWA? guid: df2d7b63-316f-4989-912e-09543657f80c -uri: add-redirect-from-http-to-https-for-owa +uri: add-redirect-from-http-to-https-for-owa1 created: 2016-05-02T06:48:16.0000000Z authors: - title: Stanley Sidik url: https://ssw.com.au/people/stanley-sidik related: [] redirects: + - add-redirect-from-http-to-https-for-owa - do-you-add-a-redirect-from-http-to-https-for-owa - configure-redirection-to-https-owa +- add-redirect-from-http-to-https-for-owa --- diff --git a/rules/acceptance-criteria/13_Anvil_1408_Customer.pdf b/rules/acceptance-criteria12/13_Anvil_1408_Customer.pdf similarity index 100% rename from rules/acceptance-criteria/13_Anvil_1408_Customer.pdf rename to rules/acceptance-criteria12/13_Anvil_1408_Customer.pdf diff --git a/rules/acceptance-criteria/DevsAndUsers.jpg b/rules/acceptance-criteria12/DevsAndUsers.jpg similarity index 100% rename from rules/acceptance-criteria/DevsAndUsers.jpg rename to rules/acceptance-criteria12/DevsAndUsers.jpg diff --git a/rules/acceptance-criteria/acceptance-criteria-detail.jpg b/rules/acceptance-criteria12/acceptance-criteria-detail.jpg similarity index 100% rename from rules/acceptance-criteria/acceptance-criteria-detail.jpg rename to rules/acceptance-criteria12/acceptance-criteria-detail.jpg diff --git a/rules/acceptance-criteria/acceptance-criteria-discussion.png b/rules/acceptance-criteria12/acceptance-criteria-discussion.png similarity index 100% rename from rules/acceptance-criteria/acceptance-criteria-discussion.png rename to rules/acceptance-criteria12/acceptance-criteria-discussion.png diff --git a/rules/acceptance-criteria/acceptance-criteria.jpg b/rules/acceptance-criteria12/acceptance-criteria.jpg similarity index 100% rename from rules/acceptance-criteria/acceptance-criteria.jpg rename to rules/acceptance-criteria12/acceptance-criteria.jpg diff --git a/rules/acceptance-criteria/rule.md b/rules/acceptance-criteria12/rule.md similarity index 96% rename from rules/acceptance-criteria/rule.md rename to rules/acceptance-criteria12/rule.md index 565c8866949..cbf3c7183d2 100644 --- a/rules/acceptance-criteria/rule.md +++ b/rules/acceptance-criteria12/rule.md @@ -1,7 +1,7 @@ --- type: rule title: Do your User Stories include Acceptance Criteria? -uri: acceptance-criteria +uri: acceptance-criteria12 authors: - title: Adam Cogan url: https://ssw.com.au/people/adam-cogan @@ -23,7 +23,7 @@ guid: dbe9010e-da5b-4617-8ff3-0e1e5fdc7772 --- User Stories are a great way to capture requirements, but it can be difficult to work out when the implementation of a story is complete. -**Acceptance Criteria** (from the Product Owner) help to answer the question *"How will I know when I'm done with this User Story?".* It +**Acceptance Criteria** (from the Product Owner) help to answer the question *"How will I know when I'm done with this User Story?".* It defines the exact requirements that must be met for the User Story to be completed. @@ -45,10 +45,11 @@ They must be specified in the Acceptance Criteria if required for the story to b When I enter ‘Adam’ in the search box and click 'Search' I will see all entries starting with 'Adam' in the grid ::: ::: bad -Figure: Bad example of Acceptance Criteria - Incomplete +Figure: Bad example of Acceptance Criteria - Incomplete ::: ::: greybox + * When I enter ‘Adam’ in the Search box and click ‘Search’ I will see all entries starting with Adam in the Grid * When I enter ‘zzz’ in the Search box and click ‘Search’ I will see **no** entries in the Grid ::: @@ -57,6 +58,7 @@ Figure: OK example of Acceptance Criteria - However the Product Owner probably h ::: ::: greybox + * When I enter ‘Adam’ in the Search box and click ‘Search’ I will see all entries starting with Adam in the Grid * When I enter ‘zzz’ in the Search box and click ‘Search’ I will see **no** entries in the Grid * If no results are returned, show a message box ‘No results found’ @@ -70,7 +72,7 @@ Figure: Good example of Acceptance Criteria ::: info **Note:** For tiny User Stories, you can omit Acceptance Criteria. Sometimes you just need a **screenshot** or, even better, a **video**. -Be mindful that such small User Stories are the exception and not the rule when it comes to the need for Acceptance Criteria. +Be mindful that such small User Stories are the exception and not the rule when it comes to the need for Acceptance Criteria. ::: ### Negotiating "gold plating" @@ -82,6 +84,7 @@ Any requirements that the Product Owner considers "nice to have" - as opposed to ::: ### Technical Acceptance Criteria + Sometimes, the team may discuss including technical requirements in Acceptance Criteria. Typically, technical Acceptance Criteria should be avoided. However, there are some situations where it makes sense, such as when: * The team is trying out something new @@ -108,7 +111,7 @@ It is good practice to make sure that each of the Acceptance Criteria is **testa Acceptance Criteria help to answer the question *"How will I know when I'm done with this User Story?"*. **The Acceptance Criteria are different for each User Story**, provided by the Product Owner and used as a way to communicate to all involved that the requirements for a particular User Story have been met. -The [Definition of Done](/definition-of-done) is a structured list of items, each one used to validate a User Story, which exists to ensure that the team agrees about the quality of work they’re producing. It is defined by the team and serves as a checklist that is used to check each User Story for completeness. **The definition of "Done" is intended to be applicable to all items in the Product Backlog**, not just a single User Story. +The [Definition of Done](/definition-of-done) is a structured list of items, each one used to validate a User Story, which exists to ensure that the team agrees about the quality of work they’re producing. It is defined by the team and serves as a checklist that is used to check each User Story for completeness. **The definition of "Done" is intended to be applicable to all items in the Product Backlog**, not just a single User Story. Examples of items in a Definition of Done that would **not** be part of Acceptance Criteria include: @@ -116,13 +119,13 @@ Examples of items in a Definition of Done that would **not** be part of Acceptan * Unit tests passed * Code deployed to production -::: info +::: info The term "Definition of Done" is defined in the Scrum Guide, while "Acceptance Criteria" is not. ::: ### Capture changes to the PBI from discussions -The Acceptance Criteria are the source of truth for what functionality needs to be implemented for the PBI to be considered complete, so it's important to capture any changes to the PBI and the Acceptance Criteria (e.g. adding or removing "nice to have" aspects of the story). +The Acceptance Criteria are the source of truth for what functionality needs to be implemented for the PBI to be considered complete, so it's important to capture any changes to the PBI and the Acceptance Criteria (e.g. adding or removing "nice to have" aspects of the story). Any discussion that changes the story and/or the Acceptance Criteria should be noted in the Discussion section of the PBI for reference.