From 91aec8554bf8ef73f4f18db9aa6b0b9074785614 Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 27 May 2026 16:18:06 +0200 Subject: [PATCH] fix some old external links --- docs/development/code-review-guidelines/README.md | 2 +- docs/development/product-development-handbook/README.md | 2 +- docs/development/style-guide/frontend/README.md | 8 ++++---- .../enterprise-cloud-guide/sign-in/README.md | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/development/code-review-guidelines/README.md b/docs/development/code-review-guidelines/README.md index 4c3756dffe6..be801f6cca3 100644 --- a/docs/development/code-review-guidelines/README.md +++ b/docs/development/code-review-guidelines/README.md @@ -155,7 +155,7 @@ The only exception to this rule are single commit pull requests, which can be ap ## Citations -[Things everyone should do: code review](https://blog.csdn.net/zhangmike/article/details/30198411) +[Things everyone should do: code review](https://goodmath.scientopia.org/2011/07/06/things-everyone-should-do-code-review/) [Why code reviews are good for you](https://beust.com/weblog/2006/06/22/why-code-reviews-are-good-for-you/) diff --git a/docs/development/product-development-handbook/README.md b/docs/development/product-development-handbook/README.md index e8d1f4333b5..73cd40bb33c 100644 --- a/docs/development/product-development-handbook/README.md +++ b/docs/development/product-development-handbook/README.md @@ -401,7 +401,7 @@ The effort score ranges from 0.03 (XS = less than a day of effort) to 20 (XXXL = ### 4.3 Opportunity Canvas -One of the main artifacts used in the evaluation phase is the Opportunity Canvas. The Opportunity Canvas - [slightly adapted from GitLab](https://about.gitlab.com/handbook/product-development-flow) - provides a quick overview of a requirement and includes four main sections as well as two supplemental sections: +One of the main artifacts used in the evaluation phase is the Opportunity Canvas. The Opportunity Canvas - [slightly adapted from GitLab](https://handbook.gitlab.com/handbook/product/product-processes/#product-development-flow) - provides a quick overview of a requirement and includes four main sections as well as two supplemental sections: **Main sections:** diff --git a/docs/development/style-guide/frontend/README.md b/docs/development/style-guide/frontend/README.md index 6d63d9085da..c7eedb032a5 100644 --- a/docs/development/style-guide/frontend/README.md +++ b/docs/development/style-guide/frontend/README.md @@ -89,7 +89,7 @@ splice = (s, c, ...y) => x => [...x.slice(0, s), ...y, ...x.slice(s + c)]; * In Javascript, Objects can be [edited by reference](https://javascript.info/object-copy), opening the door to unpredictable mutations that can have unintended effects on other parts of the app. * Makes code easier to understand because data changes become explicit and obvious. -* Avoids a set of [hard to detect bugs](https://2ality.com/2019/10/shared-mutable-state.html). +* Avoids a set of hard to detect bugs * Enables unidirectional data flow. * Enables performance improvements through ChangeDetectionStrategy.OnPush @@ -148,7 +148,7 @@ To reduce server requests, side effects **should be** be calculated in the front Angular also follows the unidirectional data flow pattern in the view to improve the performance and simplify the state distribution: -* When the state could have been updated (an async operation happens), Angular performs [Change Detection](https://indepth.dev/posts/1058/a-gentle-introduction-into-change-detection-in-angular) in one way, from top to bottom, from the root component all the tree down checking every child component for changes. +* When the state could have been updated (an async operation happens), Angular performs change detection in one way, from top to bottom, from the root component all the tree down checking every child component for changes. * Every component that receives state updates (@Input, Services, UI...), updates itself, renders its view and then triggers Change Detection for its child components. * If the children would trigger state changes up to the parent (bidirectional data flow (two way data binding)), the parent should update itself and then trigger Change Detection for the children, which could trigger changes up to the parent… causing a loop. * This is why unidirectional data flow is enforced in development mode (ExpressionChangedAfterItHasBeenCheckedError) and encouraged in the Components Architecture. @@ -282,5 +282,5 @@ Clean code is easily readable, understandable, changeable, extensible, scalable Do follow BEM directives: -* [https://en.bem.info/methodology/css/](https://en.bem.info/methodology/css/) -* [https://en.bem.info/methodology/html/](https://en.bem.info/methodology/html/) +* +* diff --git a/docs/enterprise-guide/enterprise-cloud-guide/sign-in/README.md b/docs/enterprise-guide/enterprise-cloud-guide/sign-in/README.md index cd060c55d9c..ea7d2adeb2b 100644 --- a/docs/enterprise-guide/enterprise-cloud-guide/sign-in/README.md +++ b/docs/enterprise-guide/enterprise-cloud-guide/sign-in/README.md @@ -44,4 +44,4 @@ Click the link in the email to get directed to your installation. If you are mem Watch this video about sign in and registration: - +[Video](https://openproject-docs.s3.eu-central-1.amazonaws.com/videos/OpenProject-Sign-in-and-Registration.mp4)