You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by as...@apache.org on 2026/05/03 23:54:30 UTC
(grails-website) branch asf-site-production updated: Updating apache/grails-website asf-site-production branch for GitHub Actions run:25294259669
This is an automated email from the ASF dual-hosted git repository.
asf-ci-deploy pushed a commit to branch asf-site-production
in repository https://gitbox.apache.org/repos/asf/grails-website.git
The following commit(s) were added to refs/heads/asf-site-production by this push:
new e1e9f7d8f04 Updating apache/grails-website asf-site-production branch for GitHub Actions run:25294259669
e1e9f7d8f04 is described below
commit e1e9f7d8f048c0a255f41bc204f189cb737a070d
Author: jamesfredley <ja...@users.noreply.github.com>
AuthorDate: Sun May 3 23:54:19 2026 +0000
Updating apache/grails-website asf-site-production branch for GitHub Actions run:25294259669
---
404.html | 2 +-
blog/2015-03-01.html | 2 +-
blog/2016-04-01-1.html | 2 +-
blog/2016-04-01-2.html | 2 +-
blog/2016-04-13.html | 2 +-
blog/2016-04-27.html | 2 +-
blog/2016-04-28.html | 2 +-
blog/2016-05-26.html | 2 +-
blog/2016-05-28.html | 4 +-
blog/2016-05-31.html | 4 +-
blog/2016-06-02.html | 2 +-
blog/2016-06-07.html | 2 +-
blog/2016-06-26.html | 2 +-
blog/2016-07-06.html | 2 +-
blog/2016-07-22.html | 2 +-
blog/2016-08-01.html | 2 +-
blog/2016-08-31.html | 2 +-
blog/2016-09-12.html | 2 +-
blog/2016-09-28.html | 4 +-
blog/2016-10-03.html | 2 +-
blog/2016-11-01.html | 2 +-
blog/2016-11-10.html | 2 +-
blog/2016-11-14.html | 2 +-
blog/2016-12-14.html | 2 +-
blog/2017-01-20-1.html | 2 +-
blog/2017-01-20-2.html | 2 +-
blog/2017-01-20-3.html | 2 +-
blog/2017-01-20-4.html | 2 +-
blog/2017-03-27.html | 2 +-
blog/2017-04-02.html | 4 +-
blog/2017-04-12.html | 2 +-
blog/2017-05-09.html | 2 +-
blog/2017-06-27.html | 2 +-
blog/2017-06-28.html | 2 +-
blog/2017-07-12.html | 2 +-
blog/2017-07-26.html | 6 +--
blog/2017-10-30.html | 2 +-
blog/2017-11-09.html | 2 +-
blog/2017-11-21.html | 2 +-
blog/2017-11-30.html | 2 +-
blog/2017-12-05.html | 2 +-
blog/2018-02-08.html | 2 +-
blog/2018-02-09.html | 2 +-
blog/2018-03-02.html | 2 +-
blog/2018-03-06.html | 2 +-
blog/2018-03-09.html | 2 +-
blog/2018-04-05.html | 2 +-
blog/2018-04-06.html | 2 +-
blog/2018-05-18.html | 2 +-
blog/2018-05-24.html | 4 +-
blog/2018-06-15.html | 2 +-
blog/2018-06-22.html | 2 +-
blog/2018-08-22-1.html | 2 +-
blog/2018-08-22-2.html | 2 +-
blog/2018-09-23.html | 2 +-
blog/2018-10-02.html | 2 +-
blog/2018-10-12.html | 2 +-
blog/2019-01-07.html | 2 +-
blog/2019-01-30.html | 2 +-
blog/2019-02-19.html | 2 +-
blog/2019-03-27.html | 2 +-
blog/2019-05-24.html | 2 +-
blog/2019-05-30.html | 2 +-
blog/2019-06-18.html | 2 +-
blog/2019-07-11.html | 2 +-
blog/2019-08-27.html | 2 +-
blog/2019-12-20.html | 2 +-
blog/2020-09-10-grails-state-of-union.html | 2 +-
blog/2020-10-01-2gm-town-hall.html | 2 +-
blog/2020-10-16-2gm-town-hall-2020-q4.html | 2 +-
.../2020-10-26-grails-foundation-announcement.html | 2 +-
blog/2021-01-22-grails-exciting-updates.html | 2 +-
blog/2021-02-05-2gm-town-hall-q1.html | 2 +-
...2021-02-12-alerts-regarding-bintray-sunset.html | 2 +-
blog/2021-03-22-meet-the-new-mascot.html | 2 +-
...-07-publish-grails-plugin-to-maven-central.html | 2 +-
blog/2021-05-21-2gm-town-hall-q2.html | 2 +-
blog/2021-06-10-grails-wrapper-update.html | 2 +-
blog/2021-07-20-call-for-productivity-tips.html | 2 +-
blog/2021-08-12-grails-5-rc1-release.html | 2 +-
blog/2021-08-25-groovy-4-webinar.html | 2 +-
blog/2021-09-02-grails-deep-dive.html | 2 +-
.../2021-09-15-q3-town-hall-meeting-scheduled.html | 2 +-
blog/2021-09-17-groovy-4-webinar.html | 2 +-
blog/2021-09-24-q3-town-hall-meeting.html | 2 +-
blog/2021-10-08-developer-advocate-announced.html | 2 +-
blog/2021-10-11-grails-5-ga.html | 2 +-
blog/2021-11-11.html | 2 +-
blog/2021-11-23-db-migration-plugin-update.html | 2 +-
...-12-06-february-2022-training-announcement.html | 2 +-
blog/2021-12-14-log4j2-cve.html | 2 +-
blog/2021-12-15-grails-five-one.html | 2 +-
blog/2022-01-07-2gm-town-hall-q1.html | 2 +-
...nterprise-tools-and-infrastructure-partner.html | 2 +-
blog/2022-03-31-grails-spring-rce.html | 2 +-
...rains-new-tools-and-infrastructure-partner.html | 2 +-
blog/2022-07-18-rce-vulnerability.html | 2 +-
blog/2022-09-28-static-binding-bug.html | 2 +-
blog/2022-11-22-ss-plugin-auth-cve.html | 2 +-
blog/2023-02-08-repository-maint.html | 2 +-
...grails-foundation-joining-unity-foundation.html | 2 +-
blog/2023-03-29-grails-6-m2.html | 2 +-
blog/2023-05-27-grails-6-rc1.html | 2 +-
blog/2023-07-25-introducing-grails-6.html | 2 +-
blog/2023-08-03-introducing-new-grails-forge.html | 2 +-
...-introducing-grails-spring-security-core-6.html | 2 +-
blog/2023-09-11-the-new-grails-plugin-portal.html | 2 +-
blog/2023-11-14-introducing-grails-6_1_0.html | 2 +-
blog/2023-12-20-cve-data-binding-dos.html | 2 +-
blog/2024-06-07-grails-future.html | 2 +-
blog/2024-06-25-grails-seven-mvp.html | 2 +-
.../2024-10-01-grails-community-contributions.html | 2 +-
blog/2024-10-03-introducing-grails-6-2-1.html | 2 +-
blog/2024-11-20-introducing-grails-6-2-2.html | 2 +-
blog/2024-12-23-grails-7-m1.html | 2 +-
...25-01-02-grails-community-rockstar-fredley.html | 2 +-
blog/2025-01-03-introducing-grails-6-2-3.html | 2 +-
blog/2025-03-05-grails-7-m3.html | 2 +-
blog/2025-06-10-grails-7-m4.html | 2 +-
blog/2025-07-15-grails-7-m5.html | 2 +-
blog/2025-08-10-grails-7-rc1.html | 2 +-
blog/2025-09-11-grails-7-rc2.html | 2 +-
...apache-grails-graduation-top-level-project.html | 2 +-
blog/2025-10-18-introducing-grails-7.html | 2 +-
blog/2026-02-03-grails-community-rockstars.html | 2 +-
blog/index.html | 2 +-
blog/tag/angular.html | 2 +-
blog/tag/bintray.html | 2 +-
blog/tag/config.html | 2 +-
blog/tag/deployment.html | 2 +-
blog/tag/eclipse.html | 2 +-
blog/tag/foundation.html | 2 +-
blog/tag/geb.html | 2 +-
blog/tag/gorm.html | 2 +-
blog/tag/gradle.html | 2 +-
blog/tag/grails.html | 2 +-
blog/tag/graphql.html | 2 +-
blog/tag/groovy.html | 2 +-
blog/tag/groovy3.html | 2 +-
blog/tag/javascript.html | 2 +-
blog/tag/json.html | 2 +-
blog/tag/logback.html | 2 +-
blog/tag/logging.html | 2 +-
blog/tag/mascot.html | 2 +-
blog/tag/micronaut.html | 2 +-
blog/tag/monitoring.html | 2 +-
blog/tag/plugins.html | 2 +-
blog/tag/podcast.html | 2 +-
blog/tag/quickcast.html | 2 +-
blog/tag/react.html | 2 +-
blog/tag/release.html | 2 +-
blog/tag/rest.html | 2 +-
blog/tag/spock.html | 2 +-
blog/tag/ssl.html | 2 +-
blog/tag/townhall.html | 2 +-
blog/tag/travis.html | 2 +-
blog/tag/video.html | 2 +-
blog/tag/webinar.html | 2 +-
blog/tag/yourkit.html | 2 +-
casestudies/boosting-agility-with-grails.html | 2 +-
...y-enterprise-scale-application-development.html | 2 +-
...rehensive-solution-for-a-public-university.html | 2 +-
.../grails-increases-developer-productivity.html | 2 +-
...ghput-and-delivery-performance-with-grails.html | 2 +-
casestudies/index.html | 2 +-
community.html | 2 +-
documentation.html | 2 +-
download.html | 2 +-
faq.html | 2 +-
foundation/minutes.xml | 2 +-
foundation/minutes/20210321-tab.html | 12 ++---
foundation/minutes/20211217-tab.html | 12 ++---
foundation/minutes/20220323-tab.html | 12 ++---
foundation/minutes/20220711-tab.html | 12 ++---
foundation/minutes/20221128-tab.html | 12 ++---
foundation/minutes/index.html | 4 +-
guides/_redirects.json | 2 +-
.../adding-commit-info/3/guide/configuration.html | 2 +-
guides/adding-commit-info/3/guide/history.html | 2 +-
guides/adding-commit-info/3/guide/index.html | 6 +--
.../3/guide/pages/buildInfoPlugin.html | 2 +-
.../3/guide/pages/perEnvironmentConfig.html | 2 +-
guides/adding-commit-info/3/guide/single.html | 6 +--
guides/adding-commit-info/3/index.html | 2 +-
.../adding-commit-info/4/guide/configuration.html | 2 +-
guides/adding-commit-info/4/guide/history.html | 2 +-
guides/adding-commit-info/4/guide/index.html | 6 +--
.../4/guide/pages/buildInfoPlugin.html | 2 +-
.../4/guide/pages/perEnvironmentConfig.html | 2 +-
guides/adding-commit-info/4/guide/single.html | 6 +--
guides/adding-commit-info/4/index.html | 2 +-
guides/angular2-combined/4/guide/index.html | 2 +-
guides/angular2-combined/4/guide/single.html | 2 +-
guides/angular2-combined/4/index.html | 2 +-
guides/building-a-react-app/4/guide/index.html | 4 +-
.../4/guide/pages/customizingApi.html | 2 +-
.../4/guide/runningTheApp.html | 2 +-
guides/building-a-react-app/4/guide/single.html | 4 +-
guides/building-a-react-app/4/index.html | 2 +-
.../building-a-vue-app/4/guide/gettingStarted.html | 2 +-
guides/building-a-vue-app/4/guide/index.html | 6 +--
.../4/guide/pages/customizingApi.html | 2 +-
guides/building-a-vue-app/4/guide/single.html | 6 +--
.../4/guide/writingTheServer.html | 2 +-
guides/building-a-vue-app/4/index.html | 2 +-
.../4/guide/gettingStarted.html | 2 +-
.../4/guide/index.html | 18 +++----
.../4/guide/pages/domainClass.html | 4 +-
.../4/guide/pages/domainClassTest.html | 2 +-
.../4/guide/pages/v1Controller.html | 4 +-
.../4/guide/pages/v1FunctionalTests.html | 2 +-
.../4/guide/pages/versioning.html | 2 +-
.../4/guide/single.html | 18 +++----
.../4/guide/writingTheGrailsApp.html | 14 ++---
.../4/index.html | 2 +-
.../4/guide/gettingStarted.html | 2 +-
.../4/guide/index.html | 18 +++----
.../4/guide/pages/domainClass.html | 4 +-
.../4/guide/pages/domainClassTest.html | 2 +-
.../4/guide/pages/v1Controller.html | 4 +-
.../4/guide/pages/v1FunctionalTests.html | 2 +-
.../4/guide/pages/versioning.html | 2 +-
.../4/guide/single.html | 18 +++----
.../4/guide/writingTheGrailsApp.html | 14 ++---
.../4/index.html | 2 +-
.../4/guide/gettingStarted.html | 2 +-
.../4/guide/index.html | 18 +++----
.../4/guide/pages/domainClass.html | 4 +-
.../4/guide/pages/domainClassTest.html | 2 +-
.../4/guide/pages/v1Controller.html | 4 +-
.../4/guide/pages/v1FunctionalTests.html | 2 +-
.../4/guide/pages/versioning.html | 2 +-
.../4/guide/single.html | 18 +++----
.../4/guide/writingTheGrailsApp.html | 14 ++---
.../4/index.html | 2 +-
guides/categories/advancedgrails.html | 2 +-
guides/categories/gorm.html | 2 +-
guides/categories/grailsandroid.html | 2 +-
guides/categories/grailsangular.html | 2 +-
guides/categories/grailsangularjs.html | 2 +-
guides/categories/grailsapprentice.html | 2 +-
guides/categories/grailsasync.html | 2 +-
guides/categories/grailsdevops.html | 2 +-
guides/categories/grailsgooglecloud.html | 2 +-
guides/categories/grailsios.html | 2 +-
guides/categories/grailsreact.html | 2 +-
.../grailsriarichinternetapplication.html | 2 +-
guides/categories/grailstesting.html | 2 +-
guides/categories/grailsvue.js.html | 2 +-
.../3/guide/gettingStarted.html | 2 +-
.../command-objects-and-forms/3/guide/index.html | 10 ++--
.../3/guide/pages/addCreateAndSaveActions.html | 4 +-
.../command-objects-and-forms/3/guide/single.html | 10 ++--
.../3/guide/whatAreCommandObjects.html | 2 +-
.../3/guide/writingTheApp.html | 4 +-
guides/command-objects-and-forms/3/index.html | 2 +-
.../4/guide/gettingStarted.html | 2 +-
.../command-objects-and-forms/4/guide/index.html | 10 ++--
.../4/guide/pages/addCreateAndSaveActions.html | 4 +-
.../command-objects-and-forms/4/guide/single.html | 10 ++--
.../4/guide/whatAreCommandObjects.html | 2 +-
.../4/guide/writingTheApp.html | 4 +-
guides/command-objects-and-forms/4/index.html | 2 +-
.../3/guide/controllers.html | 24 ++++-----
.../3/guide/creatingTheApp.html | 10 ++--
.../3/guide/deployment.html | 2 +-
.../3/guide/domainClasses.html | 6 +--
.../3/guide/index.html | 60 +++++++++++-----------
.../3/guide/pages/applicationProfile.html | 6 +--
.../3/guide/pages/console.html | 4 +-
.../3/guide/pages/createApp.html | 2 +-
.../3/guide/pages/creatingDomainClass.html | 2 +-
.../3/guide/pages/gspLinks.html | 2 +-
.../3/guide/pages/installing.html | 2 +-
.../3/guide/pages/respond.html | 2 +-
.../3/guide/pages/scaffolding.html | 2 +-
.../3/guide/pages/staticScaffolding.html | 14 ++---
.../3/guide/pages/urlMappings.html | 2 +-
.../3/guide/runningTheApp.html | 6 +--
.../3/guide/services.html | 2 +-
.../3/guide/single.html | 60 +++++++++++-----------
.../3/guide/testing.html | 4 +-
.../3/guide/views.html | 4 +-
guides/creating-your-first-grails-app/3/index.html | 2 +-
.../4/guide/controllers.html | 24 ++++-----
.../4/guide/creatingTheApp.html | 10 ++--
.../4/guide/deployment.html | 2 +-
.../4/guide/domainClasses.html | 6 +--
.../4/guide/index.html | 58 ++++++++++-----------
.../4/guide/pages/applicationProfile.html | 6 +--
.../4/guide/pages/console.html | 4 +-
.../4/guide/pages/createApp.html | 2 +-
.../4/guide/pages/creatingDomainClass.html | 2 +-
.../4/guide/pages/gspLinks.html | 2 +-
.../4/guide/pages/installing.html | 2 +-
.../4/guide/pages/respond.html | 2 +-
.../4/guide/pages/scaffolding.html | 2 +-
.../4/guide/pages/staticScaffolding.html | 14 ++---
.../4/guide/pages/urlMappings.html | 2 +-
.../4/guide/runningTheApp.html | 6 +--
.../4/guide/single.html | 58 ++++++++++-----------
.../4/guide/testing.html | 4 +-
.../4/guide/views.html | 4 +-
guides/creating-your-first-grails-app/4/index.html | 2 +-
.../6/guide/controllers.html | 24 ++++-----
.../6/guide/creatingTheApp.html | 10 ++--
.../6/guide/deployment.html | 2 +-
.../6/guide/domainClasses.html | 6 +--
.../6/guide/index.html | 58 ++++++++++-----------
.../6/guide/pages/applicationProfile.html | 6 +--
.../6/guide/pages/console.html | 4 +-
.../6/guide/pages/createApp.html | 2 +-
.../6/guide/pages/creatingDomainClass.html | 2 +-
.../6/guide/pages/gspLinks.html | 2 +-
.../6/guide/pages/installing.html | 2 +-
.../6/guide/pages/respond.html | 2 +-
.../6/guide/pages/scaffolding.html | 2 +-
.../6/guide/pages/staticScaffolding.html | 14 ++---
.../6/guide/pages/urlMappings.html | 2 +-
.../6/guide/runningTheApp.html | 6 +--
.../6/guide/single.html | 58 ++++++++++-----------
.../6/guide/testing.html | 4 +-
.../6/guide/views.html | 4 +-
guides/creating-your-first-grails-app/6/index.html | 2 +-
guides/database-per-tenant/4/guide/index.html | 2 +-
guides/database-per-tenant/4/guide/single.html | 2 +-
guides/database-per-tenant/4/index.html | 2 +-
guides/discriminator-per-tenant/4/guide/index.html | 2 +-
.../discriminator-per-tenant/4/guide/single.html | 2 +-
guides/discriminator-per-tenant/4/index.html | 2 +-
guides/gorm-event-listeners/3/guide/index.html | 2 +-
guides/gorm-event-listeners/3/guide/single.html | 2 +-
guides/gorm-event-listeners/3/index.html | 2 +-
guides/gorm-event-listeners/4/guide/index.html | 2 +-
guides/gorm-event-listeners/4/guide/single.html | 2 +-
guides/gorm-event-listeners/4/index.html | 2 +-
.../4/guide/conclusion.html | 2 +-
.../4/guide/gettingStarted.html | 4 +-
.../4/guide/index.html | 8 +--
.../4/guide/single.html | 8 +--
.../4/index.html | 2 +-
guides/gorm-ratpack/3/guide/index.html | 2 +-
guides/gorm-ratpack/3/guide/single.html | 2 +-
guides/gorm-ratpack/3/index.html | 2 +-
guides/gorm-ratpack/4/guide/index.html | 2 +-
guides/gorm-ratpack/4/guide/single.html | 2 +-
guides/gorm-ratpack/4/index.html | 2 +-
guides/gorm-without-grails/4/guide/index.html | 2 +-
guides/gorm-without-grails/4/guide/single.html | 2 +-
guides/gorm-without-grails/4/index.html | 2 +-
.../grails-as-docker-container/3/guide/index.html | 2 +-
.../grails-as-docker-container/3/guide/single.html | 2 +-
guides/grails-as-docker-container/3/index.html | 2 +-
.../grails-as-docker-container/4/guide/index.html | 2 +-
.../grails-as-docker-container/4/guide/single.html | 2 +-
guides/grails-as-docker-container/4/index.html | 2 +-
.../3/guide/gettingStarted.html | 2 +-
guides/grails-async-promises/3/guide/index.html | 6 +--
.../3/guide/pages/initial.html | 2 +-
guides/grails-async-promises/3/guide/single.html | 6 +--
.../3/guide/writingTheApp.html | 2 +-
guides/grails-async-promises/3/index.html | 2 +-
.../4/guide/gettingStarted.html | 2 +-
guides/grails-async-promises/4/guide/index.html | 6 +--
.../4/guide/pages/initial.html | 2 +-
guides/grails-async-promises/4/guide/single.html | 6 +--
.../4/guide/writingTheApp.html | 2 +-
guides/grails-async-promises/4/index.html | 2 +-
guides/grails-basicauth/3/guide/index.html | 4 +-
guides/grails-basicauth/3/guide/pages/views.html | 2 +-
guides/grails-basicauth/3/guide/single.html | 4 +-
guides/grails-basicauth/3/guide/writingTheApp.html | 2 +-
guides/grails-basicauth/3/index.html | 2 +-
guides/grails-basicauth/4/guide/index.html | 4 +-
guides/grails-basicauth/4/guide/pages/views.html | 2 +-
guides/grails-basicauth/4/guide/single.html | 4 +-
guides/grails-basicauth/4/guide/writingTheApp.html | 2 +-
guides/grails-basicauth/4/index.html | 2 +-
guides/grails-code-coverage/3/guide/index.html | 2 +-
guides/grails-code-coverage/3/guide/single.html | 2 +-
guides/grails-code-coverage/3/index.html | 2 +-
guides/grails-code-coverage/4/guide/index.html | 2 +-
guides/grails-code-coverage/4/guide/single.html | 2 +-
guides/grails-code-coverage/4/index.html | 2 +-
guides/grails-codenarc/4/guide/index.html | 4 +-
.../4/guide/pages/multiproject.html | 2 +-
guides/grails-codenarc/4/guide/single.html | 4 +-
guides/grails-codenarc/4/guide/writingTheApp.html | 2 +-
guides/grails-codenarc/4/index.html | 2 +-
.../4/guide/index.html | 4 +-
.../4/guide/pages/taglib.html | 2 +-
.../4/guide/single.html | 4 +-
.../4/guide/writingTheApp.html | 2 +-
.../4/index.html | 2 +-
.../6/guide/index.html | 4 +-
.../6/guide/pages/taglib.html | 2 +-
.../6/guide/single.html | 4 +-
.../6/guide/writingTheApp.html | 2 +-
.../6/index.html | 2 +-
.../3/guide/index.html | 4 +-
.../3/guide/pages/taglib.html | 2 +-
.../3/guide/single.html | 4 +-
.../3/guide/writingTheApp.html | 2 +-
.../grails-configuration-properties/3/index.html | 2 +-
.../4/guide/index.html | 4 +-
.../4/guide/pages/taglib.html | 2 +-
.../4/guide/single.html | 4 +-
.../4/guide/writingTheApp.html | 2 +-
.../grails-configuration-properties/4/index.html | 2 +-
.../grails-controller-testing/3/guide/index.html | 8 +--
.../3/guide/pages/domainClassAndScaffold.html | 2 +-
.../3/guide/pages/staticScaffolding.html | 2 +-
.../3/guide/pages/unitTestSave.html | 2 +-
.../grails-controller-testing/3/guide/single.html | 8 +--
.../3/guide/writingTheApp.html | 6 +--
guides/grails-controller-testing/3/index.html | 2 +-
.../grails-controller-testing/4/guide/index.html | 8 +--
.../4/guide/pages/domainClassAndScaffold.html | 2 +-
.../4/guide/pages/staticScaffolding.html | 2 +-
.../4/guide/pages/unitTestSave.html | 2 +-
.../grails-controller-testing/4/guide/single.html | 8 +--
.../4/guide/writingTheApp.html | 6 +--
guides/grails-controller-testing/4/index.html | 2 +-
.../3/guide/index.html | 8 +--
.../3/guide/pages/controller.html | 2 +-
.../3/guide/pages/security.html | 2 +-
.../3/guide/single.html | 8 +--
.../3/guide/writingTheApp.html | 6 +--
.../3/index.html | 2 +-
.../4/guide/index.html | 8 +--
.../4/guide/pages/controller.html | 2 +-
.../4/guide/pages/security.html | 2 +-
.../4/guide/single.html | 8 +--
.../4/guide/writingTheApp.html | 6 +--
.../4/index.html | 2 +-
.../grails-database-migration/3/guide/index.html | 2 +-
.../grails-database-migration/3/guide/single.html | 2 +-
guides/grails-database-migration/3/index.html | 2 +-
.../grails-database-migration/4/guide/index.html | 2 +-
.../grails-database-migration/4/guide/single.html | 2 +-
guides/grails-database-migration/4/index.html | 2 +-
.../grails-database-migration/6/guide/index.html | 2 +-
.../grails-database-migration/6/guide/single.html | 2 +-
guides/grails-database-migration/6/index.html | 2 +-
.../8/guide/index.html | 2 +-
.../8/guide/single.html | 2 +-
guides/grails-docker-bootbuildimage/8/index.html | 2 +-
.../4/guide/index.html | 2 +-
.../4/guide/single.html | 2 +-
.../grails-docker-external-services/4/index.html | 2 +-
.../3/guide/gettingStarted.html | 2 +-
.../3/guide/index.html | 12 ++---
.../3/guide/pages/configuration.html | 2 +-
.../3/guide/pages/gormevents.html | 2 +-
.../3/guide/pages/test.html | 2 +-
.../3/guide/single.html | 12 ++---
.../3/guide/writingTheApp.html | 8 +--
.../3/index.html | 2 +-
.../4/guide/gettingStarted.html | 2 +-
.../4/guide/index.html | 12 ++---
.../4/guide/pages/configuration.html | 2 +-
.../4/guide/pages/gormevents.html | 2 +-
.../4/guide/pages/test.html | 2 +-
.../4/guide/single.html | 12 ++---
.../4/guide/writingTheApp.html | 8 +--
.../4/index.html | 2 +-
guides/grails-elasticbeanstalk/4/guide/index.html | 4 +-
.../grails-elasticbeanstalk/4/guide/nextSteps.html | 2 +-
guides/grails-elasticbeanstalk/4/guide/single.html | 4 +-
guides/grails-elasticbeanstalk/4/index.html | 2 +-
guides/grails-elasticsearch/4/guide/index.html | 2 +-
guides/grails-elasticsearch/4/guide/single.html | 2 +-
guides/grails-elasticsearch/4/index.html | 2 +-
guides/grails-email/3/guide/index.html | 10 ++--
.../grails-email/3/guide/pages/awsSesService.html | 2 +-
guides/grails-email/3/guide/pages/controller.html | 2 +-
guides/grails-email/3/guide/pages/resources.html | 2 +-
.../3/guide/pages/sendGridService.html | 2 +-
guides/grails-email/3/guide/pages/services.html | 4 +-
guides/grails-email/3/guide/single.html | 10 ++--
guides/grails-email/3/guide/writingTheApp.html | 8 +--
guides/grails-email/3/index.html | 2 +-
guides/grails-email/4/guide/index.html | 10 ++--
.../grails-email/4/guide/pages/awsSesService.html | 2 +-
guides/grails-email/4/guide/pages/controller.html | 2 +-
guides/grails-email/4/guide/pages/resources.html | 2 +-
.../4/guide/pages/sendGridService.html | 2 +-
guides/grails-email/4/guide/pages/services.html | 4 +-
guides/grails-email/4/guide/single.html | 10 ++--
guides/grails-email/4/guide/writingTheApp.html | 8 +--
guides/grails-email/4/index.html | 2 +-
guides/grails-events/3/guide/gettingStarted.html | 2 +-
guides/grails-events/3/guide/index.html | 8 +--
guides/grails-events/3/guide/pages/services.html | 2 +-
guides/grails-events/3/guide/single.html | 8 +--
guides/grails-events/3/guide/writingTheApp.html | 4 +-
guides/grails-events/3/index.html | 2 +-
guides/grails-events/4/guide/gettingStarted.html | 2 +-
guides/grails-events/4/guide/index.html | 8 +--
guides/grails-events/4/guide/pages/services.html | 2 +-
guides/grails-events/4/guide/single.html | 8 +--
guides/grails-events/4/guide/writingTheApp.html | 4 +-
guides/grails-events/4/index.html | 2 +-
.../8/guide/index.html | 2 +-
.../8/guide/single.html | 2 +-
.../8/index.html | 2 +-
.../grails-file-download-excel/3/guide/index.html | 4 +-
.../3/guide/pages/controller.html | 2 +-
.../grails-file-download-excel/3/guide/single.html | 4 +-
.../3/guide/writingTheApp.html | 2 +-
guides/grails-file-download-excel/3/index.html | 2 +-
.../grails-file-download-excel/4/guide/index.html | 4 +-
.../4/guide/pages/controller.html | 2 +-
.../grails-file-download-excel/4/guide/single.html | 4 +-
.../4/guide/writingTheApp.html | 2 +-
guides/grails-file-download-excel/4/index.html | 2 +-
.../3/guide/index.html | 2 +-
.../3/guide/single.html | 2 +-
guides/grails-geb-multiple-browsers/3/index.html | 2 +-
.../4/guide/index.html | 2 +-
.../4/guide/single.html | 2 +-
guides/grails-geb-multiple-browsers/4/index.html | 2 +-
.../grails-github-actions-cicd/8/guide/index.html | 2 +-
.../grails-github-actions-cicd/8/guide/single.html | 2 +-
guides/grails-github-actions-cicd/8/index.html | 2 +-
guides/grails-google-cloud/4/guide/index.html | 2 +-
guides/grails-google-cloud/4/guide/single.html | 2 +-
guides/grails-google-cloud/4/index.html | 2 +-
guides/grails-google-home/4/guide/index.html | 2 +-
guides/grails-google-home/4/guide/single.html | 2 +-
guides/grails-google-home/4/index.html | 2 +-
.../grails-gorm-data-services/3/guide/index.html | 4 +-
.../3/guide/pages/unitTest.html | 2 +-
.../grails-gorm-data-services/3/guide/single.html | 4 +-
.../3/guide/usingGormDataServices.html | 2 +-
guides/grails-gorm-data-services/3/index.html | 2 +-
.../grails-gorm-data-services/4/guide/index.html | 4 +-
.../4/guide/pages/unitTest.html | 2 +-
.../grails-gorm-data-services/4/guide/single.html | 4 +-
.../4/guide/usingGormDataServices.html | 2 +-
guides/grails-gorm-data-services/4/index.html | 2 +-
guides/grails-htmx/8/guide/index.html | 2 +-
guides/grails-htmx/8/guide/single.html | 2 +-
guides/grails-htmx/8/index.html | 2 +-
.../grails-javamelody/4/guide/gettingStarted.html | 2 +-
guides/grails-javamelody/4/guide/index.html | 4 +-
guides/grails-javamelody/4/guide/single.html | 4 +-
guides/grails-javamelody/4/index.html | 2 +-
.../grails-logicaldelete/3/guide/conclusion.html | 2 +-
.../3/guide/gettingStarted.html | 2 +-
guides/grails-logicaldelete/3/guide/index.html | 8 +--
.../3/guide/runningTheApp.html | 2 +-
guides/grails-logicaldelete/3/guide/single.html | 8 +--
guides/grails-logicaldelete/3/index.html | 2 +-
.../grails-logicaldelete/4/guide/conclusion.html | 2 +-
.../4/guide/gettingStarted.html | 2 +-
guides/grails-logicaldelete/4/guide/index.html | 8 +--
.../4/guide/runningTheApp.html | 2 +-
guides/grails-logicaldelete/4/guide/single.html | 8 +--
guides/grails-logicaldelete/4/index.html | 2 +-
guides/grails-micronaut-http/5/guide/index.html | 4 +-
guides/grails-micronaut-http/5/guide/single.html | 4 +-
guides/grails-micronaut-http/5/guide/test.html | 2 +-
guides/grails-micronaut-http/5/index.html | 2 +-
guides/grails-micronaut-kafka/4/guide/index.html | 4 +-
.../4/guide/originalAppGrails.html | 2 +-
guides/grails-micronaut-kafka/4/guide/single.html | 4 +-
guides/grails-micronaut-kafka/4/index.html | 2 +-
guides/grails-mock-basics/3/guide/index.html | 2 +-
guides/grails-mock-basics/3/guide/single.html | 2 +-
guides/grails-mock-basics/3/index.html | 2 +-
guides/grails-mock-basics/4/guide/index.html | 2 +-
guides/grails-mock-basics/4/guide/single.html | 2 +-
guides/grails-mock-basics/4/index.html | 2 +-
guides/grails-mock-http-server/3/guide/index.html | 2 +-
guides/grails-mock-http-server/3/guide/single.html | 2 +-
guides/grails-mock-http-server/3/index.html | 2 +-
guides/grails-mock-http-server/4/guide/index.html | 2 +-
guides/grails-mock-http-server/4/guide/single.html | 2 +-
guides/grails-mock-http-server/4/index.html | 2 +-
.../3/guide/index.html | 2 +-
.../3/guide/single.html | 2 +-
guides/grails-mock-logging-slf4j-test/3/index.html | 2 +-
.../4/guide/index.html | 2 +-
.../4/guide/single.html | 2 +-
guides/grails-mock-logging-slf4j-test/4/index.html | 2 +-
guides/grails-multi-datasource/3/guide/index.html | 4 +-
.../3/guide/pages/views.html | 2 +-
guides/grails-multi-datasource/3/guide/single.html | 4 +-
.../3/guide/writingTheApp.html | 2 +-
guides/grails-multi-datasource/3/index.html | 2 +-
guides/grails-multi-datasource/4/guide/index.html | 4 +-
.../4/guide/pages/views.html | 2 +-
guides/grails-multi-datasource/4/guide/single.html | 4 +-
.../4/guide/writingTheApp.html | 2 +-
guides/grails-multi-datasource/4/index.html | 2 +-
guides/grails-multi-module/8/guide/index.html | 2 +-
guides/grails-multi-module/8/guide/single.html | 2 +-
guides/grails-multi-module/8/index.html | 2 +-
.../grails-multi-project-build/4/guide/index.html | 4 +-
.../4/guide/pages/featuresgradlefiles.html | 2 +-
.../grails-multi-project-build/4/guide/single.html | 4 +-
.../4/guide/writingTheApp.html | 2 +-
guides/grails-multi-project-build/4/index.html | 2 +-
.../4/guide/gettingStarted.html | 2 +-
guides/grails-oauth-google/4/guide/index.html | 4 +-
guides/grails-oauth-google/4/guide/single.html | 4 +-
guides/grails-oauth-google/4/index.html | 2 +-
guides/grails-oauth-twitter/4/guide/index.html | 2 +-
guides/grails-oauth-twitter/4/guide/single.html | 2 +-
guides/grails-oauth-twitter/4/index.html | 2 +-
.../grails-on-circleci-basics/4/guide/index.html | 4 +-
.../grails-on-circleci-basics/4/guide/single.html | 4 +-
.../4/guide/wheretoGoFromHere.html | 2 +-
guides/grails-on-circleci-basics/4/index.html | 2 +-
guides/grails-on-github-actions/4/guide/index.html | 2 +-
.../grails-on-github-actions/4/guide/single.html | 2 +-
guides/grails-on-github-actions/4/index.html | 2 +-
guides/grails-on-travis-basics/3/guide/index.html | 2 +-
guides/grails-on-travis-basics/3/guide/single.html | 2 +-
guides/grails-on-travis-basics/3/index.html | 2 +-
guides/grails-on-travis-basics/4/guide/index.html | 2 +-
guides/grails-on-travis-basics/4/guide/single.html | 2 +-
guides/grails-on-travis-basics/4/index.html | 2 +-
guides/grails-quickcast-logging/4/guide/index.html | 2 +-
.../grails-quickcast-logging/4/guide/single.html | 2 +-
guides/grails-quickcast-logging/4/index.html | 2 +-
.../4/guide/index.html | 2 +-
.../4/guide/single.html | 2 +-
.../4/index.html | 2 +-
.../4/guide/index.html | 2 +-
.../4/guide/single.html | 2 +-
.../4/index.html | 2 +-
.../4/guide/index.html | 2 +-
.../4/guide/single.html | 2 +-
guides/grails-quickcasts-interceptors/4/index.html | 2 +-
.../4/guide/index.html | 2 +-
.../4/guide/single.html | 2 +-
guides/grails-quickcasts-json-views/4/index.html | 2 +-
.../4/guide/index.html | 2 +-
.../4/guide/single.html | 2 +-
.../4/index.html | 2 +-
.../4/guide/index.html | 2 +-
.../4/guide/single.html | 2 +-
.../4/index.html | 2 +-
guides/grails-rabbitmq/4/guide/gettingStarted.html | 2 +-
guides/grails-rabbitmq/4/guide/index.html | 6 +--
.../grails-rabbitmq/4/guide/originalAppGrails.html | 2 +-
.../4/guide/pages/bookApplicationRabbit.html | 2 +-
guides/grails-rabbitmq/4/guide/single.html | 6 +--
guides/grails-rabbitmq/4/index.html | 2 +-
guides/grails-rest-library/8/guide/index.html | 2 +-
guides/grails-rest-library/8/guide/single.html | 2 +-
guides/grails-rest-library/8/index.html | 2 +-
guides/grails-restapi-angularjs/4/guide/index.html | 12 ++---
.../4/guide/pages/domainClass.html | 6 +--
.../4/guide/pages/enableCors.html | 2 +-
.../grails-restapi-angularjs/4/guide/single.html | 12 ++---
.../4/guide/writingTheApp.html | 10 ++--
guides/grails-restapi-angularjs/4/index.html | 2 +-
guides/grails-scheduled/3/guide/index.html | 2 +-
guides/grails-scheduled/3/guide/single.html | 2 +-
guides/grails-scheduled/3/index.html | 2 +-
guides/grails-scheduled/4/guide/index.html | 2 +-
guides/grails-scheduled/4/guide/single.html | 2 +-
guides/grails-scheduled/4/index.html | 2 +-
guides/grails-schwartz/4/guide/index.html | 2 +-
guides/grails-schwartz/4/guide/single.html | 2 +-
guides/grails-schwartz/4/index.html | 2 +-
guides/grails-soap/3/guide/index.html | 6 +--
guides/grails-soap/3/guide/pages/soapLibrary.html | 2 +-
guides/grails-soap/3/guide/pages/test.html | 2 +-
guides/grails-soap/3/guide/single.html | 6 +--
guides/grails-soap/3/guide/writingTheApp.html | 4 +-
guides/grails-soap/3/index.html | 2 +-
guides/grails-soap/4/guide/index.html | 6 +--
guides/grails-soap/4/guide/pages/soapLibrary.html | 2 +-
guides/grails-soap/4/guide/pages/test.html | 2 +-
guides/grails-soap/4/guide/single.html | 6 +--
guides/grails-soap/4/guide/writingTheApp.html | 4 +-
guides/grails-soap/4/index.html | 2 +-
guides/grails-spock-test-tour/8/guide/index.html | 2 +-
guides/grails-spock-test-tour/8/guide/single.html | 2 +-
guides/grails-spock-test-tour/8/index.html | 2 +-
.../3/guide/index.html | 2 +-
.../3/guide/single.html | 2 +-
.../3/index.html | 2 +-
.../4/guide/index.html | 2 +-
.../4/guide/single.html | 2 +-
.../4/index.html | 2 +-
.../grails-taglib-wyswyg-trix/3/guide/index.html | 10 ++--
.../3/guide/pages/domainClass.html | 2 +-
.../3/guide/pages/scaffolding.html | 2 +-
.../3/guide/pages/taglib.html | 4 +-
.../grails-taglib-wyswyg-trix/3/guide/single.html | 10 ++--
.../3/guide/writingTheApp.html | 8 +--
guides/grails-taglib-wyswyg-trix/3/index.html | 2 +-
.../grails-taglib-wyswyg-trix/4/guide/index.html | 10 ++--
.../4/guide/pages/domainClass.html | 2 +-
.../4/guide/pages/scaffolding.html | 2 +-
.../4/guide/pages/taglib.html | 4 +-
.../grails-taglib-wyswyg-trix/4/guide/single.html | 10 ++--
.../4/guide/writingTheApp.html | 8 +--
guides/grails-taglib-wyswyg-trix/4/index.html | 2 +-
guides/grails-tailwindcss/8/guide/index.html | 2 +-
guides/grails-tailwindcss/8/guide/single.html | 2 +-
guides/grails-tailwindcss/8/index.html | 2 +-
.../3/guide/index.html | 54 +++++++++----------
.../3/guide/pages/domainClass.html | 46 ++++++++---------
.../3/guide/pages/unitTests.html | 6 +--
.../3/guide/single.html | 54 +++++++++----------
.../3/guide/writingTheApp.html | 52 +++++++++----------
.../3/index.html | 2 +-
.../4/guide/index.html | 54 +++++++++----------
.../4/guide/pages/domainClass.html | 46 ++++++++---------
.../4/guide/pages/unitTests.html | 6 +--
.../4/guide/single.html | 54 +++++++++----------
.../4/guide/writingTheApp.html | 52 +++++++++----------
.../4/index.html | 2 +-
guides/grails-test-security/3/guide/index.html | 8 +--
.../3/guide/pages/apiController.html | 4 +-
.../3/guide/pages/domainClass.html | 2 +-
guides/grails-test-security/3/guide/single.html | 8 +--
.../3/guide/writingTheApp.html | 6 +--
guides/grails-test-security/3/index.html | 2 +-
guides/grails-test-security/4/guide/index.html | 8 +--
.../4/guide/pages/apiController.html | 4 +-
.../4/guide/pages/domainClass.html | 2 +-
guides/grails-test-security/4/guide/single.html | 8 +--
.../4/guide/writingTheApp.html | 6 +--
guides/grails-test-security/4/index.html | 2 +-
guides/grails-tvmlapp/3/guide/index.html | 16 +++---
.../3/guide/pages/controllerIndex.html | 6 +--
.../3/guide/pages/controllerShow.html | 2 +-
.../grails-tvmlapp/3/guide/pages/domainClass.html | 4 +-
.../3/guide/pages/internationalization.html | 2 +-
guides/grails-tvmlapp/3/guide/single.html | 16 +++---
guides/grails-tvmlapp/3/guide/writingTheApp.html | 14 ++---
guides/grails-tvmlapp/3/index.html | 2 +-
guides/grails-tvmlapp/4/guide/index.html | 16 +++---
.../4/guide/pages/controllerIndex.html | 6 +--
.../4/guide/pages/controllerShow.html | 2 +-
.../grails-tvmlapp/4/guide/pages/domainClass.html | 4 +-
.../4/guide/pages/internationalization.html | 2 +-
guides/grails-tvmlapp/4/guide/single.html | 16 +++---
guides/grails-tvmlapp/4/guide/writingTheApp.html | 14 ++---
guides/grails-tvmlapp/4/index.html | 2 +-
guides/grails-upload-file/3/guide/index.html | 6 +--
.../3/guide/pages/featuredImageCommand.html | 2 +-
guides/grails-upload-file/3/guide/single.html | 6 +--
.../grails-upload-file/3/guide/writingTheApp.html | 4 +-
guides/grails-upload-file/3/index.html | 2 +-
guides/grails-upload-file/4/guide/index.html | 6 +--
.../4/guide/pages/featuredImageCommand.html | 2 +-
guides/grails-upload-file/4/guide/single.html | 6 +--
.../grails-upload-file/4/guide/writingTheApp.html | 4 +-
guides/grails-upload-file/4/index.html | 2 +-
guides/grails-vite-spa/8/guide/index.html | 2 +-
guides/grails-vite-spa/8/guide/single.html | 2 +-
guides/grails-vite-spa/8/index.html | 2 +-
guides/grails-vs-nodejs/4/guide/index.html | 28 +++++-----
.../4/guide/pages/authentication.html | 2 +-
.../grails-vs-nodejs/4/guide/pages/deployment.html | 2 +-
.../4/guide/pages/flavorsByUser.html | 2 +-
guides/grails-vs-nodejs/4/guide/pages/gorm.html | 4 +-
.../4/guide/pages/reactProfile.html | 4 +-
guides/grails-vs-nodejs/4/guide/pages/summary.html | 8 +--
.../grails-vs-nodejs/4/guide/pages/websockets.html | 4 +-
guides/grails-vs-nodejs/4/guide/runningTheApp.html | 10 ++--
guides/grails-vs-nodejs/4/guide/single.html | 28 +++++-----
guides/grails-vs-nodejs/4/guide/writingTheApp.html | 16 +++---
guides/grails-vs-nodejs/4/index.html | 2 +-
guides/grails-vue-combined/4/guide/index.html | 2 +-
guides/grails-vue-combined/4/guide/single.html | 2 +-
guides/grails-vue-combined/4/index.html | 2 +-
guides/grails-yourkit-profiling/4/guide/index.html | 2 +-
.../grails-yourkit-profiling/4/guide/single.html | 2 +-
guides/grails-yourkit-profiling/4/index.html | 2 +-
guides/grails_i18n/3/guide/index.html | 8 +--
guides/grails_i18n/3/guide/pages/localeNavBar.html | 4 +-
guides/grails_i18n/3/guide/single.html | 8 +--
guides/grails_i18n/3/guide/writingTheApp.html | 6 +--
guides/grails_i18n/3/index.html | 2 +-
guides/grails_i18n/4/guide/index.html | 8 +--
guides/grails_i18n/4/guide/pages/localeNavBar.html | 4 +-
guides/grails_i18n/4/guide/single.html | 8 +--
guides/grails_i18n/4/guide/writingTheApp.html | 6 +--
guides/grails_i18n/4/index.html | 2 +-
guides/grails_url_mappings/4/guide/conclusion.html | 2 +-
.../4/guide/gettingStarted.html | 2 +-
guides/grails_url_mappings/4/guide/index.html | 10 ++--
guides/grails_url_mappings/4/guide/single.html | 10 ++--
guides/grails_url_mappings/4/guide/testing.html | 2 +-
.../grails_url_mappings/4/guide/urlMappings.html | 2 +-
guides/grails_url_mappings/4/index.html | 2 +-
guides/index.html | 2 +-
guides/neo4j-movies/4/guide/index.html | 4 +-
.../4/guide/pages/byTitleEndpoint.html | 2 +-
guides/neo4j-movies/4/guide/pages/endpoints.html | 2 +-
guides/neo4j-movies/4/guide/single.html | 4 +-
guides/neo4j-movies/4/guide/writingTheApp.html | 2 +-
guides/neo4j-movies/4/index.html | 2 +-
.../3/guide/index.html | 6 +--
.../3/guide/pages/chainingDCAndNQ.html | 2 +-
.../3/guide/pages/queryParameters.html | 2 +-
.../3/guide/single.html | 6 +--
.../3/guide/specialForms.html | 2 +-
.../3/guide/updatingTheService.html | 2 +-
guides/querying-gorm-dynamic-finders/3/index.html | 2 +-
.../4/guide/index.html | 6 +--
.../4/guide/pages/chainingDCAndNQ.html | 2 +-
.../4/guide/pages/queryParameters.html | 2 +-
.../4/guide/single.html | 6 +--
.../4/guide/specialForms.html | 2 +-
.../4/guide/updatingTheService.html | 2 +-
guides/querying-gorm-dynamic-finders/4/index.html | 2 +-
guides/react-combined/4/guide/index.html | 2 +-
guides/react-combined/4/guide/single.html | 2 +-
guides/react-combined/4/index.html | 2 +-
guides/react-spring-security/4/guide/index.html | 4 +-
guides/react-spring-security/4/guide/server.html | 2 +-
guides/react-spring-security/4/guide/single.html | 4 +-
guides/react-spring-security/4/index.html | 2 +-
guides/rest-hibernate/3/guide/gettingStarted.html | 2 +-
guides/rest-hibernate/3/guide/index.html | 10 ++--
.../rest-hibernate/3/guide/pages/controller.html | 2 +-
guides/rest-hibernate/3/guide/pages/json.html | 4 +-
guides/rest-hibernate/3/guide/single.html | 10 ++--
guides/rest-hibernate/3/guide/writingTheApp.html | 6 +--
guides/rest-hibernate/3/index.html | 2 +-
guides/rest-hibernate/4/guide/gettingStarted.html | 2 +-
guides/rest-hibernate/4/guide/index.html | 10 ++--
.../rest-hibernate/4/guide/pages/controller.html | 2 +-
guides/rest-hibernate/4/guide/pages/json.html | 4 +-
guides/rest-hibernate/4/guide/single.html | 10 ++--
guides/rest-hibernate/4/guide/writingTheApp.html | 6 +--
guides/rest-hibernate/4/index.html | 2 +-
guides/rest-mongodb/4/guide/gettingStarted.html | 2 +-
guides/rest-mongodb/4/guide/index.html | 16 +++---
.../4/guide/pages/applyConstraints.html | 4 +-
guides/rest-mongodb/4/guide/pages/controller.html | 2 +-
guides/rest-mongodb/4/guide/pages/json.html | 4 +-
guides/rest-mongodb/4/guide/pages/testing.html | 2 +-
guides/rest-mongodb/4/guide/single.html | 16 +++---
guides/rest-mongodb/4/guide/writingTheApp.html | 12 ++---
guides/rest-mongodb/4/index.html | 2 +-
guides/server-sent-events/3/guide/index.html | 4 +-
.../3/guide/pages/gradleConfig.html | 2 +-
guides/server-sent-events/3/guide/single.html | 4 +-
.../server-sent-events/3/guide/writingTheApp.html | 2 +-
guides/server-sent-events/3/index.html | 2 +-
guides/server-sent-events/4/guide/index.html | 4 +-
.../4/guide/pages/gradleConfig.html | 2 +-
guides/server-sent-events/4/guide/single.html | 4 +-
.../server-sent-events/4/guide/writingTheApp.html | 2 +-
guides/server-sent-events/4/index.html | 2 +-
guides/tags/actuator.html | 2 +-
guides/tags/ai.html | 2 +-
guides/tags/android.html | 2 +-
guides/tags/angular.html | 2 +-
guides/tags/angularjs.html | 2 +-
guides/tags/api-versioning.html | 2 +-
guides/tags/apollo.html | 2 +-
guides/tags/apple-tv.html | 2 +-
guides/tags/asset-pipeline.html | 2 +-
guides/tags/async.html | 2 +-
guides/tags/authentication.html | 2 +-
guides/tags/aws-elasticbeanstlak.html | 2 +-
guides/tags/aws.html | 2 +-
guides/tags/backend.html | 2 +-
guides/tags/basicauth.html | 2 +-
guides/tags/binding.html | 2 +-
guides/tags/chrome.html | 2 +-
guides/tags/ci.html | 2 +-
guides/tags/circleci.html | 2 +-
guides/tags/client.html | 2 +-
guides/tags/cloud-sql.html | 2 +-
guides/tags/cloud-storage.html | 2 +-
guides/tags/clover.html | 2 +-
guides/tags/code-coverage.html | 2 +-
guides/tags/codenarc.html | 2 +-
guides/tags/command-object.html | 2 +-
guides/tags/commit-info.html | 2 +-
guides/tags/configuration-properties.html | 2 +-
guides/tags/configuration.html | 2 +-
guides/tags/conversation.html | 2 +-
guides/tags/cors.html | 2 +-
guides/tags/cpu.html | 2 +-
guides/tags/cron.html | 2 +-
guides/tags/crud.html | 2 +-
guides/tags/css.html | 2 +-
guides/tags/data-services.html | 2 +-
guides/tags/data-test.html | 2 +-
guides/tags/database.html | 2 +-
guides/tags/docker.html | 2 +-
guides/tags/elasticsearch.html | 2 +-
guides/tags/email.html | 2 +-
guides/tags/ersatz.html | 2 +-
guides/tags/events.html | 2 +-
guides/tags/excel.html | 2 +-
guides/tags/execution.html | 2 +-
guides/tags/fields.html | 2 +-
guides/tags/file-transfer.html | 2 +-
guides/tags/firefox.html | 2 +-
guides/tags/framework.html | 2 +-
guides/tags/frontend.html | 2 +-
guides/tags/functional-test.html | 2 +-
guides/tags/garbage-collection.html | 2 +-
guides/tags/geb.html | 2 +-
guides/tags/git.html | 2 +-
guides/tags/github-actions.html | 2 +-
guides/tags/github.html | 2 +-
guides/tags/google-app-engine.html | 2 +-
guides/tags/google-home.html | 2 +-
guides/tags/google.html | 2 +-
guides/tags/gorm-event.html | 2 +-
guides/tags/gorm.html | 2 +-
guides/tags/gradle.html | 2 +-
guides/tags/grails.html | 2 +-
guides/tags/grails3.html | 2 +-
guides/tags/grails4.html | 2 +-
guides/tags/grails5.html | 2 +-
guides/tags/grails6.html | 2 +-
guides/tags/grails8.html | 2 +-
guides/tags/graph.html | 2 +-
guides/tags/graphql.html | 2 +-
guides/tags/gsp.html | 2 +-
guides/tags/hal.html | 2 +-
guides/tags/health.html | 2 +-
guides/tags/heap-memory.html | 2 +-
guides/tags/hibernate.html | 2 +-
guides/tags/html5.html | 2 +-
guides/tags/htmlunit.html | 2 +-
guides/tags/htmx.html | 2 +-
guides/tags/i18n.html | 2 +-
guides/tags/ide.html | 2 +-
guides/tags/integration-test.html | 2 +-
guides/tags/intellij-idea.html | 2 +-
guides/tags/interceptor.html | 2 +-
guides/tags/ios.html | 2 +-
guides/tags/jacoco.html | 2 +-
guides/tags/java.html | 2 +-
guides/tags/javamelody.html | 2 +-
guides/tags/javascript.html | 2 +-
guides/tags/job.html | 2 +-
guides/tags/jpq-ql.html | 2 +-
guides/tags/json-view.html | 2 +-
guides/tags/json-views.html | 2 +-
guides/tags/json.html | 2 +-
guides/tags/jsonviews.html | 2 +-
guides/tags/jwt.html | 2 +-
guides/tags/kafka.html | 2 +-
guides/tags/language.html | 2 +-
guides/tags/liquibase.html | 2 +-
guides/tags/locale.html | 2 +-
guides/tags/log.html | 2 +-
guides/tags/logging.html | 2 +-
guides/tags/logical-delete.html | 2 +-
guides/tags/logs.html | 2 +-
guides/tags/message-queues.html | 2 +-
guides/tags/micronaut-http-client.html | 2 +-
guides/tags/micronaut.html | 2 +-
guides/tags/migration.html | 2 +-
guides/tags/mock.html | 2 +-
guides/tags/mongodb.html | 2 +-
guides/tags/monitoring.html | 2 +-
guides/tags/monorepo.html | 2 +-
guides/tags/multi-datasource.html | 2 +-
guides/tags/multi-project.html | 2 +-
guides/tags/multi-tenancy.html | 2 +-
guides/tags/mysql.html | 2 +-
guides/tags/neo4j.html | 2 +-
guides/tags/no-spa.html | 2 +-
guides/tags/node.html | 2 +-
guides/tags/nosql.html | 2 +-
guides/tags/oauth.html | 2 +-
guides/tags/objective-c.html | 2 +-
guides/tags/openweather.html | 2 +-
guides/tags/partials.html | 2 +-
guides/tags/phantomjs.html | 2 +-
guides/tags/postgresql.html | 2 +-
guides/tags/profiling.html | 2 +-
guides/tags/promise.html | 2 +-
guides/tags/quartz.html | 2 +-
guides/tags/query.html | 2 +-
guides/tags/quickcast.html | 2 +-
guides/tags/rabbitmq.html | 2 +-
guides/tags/ratpack.html | 2 +-
guides/tags/react.html | 2 +-
guides/tags/reactive.html | 2 +-
guides/tags/rest-api.html | 2 +-
guides/tags/rest.html | 2 +-
guides/tags/rxjava.html | 2 +-
guides/tags/s3.html | 2 +-
guides/tags/scaffolding.html | 2 +-
guides/tags/scheduling.html | 2 +-
guides/tags/schwatz.html | 2 +-
guides/tags/security.html | 2 +-
guides/tags/sendgrid.html | 2 +-
guides/tags/ses.html | 2 +-
guides/tags/slf4j.html | 2 +-
guides/tags/soap.html | 2 +-
guides/tags/spa.html | 2 +-
guides/tags/spock-spring.html | 2 +-
guides/tags/spock.html | 2 +-
guides/tags/spreadsheet-builder-poi.html | 2 +-
guides/tags/spring-boot.html | 2 +-
guides/tags/spring-security-core.html | 2 +-
guides/tags/spring-security-rest.html | 2 +-
guides/tags/spring-security.html | 2 +-
guides/tags/spring.html | 2 +-
guides/tags/springboot.html | 2 +-
guides/tags/ssl.html | 2 +-
guides/tags/static-analysis.html | 2 +-
guides/tags/swift.html | 2 +-
guides/tags/taglib.html | 2 +-
guides/tags/tailwindcss.html | 2 +-
guides/tags/task.html | 2 +-
guides/tags/test.html | 2 +-
guides/tags/testing.html | 2 +-
guides/tags/travis.html | 2 +-
guides/tags/trix-editor.html | 2 +-
guides/tags/tvml.html | 2 +-
guides/tags/tvmljs.html | 2 +-
guides/tags/tvos.html | 2 +-
guides/tags/twitter.html | 2 +-
guides/tags/two-tier.html | 2 +-
guides/tags/unit-test.html | 2 +-
guides/tags/url-mappings.html | 2 +-
guides/tags/vaadin.html | 2 +-
guides/tags/validation.html | 2 +-
guides/tags/vite.html | 2 +-
guides/tags/vue-profile.html | 2 +-
guides/tags/vue.html | 2 +-
guides/tags/web-profile.html | 2 +-
guides/tags/websockets.html | 2 +-
guides/tags/yourkit.html | 2 +-
.../3/guide/buildingApi.html | 2 +-
.../3/guide/gettingStarted.html | 2 +-
guides/using-hal-with-json-views/3/guide/hal.html | 4 +-
.../using-hal-with-json-views/3/guide/index.html | 12 ++---
.../3/guide/pages/links.html | 2 +-
.../3/guide/pages/templates.html | 2 +-
.../3/guide/runningTheApp.html | 2 +-
.../using-hal-with-json-views/3/guide/single.html | 12 ++---
guides/using-hal-with-json-views/3/index.html | 2 +-
.../4/guide/buildingApi.html | 2 +-
.../4/guide/gettingStarted.html | 2 +-
guides/using-hal-with-json-views/4/guide/hal.html | 4 +-
.../using-hal-with-json-views/4/guide/index.html | 12 ++---
.../4/guide/pages/links.html | 2 +-
.../4/guide/pages/templates.html | 2 +-
.../4/guide/runningTheApp.html | 2 +-
.../using-hal-with-json-views/4/guide/single.html | 12 ++---
guides/using-hal-with-json-views/4/index.html | 2 +-
guides/using-the-react-profile/4/guide/index.html | 2 +-
guides/using-the-react-profile/4/guide/single.html | 2 +-
guides/using-the-react-profile/4/index.html | 2 +-
.../3/guide/generateTheApp.html | 2 +-
guides/using-the-vue-profile/3/guide/index.html | 4 +-
guides/using-the-vue-profile/3/guide/single.html | 4 +-
guides/using-the-vue-profile/3/index.html | 2 +-
.../4/guide/generateTheApp.html | 2 +-
guides/using-the-vue-profile/4/guide/index.html | 4 +-
guides/using-the-vue-profile/4/guide/single.html | 4 +-
guides/using-the-vue-profile/4/index.html | 2 +-
guides/vaadin-grails/4/guide/aboutVaadin.html | 2 +-
guides/vaadin-grails/4/guide/gettingStarted.html | 2 +-
guides/vaadin-grails/4/guide/index.html | 6 +--
guides/vaadin-grails/4/guide/pages/profile.html | 2 +-
guides/vaadin-grails/4/guide/single.html | 6 +--
guides/vaadin-grails/4/index.html | 2 +-
index.html | 2 +-
learning.html | 2 +-
legacy-plugins.html | 2 +-
maturity.html | 2 +-
plugins.html | 2 +-
plugins/owners/9ci.html | 2 +-
plugins/owners/agileorbit.html | 2 +-
plugins/owners/agorapulse.html | 2 +-
plugins/owners/ajay-kumar.html | 2 +-
plugins/owners/amitjain.html | 2 +-
plugins/owners/andreperegrina.html | 2 +-
plugins/owners/anthony-foulfoin.html | 2 +-
plugins/owners/apachesoftwarefoundation.html | 2 +-
plugins/owners/appcela.html | 2 +-
plugins/owners/ataylor284.html | 2 +-
plugins/owners/bertramlabs.html | 2 +-
plugins/owners/bmuschko.html | 2 +-
plugins/owners/bobbywarner.html | 2 +-
plugins/owners/bostanio.html | 2 +-
plugins/owners/budjb.html | 2 +-
plugins/owners/burtbeckwith.html | 2 +-
plugins/owners/captivatelabs.html | 2 +-
plugins/owners/carlosmtobon.html | 2 +-
plugins/owners/cazacugmihai.html | 2 +-
plugins/owners/cdrchops.html | 2 +-
plugins/owners/charlieamat.html | 2 +-
plugins/owners/craigburke.html | 2 +-
plugins/owners/ctoestreich.html | 2 +-
plugins/owners/cwang.html | 2 +-
plugins/owners/danlobo.html | 2 +-
plugins/owners/daraii.html | 2 +-
plugins/owners/dbpatel219.html | 2 +-
plugins/owners/desirable-objects.html | 2 +-
plugins/owners/dmahapatro.html | 2 +-
plugins/owners/domurtag.html | 2 +-
plugins/owners/donald-jackson.html | 2 +-
plugins/owners/double16.html | 2 +-
plugins/owners/dpcasady.html | 2 +-
plugins/owners/driverpt.html | 2 +-
plugins/owners/dtanner.html | 2 +-
plugins/owners/dubems.html | 2 +-
plugins/owners/enesakar.html | 2 +-
plugins/owners/errbuddy.html | 2 +-
plugins/owners/exanpe.html | 2 +-
plugins/owners/frnktrgr.html | 2 +-
plugins/owners/goodstartgenetics.html | 2 +-
plugins/owners/gpc.html | 2 +-
plugins/owners/grails-aws.html | 2 +-
plugins/owners/grails-plugins.html | 2 +-
plugins/owners/grails.html | 2 +-
plugins/owners/grailsplugincollecctive.html | 2 +-
plugins/owners/grailsplugincollective.html | 2 +-
plugins/owners/gregopet.html | 2 +-
plugins/owners/groovyzk.html | 2 +-
plugins/owners/herrvendil.html | 2 +-
plugins/owners/iamthechad.html | 2 +-
plugins/owners/ikalizpet.html | 2 +-
plugins/owners/ishults.html | 2 +-
plugins/owners/jamescookie.html | 2 +-
plugins/owners/jeetmp3.html | 2 +-
plugins/owners/jeffwils.html | 2 +-
plugins/owners/junehasissues.html | 2 +-
plugins/owners/jvilaplana.html | 2 +-
plugins/owners/kensiprell.html | 2 +-
plugins/owners/lgrignon.html | 2 +-
plugins/owners/longwa.html | 2 +-
plugins/owners/mathifonseca.html | 2 +-
plugins/owners/matrei.html | 2 +-
plugins/owners/matrixcrawler.html | 2 +-
plugins/owners/mkobel.html | 2 +-
plugins/owners/moceanapi.html | 2 +-
plugins/owners/modnsolutions.html | 2 +-
plugins/owners/mrhaki.html | 2 +-
plugins/owners/neilab.html | 2 +-
plugins/owners/nerderg.html | 2 +-
plugins/owners/nobeans.html | 2 +-
plugins/owners/novadge.html | 2 +-
plugins/owners/ondrej-kvasnovsky.html | 2 +-
plugins/owners/orkonano.html | 2 +-
plugins/owners/pankajtandon.html | 2 +-
plugins/owners/piotrchowaniec.html | 2 +-
plugins/owners/puneetbehl.html | 2 +-
plugins/owners/puravida-software.html | 2 +-
plugins/owners/purpleraven.html | 2 +-
plugins/owners/reid.html | 2 +-
plugins/owners/relaximus.html | 2 +-
plugins/owners/rlovtangen.html | 2 +-
plugins/owners/rpalcolea.html | 2 +-
plugins/owners/rvanderwerf.html | 2 +-
plugins/owners/salex772.html | 2 +-
plugins/owners/saw303.html | 2 +-
plugins/owners/sbglasius.html | 2 +-
plugins/owners/sergiomichels.html | 2 +-
plugins/owners/snimavat.html | 2 +-
plugins/owners/splix.html | 2 +-
plugins/owners/stefanogualdi.html | 2 +-
plugins/owners/symentis.html | 2 +-
plugins/owners/tadodotcom.html | 2 +-
plugins/owners/technipelago.html | 2 +-
plugins/owners/tednaleid.html | 2 +-
plugins/owners/tothenew.html | 2 +-
plugins/owners/touk.html | 2 +-
plugins/owners/troutbird.html | 2 +-
plugins/owners/uberall.html | 2 +-
plugins/owners/vahid.html | 2 +-
plugins/owners/vahidhedayati.html | 2 +-
plugins/owners/valentingoebel.html | 2 +-
plugins/owners/virtualdogbert.html | 2 +-
plugins/owners/vsachinv.html | 2 +-
plugins/owners/wondrify.html | 2 +-
plugins/owners/yingliang-du.html | 2 +-
plugins/owners/zacharyklein.html | 2 +-
plugins/owners/zenharbinger.html | 2 +-
plugins/owners/zyro.html | 2 +-
plugins/tags/acl.html | 2 +-
plugins/tags/airbrake.html | 2 +-
plugins/tags/ajax.html | 2 +-
plugins/tags/alexa.html | 2 +-
plugins/tags/amazon.html | 2 +-
plugins/tags/angular-1.html | 2 +-
plugins/tags/antisamy.html | 2 +-
plugins/tags/asset-pipeline.html | 2 +-
plugins/tags/assets.html | 2 +-
plugins/tags/async.html | 2 +-
plugins/tags/auditing.html | 2 +-
plugins/tags/autocomplete.html | 2 +-
plugins/tags/aws.html | 2 +-
plugins/tags/babel.html | 2 +-
plugins/tags/bootstrap.html | 2 +-
plugins/tags/business-rules.html | 2 +-
plugins/tags/cache.html | 2 +-
plugins/tags/calendar.html | 2 +-
plugins/tags/captcha.html | 2 +-
plugins/tags/cas.html | 2 +-
plugins/tags/cassandra.html | 2 +-
plugins/tags/chat.html | 2 +-
plugins/tags/ckeditor.html | 2 +-
plugins/tags/client.html | 2 +-
plugins/tags/cloud.html | 2 +-
plugins/tags/cmeditor.html | 2 +-
plugins/tags/codemirror.html | 2 +-
plugins/tags/cognito.html | 2 +-
plugins/tags/command-objects.html | 2 +-
plugins/tags/config.html | 2 +-
plugins/tags/console.html | 2 +-
plugins/tags/convert.html | 2 +-
plugins/tags/cookies.html | 2 +-
plugins/tags/cors.html | 2 +-
plugins/tags/crud.html | 2 +-
plugins/tags/csrf.html | 2 +-
plugins/tags/css.html | 2 +-
plugins/tags/csv.html | 2 +-
plugins/tags/cxf.html | 2 +-
plugins/tags/data-mapping.html | 2 +-
plugins/tags/data.html | 2 +-
plugins/tags/database.html | 2 +-
plugins/tags/datatables.net.html | 2 +-
plugins/tags/date.html | 2 +-
plugins/tags/debugging.html | 2 +-
plugins/tags/delete.html | 2 +-
plugins/tags/dropwizard.html | 2 +-
plugins/tags/dynamodb.html | 2 +-
plugins/tags/ehcache.html | 2 +-
plugins/tags/elasticsearch.html | 2 +-
plugins/tags/encryption.html | 2 +-
plugins/tags/enums.html | 2 +-
plugins/tags/envers.html | 2 +-
plugins/tags/events.html | 2 +-
plugins/tags/excel.html | 2 +-
plugins/tags/export.html | 2 +-
plugins/tags/facebook.html | 2 +-
plugins/tags/file-viewer.html | 2 +-
plugins/tags/file.html | 2 +-
plugins/tags/filter.html | 2 +-
plugins/tags/filterpane.html | 2 +-
plugins/tags/flyway.html | 2 +-
plugins/tags/fontawesome.html | 2 +-
plugins/tags/forms.html | 2 +-
plugins/tags/framework.html | 2 +-
plugins/tags/geb.html | 2 +-
plugins/tags/gif.html | 2 +-
plugins/tags/google.html | 2 +-
plugins/tags/gorm.html | 2 +-
plugins/tags/graph.html | 2 +-
plugins/tags/graphite.html | 2 +-
plugins/tags/graphql.html | 2 +-
plugins/tags/gravatar.html | 2 +-
plugins/tags/grooscript.html | 2 +-
plugins/tags/groovy.html | 2 +-
plugins/tags/gsp.html | 2 +-
plugins/tags/handlebars.html | 2 +-
plugins/tags/hazelcast.html | 2 +-
plugins/tags/health-check.html | 2 +-
plugins/tags/hibernate.html | 2 +-
plugins/tags/html.html | 2 +-
plugins/tags/http-client.html | 2 +-
plugins/tags/http-session.html | 2 +-
plugins/tags/https.html | 2 +-
plugins/tags/i18n.html | 2 +-
plugins/tags/icalendar.html | 2 +-
plugins/tags/image.html | 2 +-
plugins/tags/import.html | 2 +-
plugins/tags/inertia.html | 2 +-
plugins/tags/infobip.html | 2 +-
plugins/tags/isomorphic.html | 2 +-
plugins/tags/jasper.html | 2 +-
plugins/tags/jasypt.html | 2 +-
plugins/tags/java-date-time.html | 2 +-
plugins/tags/javamelody.html | 2 +-
plugins/tags/javascript.html | 2 +-
plugins/tags/jax-rs.html | 2 +-
plugins/tags/jedis.html | 2 +-
plugins/tags/jenkins.html | 2 +-
plugins/tags/jesque.html | 2 +-
plugins/tags/jira.html | 2 +-
plugins/tags/jms.html | 2 +-
plugins/tags/jpeg.html | 2 +-
plugins/tags/json.html | 2 +-
plugins/tags/kerberos.html | 2 +-
plugins/tags/kinesis.html | 2 +-
plugins/tags/kml.html | 2 +-
plugins/tags/layout.html | 2 +-
plugins/tags/ldap.html | 2 +-
plugins/tags/lightning.html | 2 +-
plugins/tags/liquibase.html | 2 +-
plugins/tags/liquid.html | 2 +-
plugins/tags/lock.html | 2 +-
plugins/tags/logging.html | 2 +-
plugins/tags/logical-delete.html | 2 +-
plugins/tags/mail.html | 2 +-
plugins/tags/mailgun.html | 2 +-
plugins/tags/mailhide.html | 2 +-
plugins/tags/management.html | 2 +-
plugins/tags/markdown.html | 2 +-
plugins/tags/markup.html | 2 +-
plugins/tags/memcached.html | 2 +-
plugins/tags/messaging.html | 2 +-
plugins/tags/metrics.html | 2 +-
plugins/tags/micronaut.html | 2 +-
plugins/tags/middleware.html | 2 +-
plugins/tags/migration.html | 2 +-
plugins/tags/moceanapi.html | 2 +-
plugins/tags/mongodb.html | 2 +-
plugins/tags/multitenant.html | 2 +-
plugins/tags/mysql.html | 2 +-
plugins/tags/neo4j.html | 2 +-
plugins/tags/newrelic.html | 2 +-
plugins/tags/nosql.html | 2 +-
plugins/tags/oauth.html | 2 +-
plugins/tags/oauth2.html | 2 +-
plugins/tags/ods.html | 2 +-
plugins/tags/owasp.html | 2 +-
plugins/tags/p6spy.html | 2 +-
plugins/tags/pagination.html | 2 +-
plugins/tags/payment.html | 2 +-
plugins/tags/paypal.html | 2 +-
plugins/tags/pdf.html | 2 +-
plugins/tags/permissions.html | 2 +-
plugins/tags/png.html | 2 +-
plugins/tags/postgres.html | 2 +-
plugins/tags/postgresql.html | 2 +-
plugins/tags/push-notification.html | 2 +-
plugins/tags/pushover.html | 2 +-
plugins/tags/qrcode.html | 2 +-
plugins/tags/quartz.html | 2 +-
plugins/tags/queue.html | 2 +-
plugins/tags/rabbitmq.html | 2 +-
plugins/tags/rdbms.html | 2 +-
plugins/tags/rdms.html | 2 +-
plugins/tags/react.html | 2 +-
plugins/tags/redis.html | 2 +-
plugins/tags/rendering.html | 2 +-
plugins/tags/reporting.html | 2 +-
plugins/tags/reports.html | 2 +-
plugins/tags/rest.html | 2 +-
plugins/tags/retina.html | 2 +-
plugins/tags/rxjava.html | 2 +-
plugins/tags/rxjava2.html | 2 +-
plugins/tags/s3.html | 2 +-
plugins/tags/saml.html | 2 +-
plugins/tags/sanitizer.html | 2 +-
plugins/tags/scaffolding.html | 2 +-
plugins/tags/scheduling.html | 2 +-
plugins/tags/scripting.html | 2 +-
plugins/tags/search.html | 2 +-
plugins/tags/security.html | 2 +-
plugins/tags/seed.html | 2 +-
plugins/tags/segment.html | 2 +-
plugins/tags/selenium.html | 2 +-
plugins/tags/sendgrid.html | 2 +-
plugins/tags/sentry.html | 2 +-
plugins/tags/ses.html | 2 +-
plugins/tags/shiro.html | 2 +-
plugins/tags/sitemesh.html | 2 +-
plugins/tags/slack.html | 2 +-
plugins/tags/sms.html | 2 +-
plugins/tags/sns.html | 2 +-
plugins/tags/soap.html | 2 +-
plugins/tags/soft-delete.html | 2 +-
plugins/tags/spa.html | 2 +-
plugins/tags/spring-boot-actuator.html | 2 +-
plugins/tags/spring-security-rest.html | 2 +-
plugins/tags/spring-security.html | 2 +-
plugins/tags/spring-ws.html | 2 +-
plugins/tags/sqs.html | 2 +-
plugins/tags/square.html | 2 +-
plugins/tags/ssh.html | 2 +-
plugins/tags/ssl.html | 2 +-
plugins/tags/ssr.html | 2 +-
plugins/tags/stripe.html | 2 +-
plugins/tags/sts.html | 2 +-
plugins/tags/swagger.html | 2 +-
plugins/tags/tags.html | 2 +-
plugins/tags/testing.html | 2 +-
plugins/tags/timezone.html | 2 +-
plugins/tags/twilio.html | 2 +-
plugins/tags/twitter.html | 2 +-
plugins/tags/ui.html | 2 +-
plugins/tags/upload.html | 2 +-
plugins/tags/util.html | 2 +-
plugins/tags/vaadin.html | 2 +-
plugins/tags/validation.html | 2 +-
plugins/tags/views.html | 2 +-
plugins/tags/websocket.html | 2 +-
plugins/tags/xml.html | 2 +-
plugins/tags/xss.html | 2 +-
plugins/tags/zk-grails.html | 2 +-
plugins/tags/zk.html | 2 +-
profiles.html | 2 +-
rss.xml | 16 +++---
search.html | 2 +-
support-schedule.html | 2 +-
support.html | 2 +-
trademark-policy.html | 2 +-
1406 files changed, 2463 insertions(+), 2463 deletions(-)
diff --git a/404.html b/404.html
index 6e5b187d60a..d9e76a0be73 100644
--- a/404.html
+++ b/404.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2015-03-01.html b/blog/2015-03-01.html
index 5617ae459c6..f600ea27530 100644
--- a/blog/2015-03-01.html
+++ b/blog/2015-03-01.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-04-01-1.html b/blog/2016-04-01-1.html
index 40163ef1043..11087fd985d 100644
--- a/blog/2016-04-01-1.html
+++ b/blog/2016-04-01-1.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-04-01-2.html b/blog/2016-04-01-2.html
index 51f889e85ad..33dfb3b2798 100644
--- a/blog/2016-04-01-2.html
+++ b/blog/2016-04-01-2.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-04-13.html b/blog/2016-04-13.html
index 67bc40e1d90..25a37bfc15b 100644
--- a/blog/2016-04-13.html
+++ b/blog/2016-04-13.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-04-27.html b/blog/2016-04-27.html
index 9632a04841e..532f90270b7 100644
--- a/blog/2016-04-27.html
+++ b/blog/2016-04-27.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-04-28.html b/blog/2016-04-28.html
index 7475da740e6..9f035158a69 100644
--- a/blog/2016-04-28.html
+++ b/blog/2016-04-28.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-05-26.html b/blog/2016-05-26.html
index 9ee077b8058..6ab3338b07b 100644
--- a/blog/2016-05-26.html
+++ b/blog/2016-05-26.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-05-28.html b/blog/2016-05-28.html
index fd6840a544a..c0125267605 100644
--- a/blog/2016-05-28.html
+++ b/blog/2016-05-28.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -454,7 +454,7 @@
</blockquote>
<h2>Calling the API</h2>
<p>Now that we have our React app integrated into our Grails project and served up via the asset pipeline, we can start to build out our application and write components that consume our restful API. Because React is a view library, it doesn’t offer specialized features for communicating with a restful API. Developers are encouraged to use native Javascript APIs or other libraries to supply this functionality. The example project from this article uses the <a href="https://developer.mozi [...]
-<p>The app allows a user to create new todo lists and add new todo items to them. All changes are saved to the mongo database. It also makes use of <a href="https://views.grails.org/latest/">JSON Views</a> to customize the JSON output from our endpoints.</p>
+<p>The app allows a user to create new todo lists and add new todo items to them. All changes are saved to the mongo database. It also makes use of <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a> to customize the JSON output from our endpoints.</p>
<p>No update or delete functions are provided at this time. Those features are left as an exercise to the reader.</p>
<p><a href="https://github.com/ZacharyKlein/sett-todolist">https://github.com/ZacharyKlein/sett-todolist</a></p>
<p><img src="2016-05-28-img02.png" alt="Blog post image 2016-05-28-img02" /></p>
diff --git a/blog/2016-05-31.html b/blog/2016-05-31.html
index d98f3338dbc..ffb8d1eb746 100644
--- a/blog/2016-05-31.html
+++ b/blog/2016-05-31.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -112,7 +112,7 @@
<p>Grails 3.2 features support for scaffolding of AngularJS 1.x applications (support for Angular 2 is also planned) when using the <code>angular</code> profile, allowing your team to quickly get up and running integrating Angular frontends with Grails 3 backends.</p>
<h2>Improvements to JSON Views</h2>
<p>JSON views, a feature introduced in Grails 3.1, have been drastically improved with support for template inheritance, global templates, extended HAL support and more.</p>
-<p>See the <a href="https://views.grails.org/1.1.0.M2/#_version_history">documentation for the 1.1 milestone 2 version</a> of the JSON views plugin for more information.</p>
+<p>See the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">documentation for the 1.1 milestone 2 version</a> of the JSON views plugin for more information.</p>
<h2>What's Still Coming?</h2>
<p>Grails 3.2 is at the milestone phase and is not feature complete, still in the pipeline are the following new features:</p>
<ul>
diff --git a/blog/2016-06-02.html b/blog/2016-06-02.html
index 3defd4f7f93..0f4766a3eef 100644
--- a/blog/2016-06-02.html
+++ b/blog/2016-06-02.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-06-07.html b/blog/2016-06-07.html
index 7ff24a6dd62..2d8283f0983 100644
--- a/blog/2016-06-07.html
+++ b/blog/2016-06-07.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-06-26.html b/blog/2016-06-26.html
index edde6d65001..5f1b4d5c396 100644
--- a/blog/2016-06-26.html
+++ b/blog/2016-06-26.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-07-06.html b/blog/2016-07-06.html
index ba068218de4..44220bbcd25 100644
--- a/blog/2016-07-06.html
+++ b/blog/2016-07-06.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-07-22.html b/blog/2016-07-22.html
index fbbcca51575..7c5eafcc7df 100644
--- a/blog/2016-07-22.html
+++ b/blog/2016-07-22.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-08-01.html b/blog/2016-08-01.html
index 3ba2de34b19..859b11dd819 100644
--- a/blog/2016-08-01.html
+++ b/blog/2016-08-01.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-08-31.html b/blog/2016-08-31.html
index 28f0305f187..b0810d17f59 100644
--- a/blog/2016-08-31.html
+++ b/blog/2016-08-31.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-09-12.html b/blog/2016-09-12.html
index 0cd4e5699ac..5c6874b256e 100644
--- a/blog/2016-09-12.html
+++ b/blog/2016-09-12.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-09-28.html b/blog/2016-09-28.html
index 91c681931e5..14b85947ff1 100644
--- a/blog/2016-09-28.html
+++ b/blog/2016-09-28.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -125,7 +125,7 @@
<p>Grails 3.2 bundles all of the goodness of GORM 6, plus a whole bunch of new features in the core framework:</p>
<ul>
<li>RxJava support via a <a href="/plugins.html#plugin/rxjava">new plugin</a>.</li>
-<li>Improved <a href="https://views.grails.org/">JSON View</a> support.</li>
+<li>Improved <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON View</a> support.</li>
<li>AngularJS scaffolding</li>
<li>REST improvements</li>
<li>Latest and greatest libraries (Spring Boot 1.4, Gradle 3.0, etc.)</li>
diff --git a/blog/2016-10-03.html b/blog/2016-10-03.html
index 91273dd31ad..50bb40eb6cc 100644
--- a/blog/2016-10-03.html
+++ b/blog/2016-10-03.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-11-01.html b/blog/2016-11-01.html
index 5dde5e32619..bc71798acaf 100644
--- a/blog/2016-11-01.html
+++ b/blog/2016-11-01.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-11-10.html b/blog/2016-11-10.html
index 0da60e5c9de..88f83e0b2eb 100644
--- a/blog/2016-11-10.html
+++ b/blog/2016-11-10.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-11-14.html b/blog/2016-11-14.html
index 230d9d10d73..168c008d4ed 100644
--- a/blog/2016-11-14.html
+++ b/blog/2016-11-14.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2016-12-14.html b/blog/2016-12-14.html
index 47cf16aa427..9fddac62aea 100644
--- a/blog/2016-12-14.html
+++ b/blog/2016-12-14.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2017-01-20-1.html b/blog/2017-01-20-1.html
index b71cfa5dc57..a0eac2a9744 100644
--- a/blog/2017-01-20-1.html
+++ b/blog/2017-01-20-1.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2017-01-20-2.html b/blog/2017-01-20-2.html
index a259c83bf4a..9e1b4857b05 100644
--- a/blog/2017-01-20-2.html
+++ b/blog/2017-01-20-2.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2017-01-20-3.html b/blog/2017-01-20-3.html
index 75141149803..c8eb75f9985 100644
--- a/blog/2017-01-20-3.html
+++ b/blog/2017-01-20-3.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2017-01-20-4.html b/blog/2017-01-20-4.html
index 6ae28f6cbd9..4815cce91fd 100644
--- a/blog/2017-01-20-4.html
+++ b/blog/2017-01-20-4.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2017-03-27.html b/blog/2017-03-27.html
index 92d88de3f12..97e5b8dcc04 100644
--- a/blog/2017-03-27.html
+++ b/blog/2017-03-27.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2017-04-02.html b/blog/2017-04-02.html
index 234d9b5ac67..be14bb77f42 100644
--- a/blog/2017-04-02.html
+++ b/blog/2017-04-02.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -118,7 +118,7 @@ grails.env=production
info.app.grailsVersion=3.2.5
</code></pre>
<p>This info primarily comes from <code>build.gradle</code> and <code>gradle.properties</code> (the curious can check out the source code in <a href="https://github.com/apache/grails-core/blob/6c85ec239aa8cc4a9f646bb345c70c327ddb2dbc/grails-gradle-plugin/src/main/groovy/org/grails/gradle/plugin/core/GrailsGradlePlugin.groovy#L179">grails-core</a>). This file will be part of your final application when you build your <code>.jar</code> or <code>.war</code> file.</p>
-<p>In a <code>.gsp</code>, this information is available by using the meta tag like this: (see the <a href="https://gsp.grails.org/latest/guide/index.html#tags">tag</a> documentation).</p>
+<p>In a <code>.gsp</code>, this information is available by using the meta tag like this: (see the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">tag</a> documentation).</p>
<h2>Adding More Information to <code>grails.build.info</code></h2>
<p>With the Gradle build system, it is possible to hook into the build process and execute our own code. In this case we want Gradle to complete writing <code>grails.build.info</code>, and then we want to add additional properties to the file.</p>
<p>To accomplish this, add the following snippet to <code>build.gradle</code> in your project:</p>
diff --git a/blog/2017-04-12.html b/blog/2017-04-12.html
index fdcecdaed2a..94e44d3432d 100644
--- a/blog/2017-04-12.html
+++ b/blog/2017-04-12.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2017-05-09.html b/blog/2017-05-09.html
index 2ff78a205d9..c0fa67ea2d0 100644
--- a/blog/2017-05-09.html
+++ b/blog/2017-05-09.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2017-06-27.html b/blog/2017-06-27.html
index 7eb2191f960..e0b05c3b172 100644
--- a/blog/2017-06-27.html
+++ b/blog/2017-06-27.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2017-06-28.html b/blog/2017-06-28.html
index 10bd50f86fb..4c1893068f8 100644
--- a/blog/2017-06-28.html
+++ b/blog/2017-06-28.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2017-07-12.html b/blog/2017-07-12.html
index 403627bd328..d5b18aa387e 100644
--- a/blog/2017-07-12.html
+++ b/blog/2017-07-12.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2017-07-26.html b/blog/2017-07-26.html
index d354e5283ec..867cc1c5527 100644
--- a/blog/2017-07-26.html
+++ b/blog/2017-07-26.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -107,8 +107,8 @@
<p>Just in time for <a href="https://gr8conf.us/">Gr8Conf US</a>, the <a href="https://objectcomputing.com/products/2gm-team">Grails<sup>®</sup> team</a> at <a href="https://objectcomputing.com/">Object Computing, Inc.</a> (OCI) is pleased to announce the release of <a href="https://grails.apache.org/docs/3.3.x/">Grails 3.3 GA</a>.</p>
<p>Grails 3.3 includes a number of significant improvements, most notably to GORM with GORM 6.1, which we <a href="/blog/2017-03-27.html">released earlier</a> in order to gather feedback from Grails 3.2.x users.</p>
<p>GORM 6.1 includes some real breakthrough innovations, including <a href="https://gorm.grails.org/6.1.x/hibernate/manual/index.html#dataServices">Data Services</a> that allow you to define interfaces that are automatically implemented and work seamlessly with GORM's multi-tenancy features.</p>
-<p>Other highlights of Grails 3.3 include the new <a href="https://async.grails.org/latest/guide/index.html#events">EventBus</a> abstraction which integrates with existing reactive libraries such as RxJava. Events are also for the first time transaction aware so that consumers are only notified if the surrounding transaction is successful, which simplifies code greatly.</p>
-<p>Overall there is an abundance of new features and improvements that developers will be able to take advantage of, from the <a href="https://testing.grails.org/">new testing framework</a> to improvemments to <a href="https://views.grails.org/latest/">JSON Views</a>.</p>
+<p>Other highlights of Grails 3.3 include the new <a href="https://grails.apache.org/docs/latest/guide/async.html">EventBus</a> abstraction which integrates with existing reactive libraries such as RxJava. Events are also for the first time transaction aware so that consumers are only notified if the surrounding transaction is successful, which simplifies code greatly.</p>
+<p>Overall there is an abundance of new features and improvements that developers will be able to take advantage of, from the <a href="https://grails.apache.org/docs/latest/guide/testing.html">new testing framework</a> to improvemments to <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>.</p>
<p>All of these new features and more are covered in the <a href="https://grails.apache.org/docs/3.3.x/guide/introduction.html#whatsNew">What's New guide</a>. Thanks to the Grails community who contributed greatly to making the release a success and we look forward <a href="https://github.com/apache/grails-core/issues">to your feedback</a>!</p><h2 class='space-above'><span>You might also like ...</span></h2><div class='three-columns'><div class='column'><article class='blog-card' style=' [...]
<footer>
<div class='content'>
diff --git a/blog/2017-10-30.html b/blog/2017-10-30.html
index 4ce0fc183a4..c6c762eedc0 100644
--- a/blog/2017-10-30.html
+++ b/blog/2017-10-30.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2017-11-09.html b/blog/2017-11-09.html
index 1060cbf749c..f6969714f85 100644
--- a/blog/2017-11-09.html
+++ b/blog/2017-11-09.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2017-11-21.html b/blog/2017-11-21.html
index bf43f71f650..16a4449e6f7 100644
--- a/blog/2017-11-21.html
+++ b/blog/2017-11-21.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2017-11-30.html b/blog/2017-11-30.html
index 4b008854caf..a25d2332b3d 100644
--- a/blog/2017-11-30.html
+++ b/blog/2017-11-30.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2017-12-05.html b/blog/2017-12-05.html
index ca162702674..92276e849d7 100644
--- a/blog/2017-12-05.html
+++ b/blog/2017-12-05.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2018-02-08.html b/blog/2018-02-08.html
index 51d80479dda..7143337b3ff 100644
--- a/blog/2018-02-08.html
+++ b/blog/2018-02-08.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2018-02-09.html b/blog/2018-02-09.html
index d2cbb1fd02d..b3397d5d8e4 100644
--- a/blog/2018-02-09.html
+++ b/blog/2018-02-09.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2018-03-02.html b/blog/2018-03-02.html
index d26d5b304f7..78c5b3310b7 100644
--- a/blog/2018-03-02.html
+++ b/blog/2018-03-02.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2018-03-06.html b/blog/2018-03-06.html
index 452bcd9d4f8..f8ecd8aab2e 100644
--- a/blog/2018-03-06.html
+++ b/blog/2018-03-06.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2018-03-09.html b/blog/2018-03-09.html
index 3feeaa11724..9ad58b95866 100644
--- a/blog/2018-03-09.html
+++ b/blog/2018-03-09.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2018-04-05.html b/blog/2018-04-05.html
index dfc4a621a0d..67b38e96f2c 100644
--- a/blog/2018-04-05.html
+++ b/blog/2018-04-05.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2018-04-06.html b/blog/2018-04-06.html
index 621299a1303..124ae677d43 100644
--- a/blog/2018-04-06.html
+++ b/blog/2018-04-06.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2018-05-18.html b/blog/2018-05-18.html
index c617eb9afbd..31bd646ac2d 100644
--- a/blog/2018-05-18.html
+++ b/blog/2018-05-18.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2018-05-24.html b/blog/2018-05-24.html
index 2b415bc4c76..806944044e4 100644
--- a/blog/2018-05-24.html
+++ b/blog/2018-05-24.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -107,7 +107,7 @@
<p>This blog will highlight some mock logging techniques and when to use them.</p>
<h2>Default Grails Logging in Unit Tests</h2>
<p>First let's get the obvious out of the way for clarity. If you are not concerned about testing how logs operate in your application, there is no reason to worry about mocking loggers in Grails apps.</p>
-<p>Since the logger is already present in Grails controllers, services, and domain objects there is no need to mock the logger when running unit tests. When a unit test is run with <a href="https://testing.grails.org/latest/guide/index.html">Grails Testing Support</a>, the logger will execute just as in does in production mode. In this scenario, we can say the logger as already "mocked" for the purpose of focusing on the <a href="https://wiki.c2.com/?ClassUnderTest">Class Under [...]
+<p>Since the logger is already present in Grails controllers, services, and domain objects there is no need to mock the logger when running unit tests. When a unit test is run with <a href="https://grails.apache.org/docs/latest/guide/testing.html">Grails Testing Support</a>, the logger will execute just as in does in production mode. In this scenario, we can say the logger as already "mocked" for the purpose of focusing on the <a href="https://wiki.c2.com/?ClassUnderTest">Class [...]
<h2>Verify Logging with Tests</h2>
<p>What if we want to assert that a certain log occurs with a particular log level? For example, let's say we want to test that that the method below prints friendly advice based on the <code>age</code> parameter.</p>
<pre><code class="language-groovy">package mock.logging
diff --git a/blog/2018-06-15.html b/blog/2018-06-15.html
index 863f7741781..b0b55e86da1 100644
--- a/blog/2018-06-15.html
+++ b/blog/2018-06-15.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2018-06-22.html b/blog/2018-06-22.html
index 120f5ac6034..f33ad16e276 100644
--- a/blog/2018-06-22.html
+++ b/blog/2018-06-22.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2018-08-22-1.html b/blog/2018-08-22-1.html
index 2a2b5586ce6..f2e5d25a983 100644
--- a/blog/2018-08-22-1.html
+++ b/blog/2018-08-22-1.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2018-08-22-2.html b/blog/2018-08-22-2.html
index 9d004c9d8be..dd2166eea16 100644
--- a/blog/2018-08-22-2.html
+++ b/blog/2018-08-22-2.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2018-09-23.html b/blog/2018-09-23.html
index e06c24df507..1cf1db49763 100644
--- a/blog/2018-09-23.html
+++ b/blog/2018-09-23.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2018-10-02.html b/blog/2018-10-02.html
index a1d6f4b1e1d..e3769fd93dd 100644
--- a/blog/2018-10-02.html
+++ b/blog/2018-10-02.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2018-10-12.html b/blog/2018-10-12.html
index 605f5972606..fb88a69cb2c 100644
--- a/blog/2018-10-12.html
+++ b/blog/2018-10-12.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2019-01-07.html b/blog/2019-01-07.html
index 8d01ab51ae2..84be3c8858f 100644
--- a/blog/2019-01-07.html
+++ b/blog/2019-01-07.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2019-01-30.html b/blog/2019-01-30.html
index 307900600ae..fe07167b660 100644
--- a/blog/2019-01-30.html
+++ b/blog/2019-01-30.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2019-02-19.html b/blog/2019-02-19.html
index 9a006246392..0c9fed89315 100644
--- a/blog/2019-02-19.html
+++ b/blog/2019-02-19.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2019-03-27.html b/blog/2019-03-27.html
index fb60350bdcc..9ed9c8cf707 100644
--- a/blog/2019-03-27.html
+++ b/blog/2019-03-27.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2019-05-24.html b/blog/2019-05-24.html
index c371eeeba51..34806f04a90 100644
--- a/blog/2019-05-24.html
+++ b/blog/2019-05-24.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2019-05-30.html b/blog/2019-05-30.html
index c819583cfee..bf43bd7e199 100644
--- a/blog/2019-05-30.html
+++ b/blog/2019-05-30.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2019-06-18.html b/blog/2019-06-18.html
index ab1edf1edaf..655246a854b 100644
--- a/blog/2019-06-18.html
+++ b/blog/2019-06-18.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2019-07-11.html b/blog/2019-07-11.html
index 87865dca884..55db3038aa1 100644
--- a/blog/2019-07-11.html
+++ b/blog/2019-07-11.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2019-08-27.html b/blog/2019-08-27.html
index 7e775b649ce..2152c2c6c0c 100644
--- a/blog/2019-08-27.html
+++ b/blog/2019-08-27.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2019-12-20.html b/blog/2019-12-20.html
index a669ec4d9f3..ade1d1150b0 100644
--- a/blog/2019-12-20.html
+++ b/blog/2019-12-20.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2020-09-10-grails-state-of-union.html b/blog/2020-09-10-grails-state-of-union.html
index 7192679e9f1..44a4a7aee1c 100644
--- a/blog/2020-09-10-grails-state-of-union.html
+++ b/blog/2020-09-10-grails-state-of-union.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2020-10-01-2gm-town-hall.html b/blog/2020-10-01-2gm-town-hall.html
index 5281a3a0110..15d5f3cd643 100644
--- a/blog/2020-10-01-2gm-town-hall.html
+++ b/blog/2020-10-01-2gm-town-hall.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2020-10-16-2gm-town-hall-2020-q4.html b/blog/2020-10-16-2gm-town-hall-2020-q4.html
index 7d650a56294..dc515ec546a 100644
--- a/blog/2020-10-16-2gm-town-hall-2020-q4.html
+++ b/blog/2020-10-16-2gm-town-hall-2020-q4.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2020-10-26-grails-foundation-announcement.html b/blog/2020-10-26-grails-foundation-announcement.html
index ac504c431b3..73f6bd32586 100644
--- a/blog/2020-10-26-grails-foundation-announcement.html
+++ b/blog/2020-10-26-grails-foundation-announcement.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-01-22-grails-exciting-updates.html b/blog/2021-01-22-grails-exciting-updates.html
index 390d0a24c41..25cc0993a94 100644
--- a/blog/2021-01-22-grails-exciting-updates.html
+++ b/blog/2021-01-22-grails-exciting-updates.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-02-05-2gm-town-hall-q1.html b/blog/2021-02-05-2gm-town-hall-q1.html
index 5f15977573d..24f1db404b5 100644
--- a/blog/2021-02-05-2gm-town-hall-q1.html
+++ b/blog/2021-02-05-2gm-town-hall-q1.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-02-12-alerts-regarding-bintray-sunset.html b/blog/2021-02-12-alerts-regarding-bintray-sunset.html
index 29ab14ca461..c48d804d21a 100644
--- a/blog/2021-02-12-alerts-regarding-bintray-sunset.html
+++ b/blog/2021-02-12-alerts-regarding-bintray-sunset.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-03-22-meet-the-new-mascot.html b/blog/2021-03-22-meet-the-new-mascot.html
index d0087c944f0..82c6ef41462 100644
--- a/blog/2021-03-22-meet-the-new-mascot.html
+++ b/blog/2021-03-22-meet-the-new-mascot.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-04-07-publish-grails-plugin-to-maven-central.html b/blog/2021-04-07-publish-grails-plugin-to-maven-central.html
index 1b14a32f29b..b142606ded9 100644
--- a/blog/2021-04-07-publish-grails-plugin-to-maven-central.html
+++ b/blog/2021-04-07-publish-grails-plugin-to-maven-central.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-05-21-2gm-town-hall-q2.html b/blog/2021-05-21-2gm-town-hall-q2.html
index 5eec4f0dedf..a492a86bfdf 100644
--- a/blog/2021-05-21-2gm-town-hall-q2.html
+++ b/blog/2021-05-21-2gm-town-hall-q2.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-06-10-grails-wrapper-update.html b/blog/2021-06-10-grails-wrapper-update.html
index b9165153cd6..5765241ea19 100644
--- a/blog/2021-06-10-grails-wrapper-update.html
+++ b/blog/2021-06-10-grails-wrapper-update.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-07-20-call-for-productivity-tips.html b/blog/2021-07-20-call-for-productivity-tips.html
index a6306210c93..c79650b5a3d 100644
--- a/blog/2021-07-20-call-for-productivity-tips.html
+++ b/blog/2021-07-20-call-for-productivity-tips.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-08-12-grails-5-rc1-release.html b/blog/2021-08-12-grails-5-rc1-release.html
index 627e03d93e2..b00d5ed588a 100644
--- a/blog/2021-08-12-grails-5-rc1-release.html
+++ b/blog/2021-08-12-grails-5-rc1-release.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-08-25-groovy-4-webinar.html b/blog/2021-08-25-groovy-4-webinar.html
index 9f90d112fea..83e243317c1 100644
--- a/blog/2021-08-25-groovy-4-webinar.html
+++ b/blog/2021-08-25-groovy-4-webinar.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-09-02-grails-deep-dive.html b/blog/2021-09-02-grails-deep-dive.html
index 6fce1aa7acf..1bf7e0a650a 100644
--- a/blog/2021-09-02-grails-deep-dive.html
+++ b/blog/2021-09-02-grails-deep-dive.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-09-15-q3-town-hall-meeting-scheduled.html b/blog/2021-09-15-q3-town-hall-meeting-scheduled.html
index 3207d112448..cfe21ef3bd6 100644
--- a/blog/2021-09-15-q3-town-hall-meeting-scheduled.html
+++ b/blog/2021-09-15-q3-town-hall-meeting-scheduled.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-09-17-groovy-4-webinar.html b/blog/2021-09-17-groovy-4-webinar.html
index cf79847817b..1da43f9e88a 100644
--- a/blog/2021-09-17-groovy-4-webinar.html
+++ b/blog/2021-09-17-groovy-4-webinar.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-09-24-q3-town-hall-meeting.html b/blog/2021-09-24-q3-town-hall-meeting.html
index bf4c2d4f088..f4faabb6388 100644
--- a/blog/2021-09-24-q3-town-hall-meeting.html
+++ b/blog/2021-09-24-q3-town-hall-meeting.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-10-08-developer-advocate-announced.html b/blog/2021-10-08-developer-advocate-announced.html
index 351b48ae505..da01b2e3cad 100644
--- a/blog/2021-10-08-developer-advocate-announced.html
+++ b/blog/2021-10-08-developer-advocate-announced.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-10-11-grails-5-ga.html b/blog/2021-10-11-grails-5-ga.html
index 0420b88706b..607c826cb97 100644
--- a/blog/2021-10-11-grails-5-ga.html
+++ b/blog/2021-10-11-grails-5-ga.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-11-11.html b/blog/2021-11-11.html
index cbe73451444..c80f616ab8f 100644
--- a/blog/2021-11-11.html
+++ b/blog/2021-11-11.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-11-23-db-migration-plugin-update.html b/blog/2021-11-23-db-migration-plugin-update.html
index 5d09062e84a..41bd0d97760 100644
--- a/blog/2021-11-23-db-migration-plugin-update.html
+++ b/blog/2021-11-23-db-migration-plugin-update.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-12-06-february-2022-training-announcement.html b/blog/2021-12-06-february-2022-training-announcement.html
index 37c4a1563ff..fba0a27fe1f 100644
--- a/blog/2021-12-06-february-2022-training-announcement.html
+++ b/blog/2021-12-06-february-2022-training-announcement.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-12-14-log4j2-cve.html b/blog/2021-12-14-log4j2-cve.html
index c4761590af3..78890cdeb30 100644
--- a/blog/2021-12-14-log4j2-cve.html
+++ b/blog/2021-12-14-log4j2-cve.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2021-12-15-grails-five-one.html b/blog/2021-12-15-grails-five-one.html
index 75b39835c07..02516b3018d 100644
--- a/blog/2021-12-15-grails-five-one.html
+++ b/blog/2021-12-15-grails-five-one.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2022-01-07-2gm-town-hall-q1.html b/blog/2022-01-07-2gm-town-hall-q1.html
index ccbef6f5358..98e618a4adf 100644
--- a/blog/2022-01-07-2gm-town-hall-q1.html
+++ b/blog/2022-01-07-2gm-town-hall-q1.html
@@ -92,7 +92,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2022-01-07-gradle-enterprise-tools-and-infrastructure-partner.html b/blog/2022-01-07-gradle-enterprise-tools-and-infrastructure-partner.html
index f6180c3a6a0..075bec9cf09 100644
--- a/blog/2022-01-07-gradle-enterprise-tools-and-infrastructure-partner.html
+++ b/blog/2022-01-07-gradle-enterprise-tools-and-infrastructure-partner.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2022-03-31-grails-spring-rce.html b/blog/2022-03-31-grails-spring-rce.html
index a9e24324bd6..9ef7d6de40e 100644
--- a/blog/2022-03-31-grails-spring-rce.html
+++ b/blog/2022-03-31-grails-spring-rce.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2022-04-01-jetbrains-new-tools-and-infrastructure-partner.html b/blog/2022-04-01-jetbrains-new-tools-and-infrastructure-partner.html
index 7ad503b230d..81934185b51 100644
--- a/blog/2022-04-01-jetbrains-new-tools-and-infrastructure-partner.html
+++ b/blog/2022-04-01-jetbrains-new-tools-and-infrastructure-partner.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2022-07-18-rce-vulnerability.html b/blog/2022-07-18-rce-vulnerability.html
index 153f4c3cf49..8a0a98ffb8a 100644
--- a/blog/2022-07-18-rce-vulnerability.html
+++ b/blog/2022-07-18-rce-vulnerability.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2022-09-28-static-binding-bug.html b/blog/2022-09-28-static-binding-bug.html
index 09542255de8..4b04f4d1159 100644
--- a/blog/2022-09-28-static-binding-bug.html
+++ b/blog/2022-09-28-static-binding-bug.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2022-11-22-ss-plugin-auth-cve.html b/blog/2022-11-22-ss-plugin-auth-cve.html
index c322b362fd8..64fe7c4dc84 100644
--- a/blog/2022-11-22-ss-plugin-auth-cve.html
+++ b/blog/2022-11-22-ss-plugin-auth-cve.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2023-02-08-repository-maint.html b/blog/2023-02-08-repository-maint.html
index 754d8a968c1..fd7e91f209d 100644
--- a/blog/2023-02-08-repository-maint.html
+++ b/blog/2023-02-08-repository-maint.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2023-03-17-grails-foundation-joining-unity-foundation.html b/blog/2023-03-17-grails-foundation-joining-unity-foundation.html
index 0973355402d..d504bcb0dc5 100644
--- a/blog/2023-03-17-grails-foundation-joining-unity-foundation.html
+++ b/blog/2023-03-17-grails-foundation-joining-unity-foundation.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2023-03-29-grails-6-m2.html b/blog/2023-03-29-grails-6-m2.html
index 9e0303e521c..b137a76958c 100644
--- a/blog/2023-03-29-grails-6-m2.html
+++ b/blog/2023-03-29-grails-6-m2.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2023-05-27-grails-6-rc1.html b/blog/2023-05-27-grails-6-rc1.html
index 65f3203c41c..ae9aa7f4e02 100644
--- a/blog/2023-05-27-grails-6-rc1.html
+++ b/blog/2023-05-27-grails-6-rc1.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2023-07-25-introducing-grails-6.html b/blog/2023-07-25-introducing-grails-6.html
index 82a4cda0c20..5a61fc32e91 100644
--- a/blog/2023-07-25-introducing-grails-6.html
+++ b/blog/2023-07-25-introducing-grails-6.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2023-08-03-introducing-new-grails-forge.html b/blog/2023-08-03-introducing-new-grails-forge.html
index 73acb819098..0a471e8feb7 100644
--- a/blog/2023-08-03-introducing-new-grails-forge.html
+++ b/blog/2023-08-03-introducing-new-grails-forge.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2023-08-25-introducing-grails-spring-security-core-6.html b/blog/2023-08-25-introducing-grails-spring-security-core-6.html
index c73b6764afa..4ccf1749919 100644
--- a/blog/2023-08-25-introducing-grails-spring-security-core-6.html
+++ b/blog/2023-08-25-introducing-grails-spring-security-core-6.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2023-09-11-the-new-grails-plugin-portal.html b/blog/2023-09-11-the-new-grails-plugin-portal.html
index 0a0ec65707a..60318f65d54 100644
--- a/blog/2023-09-11-the-new-grails-plugin-portal.html
+++ b/blog/2023-09-11-the-new-grails-plugin-portal.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2023-11-14-introducing-grails-6_1_0.html b/blog/2023-11-14-introducing-grails-6_1_0.html
index 70e28831698..827d9d19ba1 100644
--- a/blog/2023-11-14-introducing-grails-6_1_0.html
+++ b/blog/2023-11-14-introducing-grails-6_1_0.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2023-12-20-cve-data-binding-dos.html b/blog/2023-12-20-cve-data-binding-dos.html
index e97e45dff79..4bf6b6d7426 100644
--- a/blog/2023-12-20-cve-data-binding-dos.html
+++ b/blog/2023-12-20-cve-data-binding-dos.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2024-06-07-grails-future.html b/blog/2024-06-07-grails-future.html
index 15e3b258854..f6528c483c7 100644
--- a/blog/2024-06-07-grails-future.html
+++ b/blog/2024-06-07-grails-future.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2024-06-25-grails-seven-mvp.html b/blog/2024-06-25-grails-seven-mvp.html
index a00bda52ed9..370fc358962 100644
--- a/blog/2024-06-25-grails-seven-mvp.html
+++ b/blog/2024-06-25-grails-seven-mvp.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2024-10-01-grails-community-contributions.html b/blog/2024-10-01-grails-community-contributions.html
index 7ad53515ff5..d4dddd4a37c 100644
--- a/blog/2024-10-01-grails-community-contributions.html
+++ b/blog/2024-10-01-grails-community-contributions.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2024-10-03-introducing-grails-6-2-1.html b/blog/2024-10-03-introducing-grails-6-2-1.html
index 92b6a9cd666..c02d8564bd3 100644
--- a/blog/2024-10-03-introducing-grails-6-2-1.html
+++ b/blog/2024-10-03-introducing-grails-6-2-1.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2024-11-20-introducing-grails-6-2-2.html b/blog/2024-11-20-introducing-grails-6-2-2.html
index 48fd4fff951..7a2bd715be9 100644
--- a/blog/2024-11-20-introducing-grails-6-2-2.html
+++ b/blog/2024-11-20-introducing-grails-6-2-2.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2024-12-23-grails-7-m1.html b/blog/2024-12-23-grails-7-m1.html
index e03bd89f5bc..ff1139f2fb8 100644
--- a/blog/2024-12-23-grails-7-m1.html
+++ b/blog/2024-12-23-grails-7-m1.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2025-01-02-grails-community-rockstar-fredley.html b/blog/2025-01-02-grails-community-rockstar-fredley.html
index 70cc22b0e81..47f4c4cf216 100644
--- a/blog/2025-01-02-grails-community-rockstar-fredley.html
+++ b/blog/2025-01-02-grails-community-rockstar-fredley.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2025-01-03-introducing-grails-6-2-3.html b/blog/2025-01-03-introducing-grails-6-2-3.html
index 40c4b830d6c..2d5419735f5 100644
--- a/blog/2025-01-03-introducing-grails-6-2-3.html
+++ b/blog/2025-01-03-introducing-grails-6-2-3.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2025-03-05-grails-7-m3.html b/blog/2025-03-05-grails-7-m3.html
index cd621e130b5..36e10bbff4a 100644
--- a/blog/2025-03-05-grails-7-m3.html
+++ b/blog/2025-03-05-grails-7-m3.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2025-06-10-grails-7-m4.html b/blog/2025-06-10-grails-7-m4.html
index c04676c6033..6b4e9d3a8c9 100644
--- a/blog/2025-06-10-grails-7-m4.html
+++ b/blog/2025-06-10-grails-7-m4.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2025-07-15-grails-7-m5.html b/blog/2025-07-15-grails-7-m5.html
index af55d9afbcb..678ee03042d 100644
--- a/blog/2025-07-15-grails-7-m5.html
+++ b/blog/2025-07-15-grails-7-m5.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2025-08-10-grails-7-rc1.html b/blog/2025-08-10-grails-7-rc1.html
index a5ad4033648..af3ebade89d 100644
--- a/blog/2025-08-10-grails-7-rc1.html
+++ b/blog/2025-08-10-grails-7-rc1.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2025-09-11-grails-7-rc2.html b/blog/2025-09-11-grails-7-rc2.html
index 055ebc778fd..6313cfae52d 100644
--- a/blog/2025-09-11-grails-7-rc2.html
+++ b/blog/2025-09-11-grails-7-rc2.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2025-10-07-apache-grails-graduation-top-level-project.html b/blog/2025-10-07-apache-grails-graduation-top-level-project.html
index 2c1d9dad513..4309d6734a9 100644
--- a/blog/2025-10-07-apache-grails-graduation-top-level-project.html
+++ b/blog/2025-10-07-apache-grails-graduation-top-level-project.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2025-10-18-introducing-grails-7.html b/blog/2025-10-18-introducing-grails-7.html
index 5bd12448dc3..1a6d49f4a5e 100644
--- a/blog/2025-10-18-introducing-grails-7.html
+++ b/blog/2025-10-18-introducing-grails-7.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/2026-02-03-grails-community-rockstars.html b/blog/2026-02-03-grails-community-rockstars.html
index 76a78c37204..0c6c0dbbd85 100644
--- a/blog/2026-02-03-grails-community-rockstars.html
+++ b/blog/2026-02-03-grails-community-rockstars.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/index.html b/blog/index.html
index e99448d3f87..50b5490c5c8 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/angular.html b/blog/tag/angular.html
index c6b312562ae..b4dd6999c5f 100644
--- a/blog/tag/angular.html
+++ b/blog/tag/angular.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/bintray.html b/blog/tag/bintray.html
index 204ef825639..57b47898d66 100644
--- a/blog/tag/bintray.html
+++ b/blog/tag/bintray.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/config.html b/blog/tag/config.html
index d3013e4bbeb..46cfc848e78 100644
--- a/blog/tag/config.html
+++ b/blog/tag/config.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/deployment.html b/blog/tag/deployment.html
index 0ceb5fee76e..f403b741590 100644
--- a/blog/tag/deployment.html
+++ b/blog/tag/deployment.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/eclipse.html b/blog/tag/eclipse.html
index dac96f0db2b..d0d31853012 100644
--- a/blog/tag/eclipse.html
+++ b/blog/tag/eclipse.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/foundation.html b/blog/tag/foundation.html
index 57281a2a50b..38777a48f66 100644
--- a/blog/tag/foundation.html
+++ b/blog/tag/foundation.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/geb.html b/blog/tag/geb.html
index b7ec2e90e96..b8a009cb306 100644
--- a/blog/tag/geb.html
+++ b/blog/tag/geb.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/gorm.html b/blog/tag/gorm.html
index ac426a8dfb4..f5dcc985d9f 100644
--- a/blog/tag/gorm.html
+++ b/blog/tag/gorm.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/gradle.html b/blog/tag/gradle.html
index 4857ea87c0d..b34cd7e299f 100644
--- a/blog/tag/gradle.html
+++ b/blog/tag/gradle.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/grails.html b/blog/tag/grails.html
index 8b3d790cb19..a468e1ac860 100644
--- a/blog/tag/grails.html
+++ b/blog/tag/grails.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/graphql.html b/blog/tag/graphql.html
index 72bac4d6ab4..58618b7cf71 100644
--- a/blog/tag/graphql.html
+++ b/blog/tag/graphql.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/groovy.html b/blog/tag/groovy.html
index 081a93fe531..521887a8173 100644
--- a/blog/tag/groovy.html
+++ b/blog/tag/groovy.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/groovy3.html b/blog/tag/groovy3.html
index 9605bca7190..a7bafec7730 100644
--- a/blog/tag/groovy3.html
+++ b/blog/tag/groovy3.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/javascript.html b/blog/tag/javascript.html
index ba24aac4d54..9ae7d41a6f4 100644
--- a/blog/tag/javascript.html
+++ b/blog/tag/javascript.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/json.html b/blog/tag/json.html
index 1c55bba4c1a..1ee6c889577 100644
--- a/blog/tag/json.html
+++ b/blog/tag/json.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/logback.html b/blog/tag/logback.html
index 1ce1d0e3282..9c2d2f0e3b0 100644
--- a/blog/tag/logback.html
+++ b/blog/tag/logback.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/logging.html b/blog/tag/logging.html
index 3a2f8ec16ca..0ac71ef935d 100644
--- a/blog/tag/logging.html
+++ b/blog/tag/logging.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/mascot.html b/blog/tag/mascot.html
index 90b05b6fa5b..5675f19f369 100644
--- a/blog/tag/mascot.html
+++ b/blog/tag/mascot.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/micronaut.html b/blog/tag/micronaut.html
index 4c018234622..fdd07404e42 100644
--- a/blog/tag/micronaut.html
+++ b/blog/tag/micronaut.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/monitoring.html b/blog/tag/monitoring.html
index a0620830b69..0868bdd9014 100644
--- a/blog/tag/monitoring.html
+++ b/blog/tag/monitoring.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/plugins.html b/blog/tag/plugins.html
index b83bdaa4659..cde86083270 100644
--- a/blog/tag/plugins.html
+++ b/blog/tag/plugins.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/podcast.html b/blog/tag/podcast.html
index 97e6ae45ba5..80a366315c0 100644
--- a/blog/tag/podcast.html
+++ b/blog/tag/podcast.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/quickcast.html b/blog/tag/quickcast.html
index f0cd4e948de..5f776f5ea58 100644
--- a/blog/tag/quickcast.html
+++ b/blog/tag/quickcast.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/react.html b/blog/tag/react.html
index 4fd56555e4f..505fcab63f8 100644
--- a/blog/tag/react.html
+++ b/blog/tag/react.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/release.html b/blog/tag/release.html
index eeff0ec90d9..2b10e0d7e90 100644
--- a/blog/tag/release.html
+++ b/blog/tag/release.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/rest.html b/blog/tag/rest.html
index 0467299c861..8998ead7aad 100644
--- a/blog/tag/rest.html
+++ b/blog/tag/rest.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/spock.html b/blog/tag/spock.html
index 41b9f7e1811..cf0344b05e3 100644
--- a/blog/tag/spock.html
+++ b/blog/tag/spock.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/ssl.html b/blog/tag/ssl.html
index e96b56f4c00..3fe360e037f 100644
--- a/blog/tag/ssl.html
+++ b/blog/tag/ssl.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/townhall.html b/blog/tag/townhall.html
index aee7b66dd70..223ba9f53b8 100644
--- a/blog/tag/townhall.html
+++ b/blog/tag/townhall.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/travis.html b/blog/tag/travis.html
index cbd66934ea6..5154ce26ffa 100644
--- a/blog/tag/travis.html
+++ b/blog/tag/travis.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/video.html b/blog/tag/video.html
index 31dc903be16..e2f175b67f7 100644
--- a/blog/tag/video.html
+++ b/blog/tag/video.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/webinar.html b/blog/tag/webinar.html
index 8832b17145a..90deb5c5f6c 100644
--- a/blog/tag/webinar.html
+++ b/blog/tag/webinar.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/blog/tag/yourkit.html b/blog/tag/yourkit.html
index fe9e73d1bf1..2a3220d3437 100644
--- a/blog/tag/yourkit.html
+++ b/blog/tag/yourkit.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/casestudies/boosting-agility-with-grails.html b/casestudies/boosting-agility-with-grails.html
index 5c794685309..7043ee99b07 100644
--- a/casestudies/boosting-agility-with-grails.html
+++ b/casestudies/boosting-agility-with-grails.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/casestudies/grails-case-study-enterprise-scale-application-development.html b/casestudies/grails-case-study-enterprise-scale-application-development.html
index 48b173004cf..dcafe85d4e9 100644
--- a/casestudies/grails-case-study-enterprise-scale-application-development.html
+++ b/casestudies/grails-case-study-enterprise-scale-application-development.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/casestudies/grails-case-study-providing-a-comprehensive-solution-for-a-public-university.html b/casestudies/grails-case-study-providing-a-comprehensive-solution-for-a-public-university.html
index 98df37c3895..f643519a81a 100644
--- a/casestudies/grails-case-study-providing-a-comprehensive-solution-for-a-public-university.html
+++ b/casestudies/grails-case-study-providing-a-comprehensive-solution-for-a-public-university.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/casestudies/grails-increases-developer-productivity.html b/casestudies/grails-increases-developer-productivity.html
index a0c6ecd3fcf..f8bcd1726f2 100644
--- a/casestudies/grails-increases-developer-productivity.html
+++ b/casestudies/grails-increases-developer-productivity.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/casestudies/increased-throughput-and-delivery-performance-with-grails.html b/casestudies/increased-throughput-and-delivery-performance-with-grails.html
index 1501a0a71ba..2dac572f365 100644
--- a/casestudies/increased-throughput-and-delivery-performance-with-grails.html
+++ b/casestudies/increased-throughput-and-delivery-performance-with-grails.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/casestudies/index.html b/casestudies/index.html
index 4b5941b41b9..fe358d26ea3 100644
--- a/casestudies/index.html
+++ b/casestudies/index.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/community.html b/community.html
index 48e0ce75b4f..c51d6d93663 100644
--- a/community.html
+++ b/community.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/documentation.html b/documentation.html
index 615e5a4dbfe..e11a3ff9c5d 100644
--- a/documentation.html
+++ b/documentation.html
@@ -89,7 +89,7 @@
<ul>
<li class='active'><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/download.html b/download.html
index c8fbbfe638c..a4c7f6ec972 100644
--- a/download.html
+++ b/download.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li class='active'><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/faq.html b/faq.html
index 209a0b13b03..b68784bc3e4 100644
--- a/faq.html
+++ b/faq.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li class='active'><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/foundation/minutes.xml b/foundation/minutes.xml
index 6e616ec6b9e..6f741d97aa0 100644
--- a/foundation/minutes.xml
+++ b/foundation/minutes.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0"><channel><title>Foundation | Grails Framework</title><link>https://grails.apache.org</link><description>A powerful Groovy-based web application framework for the JVM built on top of Spring Boot</description><pubDate>Sun, 03 May 2026 23:15:09 GMT</pubDate><item><title>Technology Advisory Board Meeting</title><link>https://grails.apache.org/foundation/minutes/20221128-tab.html< [...]
+<?xml version="1.0" encoding="UTF-8"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0"><channel><title>Foundation | Grails Framework</title><link>https://grails.apache.org</link><description>A powerful Groovy-based web application framework for the JVM built on top of Spring Boot</description><pubDate>Sun, 03 May 2026 23:46:08 GMT</pubDate><item><title>Technology Advisory Board Meeting</title><link>https://grails.apache.org/foundation/minutes/20221128-tab.html< [...]
<h3>Meeting Attendance:</h3>
<ul>
<li><strong>Puneet Behl</strong> - Grails Product Development Lead at Object Computing</li>
diff --git a/foundation/minutes/20210321-tab.html b/foundation/minutes/20210321-tab.html
index 43a9024a767..776368f75aa 100644
--- a/foundation/minutes/20210321-tab.html
+++ b/foundation/minutes/20210321-tab.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -213,17 +213,17 @@ community events</p>
<h3>2022</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@7b740b94</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@5d643cfd</minutesLink>
<parseDate>Nov 28, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@4481e491</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@7877888c</minutesLink>
<parseDate>Jul 07, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@25f052c8</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@6062d0d8</minutesLink>
<parseDate>Mar 23, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
@@ -231,12 +231,12 @@ community events</p>
<h3>2021</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@463293e8</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@6816f15d</minutesLink>
<parseDate>Dec 17, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@6522db25</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@68dd9927</minutesLink>
<parseDate>Mar 21, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
diff --git a/foundation/minutes/20211217-tab.html b/foundation/minutes/20211217-tab.html
index 090ce9267ab..5da0e433c23 100644
--- a/foundation/minutes/20211217-tab.html
+++ b/foundation/minutes/20211217-tab.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -255,17 +255,17 @@
<h3>2022</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@7b740b94</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@5d643cfd</minutesLink>
<parseDate>Nov 28, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@4481e491</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@7877888c</minutesLink>
<parseDate>Jul 07, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@25f052c8</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@6062d0d8</minutesLink>
<parseDate>Mar 23, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
@@ -273,12 +273,12 @@
<h3>2021</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@463293e8</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@6816f15d</minutesLink>
<parseDate>Dec 17, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@6522db25</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@68dd9927</minutesLink>
<parseDate>Mar 21, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
diff --git a/foundation/minutes/20220323-tab.html b/foundation/minutes/20220323-tab.html
index c71da41d045..d77b21b0709 100644
--- a/foundation/minutes/20220323-tab.html
+++ b/foundation/minutes/20220323-tab.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -298,17 +298,17 @@
<h3>2022</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@7b740b94</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@5d643cfd</minutesLink>
<parseDate>Nov 28, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@4481e491</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@7877888c</minutesLink>
<parseDate>Jul 07, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@25f052c8</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@6062d0d8</minutesLink>
<parseDate>Mar 23, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
@@ -316,12 +316,12 @@
<h3>2021</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@463293e8</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@6816f15d</minutesLink>
<parseDate>Dec 17, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@6522db25</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@68dd9927</minutesLink>
<parseDate>Mar 21, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
diff --git a/foundation/minutes/20220711-tab.html b/foundation/minutes/20220711-tab.html
index 27b431ee3c4..7bf0dc26153 100644
--- a/foundation/minutes/20220711-tab.html
+++ b/foundation/minutes/20220711-tab.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -206,17 +206,17 @@
<h3>2022</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@7b740b94</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@5d643cfd</minutesLink>
<parseDate>Nov 28, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@4481e491</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@7877888c</minutesLink>
<parseDate>Jul 07, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@25f052c8</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@6062d0d8</minutesLink>
<parseDate>Mar 23, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
@@ -224,12 +224,12 @@
<h3>2021</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@463293e8</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@6816f15d</minutesLink>
<parseDate>Dec 17, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@6522db25</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@68dd9927</minutesLink>
<parseDate>Mar 21, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
diff --git a/foundation/minutes/20221128-tab.html b/foundation/minutes/20221128-tab.html
index 7868973df7a..4448300f303 100644
--- a/foundation/minutes/20221128-tab.html
+++ b/foundation/minutes/20221128-tab.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -245,17 +245,17 @@
<h3>2022</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@7b740b94</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@5d643cfd</minutesLink>
<parseDate>Nov 28, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@4481e491</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@7877888c</minutesLink>
<parseDate>Jul 07, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@25f052c8</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@6062d0d8</minutesLink>
<parseDate>Mar 23, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
@@ -263,12 +263,12 @@
<h3>2021</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@463293e8</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@6816f15d</minutesLink>
<parseDate>Dec 17, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@6522db25</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@68dd9927</minutesLink>
<parseDate>Mar 21, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
diff --git a/foundation/minutes/index.html b/foundation/minutes/index.html
index 368dd7ec405..470a6a76dc0 100644
--- a/foundation/minutes/index.html
+++ b/foundation/minutes/index.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -100,7 +100,7 @@
</div>
</header>
-<article><div class='header-bar chalices-bg'><div class='content'><h1><a href='https://grails.apache.org/foundation/index.html'>Foundation</a></h1></div></div><div class='clear content container'><h3 class='column-header'>Meeting Minutes Archive</h3><div class='light'><div class='padded' style='padding-top: 0;'><div class="three-columns"><div class='column'><article class='blog-card' style='margin-bottom: 0; background-image: url(https://grails.apache.org/images/grails-blog-index-6.png)' [...]
+<article><div class='header-bar chalices-bg'><div class='content'><h1><a href='https://grails.apache.org/foundation/index.html'>Foundation</a></h1></div></div><div class='clear content container'><h3 class='column-header'>Meeting Minutes Archive</h3><div class='light'><div class='padded' style='padding-top: 0;'><div class="three-columns"><div class='column'><article class='blog-card' style='margin-bottom: 0; background-image: url(https://grails.apache.org/images/grails-blog-index-6.png)' [...]
<footer>
<div class='content'>
<div class='apache-grails'>
diff --git a/guides/_redirects.json b/guides/_redirects.json
index 47309209a11..5da2d3d9da6 100644
--- a/guides/_redirects.json
+++ b/guides/_redirects.json
@@ -1,6 +1,6 @@
{
"version": 1,
- "generated": "2026-05-03T23:16:31.279509768Z",
+ "generated": "2026-05-03T23:47:12.070729066Z",
"from_base": "https://guides.grails.org",
"to_base": "https://grails.apache.org/guides",
"count": 1767,
diff --git a/guides/adding-commit-info/3/guide/configuration.html b/guides/adding-commit-info/3/guide/configuration.html
index 2656ccca8c3..38e7b41f0ee 100644
--- a/guides/adding-commit-info/3/guide/configuration.html
+++ b/guides/adding-commit-info/3/guide/configuration.html
@@ -265,7 +265,7 @@ The <a href="https://github.com/spring-projects/spring-boot/blob/master/spring-b
There are some organizations who would would prefer to restrict commit info even further in their more sensitive environments.</p>
</div>
<div class="paragraph">
-<p>One approach is to leverage <a href="http://docs.grails.org/latest/guide/conf.html#environments">per-environment configuration</a>
+<p>One approach is to leverage <a href="https://grails.apache.org/docs/latest/guide/conf.html#environments">per-environment configuration</a>
to enable/disable and configure the endpoints differently according to the environment.
For example if you only wanted simple mode enabled in production you might use the following config:</p>
</div>
diff --git a/guides/adding-commit-info/3/guide/history.html b/guides/adding-commit-info/3/guide/history.html
index bf55bc24a0f..bdd452538bb 100644
--- a/guides/adding-commit-info/3/guide/history.html
+++ b/guides/adding-commit-info/3/guide/history.html
@@ -164,7 +164,7 @@ It could be the build system that appends git commit info as a build step before
<div class="paragraph">
-<p>Another popular approach that was popular with Grails 2.x was to utilize the <a href="https://grails.org/plugin/build-info">Build Info Plugin</a>
+<p>Another popular approach that was popular with Grails 2.x was to utilize the <a href="https://grails.apache.org/plugins.html">Build Info Plugin</a>
The build-info plugin works by utilizing the environment variables available via a build system like Jenkins.</p>
</div>
<div class="ulist">
diff --git a/guides/adding-commit-info/3/guide/index.html b/guides/adding-commit-info/3/guide/index.html
index 703a85bf956..9edb2dd63eb 100644
--- a/guides/adding-commit-info/3/guide/index.html
+++ b/guides/adding-commit-info/3/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -378,7 +378,7 @@ It could be the build system that appends git commit info as a build step before
<div class="paragraph">
-<p>Another popular approach that was popular with Grails 2.x was to utilize the <a href="https://grails.org/plugin/build-info">Build Info Plugin</a>
+<p>Another popular approach that was popular with Grails 2.x was to utilize the <a href="https://grails.apache.org/plugins.html">Build Info Plugin</a>
The build-info plugin works by utilizing the environment variables available via a build system like Jenkins.</p>
</div>
<div class="ulist">
@@ -794,7 +794,7 @@ The <a href="https://github.com/spring-projects/spring-boot/blob/master/spring-b
There are some organizations who would would prefer to restrict commit info even further in their more sensitive environments.</p>
</div>
<div class="paragraph">
-<p>One approach is to leverage <a href="http://docs.grails.org/latest/guide/conf.html#environments">per-environment configuration</a>
+<p>One approach is to leverage <a href="https://grails.apache.org/docs/latest/guide/conf.html#environments">per-environment configuration</a>
to enable/disable and configure the endpoints differently according to the environment.
For example if you only wanted simple mode enabled in production you might use the following config:</p>
</div>
diff --git a/guides/adding-commit-info/3/guide/pages/buildInfoPlugin.html b/guides/adding-commit-info/3/guide/pages/buildInfoPlugin.html
index 96b3099dc44..e98801b53b7 100644
--- a/guides/adding-commit-info/3/guide/pages/buildInfoPlugin.html
+++ b/guides/adding-commit-info/3/guide/pages/buildInfoPlugin.html
@@ -88,7 +88,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Another popular approach that was popular with Grails 2.x was to utilize the <a href="https://grails.org/plugin/build-info">Build Info Plugin</a>
+<p>Another popular approach that was popular with Grails 2.x was to utilize the <a href="https://grails.apache.org/plugins.html">Build Info Plugin</a>
The build-info plugin works by utilizing the environment variables available via a build system like Jenkins.</p>
</div>
<div class="ulist">
diff --git a/guides/adding-commit-info/3/guide/pages/perEnvironmentConfig.html b/guides/adding-commit-info/3/guide/pages/perEnvironmentConfig.html
index 33d94c0d1fa..183a0f7dc4d 100644
--- a/guides/adding-commit-info/3/guide/pages/perEnvironmentConfig.html
+++ b/guides/adding-commit-info/3/guide/pages/perEnvironmentConfig.html
@@ -92,7 +92,7 @@ function addJsClass() {
There are some organizations who would would prefer to restrict commit info even further in their more sensitive environments.</p>
</div>
<div class="paragraph">
-<p>One approach is to leverage <a href="http://docs.grails.org/latest/guide/conf.html#environments">per-environment configuration</a>
+<p>One approach is to leverage <a href="https://grails.apache.org/docs/latest/guide/conf.html#environments">per-environment configuration</a>
to enable/disable and configure the endpoints differently according to the environment.
For example if you only wanted simple mode enabled in production you might use the following config:</p>
</div>
diff --git a/guides/adding-commit-info/3/guide/single.html b/guides/adding-commit-info/3/guide/single.html
index 703a85bf956..9edb2dd63eb 100644
--- a/guides/adding-commit-info/3/guide/single.html
+++ b/guides/adding-commit-info/3/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -378,7 +378,7 @@ It could be the build system that appends git commit info as a build step before
<div class="paragraph">
-<p>Another popular approach that was popular with Grails 2.x was to utilize the <a href="https://grails.org/plugin/build-info">Build Info Plugin</a>
+<p>Another popular approach that was popular with Grails 2.x was to utilize the <a href="https://grails.apache.org/plugins.html">Build Info Plugin</a>
The build-info plugin works by utilizing the environment variables available via a build system like Jenkins.</p>
</div>
<div class="ulist">
@@ -794,7 +794,7 @@ The <a href="https://github.com/spring-projects/spring-boot/blob/master/spring-b
There are some organizations who would would prefer to restrict commit info even further in their more sensitive environments.</p>
</div>
<div class="paragraph">
-<p>One approach is to leverage <a href="http://docs.grails.org/latest/guide/conf.html#environments">per-environment configuration</a>
+<p>One approach is to leverage <a href="https://grails.apache.org/docs/latest/guide/conf.html#environments">per-environment configuration</a>
to enable/disable and configure the endpoints differently according to the environment.
For example if you only wanted simple mode enabled in production you might use the following config:</p>
</div>
diff --git a/guides/adding-commit-info/3/index.html b/guides/adding-commit-info/3/index.html
index 867641a19f2..a2a3eb9ac80 100644
--- a/guides/adding-commit-info/3/index.html
+++ b/guides/adding-commit-info/3/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/adding-commit-info/4/guide/configuration.html b/guides/adding-commit-info/4/guide/configuration.html
index d4ab8308174..c5ff4fa8b9a 100644
--- a/guides/adding-commit-info/4/guide/configuration.html
+++ b/guides/adding-commit-info/4/guide/configuration.html
@@ -277,7 +277,7 @@ The <a href="https://github.com/spring-projects/spring-boot/blob/master/spring-b
There are some organizations who would would prefer to restrict commit info even further in their more sensitive environments.</p>
</div>
<div class="paragraph">
-<p>One approach is to leverage <a href="http://docs.grails.org/latest/guide/conf.html#environments">per-environment configuration</a>
+<p>One approach is to leverage <a href="https://grails.apache.org/docs/latest/guide/conf.html#environments">per-environment configuration</a>
to enable/disable and configure the endpoints differently according to the environment.
For example if you only wanted simple mode enabled in production you might use the following config:</p>
</div>
diff --git a/guides/adding-commit-info/4/guide/history.html b/guides/adding-commit-info/4/guide/history.html
index 8977294f69b..2e3ba563031 100644
--- a/guides/adding-commit-info/4/guide/history.html
+++ b/guides/adding-commit-info/4/guide/history.html
@@ -164,7 +164,7 @@ It could be the build system that appends git commit info as a build step before
<div class="paragraph">
-<p>Another popular approach that was popular with Grails 2.x was to utilize the <a href="https://grails.org/plugin/build-info">Build Info Plugin</a>
+<p>Another popular approach that was popular with Grails 2.x was to utilize the <a href="https://grails.apache.org/plugins.html">Build Info Plugin</a>
The build-info plugin works by utilizing the environment variables available via a build system like Jenkins.</p>
</div>
<div class="ulist">
diff --git a/guides/adding-commit-info/4/guide/index.html b/guides/adding-commit-info/4/guide/index.html
index 0be4a0c1ded..f04b13e329a 100644
--- a/guides/adding-commit-info/4/guide/index.html
+++ b/guides/adding-commit-info/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -378,7 +378,7 @@ It could be the build system that appends git commit info as a build step before
<div class="paragraph">
-<p>Another popular approach that was popular with Grails 2.x was to utilize the <a href="https://grails.org/plugin/build-info">Build Info Plugin</a>
+<p>Another popular approach that was popular with Grails 2.x was to utilize the <a href="https://grails.apache.org/plugins.html">Build Info Plugin</a>
The build-info plugin works by utilizing the environment variables available via a build system like Jenkins.</p>
</div>
<div class="ulist">
@@ -806,7 +806,7 @@ The <a href="https://github.com/spring-projects/spring-boot/blob/master/spring-b
There are some organizations who would would prefer to restrict commit info even further in their more sensitive environments.</p>
</div>
<div class="paragraph">
-<p>One approach is to leverage <a href="http://docs.grails.org/latest/guide/conf.html#environments">per-environment configuration</a>
+<p>One approach is to leverage <a href="https://grails.apache.org/docs/latest/guide/conf.html#environments">per-environment configuration</a>
to enable/disable and configure the endpoints differently according to the environment.
For example if you only wanted simple mode enabled in production you might use the following config:</p>
</div>
diff --git a/guides/adding-commit-info/4/guide/pages/buildInfoPlugin.html b/guides/adding-commit-info/4/guide/pages/buildInfoPlugin.html
index 69e6039cd09..1aee6cb15c4 100644
--- a/guides/adding-commit-info/4/guide/pages/buildInfoPlugin.html
+++ b/guides/adding-commit-info/4/guide/pages/buildInfoPlugin.html
@@ -88,7 +88,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Another popular approach that was popular with Grails 2.x was to utilize the <a href="https://grails.org/plugin/build-info">Build Info Plugin</a>
+<p>Another popular approach that was popular with Grails 2.x was to utilize the <a href="https://grails.apache.org/plugins.html">Build Info Plugin</a>
The build-info plugin works by utilizing the environment variables available via a build system like Jenkins.</p>
</div>
<div class="ulist">
diff --git a/guides/adding-commit-info/4/guide/pages/perEnvironmentConfig.html b/guides/adding-commit-info/4/guide/pages/perEnvironmentConfig.html
index cd93af19656..d38907c5ac6 100644
--- a/guides/adding-commit-info/4/guide/pages/perEnvironmentConfig.html
+++ b/guides/adding-commit-info/4/guide/pages/perEnvironmentConfig.html
@@ -92,7 +92,7 @@ function addJsClass() {
There are some organizations who would would prefer to restrict commit info even further in their more sensitive environments.</p>
</div>
<div class="paragraph">
-<p>One approach is to leverage <a href="http://docs.grails.org/latest/guide/conf.html#environments">per-environment configuration</a>
+<p>One approach is to leverage <a href="https://grails.apache.org/docs/latest/guide/conf.html#environments">per-environment configuration</a>
to enable/disable and configure the endpoints differently according to the environment.
For example if you only wanted simple mode enabled in production you might use the following config:</p>
</div>
diff --git a/guides/adding-commit-info/4/guide/single.html b/guides/adding-commit-info/4/guide/single.html
index 0be4a0c1ded..f04b13e329a 100644
--- a/guides/adding-commit-info/4/guide/single.html
+++ b/guides/adding-commit-info/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -378,7 +378,7 @@ It could be the build system that appends git commit info as a build step before
<div class="paragraph">
-<p>Another popular approach that was popular with Grails 2.x was to utilize the <a href="https://grails.org/plugin/build-info">Build Info Plugin</a>
+<p>Another popular approach that was popular with Grails 2.x was to utilize the <a href="https://grails.apache.org/plugins.html">Build Info Plugin</a>
The build-info plugin works by utilizing the environment variables available via a build system like Jenkins.</p>
</div>
<div class="ulist">
@@ -806,7 +806,7 @@ The <a href="https://github.com/spring-projects/spring-boot/blob/master/spring-b
There are some organizations who would would prefer to restrict commit info even further in their more sensitive environments.</p>
</div>
<div class="paragraph">
-<p>One approach is to leverage <a href="http://docs.grails.org/latest/guide/conf.html#environments">per-environment configuration</a>
+<p>One approach is to leverage <a href="https://grails.apache.org/docs/latest/guide/conf.html#environments">per-environment configuration</a>
to enable/disable and configure the endpoints differently according to the environment.
For example if you only wanted simple mode enabled in production you might use the following config:</p>
</div>
diff --git a/guides/adding-commit-info/4/index.html b/guides/adding-commit-info/4/index.html
index d73feff0144..a9f8ccd0d28 100644
--- a/guides/adding-commit-info/4/index.html
+++ b/guides/adding-commit-info/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/angular2-combined/4/guide/index.html b/guides/angular2-combined/4/guide/index.html
index 17fb56c828d..887bfd07612 100644
--- a/guides/angular2-combined/4/guide/index.html
+++ b/guides/angular2-combined/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/angular2-combined/4/guide/single.html b/guides/angular2-combined/4/guide/single.html
index 17fb56c828d..887bfd07612 100644
--- a/guides/angular2-combined/4/guide/single.html
+++ b/guides/angular2-combined/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/angular2-combined/4/index.html b/guides/angular2-combined/4/index.html
index af6d5b47050..520edbfb09b 100644
--- a/guides/angular2-combined/4/index.html
+++ b/guides/angular2-combined/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/building-a-react-app/4/guide/index.html b/guides/building-a-react-app/4/guide/index.html
index 8886af63686..5032cf0876e 100644
--- a/guides/building-a-react-app/4/guide/index.html
+++ b/guides/building-a-react-app/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -540,7 +540,7 @@ Connection: close
</div>
</div>
<div class="paragraph">
-<p>This is sufficient for many usages, but we’ll need to get a bit more data for our React component in a moment. This is an excellent place for <a href="http://views.grails.org/latest/">JSON Views</a>. Let’s create a new JSON view to render our Vehicle list:</p>
+<p>This is sufficient for many usages, but we’ll need to get a bit more data for our React component in a moment. This is an excellent place for <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>. Let’s create a new JSON view to render our Vehicle list:</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/building-a-react-app/4/guide/pages/customizingApi.html b/guides/building-a-react-app/4/guide/pages/customizingApi.html
index 46456ed5f4c..fed1a8abc4b 100644
--- a/guides/building-a-react-app/4/guide/pages/customizingApi.html
+++ b/guides/building-a-react-app/4/guide/pages/customizingApi.html
@@ -103,7 +103,7 @@ Connection: close
</div>
</div>
<div class="paragraph">
-<p>This is sufficient for many usages, but we’ll need to get a bit more data for our React component in a moment. This is an excellent place for <a href="http://views.grails.org/latest/">JSON Views</a>. Let’s create a new JSON view to render our Vehicle list:</p>
+<p>This is sufficient for many usages, but we’ll need to get a bit more data for our React component in a moment. This is an excellent place for <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>. Let’s create a new JSON view to render our Vehicle list:</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/building-a-react-app/4/guide/runningTheApp.html b/guides/building-a-react-app/4/guide/runningTheApp.html
index fa13f223a38..4b4a40f033e 100644
--- a/guides/building-a-react-app/4/guide/runningTheApp.html
+++ b/guides/building-a-react-app/4/guide/runningTheApp.html
@@ -209,7 +209,7 @@ Connection: close
</div>
</div>
<div class="paragraph">
-<p>This is sufficient for many usages, but we’ll need to get a bit more data for our React component in a moment. This is an excellent place for <a href="http://views.grails.org/latest/">JSON Views</a>. Let’s create a new JSON view to render our Vehicle list:</p>
+<p>This is sufficient for many usages, but we’ll need to get a bit more data for our React component in a moment. This is an excellent place for <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>. Let’s create a new JSON view to render our Vehicle list:</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/building-a-react-app/4/guide/single.html b/guides/building-a-react-app/4/guide/single.html
index 8886af63686..5032cf0876e 100644
--- a/guides/building-a-react-app/4/guide/single.html
+++ b/guides/building-a-react-app/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -540,7 +540,7 @@ Connection: close
</div>
</div>
<div class="paragraph">
-<p>This is sufficient for many usages, but we’ll need to get a bit more data for our React component in a moment. This is an excellent place for <a href="http://views.grails.org/latest/">JSON Views</a>. Let’s create a new JSON view to render our Vehicle list:</p>
+<p>This is sufficient for many usages, but we’ll need to get a bit more data for our React component in a moment. This is an excellent place for <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>. Let’s create a new JSON view to render our Vehicle list:</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/building-a-react-app/4/index.html b/guides/building-a-react-app/4/index.html
index a8d8ff30624..bf45b15bf82 100644
--- a/guides/building-a-react-app/4/index.html
+++ b/guides/building-a-react-app/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/building-a-vue-app/4/guide/gettingStarted.html b/guides/building-a-vue-app/4/guide/gettingStarted.html
index 9d693331d42..3b570b34c91 100644
--- a/guides/building-a-vue-app/4/guide/gettingStarted.html
+++ b/guides/building-a-vue-app/4/guide/gettingStarted.html
@@ -99,7 +99,7 @@ function addJsClass() {
<div class="paragraph">
-<p>In this guide we will build a Grails application with a Vue.js app as the frontend, using the <a href="https://grails-profiles.github.io/vue/latest/guide/index.html">Vue profile</a>. The example project will be the <code>Garage</code> application as seen in the <a href="http://guides.grails.org/building-a-react-app/guide/index.html">React</a> and <a href="http://guides.grails.org/vaadin-grails/guide/index.html">Vaadin</a> guides. You can refer to those guides for comparison with the V [...]
+<p>In this guide we will build a Grails application with a Vue.js app as the frontend, using the <a href="https://grails-profiles.github.io/vue/latest/guide/index.html">Vue profile</a>. The example project will be the <code>Garage</code> application as seen in the <a href="https://grails.apache.org/guides/building-a-react-app/guide/index.html">React</a> and <a href="https://grails.apache.org/guides/vaadin-grails/guide/index.html">Vaadin</a> guides. You can refer to those guides for compa [...]
</div>
<div class="paragraph">
<p>Please note that this guide is not an introduction to Vue.js. You can refer to the <a href="https://vuejs.org/v2/guide/">official documentation</a>, or see this <a href="https://objectcomputing.com/resources/publications/sett/january-2018-room-with-a-vue-part-1">introductory article</a>.</p>
diff --git a/guides/building-a-vue-app/4/guide/index.html b/guides/building-a-vue-app/4/guide/index.html
index b3e53b0a1da..ffb9df61fbe 100644
--- a/guides/building-a-vue-app/4/guide/index.html
+++ b/guides/building-a-vue-app/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -178,7 +178,7 @@
<div class="paragraph">
-<p>In this guide we will build a Grails application with a Vue.js app as the frontend, using the <a href="https://grails-profiles.github.io/vue/latest/guide/index.html">Vue profile</a>. The example project will be the <code>Garage</code> application as seen in the <a href="http://guides.grails.org/building-a-react-app/guide/index.html">React</a> and <a href="http://guides.grails.org/vaadin-grails/guide/index.html">Vaadin</a> guides. You can refer to those guides for comparison with the V [...]
+<p>In this guide we will build a Grails application with a Vue.js app as the frontend, using the <a href="https://grails-profiles.github.io/vue/latest/guide/index.html">Vue profile</a>. The example project will be the <code>Garage</code> application as seen in the <a href="https://grails.apache.org/guides/building-a-react-app/guide/index.html">React</a> and <a href="https://grails.apache.org/guides/vaadin-grails/guide/index.html">Vaadin</a> guides. You can refer to those guides for compa [...]
</div>
<div class="paragraph">
<p>Please note that this guide is not an introduction to Vue.js. You can refer to the <a href="https://vuejs.org/v2/guide/">official documentation</a>, or see this <a href="https://objectcomputing.com/resources/publications/sett/january-2018-room-with-a-vue-part-1">introductory article</a>.</p>
@@ -641,7 +641,7 @@ Connection: close
</div>
</div>
<div class="paragraph">
-<p>This is standard for many REST APIs, but we’ll need to get a bit more data from this endpoint for our Vue app in a moment. This is an excellent scenario for <a href="http://views.grails.org/latest/">JSON Views</a>. Let’s create a new JSON view to render our Vehicle list:</p>
+<p>This is standard for many REST APIs, but we’ll need to get a bit more data from this endpoint for our Vue app in a moment. This is an excellent scenario for <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>. Let’s create a new JSON view to render our Vehicle list:</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/building-a-vue-app/4/guide/pages/customizingApi.html b/guides/building-a-vue-app/4/guide/pages/customizingApi.html
index 2108f3e98d5..1d9ab201709 100644
--- a/guides/building-a-vue-app/4/guide/pages/customizingApi.html
+++ b/guides/building-a-vue-app/4/guide/pages/customizingApi.html
@@ -104,7 +104,7 @@ Connection: close
</div>
</div>
<div class="paragraph">
-<p>This is standard for many REST APIs, but we’ll need to get a bit more data from this endpoint for our Vue app in a moment. This is an excellent scenario for <a href="http://views.grails.org/latest/">JSON Views</a>. Let’s create a new JSON view to render our Vehicle list:</p>
+<p>This is standard for many REST APIs, but we’ll need to get a bit more data from this endpoint for our Vue app in a moment. This is an excellent scenario for <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>. Let’s create a new JSON view to render our Vehicle list:</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/building-a-vue-app/4/guide/single.html b/guides/building-a-vue-app/4/guide/single.html
index b3e53b0a1da..ffb9df61fbe 100644
--- a/guides/building-a-vue-app/4/guide/single.html
+++ b/guides/building-a-vue-app/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -178,7 +178,7 @@
<div class="paragraph">
-<p>In this guide we will build a Grails application with a Vue.js app as the frontend, using the <a href="https://grails-profiles.github.io/vue/latest/guide/index.html">Vue profile</a>. The example project will be the <code>Garage</code> application as seen in the <a href="http://guides.grails.org/building-a-react-app/guide/index.html">React</a> and <a href="http://guides.grails.org/vaadin-grails/guide/index.html">Vaadin</a> guides. You can refer to those guides for comparison with the V [...]
+<p>In this guide we will build a Grails application with a Vue.js app as the frontend, using the <a href="https://grails-profiles.github.io/vue/latest/guide/index.html">Vue profile</a>. The example project will be the <code>Garage</code> application as seen in the <a href="https://grails.apache.org/guides/building-a-react-app/guide/index.html">React</a> and <a href="https://grails.apache.org/guides/vaadin-grails/guide/index.html">Vaadin</a> guides. You can refer to those guides for compa [...]
</div>
<div class="paragraph">
<p>Please note that this guide is not an introduction to Vue.js. You can refer to the <a href="https://vuejs.org/v2/guide/">official documentation</a>, or see this <a href="https://objectcomputing.com/resources/publications/sett/january-2018-room-with-a-vue-part-1">introductory article</a>.</p>
@@ -641,7 +641,7 @@ Connection: close
</div>
</div>
<div class="paragraph">
-<p>This is standard for many REST APIs, but we’ll need to get a bit more data from this endpoint for our Vue app in a moment. This is an excellent scenario for <a href="http://views.grails.org/latest/">JSON Views</a>. Let’s create a new JSON view to render our Vehicle list:</p>
+<p>This is standard for many REST APIs, but we’ll need to get a bit more data from this endpoint for our Vue app in a moment. This is an excellent scenario for <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>. Let’s create a new JSON view to render our Vehicle list:</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/building-a-vue-app/4/guide/writingTheServer.html b/guides/building-a-vue-app/4/guide/writingTheServer.html
index 3be61f310aa..be7b34fdb71 100644
--- a/guides/building-a-vue-app/4/guide/writingTheServer.html
+++ b/guides/building-a-vue-app/4/guide/writingTheServer.html
@@ -404,7 +404,7 @@ Connection: close
</div>
</div>
<div class="paragraph">
-<p>This is standard for many REST APIs, but we’ll need to get a bit more data from this endpoint for our Vue app in a moment. This is an excellent scenario for <a href="http://views.grails.org/latest/">JSON Views</a>. Let’s create a new JSON view to render our Vehicle list:</p>
+<p>This is standard for many REST APIs, but we’ll need to get a bit more data from this endpoint for our Vue app in a moment. This is an excellent scenario for <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>. Let’s create a new JSON view to render our Vehicle list:</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/building-a-vue-app/4/index.html b/guides/building-a-vue-app/4/index.html
index e011c2689f4..eba615305f6 100644
--- a/guides/building-a-vue-app/4/index.html
+++ b/guides/building-a-vue-app/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/gettingStarted.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
index 51ca4ea6ed3..12edb42e5cb 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
@@ -102,7 +102,7 @@ function addJsClass() {
<div class="paragraph">
-<p>In this guide you are going to build a <a href="http://grails.org">Grails application</a> which will serve as a company intranet backend.
+<p>In this guide you are going to build a <a href="https://grails.apache.org">Grails application</a> which will serve as a company intranet backend.
It exposes a JSON API of company announcements.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/index.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/index.html
index b93f1b59e56..77bc61847c3 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/index.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -188,7 +188,7 @@
<div class="paragraph">
-<p>In this guide you are going to build a <a href="http://grails.org">Grails application</a> which will serve as a company intranet backend.
+<p>In this guide you are going to build a <a href="https://grails.apache.org">Grails application</a> which will serve as a company intranet backend.
It exposes a JSON API of company announcements.</p>
</div>
<div class="paragraph">
@@ -409,7 +409,7 @@ detail screen the announcement identifier, title and HTML body. The latter will
<div class="paragraph">
-<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
+<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
</div>
<div class="quoteblock">
<blockquote>
@@ -420,7 +420,7 @@ mapped onto an underlying database table. In Grails a domain is a class that liv
</blockquote>
</div>
<div class="paragraph">
-<p>Grails simplifies the creation of domain classes with the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
+<p>Grails simplifies the creation of domain classes with the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -477,7 +477,7 @@ We are going to modify the domain class generated in the previous step to store
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html">Grails makes testing easier</a> from low-level unit testing to high
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html">Grails makes testing easier</a> from low-level unit testing to high
level functional tests.</p>
</div>
<div class="paragraph">
@@ -578,7 +578,7 @@ consumed by mobile phone applications. Users will run different versions of the
your API to create advanced functionality but keep supporting legacy versions.</p>
</div>
<div class="paragraph">
-<p>Grails allows multiple ways to <a href="http://docs.grails.org/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
+<p>Grails allows multiple ways to <a href="https://grails.apache.org/docs/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
</div>
<div class="ulist">
<ul>
@@ -624,7 +624,7 @@ your API to create advanced functionality but keep supporting legacy versions.</
<div class="paragraph">
-<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="http://docs.grails.org/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
+<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="https://grails.apache.org/docs/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
will provide us RESTful functionality to list, create, update and delete <code>Announcement</code> resources using
different HTTP Methods.</p>
</div>
@@ -665,7 +665,7 @@ different HTTP Methods.</p>
which we declared a namespace of v1 to handle the requests with the Accept-Version Http Header set to 1.0.</p>
</div>
<div class="paragraph">
-<p>Grails enables powerful <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
+<p>Grails enables powerful <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
do that. Add the next line to the mappings closure:</p>
</div>
<div class="listingblock">
@@ -738,7 +738,7 @@ to keep the code sample small. Checkout <code>grails-app/init/intranet/backend/B
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behavior.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/domainClass.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/domainClass.html
index 94c2dcc8081..5537f103374 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/domainClass.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/domainClass.html
@@ -91,7 +91,7 @@ function addJsClass() {
<div class="paragraph">
-<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
+<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
</div>
<div class="quoteblock">
<blockquote>
@@ -102,7 +102,7 @@ mapped onto an underlying database table. In Grails a domain is a class that liv
</blockquote>
</div>
<div class="paragraph">
-<p>Grails simplifies the creation of domain classes with the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
+<p>Grails simplifies the creation of domain classes with the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/domainClassTest.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/domainClassTest.html
index 344e74ea7c1..415235716fa 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/domainClassTest.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/domainClassTest.html
@@ -91,7 +91,7 @@ function addJsClass() {
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html">Grails makes testing easier</a> from low-level unit testing to high
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html">Grails makes testing easier</a> from low-level unit testing to high
level functional tests.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/v1Controller.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/v1Controller.html
index 4aa456ed856..4d079e6a825 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/v1Controller.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/v1Controller.html
@@ -91,7 +91,7 @@ function addJsClass() {
<div class="paragraph">
-<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="http://docs.grails.org/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
+<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="https://grails.apache.org/docs/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
will provide us RESTful functionality to list, create, update and delete <code>Announcement</code> resources using
different HTTP Methods.</p>
</div>
@@ -132,7 +132,7 @@ different HTTP Methods.</p>
which we declared a namespace of v1 to handle the requests with the Accept-Version Http Header set to 1.0.</p>
</div>
<div class="paragraph">
-<p>Grails enables powerful <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
+<p>Grails enables powerful <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
do that. Add the next line to the mappings closure:</p>
</div>
<div class="listingblock">
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/v1FunctionalTests.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/v1FunctionalTests.html
index 717b956455b..9a366ecf7bf 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/v1FunctionalTests.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/v1FunctionalTests.html
@@ -91,7 +91,7 @@ function addJsClass() {
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behavior.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/versioning.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/versioning.html
index 0b7312bfc48..949cae3894b 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/versioning.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/pages/versioning.html
@@ -96,7 +96,7 @@ consumed by mobile phone applications. Users will run different versions of the
your API to create advanced functionality but keep supporting legacy versions.</p>
</div>
<div class="paragraph">
-<p>Grails allows multiple ways to <a href="http://docs.grails.org/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
+<p>Grails allows multiple ways to <a href="https://grails.apache.org/docs/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
</div>
<div class="ulist">
<ul>
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/single.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/single.html
index b93f1b59e56..77bc61847c3 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/single.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -188,7 +188,7 @@
<div class="paragraph">
-<p>In this guide you are going to build a <a href="http://grails.org">Grails application</a> which will serve as a company intranet backend.
+<p>In this guide you are going to build a <a href="https://grails.apache.org">Grails application</a> which will serve as a company intranet backend.
It exposes a JSON API of company announcements.</p>
</div>
<div class="paragraph">
@@ -409,7 +409,7 @@ detail screen the announcement identifier, title and HTML body. The latter will
<div class="paragraph">
-<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
+<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
</div>
<div class="quoteblock">
<blockquote>
@@ -420,7 +420,7 @@ mapped onto an underlying database table. In Grails a domain is a class that liv
</blockquote>
</div>
<div class="paragraph">
-<p>Grails simplifies the creation of domain classes with the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
+<p>Grails simplifies the creation of domain classes with the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -477,7 +477,7 @@ We are going to modify the domain class generated in the previous step to store
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html">Grails makes testing easier</a> from low-level unit testing to high
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html">Grails makes testing easier</a> from low-level unit testing to high
level functional tests.</p>
</div>
<div class="paragraph">
@@ -578,7 +578,7 @@ consumed by mobile phone applications. Users will run different versions of the
your API to create advanced functionality but keep supporting legacy versions.</p>
</div>
<div class="paragraph">
-<p>Grails allows multiple ways to <a href="http://docs.grails.org/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
+<p>Grails allows multiple ways to <a href="https://grails.apache.org/docs/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
</div>
<div class="ulist">
<ul>
@@ -624,7 +624,7 @@ your API to create advanced functionality but keep supporting legacy versions.</
<div class="paragraph">
-<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="http://docs.grails.org/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
+<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="https://grails.apache.org/docs/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
will provide us RESTful functionality to list, create, update and delete <code>Announcement</code> resources using
different HTTP Methods.</p>
</div>
@@ -665,7 +665,7 @@ different HTTP Methods.</p>
which we declared a namespace of v1 to handle the requests with the Accept-Version Http Header set to 1.0.</p>
</div>
<div class="paragraph">
-<p>Grails enables powerful <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
+<p>Grails enables powerful <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
do that. Add the next line to the mappings closure:</p>
</div>
<div class="listingblock">
@@ -738,7 +738,7 @@ to keep the code sample small. Checkout <code>grails-app/init/intranet/backend/B
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behavior.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
index 75998f792b7..ccf5b1d9d45 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
@@ -131,7 +131,7 @@ function addJsClass() {
<div class="paragraph">
-<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
+<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
</div>
<div class="quoteblock">
<blockquote>
@@ -142,7 +142,7 @@ mapped onto an underlying database table. In Grails a domain is a class that liv
</blockquote>
</div>
<div class="paragraph">
-<p>Grails simplifies the creation of domain classes with the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
+<p>Grails simplifies the creation of domain classes with the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -199,7 +199,7 @@ We are going to modify the domain class generated in the previous step to store
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html">Grails makes testing easier</a> from low-level unit testing to high
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html">Grails makes testing easier</a> from low-level unit testing to high
level functional tests.</p>
</div>
<div class="paragraph">
@@ -300,7 +300,7 @@ consumed by mobile phone applications. Users will run different versions of the
your API to create advanced functionality but keep supporting legacy versions.</p>
</div>
<div class="paragraph">
-<p>Grails allows multiple ways to <a href="http://docs.grails.org/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
+<p>Grails allows multiple ways to <a href="https://grails.apache.org/docs/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
</div>
<div class="ulist">
<ul>
@@ -346,7 +346,7 @@ your API to create advanced functionality but keep supporting legacy versions.</
<div class="paragraph">
-<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="http://docs.grails.org/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
+<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="https://grails.apache.org/docs/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
will provide us RESTful functionality to list, create, update and delete <code>Announcement</code> resources using
different HTTP Methods.</p>
</div>
@@ -387,7 +387,7 @@ different HTTP Methods.</p>
which we declared a namespace of v1 to handle the requests with the Accept-Version Http Header set to 1.0.</p>
</div>
<div class="paragraph">
-<p>Grails enables powerful <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
+<p>Grails enables powerful <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
do that. Add the next line to the mappings closure:</p>
</div>
<div class="listingblock">
@@ -460,7 +460,7 @@ to keep the code sample small. Checkout <code>grails-app/init/intranet/backend/B
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behavior.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/index.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/index.html
index c8e6cd947d5..3e7b2e30fb8 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/index.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/gettingStarted.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
index e0da45b6698..7da98618574 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
@@ -102,7 +102,7 @@ function addJsClass() {
<div class="paragraph">
-<p>In this guide you are going to build a <a href="http://grails.org">Grails application</a> which will serve as a company intranet backend.
+<p>In this guide you are going to build a <a href="https://grails.apache.org">Grails application</a> which will serve as a company intranet backend.
It exposes a JSON API of company announcements.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/index.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/index.html
index a56af129730..ea72f7d15c6 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/index.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -194,7 +194,7 @@
<div class="paragraph">
-<p>In this guide you are going to build a <a href="http://grails.org">Grails application</a> which will serve as a company intranet backend.
+<p>In this guide you are going to build a <a href="https://grails.apache.org">Grails application</a> which will serve as a company intranet backend.
It exposes a JSON API of company announcements.</p>
</div>
<div class="paragraph">
@@ -415,7 +415,7 @@ The latter will be rendered in a <em>UIWebView</em></p>
<div class="paragraph">
-<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
+<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
</div>
<div class="quoteblock">
<blockquote>
@@ -426,7 +426,7 @@ mapped onto an underlying database table. In Grails a domain is a class that liv
</blockquote>
</div>
<div class="paragraph">
-<p>Grails simplifies the creation of domain classes with the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
+<p>Grails simplifies the creation of domain classes with the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -483,7 +483,7 @@ We are going to modify the domain class generated in the previous step to store
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html">Grails makes testing easier</a> from low level unit testing to high
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html">Grails makes testing easier</a> from low level unit testing to high
level functional tests.</p>
</div>
<div class="paragraph">
@@ -587,7 +587,7 @@ consumed by mobile phone applications. Users will run different versions of the
your API to create advanced functionality but keep supporting legacy versions.</p>
</div>
<div class="paragraph">
-<p>Grails allows multiple ways to <a href="http://docs.grails.org/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
+<p>Grails allows multiple ways to <a href="https://grails.apache.org/docs/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
</div>
<div class="ulist">
<ul>
@@ -633,7 +633,7 @@ your API to create advanced functionality but keep supporting legacy versions.</
<div class="paragraph">
-<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="http://docs.grails.org/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
+<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="https://grails.apache.org/docs/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
will provide us RESTful functionality to list, create, update and delete <code>Announcement</code> resources using
different HTTP Methods.</p>
</div>
@@ -674,7 +674,7 @@ different HTTP Methods.</p>
which we declared a namespace of v1 to handle the requests with the Accept-Version Http Header set to 1.0.</p>
</div>
<div class="paragraph">
-<p>Grails enables powerful <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
+<p>Grails enables powerful <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
do that. Add the next line to the mappings closure:</p>
</div>
<div class="listingblock">
@@ -747,7 +747,7 @@ to keep the code sample small. Checkout <code>grails-app/init/intranet/backend/B
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behavior.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/domainClass.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/domainClass.html
index 903046550bc..82a91545acd 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/domainClass.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/domainClass.html
@@ -91,7 +91,7 @@ function addJsClass() {
<div class="paragraph">
-<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
+<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
</div>
<div class="quoteblock">
<blockquote>
@@ -102,7 +102,7 @@ mapped onto an underlying database table. In Grails a domain is a class that liv
</blockquote>
</div>
<div class="paragraph">
-<p>Grails simplifies the creation of domain classes with the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
+<p>Grails simplifies the creation of domain classes with the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/domainClassTest.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/domainClassTest.html
index e8e00a480b8..4e13484d4bc 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/domainClassTest.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/domainClassTest.html
@@ -91,7 +91,7 @@ function addJsClass() {
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html">Grails makes testing easier</a> from low level unit testing to high
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html">Grails makes testing easier</a> from low level unit testing to high
level functional tests.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/v1Controller.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/v1Controller.html
index 9fc4017498e..5c7c248b6ec 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/v1Controller.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/v1Controller.html
@@ -91,7 +91,7 @@ function addJsClass() {
<div class="paragraph">
-<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="http://docs.grails.org/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
+<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="https://grails.apache.org/docs/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
will provide us RESTful functionality to list, create, update and delete <code>Announcement</code> resources using
different HTTP Methods.</p>
</div>
@@ -132,7 +132,7 @@ different HTTP Methods.</p>
which we declared a namespace of v1 to handle the requests with the Accept-Version Http Header set to 1.0.</p>
</div>
<div class="paragraph">
-<p>Grails enables powerful <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
+<p>Grails enables powerful <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
do that. Add the next line to the mappings closure:</p>
</div>
<div class="listingblock">
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/v1FunctionalTests.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/v1FunctionalTests.html
index fa80b201d4b..f605d5beb33 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/v1FunctionalTests.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/v1FunctionalTests.html
@@ -91,7 +91,7 @@ function addJsClass() {
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behavior.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/versioning.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/versioning.html
index e25c1154cba..ddd696c863e 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/versioning.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/pages/versioning.html
@@ -96,7 +96,7 @@ consumed by mobile phone applications. Users will run different versions of the
your API to create advanced functionality but keep supporting legacy versions.</p>
</div>
<div class="paragraph">
-<p>Grails allows multiple ways to <a href="http://docs.grails.org/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
+<p>Grails allows multiple ways to <a href="https://grails.apache.org/docs/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
</div>
<div class="ulist">
<ul>
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/single.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/single.html
index a56af129730..ea72f7d15c6 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/single.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -194,7 +194,7 @@
<div class="paragraph">
-<p>In this guide you are going to build a <a href="http://grails.org">Grails application</a> which will serve as a company intranet backend.
+<p>In this guide you are going to build a <a href="https://grails.apache.org">Grails application</a> which will serve as a company intranet backend.
It exposes a JSON API of company announcements.</p>
</div>
<div class="paragraph">
@@ -415,7 +415,7 @@ The latter will be rendered in a <em>UIWebView</em></p>
<div class="paragraph">
-<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
+<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
</div>
<div class="quoteblock">
<blockquote>
@@ -426,7 +426,7 @@ mapped onto an underlying database table. In Grails a domain is a class that liv
</blockquote>
</div>
<div class="paragraph">
-<p>Grails simplifies the creation of domain classes with the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
+<p>Grails simplifies the creation of domain classes with the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -483,7 +483,7 @@ We are going to modify the domain class generated in the previous step to store
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html">Grails makes testing easier</a> from low level unit testing to high
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html">Grails makes testing easier</a> from low level unit testing to high
level functional tests.</p>
</div>
<div class="paragraph">
@@ -587,7 +587,7 @@ consumed by mobile phone applications. Users will run different versions of the
your API to create advanced functionality but keep supporting legacy versions.</p>
</div>
<div class="paragraph">
-<p>Grails allows multiple ways to <a href="http://docs.grails.org/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
+<p>Grails allows multiple ways to <a href="https://grails.apache.org/docs/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
</div>
<div class="ulist">
<ul>
@@ -633,7 +633,7 @@ your API to create advanced functionality but keep supporting legacy versions.</
<div class="paragraph">
-<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="http://docs.grails.org/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
+<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="https://grails.apache.org/docs/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
will provide us RESTful functionality to list, create, update and delete <code>Announcement</code> resources using
different HTTP Methods.</p>
</div>
@@ -674,7 +674,7 @@ different HTTP Methods.</p>
which we declared a namespace of v1 to handle the requests with the Accept-Version Http Header set to 1.0.</p>
</div>
<div class="paragraph">
-<p>Grails enables powerful <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
+<p>Grails enables powerful <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
do that. Add the next line to the mappings closure:</p>
</div>
<div class="listingblock">
@@ -747,7 +747,7 @@ to keep the code sample small. Checkout <code>grails-app/init/intranet/backend/B
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behavior.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
index 5db073d32ae..468583cde27 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
@@ -131,7 +131,7 @@ function addJsClass() {
<div class="paragraph">
-<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
+<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
</div>
<div class="quoteblock">
<blockquote>
@@ -142,7 +142,7 @@ mapped onto an underlying database table. In Grails a domain is a class that liv
</blockquote>
</div>
<div class="paragraph">
-<p>Grails simplifies the creation of domain classes with the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
+<p>Grails simplifies the creation of domain classes with the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -199,7 +199,7 @@ We are going to modify the domain class generated in the previous step to store
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html">Grails makes testing easier</a> from low level unit testing to high
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html">Grails makes testing easier</a> from low level unit testing to high
level functional tests.</p>
</div>
<div class="paragraph">
@@ -303,7 +303,7 @@ consumed by mobile phone applications. Users will run different versions of the
your API to create advanced functionality but keep supporting legacy versions.</p>
</div>
<div class="paragraph">
-<p>Grails allows multiple ways to <a href="http://docs.grails.org/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
+<p>Grails allows multiple ways to <a href="https://grails.apache.org/docs/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
</div>
<div class="ulist">
<ul>
@@ -349,7 +349,7 @@ your API to create advanced functionality but keep supporting legacy versions.</
<div class="paragraph">
-<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="http://docs.grails.org/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
+<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="https://grails.apache.org/docs/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
will provide us RESTful functionality to list, create, update and delete <code>Announcement</code> resources using
different HTTP Methods.</p>
</div>
@@ -390,7 +390,7 @@ different HTTP Methods.</p>
which we declared a namespace of v1 to handle the requests with the Accept-Version Http Header set to 1.0.</p>
</div>
<div class="paragraph">
-<p>Grails enables powerful <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
+<p>Grails enables powerful <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
do that. Add the next line to the mappings closure:</p>
</div>
<div class="listingblock">
@@ -463,7 +463,7 @@ to keep the code sample small. Checkout <code>grails-app/init/intranet/backend/B
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behavior.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/index.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/index.html
index d87de8675e6..129df673955 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/index.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/gettingStarted.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
index b93f082c4fb..30360028103 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
@@ -102,7 +102,7 @@ function addJsClass() {
<div class="paragraph">
-<p>In this guide you are going to build a <a href="http://grails.org">Grails application</a> which will serve as a company intranet backend.
+<p>In this guide you are going to build a <a href="https://grails.apache.org">Grails application</a> which will serve as a company intranet backend.
It exposes a JSON API of company announcements.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/index.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/index.html
index 2b935a92e75..9c93466482d 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/index.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -192,7 +192,7 @@
<div class="paragraph">
-<p>In this guide you are going to build a <a href="http://grails.org">Grails application</a> which will serve as a company intranet backend.
+<p>In this guide you are going to build a <a href="https://grails.apache.org">Grails application</a> which will serve as a company intranet backend.
It exposes a JSON API of company announcements.</p>
</div>
<div class="paragraph">
@@ -414,7 +414,7 @@ The latter will be rendered in a <em>UIWebView</em></p>
<div class="paragraph">
-<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
+<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
</div>
<div class="quoteblock">
<blockquote>
@@ -425,7 +425,7 @@ mapped onto an underlying database table. In Grails a domain is a class that liv
</blockquote>
</div>
<div class="paragraph">
-<p>Grails simplifies the creation of domain classes with the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
+<p>Grails simplifies the creation of domain classes with the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -482,7 +482,7 @@ We are going to modify the domain class generated in the previous step to store
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html">Grails makes testing easier</a> from low level unit testing to high
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html">Grails makes testing easier</a> from low level unit testing to high
level functional tests.</p>
</div>
<div class="paragraph">
@@ -586,7 +586,7 @@ consumed by mobile phone applications. Users will run different versions of the
your API to create advanced functionality but keep supporting legacy versions.</p>
</div>
<div class="paragraph">
-<p>Grails allows multiple ways to <a href="http://docs.grails.org/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
+<p>Grails allows multiple ways to <a href="https://grails.apache.org/docs/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
</div>
<div class="ulist">
<ul>
@@ -632,7 +632,7 @@ your API to create advanced functionality but keep supporting legacy versions.</
<div class="paragraph">
-<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="http://docs.grails.org/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
+<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="https://grails.apache.org/docs/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
will provide us RESTful functionality to list, create, update and delete <code>Announcement</code> resources using
different HTTP Methods.</p>
</div>
@@ -673,7 +673,7 @@ different HTTP Methods.</p>
which we declared a namespace of v1 to handle the requests with the Accept-Version Http Header set to 1.0.</p>
</div>
<div class="paragraph">
-<p>Grails enables powerful <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
+<p>Grails enables powerful <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
do that. Add the next line to the mappings closure:</p>
</div>
<div class="listingblock">
@@ -746,7 +746,7 @@ to keep the code sample small. Checkout <code>grails-app/init/intranet/backend/B
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behavior.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/domainClass.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/domainClass.html
index d7fcae41159..f71a25438cb 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/domainClass.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/domainClass.html
@@ -91,7 +91,7 @@ function addJsClass() {
<div class="paragraph">
-<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
+<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
</div>
<div class="quoteblock">
<blockquote>
@@ -102,7 +102,7 @@ mapped onto an underlying database table. In Grails a domain is a class that liv
</blockquote>
</div>
<div class="paragraph">
-<p>Grails simplifies the creation of domain classes with the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
+<p>Grails simplifies the creation of domain classes with the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/domainClassTest.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/domainClassTest.html
index 58eadf58508..85ccb1ad857 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/domainClassTest.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/domainClassTest.html
@@ -91,7 +91,7 @@ function addJsClass() {
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html">Grails makes testing easier</a> from low level unit testing to high
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html">Grails makes testing easier</a> from low level unit testing to high
level functional tests.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/v1Controller.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/v1Controller.html
index 6464c6ee30e..f77ac53f967 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/v1Controller.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/v1Controller.html
@@ -91,7 +91,7 @@ function addJsClass() {
<div class="paragraph">
-<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="http://docs.grails.org/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
+<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="https://grails.apache.org/docs/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
will provide us RESTful functionality to list, create, update and delete <code>Announcement</code> resources using
different HTTP Methods.</p>
</div>
@@ -132,7 +132,7 @@ different HTTP Methods.</p>
which we declared a namespace of v1 to handle the requests with the Accept-Version Http Header set to 1.0.</p>
</div>
<div class="paragraph">
-<p>Grails enables powerful <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
+<p>Grails enables powerful <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
do that. Add the next line to the mappings closure:</p>
</div>
<div class="listingblock">
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/v1FunctionalTests.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/v1FunctionalTests.html
index c215e30ca2b..94869ff35f0 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/v1FunctionalTests.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/v1FunctionalTests.html
@@ -91,7 +91,7 @@ function addJsClass() {
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behavior.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/versioning.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/versioning.html
index e3e40a2595c..e5d8dc74acf 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/versioning.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/pages/versioning.html
@@ -96,7 +96,7 @@ consumed by mobile phone applications. Users will run different versions of the
your API to create advanced functionality but keep supporting legacy versions.</p>
</div>
<div class="paragraph">
-<p>Grails allows multiple ways to <a href="http://docs.grails.org/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
+<p>Grails allows multiple ways to <a href="https://grails.apache.org/docs/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
</div>
<div class="ulist">
<ul>
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/single.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/single.html
index 2b935a92e75..9c93466482d 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/single.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -192,7 +192,7 @@
<div class="paragraph">
-<p>In this guide you are going to build a <a href="http://grails.org">Grails application</a> which will serve as a company intranet backend.
+<p>In this guide you are going to build a <a href="https://grails.apache.org">Grails application</a> which will serve as a company intranet backend.
It exposes a JSON API of company announcements.</p>
</div>
<div class="paragraph">
@@ -414,7 +414,7 @@ The latter will be rendered in a <em>UIWebView</em></p>
<div class="paragraph">
-<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
+<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
</div>
<div class="quoteblock">
<blockquote>
@@ -425,7 +425,7 @@ mapped onto an underlying database table. In Grails a domain is a class that liv
</blockquote>
</div>
<div class="paragraph">
-<p>Grails simplifies the creation of domain classes with the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
+<p>Grails simplifies the creation of domain classes with the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -482,7 +482,7 @@ We are going to modify the domain class generated in the previous step to store
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html">Grails makes testing easier</a> from low level unit testing to high
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html">Grails makes testing easier</a> from low level unit testing to high
level functional tests.</p>
</div>
<div class="paragraph">
@@ -586,7 +586,7 @@ consumed by mobile phone applications. Users will run different versions of the
your API to create advanced functionality but keep supporting legacy versions.</p>
</div>
<div class="paragraph">
-<p>Grails allows multiple ways to <a href="http://docs.grails.org/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
+<p>Grails allows multiple ways to <a href="https://grails.apache.org/docs/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
</div>
<div class="ulist">
<ul>
@@ -632,7 +632,7 @@ your API to create advanced functionality but keep supporting legacy versions.</
<div class="paragraph">
-<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="http://docs.grails.org/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
+<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="https://grails.apache.org/docs/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
will provide us RESTful functionality to list, create, update and delete <code>Announcement</code> resources using
different HTTP Methods.</p>
</div>
@@ -673,7 +673,7 @@ different HTTP Methods.</p>
which we declared a namespace of v1 to handle the requests with the Accept-Version Http Header set to 1.0.</p>
</div>
<div class="paragraph">
-<p>Grails enables powerful <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
+<p>Grails enables powerful <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
do that. Add the next line to the mappings closure:</p>
</div>
<div class="listingblock">
@@ -746,7 +746,7 @@ to keep the code sample small. Checkout <code>grails-app/init/intranet/backend/B
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behavior.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
index 53f0b88194f..63750d00d9b 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
@@ -131,7 +131,7 @@ function addJsClass() {
<div class="paragraph">
-<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
+<p>We need to create persistent entities to store company announcements. Grails handles persistence with the use of <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">Grails Domain Classes</a>:</p>
</div>
<div class="quoteblock">
<blockquote>
@@ -142,7 +142,7 @@ mapped onto an underlying database table. In Grails a domain is a class that liv
</blockquote>
</div>
<div class="paragraph">
-<p>Grails simplifies the creation of domain classes with the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
+<p>Grails simplifies the creation of domain classes with the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-domain-class.html">create-domain-class command</a>.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -199,7 +199,7 @@ We are going to modify the domain class generated in the previous step to store
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html">Grails makes testing easier</a> from low level unit testing to high
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html">Grails makes testing easier</a> from low level unit testing to high
level functional tests.</p>
</div>
<div class="paragraph">
@@ -303,7 +303,7 @@ consumed by mobile phone applications. Users will run different versions of the
your API to create advanced functionality but keep supporting legacy versions.</p>
</div>
<div class="paragraph">
-<p>Grails allows multiple ways to <a href="http://docs.grails.org/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
+<p>Grails allows multiple ways to <a href="https://grails.apache.org/docs/latest/guide/webServices.html#versioningResources">Version REST Resources</a>.</p>
</div>
<div class="ulist">
<ul>
@@ -349,7 +349,7 @@ your API to create advanced functionality but keep supporting legacy versions.</
<div class="paragraph">
-<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="http://docs.grails.org/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
+<p>We create a <em>Controller</em> for the <em>Domain class</em> we previously created. Our Controller extends <a href="https://grails.apache.org/docs/latest/guide/webServices.html#restfulControllers">RestfulController</a>. This
will provide us RESTful functionality to list, create, update and delete <code>Announcement</code> resources using
different HTTP Methods.</p>
</div>
@@ -390,7 +390,7 @@ different HTTP Methods.</p>
which we declared a namespace of v1 to handle the requests with the Accept-Version Http Header set to 1.0.</p>
</div>
<div class="paragraph">
-<p>Grails enables powerful <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
+<p>Grails enables powerful <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappingss">URL mapping</a> configuration to
do that. Add the next line to the mappings closure:</p>
</div>
<div class="listingblock">
@@ -463,7 +463,7 @@ to keep the code sample small. Checkout <code>grails-app/init/intranet/backend/B
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behavior.</p>
</div>
<div class="paragraph">
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/index.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/index.html
index 21d544492cd..20f60e78a45 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/index.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/categories/advancedgrails.html b/guides/categories/advancedgrails.html
index 546f9afe85e..e23937767e8 100644
--- a/guides/categories/advancedgrails.html
+++ b/guides/categories/advancedgrails.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/categories/gorm.html b/guides/categories/gorm.html
index 5c56be283c3..b00390cad97 100644
--- a/guides/categories/gorm.html
+++ b/guides/categories/gorm.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/categories/grailsandroid.html b/guides/categories/grailsandroid.html
index 44bfcac6cb1..4b0fe9acd99 100644
--- a/guides/categories/grailsandroid.html
+++ b/guides/categories/grailsandroid.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/categories/grailsangular.html b/guides/categories/grailsangular.html
index 328ecc82ed6..9fe4b5a882c 100644
--- a/guides/categories/grailsangular.html
+++ b/guides/categories/grailsangular.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/categories/grailsangularjs.html b/guides/categories/grailsangularjs.html
index b5d0142197b..f4bbe726562 100644
--- a/guides/categories/grailsangularjs.html
+++ b/guides/categories/grailsangularjs.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/categories/grailsapprentice.html b/guides/categories/grailsapprentice.html
index b836d5bc821..2dddf7ffbba 100644
--- a/guides/categories/grailsapprentice.html
+++ b/guides/categories/grailsapprentice.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/categories/grailsasync.html b/guides/categories/grailsasync.html
index 23520671594..acfc67d11a3 100644
--- a/guides/categories/grailsasync.html
+++ b/guides/categories/grailsasync.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/categories/grailsdevops.html b/guides/categories/grailsdevops.html
index 4fde240d687..f319667d77a 100644
--- a/guides/categories/grailsdevops.html
+++ b/guides/categories/grailsdevops.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/categories/grailsgooglecloud.html b/guides/categories/grailsgooglecloud.html
index 1be375f798c..9d0c6c94f9d 100644
--- a/guides/categories/grailsgooglecloud.html
+++ b/guides/categories/grailsgooglecloud.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/categories/grailsios.html b/guides/categories/grailsios.html
index 63e0f16223a..266b9c4f8f4 100644
--- a/guides/categories/grailsios.html
+++ b/guides/categories/grailsios.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/categories/grailsreact.html b/guides/categories/grailsreact.html
index d6fca2ad57a..ced82589f76 100644
--- a/guides/categories/grailsreact.html
+++ b/guides/categories/grailsreact.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/categories/grailsriarichinternetapplication.html b/guides/categories/grailsriarichinternetapplication.html
index a613a0a1b6d..fcbdc622936 100644
--- a/guides/categories/grailsriarichinternetapplication.html
+++ b/guides/categories/grailsriarichinternetapplication.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/categories/grailstesting.html b/guides/categories/grailstesting.html
index d3de9721af9..fc6c51cf41e 100644
--- a/guides/categories/grailstesting.html
+++ b/guides/categories/grailstesting.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/categories/grailsvue.js.html b/guides/categories/grailsvue.js.html
index 4720e152b02..6f303ce1984 100644
--- a/guides/categories/grailsvue.js.html
+++ b/guides/categories/grailsvue.js.html
@@ -89,7 +89,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/command-objects-and-forms/3/guide/gettingStarted.html b/guides/command-objects-and-forms/3/guide/gettingStarted.html
index 875a85c5415..c1b55f20491 100644
--- a/guides/command-objects-and-forms/3/guide/gettingStarted.html
+++ b/guides/command-objects-and-forms/3/guide/gettingStarted.html
@@ -97,7 +97,7 @@ function addJsClass() {
<div class="paragraph">
<p>In this guide you are going to use
-<a href="http://docs.grails.org/latest/guide/theWebLayer.html#commandObjects">Command Objects</a>
+<a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#commandObjects">Command Objects</a>
to process form submissions with automatic type conversion, custom validation, and
simple error handling.</p>
</div>
diff --git a/guides/command-objects-and-forms/3/guide/index.html b/guides/command-objects-and-forms/3/guide/index.html
index d20e3d4102f..0e935387b95 100644
--- a/guides/command-objects-and-forms/3/guide/index.html
+++ b/guides/command-objects-and-forms/3/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -165,7 +165,7 @@
<div class="paragraph">
<p>In this guide you are going to use
-<a href="http://docs.grails.org/latest/guide/theWebLayer.html#commandObjects">Command Objects</a>
+<a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#commandObjects">Command Objects</a>
to process form submissions with automatic type conversion, custom validation, and
simple error handling.</p>
</div>
@@ -278,7 +278,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="paragraph">
-<p>As described in the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#commandObjects">Grails documentation</a>,</p>
+<p>As described in the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#commandObjects">Grails documentation</a>,</p>
</div>
<div class="quoteblock">
<blockquote>
@@ -457,7 +457,7 @@ command object, all of this behavior is automatic and leaves your code unclutter
much boilerplate.</p>
</div>
<div class="paragraph">
-<p>Arguably, the best feature here is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#dataBinding">Data Binding</a>,
+<p>Arguably, the best feature here is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#dataBinding">Data Binding</a>,
part of the automatic behavior you get from using command objects. While on the create
page, view the HTML source code (generated from the compiled <code>create.gsp</code>) and look for
the <code><form></code> tag:</p>
@@ -578,7 +578,7 @@ using <code>curl</code>. On the command line (while the Grails application is ru
<p>We are going to verify this with a Functional Test.</p>
</div>
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behaviour.</p>
</div>
<div class="paragraph">
diff --git a/guides/command-objects-and-forms/3/guide/pages/addCreateAndSaveActions.html b/guides/command-objects-and-forms/3/guide/pages/addCreateAndSaveActions.html
index b74631e495f..0f995aba456 100644
--- a/guides/command-objects-and-forms/3/guide/pages/addCreateAndSaveActions.html
+++ b/guides/command-objects-and-forms/3/guide/pages/addCreateAndSaveActions.html
@@ -125,7 +125,7 @@ command object, all of this behavior is automatic and leaves your code unclutter
much boilerplate.</p>
</div>
<div class="paragraph">
-<p>Arguably, the best feature here is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#dataBinding">Data Binding</a>,
+<p>Arguably, the best feature here is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#dataBinding">Data Binding</a>,
part of the automatic behavior you get from using command objects. While on the create
page, view the HTML source code (generated from the compiled <code>create.gsp</code>) and look for
the <code><form></code> tag:</p>
@@ -246,7 +246,7 @@ using <code>curl</code>. On the command line (while the Grails application is ru
<p>We are going to verify this with a Functional Test.</p>
</div>
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behaviour.</p>
</div>
<div class="paragraph">
diff --git a/guides/command-objects-and-forms/3/guide/single.html b/guides/command-objects-and-forms/3/guide/single.html
index d20e3d4102f..0e935387b95 100644
--- a/guides/command-objects-and-forms/3/guide/single.html
+++ b/guides/command-objects-and-forms/3/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -165,7 +165,7 @@
<div class="paragraph">
<p>In this guide you are going to use
-<a href="http://docs.grails.org/latest/guide/theWebLayer.html#commandObjects">Command Objects</a>
+<a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#commandObjects">Command Objects</a>
to process form submissions with automatic type conversion, custom validation, and
simple error handling.</p>
</div>
@@ -278,7 +278,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="paragraph">
-<p>As described in the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#commandObjects">Grails documentation</a>,</p>
+<p>As described in the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#commandObjects">Grails documentation</a>,</p>
</div>
<div class="quoteblock">
<blockquote>
@@ -457,7 +457,7 @@ command object, all of this behavior is automatic and leaves your code unclutter
much boilerplate.</p>
</div>
<div class="paragraph">
-<p>Arguably, the best feature here is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#dataBinding">Data Binding</a>,
+<p>Arguably, the best feature here is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#dataBinding">Data Binding</a>,
part of the automatic behavior you get from using command objects. While on the create
page, view the HTML source code (generated from the compiled <code>create.gsp</code>) and look for
the <code><form></code> tag:</p>
@@ -578,7 +578,7 @@ using <code>curl</code>. On the command line (while the Grails application is ru
<p>We are going to verify this with a Functional Test.</p>
</div>
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behaviour.</p>
</div>
<div class="paragraph">
diff --git a/guides/command-objects-and-forms/3/guide/whatAreCommandObjects.html b/guides/command-objects-and-forms/3/guide/whatAreCommandObjects.html
index cddf5c14db8..07a98e8e54d 100644
--- a/guides/command-objects-and-forms/3/guide/whatAreCommandObjects.html
+++ b/guides/command-objects-and-forms/3/guide/whatAreCommandObjects.html
@@ -85,7 +85,7 @@ function addJsClass() {
<div class="paragraph">
-<p>As described in the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#commandObjects">Grails documentation</a>,</p>
+<p>As described in the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#commandObjects">Grails documentation</a>,</p>
</div>
<div class="quoteblock">
<blockquote>
diff --git a/guides/command-objects-and-forms/3/guide/writingTheApp.html b/guides/command-objects-and-forms/3/guide/writingTheApp.html
index dbc14361bd1..9eb8df9e831 100644
--- a/guides/command-objects-and-forms/3/guide/writingTheApp.html
+++ b/guides/command-objects-and-forms/3/guide/writingTheApp.html
@@ -251,7 +251,7 @@ command object, all of this behavior is automatic and leaves your code unclutter
much boilerplate.</p>
</div>
<div class="paragraph">
-<p>Arguably, the best feature here is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#dataBinding">Data Binding</a>,
+<p>Arguably, the best feature here is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#dataBinding">Data Binding</a>,
part of the automatic behavior you get from using command objects. While on the create
page, view the HTML source code (generated from the compiled <code>create.gsp</code>) and look for
the <code><form></code> tag:</p>
@@ -372,7 +372,7 @@ using <code>curl</code>. On the command line (while the Grails application is ru
<p>We are going to verify this with a Functional Test.</p>
</div>
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behaviour.</p>
</div>
<div class="paragraph">
diff --git a/guides/command-objects-and-forms/3/index.html b/guides/command-objects-and-forms/3/index.html
index 3d0388b4477..a0de2aaa9fc 100644
--- a/guides/command-objects-and-forms/3/index.html
+++ b/guides/command-objects-and-forms/3/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/command-objects-and-forms/4/guide/gettingStarted.html b/guides/command-objects-and-forms/4/guide/gettingStarted.html
index 0740c145d67..a3e0e09280c 100644
--- a/guides/command-objects-and-forms/4/guide/gettingStarted.html
+++ b/guides/command-objects-and-forms/4/guide/gettingStarted.html
@@ -97,7 +97,7 @@ function addJsClass() {
<div class="paragraph">
<p>In this guide you are going to use
-<a href="http://docs.grails.org/latest/guide/theWebLayer.html#commandObjects">Command Objects</a>
+<a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#commandObjects">Command Objects</a>
to process form submissions with automatic type conversion, custom validation, and
simple error handling.</p>
</div>
diff --git a/guides/command-objects-and-forms/4/guide/index.html b/guides/command-objects-and-forms/4/guide/index.html
index a65c6950eef..7c1771aad97 100644
--- a/guides/command-objects-and-forms/4/guide/index.html
+++ b/guides/command-objects-and-forms/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -165,7 +165,7 @@
<div class="paragraph">
<p>In this guide you are going to use
-<a href="http://docs.grails.org/latest/guide/theWebLayer.html#commandObjects">Command Objects</a>
+<a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#commandObjects">Command Objects</a>
to process form submissions with automatic type conversion, custom validation, and
simple error handling.</p>
</div>
@@ -278,7 +278,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="paragraph">
-<p>As described in the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#commandObjects">Grails documentation</a>,</p>
+<p>As described in the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#commandObjects">Grails documentation</a>,</p>
</div>
<div class="quoteblock">
<blockquote>
@@ -460,7 +460,7 @@ command object, all of this behavior is automatic and leaves your code unclutter
much boilerplate.</p>
</div>
<div class="paragraph">
-<p>Arguably, the best feature here is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#dataBinding">Data Binding</a>,
+<p>Arguably, the best feature here is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#dataBinding">Data Binding</a>,
part of the automatic behavior you get from using command objects. While on the create
page, view the HTML source code (generated from the compiled <code>create.gsp</code>) and look for
the <code><form></code> tag:</p>
@@ -581,7 +581,7 @@ using <code>curl</code>. On the command line (while the Grails application is ru
<p>We are going to verify this with a Functional Test.</p>
</div>
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behaviour.</p>
</div>
<div class="paragraph">
diff --git a/guides/command-objects-and-forms/4/guide/pages/addCreateAndSaveActions.html b/guides/command-objects-and-forms/4/guide/pages/addCreateAndSaveActions.html
index 34f70d873a3..1751c281c74 100644
--- a/guides/command-objects-and-forms/4/guide/pages/addCreateAndSaveActions.html
+++ b/guides/command-objects-and-forms/4/guide/pages/addCreateAndSaveActions.html
@@ -125,7 +125,7 @@ command object, all of this behavior is automatic and leaves your code unclutter
much boilerplate.</p>
</div>
<div class="paragraph">
-<p>Arguably, the best feature here is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#dataBinding">Data Binding</a>,
+<p>Arguably, the best feature here is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#dataBinding">Data Binding</a>,
part of the automatic behavior you get from using command objects. While on the create
page, view the HTML source code (generated from the compiled <code>create.gsp</code>) and look for
the <code><form></code> tag:</p>
@@ -246,7 +246,7 @@ using <code>curl</code>. On the command line (while the Grails application is ru
<p>We are going to verify this with a Functional Test.</p>
</div>
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behaviour.</p>
</div>
<div class="paragraph">
diff --git a/guides/command-objects-and-forms/4/guide/single.html b/guides/command-objects-and-forms/4/guide/single.html
index a65c6950eef..7c1771aad97 100644
--- a/guides/command-objects-and-forms/4/guide/single.html
+++ b/guides/command-objects-and-forms/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -165,7 +165,7 @@
<div class="paragraph">
<p>In this guide you are going to use
-<a href="http://docs.grails.org/latest/guide/theWebLayer.html#commandObjects">Command Objects</a>
+<a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#commandObjects">Command Objects</a>
to process form submissions with automatic type conversion, custom validation, and
simple error handling.</p>
</div>
@@ -278,7 +278,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="paragraph">
-<p>As described in the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#commandObjects">Grails documentation</a>,</p>
+<p>As described in the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#commandObjects">Grails documentation</a>,</p>
</div>
<div class="quoteblock">
<blockquote>
@@ -460,7 +460,7 @@ command object, all of this behavior is automatic and leaves your code unclutter
much boilerplate.</p>
</div>
<div class="paragraph">
-<p>Arguably, the best feature here is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#dataBinding">Data Binding</a>,
+<p>Arguably, the best feature here is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#dataBinding">Data Binding</a>,
part of the automatic behavior you get from using command objects. While on the create
page, view the HTML source code (generated from the compiled <code>create.gsp</code>) and look for
the <code><form></code> tag:</p>
@@ -581,7 +581,7 @@ using <code>curl</code>. On the command line (while the Grails application is ru
<p>We are going to verify this with a Functional Test.</p>
</div>
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behaviour.</p>
</div>
<div class="paragraph">
diff --git a/guides/command-objects-and-forms/4/guide/whatAreCommandObjects.html b/guides/command-objects-and-forms/4/guide/whatAreCommandObjects.html
index 987a5cd3fa3..8f8608ab9a8 100644
--- a/guides/command-objects-and-forms/4/guide/whatAreCommandObjects.html
+++ b/guides/command-objects-and-forms/4/guide/whatAreCommandObjects.html
@@ -85,7 +85,7 @@ function addJsClass() {
<div class="paragraph">
-<p>As described in the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#commandObjects">Grails documentation</a>,</p>
+<p>As described in the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#commandObjects">Grails documentation</a>,</p>
</div>
<div class="quoteblock">
<blockquote>
diff --git a/guides/command-objects-and-forms/4/guide/writingTheApp.html b/guides/command-objects-and-forms/4/guide/writingTheApp.html
index 5b94e49080d..997be1543c2 100644
--- a/guides/command-objects-and-forms/4/guide/writingTheApp.html
+++ b/guides/command-objects-and-forms/4/guide/writingTheApp.html
@@ -254,7 +254,7 @@ command object, all of this behavior is automatic and leaves your code unclutter
much boilerplate.</p>
</div>
<div class="paragraph">
-<p>Arguably, the best feature here is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#dataBinding">Data Binding</a>,
+<p>Arguably, the best feature here is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#dataBinding">Data Binding</a>,
part of the automatic behavior you get from using command objects. While on the create
page, view the HTML source code (generated from the compiled <code>create.gsp</code>) and look for
the <code><form></code> tag:</p>
@@ -375,7 +375,7 @@ using <code>curl</code>. On the command line (while the Grails application is ru
<p>We are going to verify this with a Functional Test.</p>
</div>
<div class="paragraph">
-<p><a href="http://docs.grails.org/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
+<p><a href="https://grails.apache.org/docs/latest/guide/testing.html#functionalTesting">Functional Tests</a> involve making HTTP
requests against the running application and verifying the resultant behaviour.</p>
</div>
<div class="paragraph">
diff --git a/guides/command-objects-and-forms/4/index.html b/guides/command-objects-and-forms/4/index.html
index d6261b78717..63a1ad00257 100644
--- a/guides/command-objects-and-forms/4/index.html
+++ b/guides/command-objects-and-forms/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/creating-your-first-grails-app/3/guide/controllers.html b/guides/creating-your-first-grails-app/3/guide/controllers.html
index 974705026de..f762a808443 100644
--- a/guides/creating-your-first-grails-app/3/guide/controllers.html
+++ b/guides/creating-your-first-grails-app/3/guide/controllers.html
@@ -129,7 +129,7 @@ function addJsClass() {
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-While not part of the "MVC" triad, Grails also provides support for <a href="http://docs.grails.org/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
+While not part of the "MVC" triad, Grails also provides support for <a href="https://grails.apache.org/docs/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
</td>
</tr>
</table>
@@ -172,7 +172,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
</div>
</div>
<div class="paragraph">
-<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="http://docs.grails [...]
+<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="https://grails.apa [...]
</div>
<div class="paragraph">
<p>We don’t have any need for logic in this particular action just yet, but we would like it to render a page. We’ll look at GSP pages in more detail in the <a href="#Views">[Views]</a> section, but for now, let’s create a very simple GSP page for our <code>HomeController.index</code> action to display.</p>
@@ -234,7 +234,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn much more about URL Mappings from the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
+Learn much more about URL Mappings from the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
</td>
</tr>
</table>
@@ -350,7 +350,7 @@ Learn much more about URL Mappings from the <a href="http://docs.grails.org/late
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn more about scaffolding in the <a href="http://docs.grails.org/latest/guide/scaffolding.html">Grails documentation</a>.
+Learn more about scaffolding in the <a href="https://grails.apache.org/docs/latest/guide/scaffolding.html">Grails documentation</a>.
</td>
</tr>
</table>
@@ -611,31 +611,31 @@ To override existing files, use th <code>-force</code> flag along with the <code
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>The <a href="http://docs.grails.org/latest/api/grails/transaction/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="http://docs.grails.org/latest/guide/single.html#declarativeTrans [...]
+<td>The <a href="https://grails.apache.org/docs/latest/api/grails/transaction/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="https://grails.apache.org/docs/latest/guide/single.html# [...]
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://docs.grails.org/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
+<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://docs.grails.org/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond</code> [...]
+<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond [...]
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
+<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://docs.grails.org/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
+<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
-<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://docs.grails.org/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
+<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
</tr>
<tr>
<td><i class="conum" data-value="7"></i><b>7</b></td>
-<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://docs.grails.org/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
+<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
</tr>
</table>
</div>
@@ -686,7 +686,7 @@ To override existing files, use th <code>-force</code> flag along with the <code
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
+<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
diff --git a/guides/creating-your-first-grails-app/3/guide/creatingTheApp.html b/guides/creating-your-first-grails-app/3/guide/creatingTheApp.html
index 346f716d34e..26253fb4ab6 100644
--- a/guides/creating-your-first-grails-app/3/guide/creatingTheApp.html
+++ b/guides/creating-your-first-grails-app/3/guide/creatingTheApp.html
@@ -181,7 +181,7 @@ If you are running Windows, there is a clone project of <code>sdkman</code> avai
<p>This is not the recommend way to install Grails, but here are the manual installation steps, if the above methods fails.</p>
</div>
<div class="paragraph">
-<p>Download the Grails binary package from <a href="https://grails.org/download.html">https://grails.org</a>. Unpack the package in a convenient directory.</p>
+<p>Download the Grails binary package from <a href="https://grails.apache.org/download.html">https://grails.apache.org</a>. Unpack the package in a convenient directory.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -273,7 +273,7 @@ export PATH="$PATH:$GRAILS_HOME/bin</code></pre>
<div class="paragraph">
-<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
+<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -302,10 +302,10 @@ You can optionally specify a default package for the application:</p>
<div class="paragraph">
-<p>You can optionally specify a <a href="http://docs.grails.org/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
+<p>You can optionally specify a <a href="https://grails.apache.org/docs/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
</div>
<div class="paragraph">
-<p>To view of a list of what profiles are available, use the <a href="http://docs.grails.org/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
+<p>To view of a list of what profiles are available, use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -343,7 +343,7 @@ You can optionally specify a default package for the application:</p>
</div>
</div>
<div class="paragraph">
-<p>To get detailed information about a profile use the <a href="http://docs.grails.org/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
+<p>To get detailed information about a profile use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/3/guide/deployment.html b/guides/creating-your-first-grails-app/3/guide/deployment.html
index 96316483574..d29c15bb76f 100644
--- a/guides/creating-your-first-grails-app/3/guide/deployment.html
+++ b/guides/creating-your-first-grails-app/3/guide/deployment.html
@@ -119,7 +119,7 @@ BUILD SUCCESSFUL
</td>
<td class="content">
<div class="paragraph">
-<p>We didn’t cover the topic of <a href="http://docs.grails.org/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <code>war</c [...]
+<p>We didn’t cover the topic of <a href="https://grails.apache.org/docs/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <cod [...]
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/3/guide/domainClasses.html b/guides/creating-your-first-grails-app/3/guide/domainClasses.html
index 5a918d7f070..6ea9378ec0e 100644
--- a/guides/creating-your-first-grails-app/3/guide/domainClasses.html
+++ b/guides/creating-your-first-grails-app/3/guide/domainClasses.html
@@ -230,7 +230,7 @@ Handling the mapping of domain classes to database tables (and other persistent
</table>
</div>
<div class="paragraph">
-<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://docs.grails.org/latest/ref/Constraints/Usage.html">constraints</a></p>
+<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://grails.apache.org/docs/latest/ref/Constraints/Usage.html">constraints</a></p>
</div>
@@ -530,10 +530,10 @@ Be sure to add the dependency to the <code>dependencies</code> section of the <c
<div class="paragraph">
-<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="http://docs.grails.org/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
+<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
</div>
<div class="paragraph">
-<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
+<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
</div>
<div class="paragraph">
<p>Launch the Grails Console:</p>
diff --git a/guides/creating-your-first-grails-app/3/guide/index.html b/guides/creating-your-first-grails-app/3/guide/index.html
index 97efd5de6d6..92a4219ba31 100644
--- a/guides/creating-your-first-grails-app/3/guide/index.html
+++ b/guides/creating-your-first-grails-app/3/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -391,7 +391,7 @@ If you are running Windows, there is a clone project of <code>sdkman</code> avai
<p>This is not the recommend way to install Grails, but here are the manual installation steps, if the above methods fails.</p>
</div>
<div class="paragraph">
-<p>Download the Grails binary package from <a href="https://grails.org/download.html">https://grails.org</a>. Unpack the package in a convenient directory.</p>
+<p>Download the Grails binary package from <a href="https://grails.apache.org/download.html">https://grails.apache.org</a>. Unpack the package in a convenient directory.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -483,7 +483,7 @@ export PATH="$PATH:$GRAILS_HOME/bin</code></pre>
<div class="paragraph">
-<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
+<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -512,10 +512,10 @@ You can optionally specify a default package for the application:</p>
<div class="paragraph">
-<p>You can optionally specify a <a href="http://docs.grails.org/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
+<p>You can optionally specify a <a href="https://grails.apache.org/docs/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
</div>
<div class="paragraph">
-<p>To view of a list of what profiles are available, use the <a href="http://docs.grails.org/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
+<p>To view of a list of what profiles are available, use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -553,7 +553,7 @@ You can optionally specify a default package for the application:</p>
</div>
</div>
<div class="paragraph">
-<p>To get detailed information about a profile use the <a href="http://docs.grails.org/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
+<p>To get detailed information about a profile use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -635,7 +635,7 @@ When you create an app without <code>-profile</code> the default profile used is
<p>Now that you’ve created (or downloaded) your Grails project, it’s time to run it and see what Grails has already given you.</p>
</div>
<div class="paragraph">
-<p>If you have a local installation of Grails, you can run the app using the <a href="http://docs.grails.org/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
+<p>If you have a local installation of Grails, you can run the app using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -646,7 +646,7 @@ When you create an app without <code>-profile</code> the default profile used is
<p><strong>Run the App without Grails Installed</strong></p>
</div>
<div class="paragraph">
-<p>Thanks to the <a href="http://docs.grails.org/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
+<p>Thanks to the <a href="https://grails.apache.org/docs/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
Grails installed. If you download it from the <a href="http://start.grails.org">Grails Application Forge</a>, the Grails Wrapper is included too.</p>
</div>
<div class="listingblock">
@@ -669,7 +669,7 @@ Grails installed. If you download it from the <a href="http://start.grails.org">
<p><strong>Run the App with Grails Interactive Mode</strong></p>
</div>
<div class="paragraph">
-<p>You can also use Grails' <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
+<p>You can also use Grails' <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
</div>
<div class="paragraph">
<p>In this guide we will be preferring the Grails wrapper for most commands.</p>
@@ -898,7 +898,7 @@ Handling the mapping of domain classes to database tables (and other persistent
</table>
</div>
<div class="paragraph">
-<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://docs.grails.org/latest/ref/Constraints/Usage.html">constraints</a></p>
+<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://grails.apache.org/docs/latest/ref/Constraints/Usage.html">constraints</a></p>
</div>
@@ -1198,10 +1198,10 @@ Be sure to add the dependency to the <code>dependencies</code> section of the <c
<div class="paragraph">
-<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="http://docs.grails.org/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
+<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
</div>
<div class="paragraph">
-<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
+<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
</div>
<div class="paragraph">
<p>Launch the Grails Console:</p>
@@ -1260,7 +1260,7 @@ println nissans.size()</code></pre>
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-While not part of the "MVC" triad, Grails also provides support for <a href="http://docs.grails.org/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
+While not part of the "MVC" triad, Grails also provides support for <a href="https://grails.apache.org/docs/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
</td>
</tr>
</table>
@@ -1303,7 +1303,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
</div>
</div>
<div class="paragraph">
-<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="http://docs.grails [...]
+<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="https://grails.apa [...]
</div>
<div class="paragraph">
<p>We don’t have any need for logic in this particular action just yet, but we would like it to render a page. We’ll look at GSP pages in more detail in the <a href="#Views">[Views]</a> section, but for now, let’s create a very simple GSP page for our <code>HomeController.index</code> action to display.</p>
@@ -1365,7 +1365,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn much more about URL Mappings from the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
+Learn much more about URL Mappings from the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
</td>
</tr>
</table>
@@ -1481,7 +1481,7 @@ Learn much more about URL Mappings from the <a href="http://docs.grails.org/late
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn more about scaffolding in the <a href="http://docs.grails.org/latest/guide/scaffolding.html">Grails documentation</a>.
+Learn more about scaffolding in the <a href="https://grails.apache.org/docs/latest/guide/scaffolding.html">Grails documentation</a>.
</td>
</tr>
</table>
@@ -1742,31 +1742,31 @@ To override existing files, use th <code>-force</code> flag along with the <code
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>The <a href="http://docs.grails.org/latest/api/grails/transaction/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="http://docs.grails.org/latest/guide/single.html#declarativeTrans [...]
+<td>The <a href="https://grails.apache.org/docs/latest/api/grails/transaction/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="https://grails.apache.org/docs/latest/guide/single.html# [...]
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://docs.grails.org/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
+<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://docs.grails.org/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond</code> [...]
+<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond [...]
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
+<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://docs.grails.org/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
+<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
-<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://docs.grails.org/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
+<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
</tr>
<tr>
<td><i class="conum" data-value="7"></i><b>7</b></td>
-<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://docs.grails.org/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
+<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
</tr>
</table>
</div>
@@ -1817,7 +1817,7 @@ To override existing files, use th <code>-force</code> flag along with the <code
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
+<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
@@ -1953,7 +1953,7 @@ Date: Wed, 11 Jan 2017 04:06:57 GMT
<p>Views are the third component of the MVC pattern. Views are responsible for presenting data to the user (which might be a browser page, an API endpoint, or some other sort of consumer). In many apps, views are HTML pages designed to be loaded in a browser. However, it is perfectly reasonable for a "view" to be an XML or JSON document, depending on the type of client requesting the view.</p>
</div>
<div class="paragraph">
-<p>Grails' primary view technology is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong>strongly [...]
+<p>Grails' primary view technology is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong> [...]
</div>
<div class="paragraph">
<p>You’ve already worked with GSP views in this guide, but let’s quickly cover the basics.</p>
@@ -2322,7 +2322,7 @@ This sort of code is a <strong>bad idea</strong> - we are accessing our domain m
</div>
</div>
<div class="paragraph">
-<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
+<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
</div>
@@ -2573,7 +2573,7 @@ Controllers are for "web logic", services for "business logic"
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td><code><g:formatNumber></code> is another GSP tag which provides many useful options for rendering numbers, including currency and decimal precision. See the <a href="http://docs.grails.org/latest/ref/Tags/formatNumber.html">Grails documentation</a> for more.</td>
+<td><code><g:formatNumber></code> is another GSP tag which provides many useful options for rendering numbers, including currency and decimal precision. See the <a href="https://grails.apache.org/docs/latest/ref/Tags/formatNumber.html">Grails documentation</a> for more.</td>
</tr>
</table>
</div>
@@ -2592,7 +2592,7 @@ Controllers are for "web logic", services for "business logic"
<div class="paragraph">
-<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="http://docs.grails.org/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="http://docs.grails.org/latest/guide/testing.html#integrationTesting">Integration tests</a> require the Grails environme [...]
+<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="https://grails.apache.org/docs/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="https://grails.apache.org/docs/latest/guide/testing.html#integrationTesting">Integration tests</a> require the [...]
</div>
<div class="paragraph">
<p>The testing framework used by Grails is <a href="http://spockframework.org">Spock</a>. Spock provides an expressive syntax for writing test cases, based on the Groovy language, and so is a great fit for Grails. It includes a JUnit runner, which means IDE support is effectively universal (any IDE that can run JUnit tests can run Spock tests).</p>
@@ -2613,7 +2613,7 @@ Spock is a rich framework (even outside of Grails applications) and well worth y
<p>Grails tests are stored (by convention) in the <code>src/test/groovy</code> directory (unit tests) and <code>src/integration-test/groovy</code> directory (integration/functional tests).</p>
</div>
<div class="paragraph">
-<p>You can run your Grails tests using the <a href="http://docs.grails.org/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
+<p>You can run your Grails tests using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -2794,7 +2794,7 @@ BUILD SUCCESSFUL
</td>
<td class="content">
<div class="paragraph">
-<p>We didn’t cover the topic of <a href="http://docs.grails.org/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <code>war</c [...]
+<p>We didn’t cover the topic of <a href="https://grails.apache.org/docs/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <cod [...]
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/3/guide/pages/applicationProfile.html b/guides/creating-your-first-grails-app/3/guide/pages/applicationProfile.html
index ca4846e1b6e..3afbdd3be87 100644
--- a/guides/creating-your-first-grails-app/3/guide/pages/applicationProfile.html
+++ b/guides/creating-your-first-grails-app/3/guide/pages/applicationProfile.html
@@ -100,10 +100,10 @@ function addJsClass() {
<div class="paragraph">
-<p>You can optionally specify a <a href="http://docs.grails.org/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
+<p>You can optionally specify a <a href="https://grails.apache.org/docs/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
</div>
<div class="paragraph">
-<p>To view of a list of what profiles are available, use the <a href="http://docs.grails.org/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
+<p>To view of a list of what profiles are available, use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -141,7 +141,7 @@ function addJsClass() {
</div>
</div>
<div class="paragraph">
-<p>To get detailed information about a profile use the <a href="http://docs.grails.org/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
+<p>To get detailed information about a profile use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/3/guide/pages/console.html b/guides/creating-your-first-grails-app/3/guide/pages/console.html
index af34e970883..ad6339ca31c 100644
--- a/guides/creating-your-first-grails-app/3/guide/pages/console.html
+++ b/guides/creating-your-first-grails-app/3/guide/pages/console.html
@@ -100,10 +100,10 @@ function addJsClass() {
<div class="paragraph">
-<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="http://docs.grails.org/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
+<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
</div>
<div class="paragraph">
-<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
+<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
</div>
<div class="paragraph">
<p>Launch the Grails Console:</p>
diff --git a/guides/creating-your-first-grails-app/3/guide/pages/createApp.html b/guides/creating-your-first-grails-app/3/guide/pages/createApp.html
index 98b1ba21637..dc669d1b233 100644
--- a/guides/creating-your-first-grails-app/3/guide/pages/createApp.html
+++ b/guides/creating-your-first-grails-app/3/guide/pages/createApp.html
@@ -100,7 +100,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
+<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/3/guide/pages/creatingDomainClass.html b/guides/creating-your-first-grails-app/3/guide/pages/creatingDomainClass.html
index 5e7000d146b..5b756f43281 100644
--- a/guides/creating-your-first-grails-app/3/guide/pages/creatingDomainClass.html
+++ b/guides/creating-your-first-grails-app/3/guide/pages/creatingDomainClass.html
@@ -159,7 +159,7 @@ function addJsClass() {
</table>
</div>
<div class="paragraph">
-<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://docs.grails.org/latest/ref/Constraints/Usage.html">constraints</a></p>
+<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://grails.apache.org/docs/latest/ref/Constraints/Usage.html">constraints</a></p>
</div>
diff --git a/guides/creating-your-first-grails-app/3/guide/pages/gspLinks.html b/guides/creating-your-first-grails-app/3/guide/pages/gspLinks.html
index 53df8234112..0432e5e6c77 100644
--- a/guides/creating-your-first-grails-app/3/guide/pages/gspLinks.html
+++ b/guides/creating-your-first-grails-app/3/guide/pages/gspLinks.html
@@ -111,7 +111,7 @@ function addJsClass() {
</div>
</div>
<div class="paragraph">
-<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
+<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
</div>
diff --git a/guides/creating-your-first-grails-app/3/guide/pages/installing.html b/guides/creating-your-first-grails-app/3/guide/pages/installing.html
index 1788d96a96c..5c55647834d 100644
--- a/guides/creating-your-first-grails-app/3/guide/pages/installing.html
+++ b/guides/creating-your-first-grails-app/3/guide/pages/installing.html
@@ -150,7 +150,7 @@ If you are running Windows, there is a clone project of <code>sdkman</code> avai
<p>This is not the recommend way to install Grails, but here are the manual installation steps, if the above methods fails.</p>
</div>
<div class="paragraph">
-<p>Download the Grails binary package from <a href="https://grails.org/download.html">https://grails.org</a>. Unpack the package in a convenient directory.</p>
+<p>Download the Grails binary package from <a href="https://grails.apache.org/download.html">https://grails.apache.org</a>. Unpack the package in a convenient directory.</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/3/guide/pages/respond.html b/guides/creating-your-first-grails-app/3/guide/pages/respond.html
index 0153663de4e..a1d6c64cc39 100644
--- a/guides/creating-your-first-grails-app/3/guide/pages/respond.html
+++ b/guides/creating-your-first-grails-app/3/guide/pages/respond.html
@@ -132,7 +132,7 @@ function addJsClass() {
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
+<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
diff --git a/guides/creating-your-first-grails-app/3/guide/pages/scaffolding.html b/guides/creating-your-first-grails-app/3/guide/pages/scaffolding.html
index 1ddf3790b2b..73539ec2bfc 100644
--- a/guides/creating-your-first-grails-app/3/guide/pages/scaffolding.html
+++ b/guides/creating-your-first-grails-app/3/guide/pages/scaffolding.html
@@ -109,7 +109,7 @@ function addJsClass() {
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn more about scaffolding in the <a href="http://docs.grails.org/latest/guide/scaffolding.html">Grails documentation</a>.
+Learn more about scaffolding in the <a href="https://grails.apache.org/docs/latest/guide/scaffolding.html">Grails documentation</a>.
</td>
</tr>
</table>
diff --git a/guides/creating-your-first-grails-app/3/guide/pages/staticScaffolding.html b/guides/creating-your-first-grails-app/3/guide/pages/staticScaffolding.html
index 1d92cefce88..7d5ed7b6377 100644
--- a/guides/creating-your-first-grails-app/3/guide/pages/staticScaffolding.html
+++ b/guides/creating-your-first-grails-app/3/guide/pages/staticScaffolding.html
@@ -270,31 +270,31 @@ To override existing files, use th <code>-force</code> flag along with the <code
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>The <a href="http://docs.grails.org/latest/api/grails/transaction/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="http://docs.grails.org/latest/guide/single.html#declarativeTrans [...]
+<td>The <a href="https://grails.apache.org/docs/latest/api/grails/transaction/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="https://grails.apache.org/docs/latest/guide/single.html# [...]
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://docs.grails.org/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
+<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://docs.grails.org/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond</code> [...]
+<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond [...]
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
+<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://docs.grails.org/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
+<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
-<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://docs.grails.org/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
+<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
</tr>
<tr>
<td><i class="conum" data-value="7"></i><b>7</b></td>
-<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://docs.grails.org/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
+<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
</tr>
</table>
</div>
diff --git a/guides/creating-your-first-grails-app/3/guide/pages/urlMappings.html b/guides/creating-your-first-grails-app/3/guide/pages/urlMappings.html
index 7f2245d8dcf..70c05511d9e 100644
--- a/guides/creating-your-first-grails-app/3/guide/pages/urlMappings.html
+++ b/guides/creating-your-first-grails-app/3/guide/pages/urlMappings.html
@@ -112,7 +112,7 @@ function addJsClass() {
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn much more about URL Mappings from the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
+Learn much more about URL Mappings from the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
</td>
</tr>
</table>
diff --git a/guides/creating-your-first-grails-app/3/guide/runningTheApp.html b/guides/creating-your-first-grails-app/3/guide/runningTheApp.html
index e02dbb68036..9b581b71960 100644
--- a/guides/creating-your-first-grails-app/3/guide/runningTheApp.html
+++ b/guides/creating-your-first-grails-app/3/guide/runningTheApp.html
@@ -114,7 +114,7 @@ function addJsClass() {
<p>Now that you’ve created (or downloaded) your Grails project, it’s time to run it and see what Grails has already given you.</p>
</div>
<div class="paragraph">
-<p>If you have a local installation of Grails, you can run the app using the <a href="http://docs.grails.org/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
+<p>If you have a local installation of Grails, you can run the app using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -125,7 +125,7 @@ function addJsClass() {
<p><strong>Run the App without Grails Installed</strong></p>
</div>
<div class="paragraph">
-<p>Thanks to the <a href="http://docs.grails.org/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
+<p>Thanks to the <a href="https://grails.apache.org/docs/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
Grails installed. If you download it from the <a href="http://start.grails.org">Grails Application Forge</a>, the Grails Wrapper is included too.</p>
</div>
<div class="listingblock">
@@ -148,7 +148,7 @@ Grails installed. If you download it from the <a href="http://start.grails.org">
<p><strong>Run the App with Grails Interactive Mode</strong></p>
</div>
<div class="paragraph">
-<p>You can also use Grails' <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
+<p>You can also use Grails' <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
</div>
<div class="paragraph">
<p>In this guide we will be preferring the Grails wrapper for most commands.</p>
diff --git a/guides/creating-your-first-grails-app/3/guide/services.html b/guides/creating-your-first-grails-app/3/guide/services.html
index 3e447809296..b00715eacd0 100644
--- a/guides/creating-your-first-grails-app/3/guide/services.html
+++ b/guides/creating-your-first-grails-app/3/guide/services.html
@@ -233,7 +233,7 @@ Controllers are for "web logic", services for "business logic"
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td><code><g:formatNumber></code> is another GSP tag which provides many useful options for rendering numbers, including currency and decimal precision. See the <a href="http://docs.grails.org/latest/ref/Tags/formatNumber.html">Grails documentation</a> for more.</td>
+<td><code><g:formatNumber></code> is another GSP tag which provides many useful options for rendering numbers, including currency and decimal precision. See the <a href="https://grails.apache.org/docs/latest/ref/Tags/formatNumber.html">Grails documentation</a> for more.</td>
</tr>
</table>
</div>
diff --git a/guides/creating-your-first-grails-app/3/guide/single.html b/guides/creating-your-first-grails-app/3/guide/single.html
index 97efd5de6d6..92a4219ba31 100644
--- a/guides/creating-your-first-grails-app/3/guide/single.html
+++ b/guides/creating-your-first-grails-app/3/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -391,7 +391,7 @@ If you are running Windows, there is a clone project of <code>sdkman</code> avai
<p>This is not the recommend way to install Grails, but here are the manual installation steps, if the above methods fails.</p>
</div>
<div class="paragraph">
-<p>Download the Grails binary package from <a href="https://grails.org/download.html">https://grails.org</a>. Unpack the package in a convenient directory.</p>
+<p>Download the Grails binary package from <a href="https://grails.apache.org/download.html">https://grails.apache.org</a>. Unpack the package in a convenient directory.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -483,7 +483,7 @@ export PATH="$PATH:$GRAILS_HOME/bin</code></pre>
<div class="paragraph">
-<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
+<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -512,10 +512,10 @@ You can optionally specify a default package for the application:</p>
<div class="paragraph">
-<p>You can optionally specify a <a href="http://docs.grails.org/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
+<p>You can optionally specify a <a href="https://grails.apache.org/docs/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
</div>
<div class="paragraph">
-<p>To view of a list of what profiles are available, use the <a href="http://docs.grails.org/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
+<p>To view of a list of what profiles are available, use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -553,7 +553,7 @@ You can optionally specify a default package for the application:</p>
</div>
</div>
<div class="paragraph">
-<p>To get detailed information about a profile use the <a href="http://docs.grails.org/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
+<p>To get detailed information about a profile use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -635,7 +635,7 @@ When you create an app without <code>-profile</code> the default profile used is
<p>Now that you’ve created (or downloaded) your Grails project, it’s time to run it and see what Grails has already given you.</p>
</div>
<div class="paragraph">
-<p>If you have a local installation of Grails, you can run the app using the <a href="http://docs.grails.org/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
+<p>If you have a local installation of Grails, you can run the app using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -646,7 +646,7 @@ When you create an app without <code>-profile</code> the default profile used is
<p><strong>Run the App without Grails Installed</strong></p>
</div>
<div class="paragraph">
-<p>Thanks to the <a href="http://docs.grails.org/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
+<p>Thanks to the <a href="https://grails.apache.org/docs/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
Grails installed. If you download it from the <a href="http://start.grails.org">Grails Application Forge</a>, the Grails Wrapper is included too.</p>
</div>
<div class="listingblock">
@@ -669,7 +669,7 @@ Grails installed. If you download it from the <a href="http://start.grails.org">
<p><strong>Run the App with Grails Interactive Mode</strong></p>
</div>
<div class="paragraph">
-<p>You can also use Grails' <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
+<p>You can also use Grails' <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
</div>
<div class="paragraph">
<p>In this guide we will be preferring the Grails wrapper for most commands.</p>
@@ -898,7 +898,7 @@ Handling the mapping of domain classes to database tables (and other persistent
</table>
</div>
<div class="paragraph">
-<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://docs.grails.org/latest/ref/Constraints/Usage.html">constraints</a></p>
+<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://grails.apache.org/docs/latest/ref/Constraints/Usage.html">constraints</a></p>
</div>
@@ -1198,10 +1198,10 @@ Be sure to add the dependency to the <code>dependencies</code> section of the <c
<div class="paragraph">
-<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="http://docs.grails.org/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
+<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
</div>
<div class="paragraph">
-<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
+<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
</div>
<div class="paragraph">
<p>Launch the Grails Console:</p>
@@ -1260,7 +1260,7 @@ println nissans.size()</code></pre>
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-While not part of the "MVC" triad, Grails also provides support for <a href="http://docs.grails.org/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
+While not part of the "MVC" triad, Grails also provides support for <a href="https://grails.apache.org/docs/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
</td>
</tr>
</table>
@@ -1303,7 +1303,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
</div>
</div>
<div class="paragraph">
-<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="http://docs.grails [...]
+<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="https://grails.apa [...]
</div>
<div class="paragraph">
<p>We don’t have any need for logic in this particular action just yet, but we would like it to render a page. We’ll look at GSP pages in more detail in the <a href="#Views">[Views]</a> section, but for now, let’s create a very simple GSP page for our <code>HomeController.index</code> action to display.</p>
@@ -1365,7 +1365,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn much more about URL Mappings from the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
+Learn much more about URL Mappings from the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
</td>
</tr>
</table>
@@ -1481,7 +1481,7 @@ Learn much more about URL Mappings from the <a href="http://docs.grails.org/late
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn more about scaffolding in the <a href="http://docs.grails.org/latest/guide/scaffolding.html">Grails documentation</a>.
+Learn more about scaffolding in the <a href="https://grails.apache.org/docs/latest/guide/scaffolding.html">Grails documentation</a>.
</td>
</tr>
</table>
@@ -1742,31 +1742,31 @@ To override existing files, use th <code>-force</code> flag along with the <code
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>The <a href="http://docs.grails.org/latest/api/grails/transaction/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="http://docs.grails.org/latest/guide/single.html#declarativeTrans [...]
+<td>The <a href="https://grails.apache.org/docs/latest/api/grails/transaction/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="https://grails.apache.org/docs/latest/guide/single.html# [...]
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://docs.grails.org/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
+<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://docs.grails.org/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond</code> [...]
+<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond [...]
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
+<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://docs.grails.org/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
+<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
-<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://docs.grails.org/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
+<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
</tr>
<tr>
<td><i class="conum" data-value="7"></i><b>7</b></td>
-<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://docs.grails.org/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
+<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
</tr>
</table>
</div>
@@ -1817,7 +1817,7 @@ To override existing files, use th <code>-force</code> flag along with the <code
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
+<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
@@ -1953,7 +1953,7 @@ Date: Wed, 11 Jan 2017 04:06:57 GMT
<p>Views are the third component of the MVC pattern. Views are responsible for presenting data to the user (which might be a browser page, an API endpoint, or some other sort of consumer). In many apps, views are HTML pages designed to be loaded in a browser. However, it is perfectly reasonable for a "view" to be an XML or JSON document, depending on the type of client requesting the view.</p>
</div>
<div class="paragraph">
-<p>Grails' primary view technology is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong>strongly [...]
+<p>Grails' primary view technology is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong> [...]
</div>
<div class="paragraph">
<p>You’ve already worked with GSP views in this guide, but let’s quickly cover the basics.</p>
@@ -2322,7 +2322,7 @@ This sort of code is a <strong>bad idea</strong> - we are accessing our domain m
</div>
</div>
<div class="paragraph">
-<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
+<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
</div>
@@ -2573,7 +2573,7 @@ Controllers are for "web logic", services for "business logic"
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td><code><g:formatNumber></code> is another GSP tag which provides many useful options for rendering numbers, including currency and decimal precision. See the <a href="http://docs.grails.org/latest/ref/Tags/formatNumber.html">Grails documentation</a> for more.</td>
+<td><code><g:formatNumber></code> is another GSP tag which provides many useful options for rendering numbers, including currency and decimal precision. See the <a href="https://grails.apache.org/docs/latest/ref/Tags/formatNumber.html">Grails documentation</a> for more.</td>
</tr>
</table>
</div>
@@ -2592,7 +2592,7 @@ Controllers are for "web logic", services for "business logic"
<div class="paragraph">
-<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="http://docs.grails.org/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="http://docs.grails.org/latest/guide/testing.html#integrationTesting">Integration tests</a> require the Grails environme [...]
+<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="https://grails.apache.org/docs/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="https://grails.apache.org/docs/latest/guide/testing.html#integrationTesting">Integration tests</a> require the [...]
</div>
<div class="paragraph">
<p>The testing framework used by Grails is <a href="http://spockframework.org">Spock</a>. Spock provides an expressive syntax for writing test cases, based on the Groovy language, and so is a great fit for Grails. It includes a JUnit runner, which means IDE support is effectively universal (any IDE that can run JUnit tests can run Spock tests).</p>
@@ -2613,7 +2613,7 @@ Spock is a rich framework (even outside of Grails applications) and well worth y
<p>Grails tests are stored (by convention) in the <code>src/test/groovy</code> directory (unit tests) and <code>src/integration-test/groovy</code> directory (integration/functional tests).</p>
</div>
<div class="paragraph">
-<p>You can run your Grails tests using the <a href="http://docs.grails.org/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
+<p>You can run your Grails tests using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -2794,7 +2794,7 @@ BUILD SUCCESSFUL
</td>
<td class="content">
<div class="paragraph">
-<p>We didn’t cover the topic of <a href="http://docs.grails.org/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <code>war</c [...]
+<p>We didn’t cover the topic of <a href="https://grails.apache.org/docs/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <cod [...]
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/3/guide/testing.html b/guides/creating-your-first-grails-app/3/guide/testing.html
index 8d395a795d3..dfd59662a13 100644
--- a/guides/creating-your-first-grails-app/3/guide/testing.html
+++ b/guides/creating-your-first-grails-app/3/guide/testing.html
@@ -100,7 +100,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="http://docs.grails.org/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="http://docs.grails.org/latest/guide/testing.html#integrationTesting">Integration tests</a> require the Grails environme [...]
+<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="https://grails.apache.org/docs/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="https://grails.apache.org/docs/latest/guide/testing.html#integrationTesting">Integration tests</a> require the [...]
</div>
<div class="paragraph">
<p>The testing framework used by Grails is <a href="http://spockframework.org">Spock</a>. Spock provides an expressive syntax for writing test cases, based on the Groovy language, and so is a great fit for Grails. It includes a JUnit runner, which means IDE support is effectively universal (any IDE that can run JUnit tests can run Spock tests).</p>
@@ -121,7 +121,7 @@ Spock is a rich framework (even outside of Grails applications) and well worth y
<p>Grails tests are stored (by convention) in the <code>src/test/groovy</code> directory (unit tests) and <code>src/integration-test/groovy</code> directory (integration/functional tests).</p>
</div>
<div class="paragraph">
-<p>You can run your Grails tests using the <a href="http://docs.grails.org/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
+<p>You can run your Grails tests using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/3/guide/views.html b/guides/creating-your-first-grails-app/3/guide/views.html
index 8216328f649..a9d6bf7a9a8 100644
--- a/guides/creating-your-first-grails-app/3/guide/views.html
+++ b/guides/creating-your-first-grails-app/3/guide/views.html
@@ -126,7 +126,7 @@ function addJsClass() {
<p>Views are the third component of the MVC pattern. Views are responsible for presenting data to the user (which might be a browser page, an API endpoint, or some other sort of consumer). In many apps, views are HTML pages designed to be loaded in a browser. However, it is perfectly reasonable for a "view" to be an XML or JSON document, depending on the type of client requesting the view.</p>
</div>
<div class="paragraph">
-<p>Grails' primary view technology is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong>strongly [...]
+<p>Grails' primary view technology is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong> [...]
</div>
<div class="paragraph">
<p>You’ve already worked with GSP views in this guide, but let’s quickly cover the basics.</p>
@@ -495,7 +495,7 @@ This sort of code is a <strong>bad idea</strong> - we are accessing our domain m
</div>
</div>
<div class="paragraph">
-<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
+<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
</div>
diff --git a/guides/creating-your-first-grails-app/3/index.html b/guides/creating-your-first-grails-app/3/index.html
index 2533cc35052..b9d522ea256 100644
--- a/guides/creating-your-first-grails-app/3/index.html
+++ b/guides/creating-your-first-grails-app/3/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/creating-your-first-grails-app/4/guide/controllers.html b/guides/creating-your-first-grails-app/4/guide/controllers.html
index 42011961441..86be141f4a3 100644
--- a/guides/creating-your-first-grails-app/4/guide/controllers.html
+++ b/guides/creating-your-first-grails-app/4/guide/controllers.html
@@ -129,7 +129,7 @@ function addJsClass() {
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-While not part of the "MVC" triad, Grails also provides support for <a href="http://docs.grails.org/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
+While not part of the "MVC" triad, Grails also provides support for <a href="https://grails.apache.org/docs/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
</td>
</tr>
</table>
@@ -172,7 +172,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
</div>
</div>
<div class="paragraph">
-<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="http://docs.grails [...]
+<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="https://grails.apa [...]
</div>
<div class="paragraph">
<p>We don’t have any need for logic in this particular action just yet, but we would like it to render a page. We’ll look at GSP pages in more detail in the <a href="#Views">[Views]</a> section, but for now, let’s create a very simple GSP page for our <code>HomeController.index</code> action to display.</p>
@@ -234,7 +234,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn much more about URL Mappings from the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
+Learn much more about URL Mappings from the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
</td>
</tr>
</table>
@@ -350,7 +350,7 @@ Learn much more about URL Mappings from the <a href="http://docs.grails.org/late
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn more about scaffolding in the <a href="http://docs.grails.org/latest/guide/scaffolding.html">Grails documentation</a>.
+Learn more about scaffolding in the <a href="https://grails.apache.org/docs/latest/guide/scaffolding.html">Grails documentation</a>.
</td>
</tr>
</table>
@@ -611,31 +611,31 @@ To override existing files, use th <code>-force</code> flag along with the <code
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>The <a href="http://gorm.grails.org/latest/api/grails/gorm/transactions/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="http://docs.grails.org/latest/guide/single.html#declarativ [...]
+<td>The <a href="http://gorm.grails.org/latest/api/grails/gorm/transactions/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="https://grails.apache.org/docs/latest/guide/single.html#de [...]
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://docs.grails.org/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
+<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://docs.grails.org/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond</code> [...]
+<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond [...]
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
+<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://docs.grails.org/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
+<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
-<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://docs.grails.org/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
+<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
</tr>
<tr>
<td><i class="conum" data-value="7"></i><b>7</b></td>
-<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://docs.grails.org/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
+<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
</tr>
</table>
</div>
@@ -686,7 +686,7 @@ To override existing files, use th <code>-force</code> flag along with the <code
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
+<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
diff --git a/guides/creating-your-first-grails-app/4/guide/creatingTheApp.html b/guides/creating-your-first-grails-app/4/guide/creatingTheApp.html
index 0709a695ef8..940f699a25c 100644
--- a/guides/creating-your-first-grails-app/4/guide/creatingTheApp.html
+++ b/guides/creating-your-first-grails-app/4/guide/creatingTheApp.html
@@ -181,7 +181,7 @@ If you are running Windows, there is a clone project of <code>sdkman</code> avai
<p>This is not the recommend way to install Grails, but here are the manual installation steps, if the above methods fails.</p>
</div>
<div class="paragraph">
-<p>Download the Grails binary package from <a href="https://grails.org/download.html">https://grails.org</a>. Unpack the package in a convenient directory.</p>
+<p>Download the Grails binary package from <a href="https://grails.apache.org/download.html">https://grails.apache.org</a>. Unpack the package in a convenient directory.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -273,7 +273,7 @@ export PATH="$PATH:$GRAILS_HOME/bin</code></pre>
<div class="paragraph">
-<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
+<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -302,10 +302,10 @@ You can optionally specify a default package for the application:</p>
<div class="paragraph">
-<p>You can optionally specify a <a href="http://docs.grails.org/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
+<p>You can optionally specify a <a href="https://grails.apache.org/docs/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
</div>
<div class="paragraph">
-<p>To view of a list of what profiles are available, use the <a href="http://docs.grails.org/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
+<p>To view of a list of what profiles are available, use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -343,7 +343,7 @@ You can optionally specify a default package for the application:</p>
</div>
</div>
<div class="paragraph">
-<p>To get detailed information about a profile use the <a href="http://docs.grails.org/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
+<p>To get detailed information about a profile use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/4/guide/deployment.html b/guides/creating-your-first-grails-app/4/guide/deployment.html
index e5a3653840a..b33129d68f3 100644
--- a/guides/creating-your-first-grails-app/4/guide/deployment.html
+++ b/guides/creating-your-first-grails-app/4/guide/deployment.html
@@ -119,7 +119,7 @@ BUILD SUCCESSFUL
</td>
<td class="content">
<div class="paragraph">
-<p>We didn’t cover the topic of <a href="http://docs.grails.org/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <code>war</c [...]
+<p>We didn’t cover the topic of <a href="https://grails.apache.org/docs/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <cod [...]
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/4/guide/domainClasses.html b/guides/creating-your-first-grails-app/4/guide/domainClasses.html
index 9268cc07026..fbe94589e02 100644
--- a/guides/creating-your-first-grails-app/4/guide/domainClasses.html
+++ b/guides/creating-your-first-grails-app/4/guide/domainClasses.html
@@ -230,7 +230,7 @@ Handling the mapping of domain classes to database tables (and other persistent
</table>
</div>
<div class="paragraph">
-<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://docs.grails.org/latest/ref/Constraints/Usage.html">constraints</a></p>
+<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://grails.apache.org/docs/latest/ref/Constraints/Usage.html">constraints</a></p>
</div>
@@ -536,10 +536,10 @@ Be sure to add the dependency to the <code>dependencies</code> section of the <c
<div class="paragraph">
-<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="http://docs.grails.org/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
+<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
</div>
<div class="paragraph">
-<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
+<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
</div>
<div class="paragraph">
<p>Launch the Grails Console:</p>
diff --git a/guides/creating-your-first-grails-app/4/guide/index.html b/guides/creating-your-first-grails-app/4/guide/index.html
index 97503308e43..5b0735d5e6f 100644
--- a/guides/creating-your-first-grails-app/4/guide/index.html
+++ b/guides/creating-your-first-grails-app/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -391,7 +391,7 @@ If you are running Windows, there is a clone project of <code>sdkman</code> avai
<p>This is not the recommend way to install Grails, but here are the manual installation steps, if the above methods fails.</p>
</div>
<div class="paragraph">
-<p>Download the Grails binary package from <a href="https://grails.org/download.html">https://grails.org</a>. Unpack the package in a convenient directory.</p>
+<p>Download the Grails binary package from <a href="https://grails.apache.org/download.html">https://grails.apache.org</a>. Unpack the package in a convenient directory.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -483,7 +483,7 @@ export PATH="$PATH:$GRAILS_HOME/bin</code></pre>
<div class="paragraph">
-<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
+<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -512,10 +512,10 @@ You can optionally specify a default package for the application:</p>
<div class="paragraph">
-<p>You can optionally specify a <a href="http://docs.grails.org/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
+<p>You can optionally specify a <a href="https://grails.apache.org/docs/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
</div>
<div class="paragraph">
-<p>To view of a list of what profiles are available, use the <a href="http://docs.grails.org/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
+<p>To view of a list of what profiles are available, use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -553,7 +553,7 @@ You can optionally specify a default package for the application:</p>
</div>
</div>
<div class="paragraph">
-<p>To get detailed information about a profile use the <a href="http://docs.grails.org/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
+<p>To get detailed information about a profile use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -635,7 +635,7 @@ When you create an app without <code>-profile</code> the default profile used is
<p>Now that you’ve created (or downloaded) your Grails project, it’s time to run it and see what Grails has already given you.</p>
</div>
<div class="paragraph">
-<p>If you have a local installation of Grails, you can run the app using the <a href="http://docs.grails.org/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
+<p>If you have a local installation of Grails, you can run the app using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -646,7 +646,7 @@ When you create an app without <code>-profile</code> the default profile used is
<p><strong>Run the App without Grails Installed</strong></p>
</div>
<div class="paragraph">
-<p>Thanks to the <a href="http://docs.grails.org/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
+<p>Thanks to the <a href="https://grails.apache.org/docs/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
Grails installed. If you download it from the <a href="http://start.grails.org">Grails Application Forge</a>, the Grails Wrapper is included too.</p>
</div>
<div class="listingblock">
@@ -669,7 +669,7 @@ Grails installed. If you download it from the <a href="http://start.grails.org">
<p><strong>Run the App with Grails Interactive Mode</strong></p>
</div>
<div class="paragraph">
-<p>You can also use Grails' <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
+<p>You can also use Grails' <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
</div>
<div class="paragraph">
<p>In this guide we will be preferring the Grails wrapper for most commands.</p>
@@ -898,7 +898,7 @@ Handling the mapping of domain classes to database tables (and other persistent
</table>
</div>
<div class="paragraph">
-<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://docs.grails.org/latest/ref/Constraints/Usage.html">constraints</a></p>
+<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://grails.apache.org/docs/latest/ref/Constraints/Usage.html">constraints</a></p>
</div>
@@ -1204,10 +1204,10 @@ Be sure to add the dependency to the <code>dependencies</code> section of the <c
<div class="paragraph">
-<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="http://docs.grails.org/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
+<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
</div>
<div class="paragraph">
-<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
+<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
</div>
<div class="paragraph">
<p>Launch the Grails Console:</p>
@@ -1266,7 +1266,7 @@ println nissans.size()</code></pre>
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-While not part of the "MVC" triad, Grails also provides support for <a href="http://docs.grails.org/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
+While not part of the "MVC" triad, Grails also provides support for <a href="https://grails.apache.org/docs/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
</td>
</tr>
</table>
@@ -1309,7 +1309,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
</div>
</div>
<div class="paragraph">
-<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="http://docs.grails [...]
+<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="https://grails.apa [...]
</div>
<div class="paragraph">
<p>We don’t have any need for logic in this particular action just yet, but we would like it to render a page. We’ll look at GSP pages in more detail in the <a href="#Views">[Views]</a> section, but for now, let’s create a very simple GSP page for our <code>HomeController.index</code> action to display.</p>
@@ -1371,7 +1371,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn much more about URL Mappings from the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
+Learn much more about URL Mappings from the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
</td>
</tr>
</table>
@@ -1487,7 +1487,7 @@ Learn much more about URL Mappings from the <a href="http://docs.grails.org/late
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn more about scaffolding in the <a href="http://docs.grails.org/latest/guide/scaffolding.html">Grails documentation</a>.
+Learn more about scaffolding in the <a href="https://grails.apache.org/docs/latest/guide/scaffolding.html">Grails documentation</a>.
</td>
</tr>
</table>
@@ -1748,31 +1748,31 @@ To override existing files, use th <code>-force</code> flag along with the <code
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>The <a href="http://gorm.grails.org/latest/api/grails/gorm/transactions/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="http://docs.grails.org/latest/guide/single.html#declarativ [...]
+<td>The <a href="http://gorm.grails.org/latest/api/grails/gorm/transactions/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="https://grails.apache.org/docs/latest/guide/single.html#de [...]
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://docs.grails.org/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
+<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://docs.grails.org/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond</code> [...]
+<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond [...]
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
+<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://docs.grails.org/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
+<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
-<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://docs.grails.org/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
+<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
</tr>
<tr>
<td><i class="conum" data-value="7"></i><b>7</b></td>
-<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://docs.grails.org/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
+<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
</tr>
</table>
</div>
@@ -1823,7 +1823,7 @@ To override existing files, use th <code>-force</code> flag along with the <code
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
+<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
@@ -1959,7 +1959,7 @@ Date: Wed, 11 Jan 2017 04:06:57 GMT
<p>Views are the third component of the MVC pattern. Views are responsible for presenting data to the user (which might be a browser page, an API endpoint, or some other sort of consumer). In many apps, views are HTML pages designed to be loaded in a browser. However, it is perfectly reasonable for a "view" to be an XML or JSON document, depending on the type of client requesting the view.</p>
</div>
<div class="paragraph">
-<p>Grails' primary view technology is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong>strongly [...]
+<p>Grails' primary view technology is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong> [...]
</div>
<div class="paragraph">
<p>You’ve already worked with GSP views in this guide, but let’s quickly cover the basics.</p>
@@ -2328,7 +2328,7 @@ This sort of code is a <strong>bad idea</strong> - we are accessing our domain m
</div>
</div>
<div class="paragraph">
-<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
+<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
</div>
@@ -2588,7 +2588,7 @@ Controllers are for "web logic", services for "business logic"
<div class="paragraph">
-<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="http://docs.grails.org/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="http://docs.grails.org/latest/guide/testing.html#integrationTesting">Integration tests</a> require the Grails environme [...]
+<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="https://grails.apache.org/docs/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="https://grails.apache.org/docs/latest/guide/testing.html#integrationTesting">Integration tests</a> require the [...]
</div>
<div class="paragraph">
<p>The testing framework used by Grails is <a href="http://spockframework.org">Spock</a>. Spock provides an expressive syntax for writing test cases, based on the Groovy language, and so is a great fit for Grails. It includes a JUnit runner, which means IDE support is effectively universal (any IDE that can run JUnit tests can run Spock tests).</p>
@@ -2609,7 +2609,7 @@ Spock is a rich framework (even outside of Grails applications) and well worth y
<p>Grails tests are stored (by convention) in the <code>src/test/groovy</code> directory (unit tests) and <code>src/integration-test/groovy</code> directory (integration/functional tests).</p>
</div>
<div class="paragraph">
-<p>You can run your Grails tests using the <a href="http://docs.grails.org/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
+<p>You can run your Grails tests using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -2790,7 +2790,7 @@ BUILD SUCCESSFUL
</td>
<td class="content">
<div class="paragraph">
-<p>We didn’t cover the topic of <a href="http://docs.grails.org/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <code>war</c [...]
+<p>We didn’t cover the topic of <a href="https://grails.apache.org/docs/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <cod [...]
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/4/guide/pages/applicationProfile.html b/guides/creating-your-first-grails-app/4/guide/pages/applicationProfile.html
index a1ca8d66d4c..e35aa79da3a 100644
--- a/guides/creating-your-first-grails-app/4/guide/pages/applicationProfile.html
+++ b/guides/creating-your-first-grails-app/4/guide/pages/applicationProfile.html
@@ -100,10 +100,10 @@ function addJsClass() {
<div class="paragraph">
-<p>You can optionally specify a <a href="http://docs.grails.org/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
+<p>You can optionally specify a <a href="https://grails.apache.org/docs/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
</div>
<div class="paragraph">
-<p>To view of a list of what profiles are available, use the <a href="http://docs.grails.org/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
+<p>To view of a list of what profiles are available, use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -141,7 +141,7 @@ function addJsClass() {
</div>
</div>
<div class="paragraph">
-<p>To get detailed information about a profile use the <a href="http://docs.grails.org/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
+<p>To get detailed information about a profile use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/4/guide/pages/console.html b/guides/creating-your-first-grails-app/4/guide/pages/console.html
index 424f146a975..75d446f9a03 100644
--- a/guides/creating-your-first-grails-app/4/guide/pages/console.html
+++ b/guides/creating-your-first-grails-app/4/guide/pages/console.html
@@ -100,10 +100,10 @@ function addJsClass() {
<div class="paragraph">
-<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="http://docs.grails.org/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
+<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
</div>
<div class="paragraph">
-<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
+<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
</div>
<div class="paragraph">
<p>Launch the Grails Console:</p>
diff --git a/guides/creating-your-first-grails-app/4/guide/pages/createApp.html b/guides/creating-your-first-grails-app/4/guide/pages/createApp.html
index 9bc2a318d1b..2c399917a05 100644
--- a/guides/creating-your-first-grails-app/4/guide/pages/createApp.html
+++ b/guides/creating-your-first-grails-app/4/guide/pages/createApp.html
@@ -100,7 +100,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
+<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/4/guide/pages/creatingDomainClass.html b/guides/creating-your-first-grails-app/4/guide/pages/creatingDomainClass.html
index 32fa624982c..d270a83e337 100644
--- a/guides/creating-your-first-grails-app/4/guide/pages/creatingDomainClass.html
+++ b/guides/creating-your-first-grails-app/4/guide/pages/creatingDomainClass.html
@@ -159,7 +159,7 @@ function addJsClass() {
</table>
</div>
<div class="paragraph">
-<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://docs.grails.org/latest/ref/Constraints/Usage.html">constraints</a></p>
+<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://grails.apache.org/docs/latest/ref/Constraints/Usage.html">constraints</a></p>
</div>
diff --git a/guides/creating-your-first-grails-app/4/guide/pages/gspLinks.html b/guides/creating-your-first-grails-app/4/guide/pages/gspLinks.html
index c7e4c67dda0..1999cddc25d 100644
--- a/guides/creating-your-first-grails-app/4/guide/pages/gspLinks.html
+++ b/guides/creating-your-first-grails-app/4/guide/pages/gspLinks.html
@@ -111,7 +111,7 @@ function addJsClass() {
</div>
</div>
<div class="paragraph">
-<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
+<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
</div>
diff --git a/guides/creating-your-first-grails-app/4/guide/pages/installing.html b/guides/creating-your-first-grails-app/4/guide/pages/installing.html
index 19c9b82d4ac..d2e64f88052 100644
--- a/guides/creating-your-first-grails-app/4/guide/pages/installing.html
+++ b/guides/creating-your-first-grails-app/4/guide/pages/installing.html
@@ -150,7 +150,7 @@ If you are running Windows, there is a clone project of <code>sdkman</code> avai
<p>This is not the recommend way to install Grails, but here are the manual installation steps, if the above methods fails.</p>
</div>
<div class="paragraph">
-<p>Download the Grails binary package from <a href="https://grails.org/download.html">https://grails.org</a>. Unpack the package in a convenient directory.</p>
+<p>Download the Grails binary package from <a href="https://grails.apache.org/download.html">https://grails.apache.org</a>. Unpack the package in a convenient directory.</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/4/guide/pages/respond.html b/guides/creating-your-first-grails-app/4/guide/pages/respond.html
index 3fd1fce0f25..aa9163baea8 100644
--- a/guides/creating-your-first-grails-app/4/guide/pages/respond.html
+++ b/guides/creating-your-first-grails-app/4/guide/pages/respond.html
@@ -132,7 +132,7 @@ function addJsClass() {
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
+<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
diff --git a/guides/creating-your-first-grails-app/4/guide/pages/scaffolding.html b/guides/creating-your-first-grails-app/4/guide/pages/scaffolding.html
index 1e870e443ef..c6f9add0c2a 100644
--- a/guides/creating-your-first-grails-app/4/guide/pages/scaffolding.html
+++ b/guides/creating-your-first-grails-app/4/guide/pages/scaffolding.html
@@ -109,7 +109,7 @@ function addJsClass() {
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn more about scaffolding in the <a href="http://docs.grails.org/latest/guide/scaffolding.html">Grails documentation</a>.
+Learn more about scaffolding in the <a href="https://grails.apache.org/docs/latest/guide/scaffolding.html">Grails documentation</a>.
</td>
</tr>
</table>
diff --git a/guides/creating-your-first-grails-app/4/guide/pages/staticScaffolding.html b/guides/creating-your-first-grails-app/4/guide/pages/staticScaffolding.html
index c0aa23e345f..1d5f2cf9b55 100644
--- a/guides/creating-your-first-grails-app/4/guide/pages/staticScaffolding.html
+++ b/guides/creating-your-first-grails-app/4/guide/pages/staticScaffolding.html
@@ -270,31 +270,31 @@ To override existing files, use th <code>-force</code> flag along with the <code
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>The <a href="http://gorm.grails.org/latest/api/grails/gorm/transactions/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="http://docs.grails.org/latest/guide/single.html#declarativ [...]
+<td>The <a href="http://gorm.grails.org/latest/api/grails/gorm/transactions/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="https://grails.apache.org/docs/latest/guide/single.html#de [...]
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://docs.grails.org/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
+<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://docs.grails.org/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond</code> [...]
+<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond [...]
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
+<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://docs.grails.org/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
+<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
-<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://docs.grails.org/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
+<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
</tr>
<tr>
<td><i class="conum" data-value="7"></i><b>7</b></td>
-<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://docs.grails.org/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
+<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
</tr>
</table>
</div>
diff --git a/guides/creating-your-first-grails-app/4/guide/pages/urlMappings.html b/guides/creating-your-first-grails-app/4/guide/pages/urlMappings.html
index aa95a05d0a4..68b6b3008e3 100644
--- a/guides/creating-your-first-grails-app/4/guide/pages/urlMappings.html
+++ b/guides/creating-your-first-grails-app/4/guide/pages/urlMappings.html
@@ -112,7 +112,7 @@ function addJsClass() {
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn much more about URL Mappings from the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
+Learn much more about URL Mappings from the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
</td>
</tr>
</table>
diff --git a/guides/creating-your-first-grails-app/4/guide/runningTheApp.html b/guides/creating-your-first-grails-app/4/guide/runningTheApp.html
index 1c5c2cdae25..884b595144e 100644
--- a/guides/creating-your-first-grails-app/4/guide/runningTheApp.html
+++ b/guides/creating-your-first-grails-app/4/guide/runningTheApp.html
@@ -114,7 +114,7 @@ function addJsClass() {
<p>Now that you’ve created (or downloaded) your Grails project, it’s time to run it and see what Grails has already given you.</p>
</div>
<div class="paragraph">
-<p>If you have a local installation of Grails, you can run the app using the <a href="http://docs.grails.org/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
+<p>If you have a local installation of Grails, you can run the app using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -125,7 +125,7 @@ function addJsClass() {
<p><strong>Run the App without Grails Installed</strong></p>
</div>
<div class="paragraph">
-<p>Thanks to the <a href="http://docs.grails.org/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
+<p>Thanks to the <a href="https://grails.apache.org/docs/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
Grails installed. If you download it from the <a href="http://start.grails.org">Grails Application Forge</a>, the Grails Wrapper is included too.</p>
</div>
<div class="listingblock">
@@ -148,7 +148,7 @@ Grails installed. If you download it from the <a href="http://start.grails.org">
<p><strong>Run the App with Grails Interactive Mode</strong></p>
</div>
<div class="paragraph">
-<p>You can also use Grails' <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
+<p>You can also use Grails' <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
</div>
<div class="paragraph">
<p>In this guide we will be preferring the Grails wrapper for most commands.</p>
diff --git a/guides/creating-your-first-grails-app/4/guide/single.html b/guides/creating-your-first-grails-app/4/guide/single.html
index 97503308e43..5b0735d5e6f 100644
--- a/guides/creating-your-first-grails-app/4/guide/single.html
+++ b/guides/creating-your-first-grails-app/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -391,7 +391,7 @@ If you are running Windows, there is a clone project of <code>sdkman</code> avai
<p>This is not the recommend way to install Grails, but here are the manual installation steps, if the above methods fails.</p>
</div>
<div class="paragraph">
-<p>Download the Grails binary package from <a href="https://grails.org/download.html">https://grails.org</a>. Unpack the package in a convenient directory.</p>
+<p>Download the Grails binary package from <a href="https://grails.apache.org/download.html">https://grails.apache.org</a>. Unpack the package in a convenient directory.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -483,7 +483,7 @@ export PATH="$PATH:$GRAILS_HOME/bin</code></pre>
<div class="paragraph">
-<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
+<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -512,10 +512,10 @@ You can optionally specify a default package for the application:</p>
<div class="paragraph">
-<p>You can optionally specify a <a href="http://docs.grails.org/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
+<p>You can optionally specify a <a href="https://grails.apache.org/docs/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
</div>
<div class="paragraph">
-<p>To view of a list of what profiles are available, use the <a href="http://docs.grails.org/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
+<p>To view of a list of what profiles are available, use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -553,7 +553,7 @@ You can optionally specify a default package for the application:</p>
</div>
</div>
<div class="paragraph">
-<p>To get detailed information about a profile use the <a href="http://docs.grails.org/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
+<p>To get detailed information about a profile use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -635,7 +635,7 @@ When you create an app without <code>-profile</code> the default profile used is
<p>Now that you’ve created (or downloaded) your Grails project, it’s time to run it and see what Grails has already given you.</p>
</div>
<div class="paragraph">
-<p>If you have a local installation of Grails, you can run the app using the <a href="http://docs.grails.org/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
+<p>If you have a local installation of Grails, you can run the app using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -646,7 +646,7 @@ When you create an app without <code>-profile</code> the default profile used is
<p><strong>Run the App without Grails Installed</strong></p>
</div>
<div class="paragraph">
-<p>Thanks to the <a href="http://docs.grails.org/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
+<p>Thanks to the <a href="https://grails.apache.org/docs/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
Grails installed. If you download it from the <a href="http://start.grails.org">Grails Application Forge</a>, the Grails Wrapper is included too.</p>
</div>
<div class="listingblock">
@@ -669,7 +669,7 @@ Grails installed. If you download it from the <a href="http://start.grails.org">
<p><strong>Run the App with Grails Interactive Mode</strong></p>
</div>
<div class="paragraph">
-<p>You can also use Grails' <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
+<p>You can also use Grails' <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
</div>
<div class="paragraph">
<p>In this guide we will be preferring the Grails wrapper for most commands.</p>
@@ -898,7 +898,7 @@ Handling the mapping of domain classes to database tables (and other persistent
</table>
</div>
<div class="paragraph">
-<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://docs.grails.org/latest/ref/Constraints/Usage.html">constraints</a></p>
+<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://grails.apache.org/docs/latest/ref/Constraints/Usage.html">constraints</a></p>
</div>
@@ -1204,10 +1204,10 @@ Be sure to add the dependency to the <code>dependencies</code> section of the <c
<div class="paragraph">
-<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="http://docs.grails.org/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
+<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
</div>
<div class="paragraph">
-<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
+<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
</div>
<div class="paragraph">
<p>Launch the Grails Console:</p>
@@ -1266,7 +1266,7 @@ println nissans.size()</code></pre>
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-While not part of the "MVC" triad, Grails also provides support for <a href="http://docs.grails.org/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
+While not part of the "MVC" triad, Grails also provides support for <a href="https://grails.apache.org/docs/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
</td>
</tr>
</table>
@@ -1309,7 +1309,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
</div>
</div>
<div class="paragraph">
-<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="http://docs.grails [...]
+<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="https://grails.apa [...]
</div>
<div class="paragraph">
<p>We don’t have any need for logic in this particular action just yet, but we would like it to render a page. We’ll look at GSP pages in more detail in the <a href="#Views">[Views]</a> section, but for now, let’s create a very simple GSP page for our <code>HomeController.index</code> action to display.</p>
@@ -1371,7 +1371,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn much more about URL Mappings from the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
+Learn much more about URL Mappings from the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
</td>
</tr>
</table>
@@ -1487,7 +1487,7 @@ Learn much more about URL Mappings from the <a href="http://docs.grails.org/late
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn more about scaffolding in the <a href="http://docs.grails.org/latest/guide/scaffolding.html">Grails documentation</a>.
+Learn more about scaffolding in the <a href="https://grails.apache.org/docs/latest/guide/scaffolding.html">Grails documentation</a>.
</td>
</tr>
</table>
@@ -1748,31 +1748,31 @@ To override existing files, use th <code>-force</code> flag along with the <code
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>The <a href="http://gorm.grails.org/latest/api/grails/gorm/transactions/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="http://docs.grails.org/latest/guide/single.html#declarativ [...]
+<td>The <a href="http://gorm.grails.org/latest/api/grails/gorm/transactions/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="https://grails.apache.org/docs/latest/guide/single.html#de [...]
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://docs.grails.org/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
+<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://docs.grails.org/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond</code> [...]
+<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond [...]
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
+<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://docs.grails.org/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
+<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
-<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://docs.grails.org/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
+<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
</tr>
<tr>
<td><i class="conum" data-value="7"></i><b>7</b></td>
-<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://docs.grails.org/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
+<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
</tr>
</table>
</div>
@@ -1823,7 +1823,7 @@ To override existing files, use th <code>-force</code> flag along with the <code
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
+<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
@@ -1959,7 +1959,7 @@ Date: Wed, 11 Jan 2017 04:06:57 GMT
<p>Views are the third component of the MVC pattern. Views are responsible for presenting data to the user (which might be a browser page, an API endpoint, or some other sort of consumer). In many apps, views are HTML pages designed to be loaded in a browser. However, it is perfectly reasonable for a "view" to be an XML or JSON document, depending on the type of client requesting the view.</p>
</div>
<div class="paragraph">
-<p>Grails' primary view technology is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong>strongly [...]
+<p>Grails' primary view technology is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong> [...]
</div>
<div class="paragraph">
<p>You’ve already worked with GSP views in this guide, but let’s quickly cover the basics.</p>
@@ -2328,7 +2328,7 @@ This sort of code is a <strong>bad idea</strong> - we are accessing our domain m
</div>
</div>
<div class="paragraph">
-<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
+<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
</div>
@@ -2588,7 +2588,7 @@ Controllers are for "web logic", services for "business logic"
<div class="paragraph">
-<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="http://docs.grails.org/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="http://docs.grails.org/latest/guide/testing.html#integrationTesting">Integration tests</a> require the Grails environme [...]
+<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="https://grails.apache.org/docs/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="https://grails.apache.org/docs/latest/guide/testing.html#integrationTesting">Integration tests</a> require the [...]
</div>
<div class="paragraph">
<p>The testing framework used by Grails is <a href="http://spockframework.org">Spock</a>. Spock provides an expressive syntax for writing test cases, based on the Groovy language, and so is a great fit for Grails. It includes a JUnit runner, which means IDE support is effectively universal (any IDE that can run JUnit tests can run Spock tests).</p>
@@ -2609,7 +2609,7 @@ Spock is a rich framework (even outside of Grails applications) and well worth y
<p>Grails tests are stored (by convention) in the <code>src/test/groovy</code> directory (unit tests) and <code>src/integration-test/groovy</code> directory (integration/functional tests).</p>
</div>
<div class="paragraph">
-<p>You can run your Grails tests using the <a href="http://docs.grails.org/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
+<p>You can run your Grails tests using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -2790,7 +2790,7 @@ BUILD SUCCESSFUL
</td>
<td class="content">
<div class="paragraph">
-<p>We didn’t cover the topic of <a href="http://docs.grails.org/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <code>war</c [...]
+<p>We didn’t cover the topic of <a href="https://grails.apache.org/docs/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <cod [...]
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/4/guide/testing.html b/guides/creating-your-first-grails-app/4/guide/testing.html
index 03ae81df28c..a162ea389d3 100644
--- a/guides/creating-your-first-grails-app/4/guide/testing.html
+++ b/guides/creating-your-first-grails-app/4/guide/testing.html
@@ -100,7 +100,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="http://docs.grails.org/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="http://docs.grails.org/latest/guide/testing.html#integrationTesting">Integration tests</a> require the Grails environme [...]
+<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="https://grails.apache.org/docs/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="https://grails.apache.org/docs/latest/guide/testing.html#integrationTesting">Integration tests</a> require the [...]
</div>
<div class="paragraph">
<p>The testing framework used by Grails is <a href="http://spockframework.org">Spock</a>. Spock provides an expressive syntax for writing test cases, based on the Groovy language, and so is a great fit for Grails. It includes a JUnit runner, which means IDE support is effectively universal (any IDE that can run JUnit tests can run Spock tests).</p>
@@ -121,7 +121,7 @@ Spock is a rich framework (even outside of Grails applications) and well worth y
<p>Grails tests are stored (by convention) in the <code>src/test/groovy</code> directory (unit tests) and <code>src/integration-test/groovy</code> directory (integration/functional tests).</p>
</div>
<div class="paragraph">
-<p>You can run your Grails tests using the <a href="http://docs.grails.org/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
+<p>You can run your Grails tests using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/4/guide/views.html b/guides/creating-your-first-grails-app/4/guide/views.html
index 813c37820ba..9c98b83bd24 100644
--- a/guides/creating-your-first-grails-app/4/guide/views.html
+++ b/guides/creating-your-first-grails-app/4/guide/views.html
@@ -126,7 +126,7 @@ function addJsClass() {
<p>Views are the third component of the MVC pattern. Views are responsible for presenting data to the user (which might be a browser page, an API endpoint, or some other sort of consumer). In many apps, views are HTML pages designed to be loaded in a browser. However, it is perfectly reasonable for a "view" to be an XML or JSON document, depending on the type of client requesting the view.</p>
</div>
<div class="paragraph">
-<p>Grails' primary view technology is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong>strongly [...]
+<p>Grails' primary view technology is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong> [...]
</div>
<div class="paragraph">
<p>You’ve already worked with GSP views in this guide, but let’s quickly cover the basics.</p>
@@ -495,7 +495,7 @@ This sort of code is a <strong>bad idea</strong> - we are accessing our domain m
</div>
</div>
<div class="paragraph">
-<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
+<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
</div>
diff --git a/guides/creating-your-first-grails-app/4/index.html b/guides/creating-your-first-grails-app/4/index.html
index b16c2736537..20f75a371ad 100644
--- a/guides/creating-your-first-grails-app/4/index.html
+++ b/guides/creating-your-first-grails-app/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/creating-your-first-grails-app/6/guide/controllers.html b/guides/creating-your-first-grails-app/6/guide/controllers.html
index 46418fc50ba..21f17f30489 100644
--- a/guides/creating-your-first-grails-app/6/guide/controllers.html
+++ b/guides/creating-your-first-grails-app/6/guide/controllers.html
@@ -129,7 +129,7 @@ function addJsClass() {
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-While not part of the "MVC" triad, Grails also provides support for <a href="http://docs.grails.org/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
+While not part of the "MVC" triad, Grails also provides support for <a href="https://grails.apache.org/docs/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
</td>
</tr>
</table>
@@ -172,7 +172,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
</div>
</div>
<div class="paragraph">
-<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="http://docs.grails [...]
+<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="https://grails.apa [...]
</div>
<div class="paragraph">
<p>We don’t have any need for logic in this particular action just yet, but we would like it to render a page. We’ll look at GSP pages in more detail in the <a href="#Views">[Views]</a> section, but for now, let’s create a very simple GSP page for our <code>HomeController.index</code> action to display.</p>
@@ -234,7 +234,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn much more about URL Mappings from the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
+Learn much more about URL Mappings from the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
</td>
</tr>
</table>
@@ -350,7 +350,7 @@ Learn much more about URL Mappings from the <a href="http://docs.grails.org/late
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn more about scaffolding in the <a href="http://docs.grails.org/latest/guide/scaffolding.html">Grails documentation</a>.
+Learn more about scaffolding in the <a href="https://grails.apache.org/docs/latest/guide/scaffolding.html">Grails documentation</a>.
</td>
</tr>
</table>
@@ -611,31 +611,31 @@ To override existing files, use th <code>-force</code> flag along with the <code
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>The <a href="http://gorm.grails.org/latest/api/grails/gorm/transactions/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="http://docs.grails.org/latest/guide/single.html#declarativ [...]
+<td>The <a href="http://gorm.grails.org/latest/api/grails/gorm/transactions/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="https://grails.apache.org/docs/latest/guide/single.html#de [...]
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://docs.grails.org/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
+<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://docs.grails.org/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond</code> [...]
+<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond [...]
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
+<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://docs.grails.org/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
+<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
-<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://docs.grails.org/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
+<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
</tr>
<tr>
<td><i class="conum" data-value="7"></i><b>7</b></td>
-<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://docs.grails.org/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
+<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
</tr>
</table>
</div>
@@ -686,7 +686,7 @@ To override existing files, use th <code>-force</code> flag along with the <code
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
+<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
diff --git a/guides/creating-your-first-grails-app/6/guide/creatingTheApp.html b/guides/creating-your-first-grails-app/6/guide/creatingTheApp.html
index af7897111db..5afcdbff1c3 100644
--- a/guides/creating-your-first-grails-app/6/guide/creatingTheApp.html
+++ b/guides/creating-your-first-grails-app/6/guide/creatingTheApp.html
@@ -181,7 +181,7 @@ If you are running Windows, there is a clone project of <code>sdkman</code> avai
<p>This is not the recommend way to install Grails, but here are the manual installation steps, if the above methods fails.</p>
</div>
<div class="paragraph">
-<p>Download the Grails binary package from <a href="https://grails.org/download.html">https://grails.org</a>. Unpack the package in a convenient directory.</p>
+<p>Download the Grails binary package from <a href="https://grails.apache.org/download.html">https://grails.apache.org</a>. Unpack the package in a convenient directory.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -273,7 +273,7 @@ export PATH="$PATH:$GRAILS_HOME/bin</code></pre>
<div class="paragraph">
-<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
+<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -302,10 +302,10 @@ You can optionally specify a default package for the application:</p>
<div class="paragraph">
-<p>You can optionally specify a <a href="http://docs.grails.org/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
+<p>You can optionally specify a <a href="https://grails.apache.org/docs/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
</div>
<div class="paragraph">
-<p>To view of a list of what profiles are available, use the <a href="http://docs.grails.org/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
+<p>To view of a list of what profiles are available, use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -343,7 +343,7 @@ You can optionally specify a default package for the application:</p>
</div>
</div>
<div class="paragraph">
-<p>To get detailed information about a profile use the <a href="http://docs.grails.org/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
+<p>To get detailed information about a profile use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/6/guide/deployment.html b/guides/creating-your-first-grails-app/6/guide/deployment.html
index 67dace0e8a9..f7764d9537e 100644
--- a/guides/creating-your-first-grails-app/6/guide/deployment.html
+++ b/guides/creating-your-first-grails-app/6/guide/deployment.html
@@ -119,7 +119,7 @@ BUILD SUCCESSFUL
</td>
<td class="content">
<div class="paragraph">
-<p>We didn’t cover the topic of <a href="http://docs.grails.org/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <code>war</c [...]
+<p>We didn’t cover the topic of <a href="https://grails.apache.org/docs/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <cod [...]
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/6/guide/domainClasses.html b/guides/creating-your-first-grails-app/6/guide/domainClasses.html
index e954492a142..0c64e4ec09e 100644
--- a/guides/creating-your-first-grails-app/6/guide/domainClasses.html
+++ b/guides/creating-your-first-grails-app/6/guide/domainClasses.html
@@ -230,7 +230,7 @@ Handling the mapping of domain classes to database tables (and other persistent
</table>
</div>
<div class="paragraph">
-<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://docs.grails.org/latest/ref/Constraints/Usage.html">constraints</a></p>
+<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://grails.apache.org/docs/latest/ref/Constraints/Usage.html">constraints</a></p>
</div>
@@ -536,10 +536,10 @@ Be sure to add the dependency to the <code>dependencies</code> section of the <c
<div class="paragraph">
-<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="http://docs.grails.org/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
+<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
</div>
<div class="paragraph">
-<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
+<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
</div>
<div class="paragraph">
<p>Launch the Grails Console:</p>
diff --git a/guides/creating-your-first-grails-app/6/guide/index.html b/guides/creating-your-first-grails-app/6/guide/index.html
index f705960ca7c..f6348b8b44b 100644
--- a/guides/creating-your-first-grails-app/6/guide/index.html
+++ b/guides/creating-your-first-grails-app/6/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -391,7 +391,7 @@ If you are running Windows, there is a clone project of <code>sdkman</code> avai
<p>This is not the recommend way to install Grails, but here are the manual installation steps, if the above methods fails.</p>
</div>
<div class="paragraph">
-<p>Download the Grails binary package from <a href="https://grails.org/download.html">https://grails.org</a>. Unpack the package in a convenient directory.</p>
+<p>Download the Grails binary package from <a href="https://grails.apache.org/download.html">https://grails.apache.org</a>. Unpack the package in a convenient directory.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -483,7 +483,7 @@ export PATH="$PATH:$GRAILS_HOME/bin</code></pre>
<div class="paragraph">
-<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
+<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -512,10 +512,10 @@ You can optionally specify a default package for the application:</p>
<div class="paragraph">
-<p>You can optionally specify a <a href="http://docs.grails.org/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
+<p>You can optionally specify a <a href="https://grails.apache.org/docs/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
</div>
<div class="paragraph">
-<p>To view of a list of what profiles are available, use the <a href="http://docs.grails.org/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
+<p>To view of a list of what profiles are available, use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -553,7 +553,7 @@ You can optionally specify a default package for the application:</p>
</div>
</div>
<div class="paragraph">
-<p>To get detailed information about a profile use the <a href="http://docs.grails.org/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
+<p>To get detailed information about a profile use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -635,7 +635,7 @@ When you create an app without <code>-profile</code> the default profile used is
<p>Now that you’ve created (or downloaded) your Grails project, it’s time to run it and see what Grails has already given you.</p>
</div>
<div class="paragraph">
-<p>If you have a local installation of Grails, you can run the app using the <a href="http://docs.grails.org/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
+<p>If you have a local installation of Grails, you can run the app using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -646,7 +646,7 @@ When you create an app without <code>-profile</code> the default profile used is
<p><strong>Run the App without Grails Installed</strong></p>
</div>
<div class="paragraph">
-<p>Thanks to the <a href="http://docs.grails.org/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
+<p>Thanks to the <a href="https://grails.apache.org/docs/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
Grails installed. If you download it from the <a href="http://start.grails.org">Grails Application Forge</a>, the Grails Wrapper is included too.</p>
</div>
<div class="listingblock">
@@ -669,7 +669,7 @@ Grails installed. If you download it from the <a href="http://start.grails.org">
<p><strong>Run the App with Grails Interactive Mode</strong></p>
</div>
<div class="paragraph">
-<p>You can also use Grails' <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
+<p>You can also use Grails' <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
</div>
<div class="paragraph">
<p>In this guide we will be preferring the Grails wrapper for most commands.</p>
@@ -898,7 +898,7 @@ Handling the mapping of domain classes to database tables (and other persistent
</table>
</div>
<div class="paragraph">
-<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://docs.grails.org/latest/ref/Constraints/Usage.html">constraints</a></p>
+<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://grails.apache.org/docs/latest/ref/Constraints/Usage.html">constraints</a></p>
</div>
@@ -1204,10 +1204,10 @@ Be sure to add the dependency to the <code>dependencies</code> section of the <c
<div class="paragraph">
-<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="http://docs.grails.org/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
+<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
</div>
<div class="paragraph">
-<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
+<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
</div>
<div class="paragraph">
<p>Launch the Grails Console:</p>
@@ -1266,7 +1266,7 @@ println nissans.size()</code></pre>
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-While not part of the "MVC" triad, Grails also provides support for <a href="http://docs.grails.org/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
+While not part of the "MVC" triad, Grails also provides support for <a href="https://grails.apache.org/docs/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
</td>
</tr>
</table>
@@ -1309,7 +1309,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
</div>
</div>
<div class="paragraph">
-<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="http://docs.grails [...]
+<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="https://grails.apa [...]
</div>
<div class="paragraph">
<p>We don’t have any need for logic in this particular action just yet, but we would like it to render a page. We’ll look at GSP pages in more detail in the <a href="#Views">[Views]</a> section, but for now, let’s create a very simple GSP page for our <code>HomeController.index</code> action to display.</p>
@@ -1371,7 +1371,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn much more about URL Mappings from the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
+Learn much more about URL Mappings from the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
</td>
</tr>
</table>
@@ -1487,7 +1487,7 @@ Learn much more about URL Mappings from the <a href="http://docs.grails.org/late
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn more about scaffolding in the <a href="http://docs.grails.org/latest/guide/scaffolding.html">Grails documentation</a>.
+Learn more about scaffolding in the <a href="https://grails.apache.org/docs/latest/guide/scaffolding.html">Grails documentation</a>.
</td>
</tr>
</table>
@@ -1748,31 +1748,31 @@ To override existing files, use th <code>-force</code> flag along with the <code
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>The <a href="http://gorm.grails.org/latest/api/grails/gorm/transactions/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="http://docs.grails.org/latest/guide/single.html#declarativ [...]
+<td>The <a href="http://gorm.grails.org/latest/api/grails/gorm/transactions/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="https://grails.apache.org/docs/latest/guide/single.html#de [...]
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://docs.grails.org/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
+<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://docs.grails.org/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond</code> [...]
+<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond [...]
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
+<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://docs.grails.org/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
+<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
-<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://docs.grails.org/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
+<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
</tr>
<tr>
<td><i class="conum" data-value="7"></i><b>7</b></td>
-<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://docs.grails.org/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
+<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
</tr>
</table>
</div>
@@ -1823,7 +1823,7 @@ To override existing files, use th <code>-force</code> flag along with the <code
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
+<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
@@ -1959,7 +1959,7 @@ Date: Wed, 11 Jan 2017 04:06:57 GMT
<p>Views are the third component of the MVC pattern. Views are responsible for presenting data to the user (which might be a browser page, an API endpoint, or some other sort of consumer). In many apps, views are HTML pages designed to be loaded in a browser. However, it is perfectly reasonable for a "view" to be an XML or JSON document, depending on the type of client requesting the view.</p>
</div>
<div class="paragraph">
-<p>Grails' primary view technology is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong>strongly [...]
+<p>Grails' primary view technology is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong> [...]
</div>
<div class="paragraph">
<p>You’ve already worked with GSP views in this guide, but let’s quickly cover the basics.</p>
@@ -2328,7 +2328,7 @@ This sort of code is a <strong>bad idea</strong> - we are accessing our domain m
</div>
</div>
<div class="paragraph">
-<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
+<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
</div>
@@ -2584,7 +2584,7 @@ Controllers are for "web logic", services for "business logic"
<div class="paragraph">
-<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="http://docs.grails.org/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="http://docs.grails.org/latest/guide/testing.html#integrationTesting">Integration tests</a> require the Grails environme [...]
+<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="https://grails.apache.org/docs/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="https://grails.apache.org/docs/latest/guide/testing.html#integrationTesting">Integration tests</a> require the [...]
</div>
<div class="paragraph">
<p>The testing framework used by Grails is <a href="http://spockframework.org">Spock</a>. Spock provides an expressive syntax for writing test cases, based on the Groovy language, and so is a great fit for Grails. It includes a JUnit runner, which means IDE support is effectively universal (any IDE that can run JUnit tests can run Spock tests).</p>
@@ -2605,7 +2605,7 @@ Spock is a rich framework (even outside of Grails applications) and well worth y
<p>Grails tests are stored (by convention) in the <code>src/test/groovy</code> directory (unit tests) and <code>src/integration-test/groovy</code> directory (integration/functional tests).</p>
</div>
<div class="paragraph">
-<p>You can run your Grails tests using the <a href="http://docs.grails.org/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
+<p>You can run your Grails tests using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -2786,7 +2786,7 @@ BUILD SUCCESSFUL
</td>
<td class="content">
<div class="paragraph">
-<p>We didn’t cover the topic of <a href="http://docs.grails.org/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <code>war</c [...]
+<p>We didn’t cover the topic of <a href="https://grails.apache.org/docs/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <cod [...]
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/6/guide/pages/applicationProfile.html b/guides/creating-your-first-grails-app/6/guide/pages/applicationProfile.html
index 79a8ba29501..5a14a3bda51 100644
--- a/guides/creating-your-first-grails-app/6/guide/pages/applicationProfile.html
+++ b/guides/creating-your-first-grails-app/6/guide/pages/applicationProfile.html
@@ -100,10 +100,10 @@ function addJsClass() {
<div class="paragraph">
-<p>You can optionally specify a <a href="http://docs.grails.org/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
+<p>You can optionally specify a <a href="https://grails.apache.org/docs/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
</div>
<div class="paragraph">
-<p>To view of a list of what profiles are available, use the <a href="http://docs.grails.org/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
+<p>To view of a list of what profiles are available, use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -141,7 +141,7 @@ function addJsClass() {
</div>
</div>
<div class="paragraph">
-<p>To get detailed information about a profile use the <a href="http://docs.grails.org/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
+<p>To get detailed information about a profile use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/6/guide/pages/console.html b/guides/creating-your-first-grails-app/6/guide/pages/console.html
index abe0ff0e515..c5ff415d6bb 100644
--- a/guides/creating-your-first-grails-app/6/guide/pages/console.html
+++ b/guides/creating-your-first-grails-app/6/guide/pages/console.html
@@ -100,10 +100,10 @@ function addJsClass() {
<div class="paragraph">
-<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="http://docs.grails.org/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
+<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
</div>
<div class="paragraph">
-<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
+<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
</div>
<div class="paragraph">
<p>Launch the Grails Console:</p>
diff --git a/guides/creating-your-first-grails-app/6/guide/pages/createApp.html b/guides/creating-your-first-grails-app/6/guide/pages/createApp.html
index 6eee341dd0e..68be1d18c6e 100644
--- a/guides/creating-your-first-grails-app/6/guide/pages/createApp.html
+++ b/guides/creating-your-first-grails-app/6/guide/pages/createApp.html
@@ -100,7 +100,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
+<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/6/guide/pages/creatingDomainClass.html b/guides/creating-your-first-grails-app/6/guide/pages/creatingDomainClass.html
index 4b4a45fe47e..f866a342161 100644
--- a/guides/creating-your-first-grails-app/6/guide/pages/creatingDomainClass.html
+++ b/guides/creating-your-first-grails-app/6/guide/pages/creatingDomainClass.html
@@ -159,7 +159,7 @@ function addJsClass() {
</table>
</div>
<div class="paragraph">
-<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://docs.grails.org/latest/ref/Constraints/Usage.html">constraints</a></p>
+<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://grails.apache.org/docs/latest/ref/Constraints/Usage.html">constraints</a></p>
</div>
diff --git a/guides/creating-your-first-grails-app/6/guide/pages/gspLinks.html b/guides/creating-your-first-grails-app/6/guide/pages/gspLinks.html
index ea638567a44..c8dcf7c9493 100644
--- a/guides/creating-your-first-grails-app/6/guide/pages/gspLinks.html
+++ b/guides/creating-your-first-grails-app/6/guide/pages/gspLinks.html
@@ -111,7 +111,7 @@ function addJsClass() {
</div>
</div>
<div class="paragraph">
-<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
+<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
</div>
diff --git a/guides/creating-your-first-grails-app/6/guide/pages/installing.html b/guides/creating-your-first-grails-app/6/guide/pages/installing.html
index ae461fefc8c..657bfe3328a 100644
--- a/guides/creating-your-first-grails-app/6/guide/pages/installing.html
+++ b/guides/creating-your-first-grails-app/6/guide/pages/installing.html
@@ -150,7 +150,7 @@ If you are running Windows, there is a clone project of <code>sdkman</code> avai
<p>This is not the recommend way to install Grails, but here are the manual installation steps, if the above methods fails.</p>
</div>
<div class="paragraph">
-<p>Download the Grails binary package from <a href="https://grails.org/download.html">https://grails.org</a>. Unpack the package in a convenient directory.</p>
+<p>Download the Grails binary package from <a href="https://grails.apache.org/download.html">https://grails.apache.org</a>. Unpack the package in a convenient directory.</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/6/guide/pages/respond.html b/guides/creating-your-first-grails-app/6/guide/pages/respond.html
index bf57bbe6a26..114b3b1a9e5 100644
--- a/guides/creating-your-first-grails-app/6/guide/pages/respond.html
+++ b/guides/creating-your-first-grails-app/6/guide/pages/respond.html
@@ -132,7 +132,7 @@ function addJsClass() {
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
+<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
diff --git a/guides/creating-your-first-grails-app/6/guide/pages/scaffolding.html b/guides/creating-your-first-grails-app/6/guide/pages/scaffolding.html
index 763ff52687a..ff462ac847b 100644
--- a/guides/creating-your-first-grails-app/6/guide/pages/scaffolding.html
+++ b/guides/creating-your-first-grails-app/6/guide/pages/scaffolding.html
@@ -109,7 +109,7 @@ function addJsClass() {
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn more about scaffolding in the <a href="http://docs.grails.org/latest/guide/scaffolding.html">Grails documentation</a>.
+Learn more about scaffolding in the <a href="https://grails.apache.org/docs/latest/guide/scaffolding.html">Grails documentation</a>.
</td>
</tr>
</table>
diff --git a/guides/creating-your-first-grails-app/6/guide/pages/staticScaffolding.html b/guides/creating-your-first-grails-app/6/guide/pages/staticScaffolding.html
index 994299026c2..e7653274c4e 100644
--- a/guides/creating-your-first-grails-app/6/guide/pages/staticScaffolding.html
+++ b/guides/creating-your-first-grails-app/6/guide/pages/staticScaffolding.html
@@ -270,31 +270,31 @@ To override existing files, use th <code>-force</code> flag along with the <code
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>The <a href="http://gorm.grails.org/latest/api/grails/gorm/transactions/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="http://docs.grails.org/latest/guide/single.html#declarativ [...]
+<td>The <a href="http://gorm.grails.org/latest/api/grails/gorm/transactions/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="https://grails.apache.org/docs/latest/guide/single.html#de [...]
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://docs.grails.org/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
+<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://docs.grails.org/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond</code> [...]
+<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond [...]
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
+<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://docs.grails.org/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
+<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
-<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://docs.grails.org/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
+<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
</tr>
<tr>
<td><i class="conum" data-value="7"></i><b>7</b></td>
-<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://docs.grails.org/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
+<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
</tr>
</table>
</div>
diff --git a/guides/creating-your-first-grails-app/6/guide/pages/urlMappings.html b/guides/creating-your-first-grails-app/6/guide/pages/urlMappings.html
index 0aa0344f7fa..93e3b0b3b2a 100644
--- a/guides/creating-your-first-grails-app/6/guide/pages/urlMappings.html
+++ b/guides/creating-your-first-grails-app/6/guide/pages/urlMappings.html
@@ -112,7 +112,7 @@ function addJsClass() {
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn much more about URL Mappings from the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
+Learn much more about URL Mappings from the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
</td>
</tr>
</table>
diff --git a/guides/creating-your-first-grails-app/6/guide/runningTheApp.html b/guides/creating-your-first-grails-app/6/guide/runningTheApp.html
index f1238af0d3c..0d2ff715dcd 100644
--- a/guides/creating-your-first-grails-app/6/guide/runningTheApp.html
+++ b/guides/creating-your-first-grails-app/6/guide/runningTheApp.html
@@ -114,7 +114,7 @@ function addJsClass() {
<p>Now that you’ve created (or downloaded) your Grails project, it’s time to run it and see what Grails has already given you.</p>
</div>
<div class="paragraph">
-<p>If you have a local installation of Grails, you can run the app using the <a href="http://docs.grails.org/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
+<p>If you have a local installation of Grails, you can run the app using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -125,7 +125,7 @@ function addJsClass() {
<p><strong>Run the App without Grails Installed</strong></p>
</div>
<div class="paragraph">
-<p>Thanks to the <a href="http://docs.grails.org/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
+<p>Thanks to the <a href="https://grails.apache.org/docs/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
Grails installed. If you download it from the <a href="http://start.grails.org">Grails Application Forge</a>, the Grails Wrapper is included too.</p>
</div>
<div class="listingblock">
@@ -148,7 +148,7 @@ Grails installed. If you download it from the <a href="http://start.grails.org">
<p><strong>Run the App with Grails Interactive Mode</strong></p>
</div>
<div class="paragraph">
-<p>You can also use Grails' <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
+<p>You can also use Grails' <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
</div>
<div class="paragraph">
<p>In this guide we will be preferring the Grails wrapper for most commands.</p>
diff --git a/guides/creating-your-first-grails-app/6/guide/single.html b/guides/creating-your-first-grails-app/6/guide/single.html
index f705960ca7c..f6348b8b44b 100644
--- a/guides/creating-your-first-grails-app/6/guide/single.html
+++ b/guides/creating-your-first-grails-app/6/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -391,7 +391,7 @@ If you are running Windows, there is a clone project of <code>sdkman</code> avai
<p>This is not the recommend way to install Grails, but here are the manual installation steps, if the above methods fails.</p>
</div>
<div class="paragraph">
-<p>Download the Grails binary package from <a href="https://grails.org/download.html">https://grails.org</a>. Unpack the package in a convenient directory.</p>
+<p>Download the Grails binary package from <a href="https://grails.apache.org/download.html">https://grails.apache.org</a>. Unpack the package in a convenient directory.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -483,7 +483,7 @@ export PATH="$PATH:$GRAILS_HOME/bin</code></pre>
<div class="paragraph">
-<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="http://docs.grails.org/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
+<p>Creating a Grails app is about as simple as could be - once you have installed Grails, simply run the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/create-app.html"><code>create-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -512,10 +512,10 @@ You can optionally specify a default package for the application:</p>
<div class="paragraph">
-<p>You can optionally specify a <a href="http://docs.grails.org/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
+<p>You can optionally specify a <a href="https://grails.apache.org/docs/latest/guide/profiles.html">Profile</a> for your Grails app. Profiles are available for many common application types, including <code>rest-api</code>, <code>angular</code>, <code>react</code>, and others, and you can even create your own.</p>
</div>
<div class="paragraph">
-<p>To view of a list of what profiles are available, use the <a href="http://docs.grails.org/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
+<p>To view of a list of what profiles are available, use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/list-profiles.html"><code>list-profiles</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -553,7 +553,7 @@ You can optionally specify a default package for the application:</p>
</div>
</div>
<div class="paragraph">
-<p>To get detailed information about a profile use the <a href="http://docs.grails.org/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
+<p>To get detailed information about a profile use the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/profile-info.html"><code>profile-info</code></a> command.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -635,7 +635,7 @@ When you create an app without <code>-profile</code> the default profile used is
<p>Now that you’ve created (or downloaded) your Grails project, it’s time to run it and see what Grails has already given you.</p>
</div>
<div class="paragraph">
-<p>If you have a local installation of Grails, you can run the app using the <a href="http://docs.grails.org/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
+<p>If you have a local installation of Grails, you can run the app using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/run-app.html">run-app</a> command from within your project:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -646,7 +646,7 @@ When you create an app without <code>-profile</code> the default profile used is
<p><strong>Run the App without Grails Installed</strong></p>
</div>
<div class="paragraph">
-<p>Thanks to the <a href="http://docs.grails.org/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
+<p>Thanks to the <a href="https://grails.apache.org/docs/latest/guide/introduction.html#whatsNewGrailsWrapper">Grails Wrapper</a>, as of Grails version 3.2.3 or later, you can run any Grails command without having
Grails installed. If you download it from the <a href="http://start.grails.org">Grails Application Forge</a>, the Grails Wrapper is included too.</p>
</div>
<div class="listingblock">
@@ -669,7 +669,7 @@ Grails installed. If you download it from the <a href="http://start.grails.org">
<p><strong>Run the App with Grails Interactive Mode</strong></p>
</div>
<div class="paragraph">
-<p>You can also use Grails' <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
+<p>You can also use Grails' <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a> to run the Grails runtime, from which you can issue any Grails command without waiting for the runtime to spin up for each task.</p>
</div>
<div class="paragraph">
<p>In this guide we will be preferring the Grails wrapper for most commands.</p>
@@ -898,7 +898,7 @@ Handling the mapping of domain classes to database tables (and other persistent
</table>
</div>
<div class="paragraph">
-<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://docs.grails.org/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://docs.grails.org/latest/ref/Constraints/Usage.html">constraints</a></p>
+<p>Please see the Grails documentation for a complete list and documentation of how to use <a href="https://grails.apache.org/docs/latest/ref/Domain%20Classes/Usage.html">domain classes</a> and <a href="https://grails.apache.org/docs/latest/ref/Constraints/Usage.html">constraints</a></p>
</div>
@@ -1204,10 +1204,10 @@ Be sure to add the dependency to the <code>dependencies</code> section of the <c
<div class="paragraph">
-<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="http://docs.grails.org/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
+<p>Right now we don’t have any controllers or views set up to play with our domain model. We’ll get there shortly, but for now, let’s fire up the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/console.html">Grails Console</a> so we can explore what Grails and GORM have to offer.</p>
</div>
<div class="paragraph">
-<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="http://docs.grails.org/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
+<p>If the application is still running, shut it down with either kbd:[Ctrl+C], or (if running Grails in <a href="https://grails.apache.org/docs/latest/guide/commandLine.html#interactiveMode">Interactive Mode</a>, the <code>stop-app</code> command).</p>
</div>
<div class="paragraph">
<p>Launch the Grails Console:</p>
@@ -1266,7 +1266,7 @@ println nissans.size()</code></pre>
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-While not part of the "MVC" triad, Grails also provides support for <a href="http://docs.grails.org/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
+While not part of the "MVC" triad, Grails also provides support for <a href="https://grails.apache.org/docs/latest/guide/single.html#services">services</a>. In a Grails application of any complexity, it is considered best practice to keep core application logic in services. We’ll get to services later on in this guide.
</td>
</tr>
</table>
@@ -1309,7 +1309,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
</div>
</div>
<div class="paragraph">
-<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="http://docs.grails [...]
+<p>Grails has created a controller with a single <strong>action</strong>. Actions are public methods in a controller, which can respond to requests. Typically, a controller action will receive a request, obtain some data (optionally using parameters or a body of the request, if present), and render the result to the browser (e.g, as a webpage). Controller actions can also redirect requests, forward, call service methods, and return HTTP response codes. See the <a href="https://grails.apa [...]
</div>
<div class="paragraph">
<p>We don’t have any need for logic in this particular action just yet, but we would like it to render a page. We’ll look at GSP pages in more detail in the <a href="#Views">[Views]</a> section, but for now, let’s create a very simple GSP page for our <code>HomeController.index</code> action to display.</p>
@@ -1371,7 +1371,7 @@ Note that Grails adds the <code>*Controller</code> suffix automatically.
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn much more about URL Mappings from the <a href="http://docs.grails.org/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
+Learn much more about URL Mappings from the <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#urlmappings">Grails documentation</a>
</td>
</tr>
</table>
@@ -1487,7 +1487,7 @@ Learn much more about URL Mappings from the <a href="http://docs.grails.org/late
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
-Learn more about scaffolding in the <a href="http://docs.grails.org/latest/guide/scaffolding.html">Grails documentation</a>.
+Learn more about scaffolding in the <a href="https://grails.apache.org/docs/latest/guide/scaffolding.html">Grails documentation</a>.
</td>
</tr>
</table>
@@ -1748,31 +1748,31 @@ To override existing files, use th <code>-force</code> flag along with the <code
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>The <a href="http://gorm.grails.org/latest/api/grails/gorm/transactions/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="http://docs.grails.org/latest/guide/single.html#declarativ [...]
+<td>The <a href="http://gorm.grails.org/latest/api/grails/gorm/transactions/Transactional.html"><code>@Transactional</code></a> annotation configures the transactional behavior of the controller or method. Transactions are used to manage persistence and other complicated operations that should be completed together (and potentially rolled-back if any one of the steps fails). For more information on transactions, see the <a href="https://grails.apache.org/docs/latest/guide/single.html#de [...]
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://docs.grails.org/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
+<td>The <code>params</code> object is available to all controllers, and contains a map of any URL parameters on the request. You can refer to any parameter by name to retrieve the value: <code>params.myCustomParameter</code> will match this URL parameter: <code>[url]?myCustomParameter=hello</code>. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/params.html">Grails documentation</a> for more detail.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://docs.grails.org/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond</code> [...]
+<td>The <code>respond</code> method takes an object to return to the requestor, using <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#contentNegotiation">content negotiation</a> to choose the correct type (for example, a request’s <code>Accept</code> header might specify JSON or XML). <code>respond</code> also can accept a map of arguments, such as <code>model</code> (which defines the way the data is loaded on a page). For more on how to use the <code>respond [...]
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
+<td><code>request</code> is available on all controllers, and is an instance of the Servlet API’s <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</a> class. You can access request headers, store properties in the request scope, and get information about the requestor using this object. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/request.html">Grails documentation on <code>request</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://docs.grails.org/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
+<td><code>flash</code> is a map that stores objects within the session for the <strong>next</strong> request, automatically clearing them after that next request completes. This is useful for passing error messages or other data that you want the next request to access. For more, see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/flash.html">Grails documentation on <code>flash</code></a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
-<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://docs.grails.org/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
+<td>The <code>redirect</code> method is a simple one - it allows the action to redirect the request to another action, controller, or a URI. You can also pass along parameters with the redirect. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/redirect.html">Grails documentation on <code>redirect</code></a> for more.</td>
</tr>
<tr>
<td><i class="conum" data-value="7"></i><b>7</b></td>
-<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://docs.grails.org/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
+<td>The <code>render</code> method is a less sophisticated version of <code>respond</code> - it doesn’t perform content negotiation, so you have to specify exactly what you want to render. You can render plain text, a view or template, an HTTP response code, or any object that has a String representation. See the <a href="https://grails.apache.org/docs/latest/ref/Controllers/render.html">Grails documentation</a>.</td>
</tr>
</table>
</div>
@@ -1823,7 +1823,7 @@ To override existing files, use th <code>-force</code> flag along with the <code
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://docs.grails.org/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
+<td><code>session</code> is an instance of the Servlet API’s`HttpSession` class, and is available in every controller. We can retrieve and store properties in the session - in this case, we’re storing a <code>String</code> with the attribute <code>name</code> in the session. For more see the <a href="https://grails.apache.org/docs/latest/ref/Controllers/session.html">Grails documentation</a>.</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
@@ -1959,7 +1959,7 @@ Date: Wed, 11 Jan 2017 04:06:57 GMT
<p>Views are the third component of the MVC pattern. Views are responsible for presenting data to the user (which might be a browser page, an API endpoint, or some other sort of consumer). In many apps, views are HTML pages designed to be loaded in a browser. However, it is perfectly reasonable for a "view" to be an XML or JSON document, depending on the type of client requesting the view.</p>
</div>
<div class="paragraph">
-<p>Grails' primary view technology is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong>strongly [...]
+<p>Grails' primary view technology is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong> [...]
</div>
<div class="paragraph">
<p>You’ve already worked with GSP views in this guide, but let’s quickly cover the basics.</p>
@@ -2328,7 +2328,7 @@ This sort of code is a <strong>bad idea</strong> - we are accessing our domain m
</div>
</div>
<div class="paragraph">
-<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
+<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
</div>
@@ -2584,7 +2584,7 @@ Controllers are for "web logic", services for "business logic"
<div class="paragraph">
-<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="http://docs.grails.org/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="http://docs.grails.org/latest/guide/testing.html#integrationTesting">Integration tests</a> require the Grails environme [...]
+<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="https://grails.apache.org/docs/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="https://grails.apache.org/docs/latest/guide/testing.html#integrationTesting">Integration tests</a> require the [...]
</div>
<div class="paragraph">
<p>The testing framework used by Grails is <a href="http://spockframework.org">Spock</a>. Spock provides an expressive syntax for writing test cases, based on the Groovy language, and so is a great fit for Grails. It includes a JUnit runner, which means IDE support is effectively universal (any IDE that can run JUnit tests can run Spock tests).</p>
@@ -2605,7 +2605,7 @@ Spock is a rich framework (even outside of Grails applications) and well worth y
<p>Grails tests are stored (by convention) in the <code>src/test/groovy</code> directory (unit tests) and <code>src/integration-test/groovy</code> directory (integration/functional tests).</p>
</div>
<div class="paragraph">
-<p>You can run your Grails tests using the <a href="http://docs.grails.org/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
+<p>You can run your Grails tests using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -2786,7 +2786,7 @@ BUILD SUCCESSFUL
</td>
<td class="content">
<div class="paragraph">
-<p>We didn’t cover the topic of <a href="http://docs.grails.org/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <code>war</c [...]
+<p>We didn’t cover the topic of <a href="https://grails.apache.org/docs/latest/guide/conf.html">configuration</a> in this guide (although we did make some edits to our config files), but it’s worth mentioning here that Grails supports to concept of Environments, such as "development", "test", and "production". Each environment can have its own config properties and values, so you can have different settings between your development and production systems. By default, the <cod [...]
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/6/guide/testing.html b/guides/creating-your-first-grails-app/6/guide/testing.html
index 7648d0c5602..7f48949120d 100644
--- a/guides/creating-your-first-grails-app/6/guide/testing.html
+++ b/guides/creating-your-first-grails-app/6/guide/testing.html
@@ -100,7 +100,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="http://docs.grails.org/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="http://docs.grails.org/latest/guide/testing.html#integrationTesting">Integration tests</a> require the Grails environme [...]
+<p>Testing is a vital part of web application development. Grails provides support for three types of testing: unit tests, integration tests, and functional tests. <a href="https://grails.apache.org/docs/latest/guide/testing.html#unitTesting">Unit tests</a> are usually the simplest kind, focusing on a specific piece of code without depending on other parts of your app. <a href="https://grails.apache.org/docs/latest/guide/testing.html#integrationTesting">Integration tests</a> require the [...]
</div>
<div class="paragraph">
<p>The testing framework used by Grails is <a href="http://spockframework.org">Spock</a>. Spock provides an expressive syntax for writing test cases, based on the Groovy language, and so is a great fit for Grails. It includes a JUnit runner, which means IDE support is effectively universal (any IDE that can run JUnit tests can run Spock tests).</p>
@@ -121,7 +121,7 @@ Spock is a rich framework (even outside of Grails applications) and well worth y
<p>Grails tests are stored (by convention) in the <code>src/test/groovy</code> directory (unit tests) and <code>src/integration-test/groovy</code> directory (integration/functional tests).</p>
</div>
<div class="paragraph">
-<p>You can run your Grails tests using the <a href="http://docs.grails.org/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
+<p>You can run your Grails tests using the <a href="https://grails.apache.org/docs/latest/ref/Command%20Line/test-app.html"><code>test-app</code></a> command:</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/guides/creating-your-first-grails-app/6/guide/views.html b/guides/creating-your-first-grails-app/6/guide/views.html
index c513bb430af..c4435781dce 100644
--- a/guides/creating-your-first-grails-app/6/guide/views.html
+++ b/guides/creating-your-first-grails-app/6/guide/views.html
@@ -126,7 +126,7 @@ function addJsClass() {
<p>Views are the third component of the MVC pattern. Views are responsible for presenting data to the user (which might be a browser page, an API endpoint, or some other sort of consumer). In many apps, views are HTML pages designed to be loaded in a browser. However, it is perfectly reasonable for a "view" to be an XML or JSON document, depending on the type of client requesting the view.</p>
</div>
<div class="paragraph">
-<p>Grails' primary view technology is <a href="http://docs.grails.org/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong>strongly [...]
+<p>Grails' primary view technology is <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Groovy Server Pages</a>. It follows many of the conventions of JSP and ASP, but naturally it is based upon the Groovy language. GSP pages are essentially HTML documents, but they support a number of special tags (typically prefix with <code>g:</code>) to allow programmatic control over your views. You can even write arbitrary Groovy code in your GSP pages, but this is <strong> [...]
</div>
<div class="paragraph">
<p>You’ve already worked with GSP views in this guide, but let’s quickly cover the basics.</p>
@@ -495,7 +495,7 @@ This sort of code is a <strong>bad idea</strong> - we are accessing our domain m
</div>
</div>
<div class="paragraph">
-<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
+<p><code><g:link></code> renders an HTML <code><a></code> tag, but it has the advantage in that it allows you to specify your link target following Grails conventions, such as this example (using the <code>controller</code>, <code>action</code> and <code>id</code> attributes). <code><g:link></code> is also smart enough to follow our URL mappings, so if we change the URL mapping for <code>vehicle/show</code>, the <code><g:link></code> tag will still render the corr [...]
</div>
diff --git a/guides/creating-your-first-grails-app/6/index.html b/guides/creating-your-first-grails-app/6/index.html
index 362107b7bde..49a88dd27ed 100644
--- a/guides/creating-your-first-grails-app/6/index.html
+++ b/guides/creating-your-first-grails-app/6/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/database-per-tenant/4/guide/index.html b/guides/database-per-tenant/4/guide/index.html
index 8fd49614583..e01e43638b1 100644
--- a/guides/database-per-tenant/4/guide/index.html
+++ b/guides/database-per-tenant/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/database-per-tenant/4/guide/single.html b/guides/database-per-tenant/4/guide/single.html
index 8fd49614583..e01e43638b1 100644
--- a/guides/database-per-tenant/4/guide/single.html
+++ b/guides/database-per-tenant/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/database-per-tenant/4/index.html b/guides/database-per-tenant/4/index.html
index 1e5b5333f18..488ca331c3a 100644
--- a/guides/database-per-tenant/4/index.html
+++ b/guides/database-per-tenant/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/discriminator-per-tenant/4/guide/index.html b/guides/discriminator-per-tenant/4/guide/index.html
index e33bde68306..ab4b3660058 100644
--- a/guides/discriminator-per-tenant/4/guide/index.html
+++ b/guides/discriminator-per-tenant/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/discriminator-per-tenant/4/guide/single.html b/guides/discriminator-per-tenant/4/guide/single.html
index e33bde68306..ab4b3660058 100644
--- a/guides/discriminator-per-tenant/4/guide/single.html
+++ b/guides/discriminator-per-tenant/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/discriminator-per-tenant/4/index.html b/guides/discriminator-per-tenant/4/index.html
index 78725284e07..3ee96ed8812 100644
--- a/guides/discriminator-per-tenant/4/index.html
+++ b/guides/discriminator-per-tenant/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/gorm-event-listeners/3/guide/index.html b/guides/gorm-event-listeners/3/guide/index.html
index cfa52e243a0..0b4b63607fa 100644
--- a/guides/gorm-event-listeners/3/guide/index.html
+++ b/guides/gorm-event-listeners/3/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/gorm-event-listeners/3/guide/single.html b/guides/gorm-event-listeners/3/guide/single.html
index cfa52e243a0..0b4b63607fa 100644
--- a/guides/gorm-event-listeners/3/guide/single.html
+++ b/guides/gorm-event-listeners/3/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/gorm-event-listeners/3/index.html b/guides/gorm-event-listeners/3/index.html
index 912e1663f45..beb34419c2c 100644
--- a/guides/gorm-event-listeners/3/index.html
+++ b/guides/gorm-event-listeners/3/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/gorm-event-listeners/4/guide/index.html b/guides/gorm-event-listeners/4/guide/index.html
index 7a448aec231..9fff4fb148b 100644
--- a/guides/gorm-event-listeners/4/guide/index.html
+++ b/guides/gorm-event-listeners/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/gorm-event-listeners/4/guide/single.html b/guides/gorm-event-listeners/4/guide/single.html
index 7a448aec231..9fff4fb148b 100644
--- a/guides/gorm-event-listeners/4/guide/single.html
+++ b/guides/gorm-event-listeners/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/gorm-event-listeners/4/index.html b/guides/gorm-event-listeners/4/index.html
index 04b3e1ee727..2a80c13ec7a 100644
--- a/guides/gorm-event-listeners/4/index.html
+++ b/guides/gorm-event-listeners/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/gorm-graphql-with-react-and-apollo/4/guide/conclusion.html b/guides/gorm-graphql-with-react-and-apollo/4/guide/conclusion.html
index f6926810b35..866e3ee45d3 100644
--- a/guides/gorm-graphql-with-react-and-apollo/4/guide/conclusion.html
+++ b/guides/gorm-graphql-with-react-and-apollo/4/guide/conclusion.html
@@ -94,7 +94,7 @@ function addJsClass() {
<div class="paragraph">
-<p>In this guide we’ve seen how easy is to create a full-featured GraphQL schema with Grails, and to interact with that schema in a Single-Page-App, using Apollo and the React Profile for Grails. Please refer to the <a href="https://grails.github.io/gorm-graphql/latest/guide/index.html">GORM for GraphQL Documentation</a>, and related <a href="http://guides.grails.org/categories/grailsreact.html">Grails & React Guides</a> to learn more.</p>
+<p>In this guide we’ve seen how easy is to create a full-featured GraphQL schema with Grails, and to interact with that schema in a Single-Page-App, using Apollo and the React Profile for Grails. Please refer to the <a href="https://grails.github.io/gorm-graphql/latest/guide/index.html">GORM for GraphQL Documentation</a>, and related <a href="https://grails.apache.org/guides/categories/grailsreact.html">Grails & React Guides</a> to learn more.</p>
</div>
diff --git a/guides/gorm-graphql-with-react-and-apollo/4/guide/gettingStarted.html b/guides/gorm-graphql-with-react-and-apollo/4/guide/gettingStarted.html
index e50531e63ec..908d70c0233 100644
--- a/guides/gorm-graphql-with-react-and-apollo/4/guide/gettingStarted.html
+++ b/guides/gorm-graphql-with-react-and-apollo/4/guide/gettingStarted.html
@@ -108,7 +108,7 @@ function addJsClass() {
<p>In this guide you will learn how to leverage GORM’s support for GraphQL. You will configure Grails to act as a GraphQL server,</p>
</div>
<div class="paragraph">
-<p>The <code>initial</code> sample project already has a simple conference-related REST API (consisting of two domain classes, <code>Speaker</code> and <code>Talk</code>) configured using the <a href="http://docs.grails.org/latest/guide/single.html#domainResources">@Resource annotation</a>. The project is using the <a href="https://grails-profiles.github.io/react/latest/guide/index.html">react profile</a>, and a simple React app has been provided which will list out the speakers, as well [...]
+<p>The <code>initial</code> sample project already has a simple conference-related REST API (consisting of two domain classes, <code>Speaker</code> and <code>Talk</code>) configured using the <a href="https://grails.apache.org/docs/latest/guide/single.html#domainResources">@Resource annotation</a>. The project is using the <a href="https://grails-profiles.github.io/react/latest/guide/index.html">react profile</a>, and a simple React app has been provided which will list out the speakers, [...]
</div>
<div class="paragraph">
<p>The React app is quite trivial and naively uses the default REST API provided by Grails - e.g, the app makes one REST call to list the speakers, and then iterates over the talk ids for each speaker, making a separate REST call to get the details for each talk. This means that a single load of the app can require many REST calls simply to acquire the data needed to render the app.</p>
@@ -124,7 +124,7 @@ http://localhost:8080/talk/5 200 fetch 293 B 284 ms<
</div>
</div>
<div class="paragraph">
-<p>Of course there are a few ways we could resolve this problem using standard REST techniques, including hypermedia, or customized endpoints (using <a href="http://views.grails.org">JSON Views</a>, for example) - however in more complex apps it is possible that this could lead to a proliferation of custom endpoints providing different combinations of data. In addition, some endpoints might provide more data than the app actually requires - there is no way to express the desired "piece" [...]
+<p>Of course there are a few ways we could resolve this problem using standard REST techniques, including hypermedia, or customized endpoints (using <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>, for example) - however in more complex apps it is possible that this could lead to a proliferation of custom endpoints providing different combinations of data. In addition, some endpoints might provide more data than the app actually requires - ther [...]
</div>
<div class="paragraph">
<p>This is where GraphQL shines - it allows consumers of our API, whether private clients (like our own Single-Page Applications) or public users, to specify the exact pieces of data that they need, in a declarative way. GraphQL queries can even be <a href="https://dev-blog.apollodata.com/a-stronger-typed-react-apollo-c43bd52be0d8">codifed as Flow types</a>, making the data requirements of your components explicit and testable.</p>
diff --git a/guides/gorm-graphql-with-react-and-apollo/4/guide/index.html b/guides/gorm-graphql-with-react-and-apollo/4/guide/index.html
index 2d76730979d..6020e89b496 100644
--- a/guides/gorm-graphql-with-react-and-apollo/4/guide/index.html
+++ b/guides/gorm-graphql-with-react-and-apollo/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -167,7 +167,7 @@
<p>In this guide you will learn how to leverage GORM’s support for GraphQL. You will configure Grails to act as a GraphQL server,</p>
</div>
<div class="paragraph">
-<p>The <code>initial</code> sample project already has a simple conference-related REST API (consisting of two domain classes, <code>Speaker</code> and <code>Talk</code>) configured using the <a href="http://docs.grails.org/latest/guide/single.html#domainResources">@Resource annotation</a>. The project is using the <a href="https://grails-profiles.github.io/react/latest/guide/index.html">react profile</a>, and a simple React app has been provided which will list out the speakers, as well [...]
+<p>The <code>initial</code> sample project already has a simple conference-related REST API (consisting of two domain classes, <code>Speaker</code> and <code>Talk</code>) configured using the <a href="https://grails.apache.org/docs/latest/guide/single.html#domainResources">@Resource annotation</a>. The project is using the <a href="https://grails-profiles.github.io/react/latest/guide/index.html">react profile</a>, and a simple React app has been provided which will list out the speakers, [...]
</div>
<div class="paragraph">
<p>The React app is quite trivial and naively uses the default REST API provided by Grails - e.g, the app makes one REST call to list the speakers, and then iterates over the talk ids for each speaker, making a separate REST call to get the details for each talk. This means that a single load of the app can require many REST calls simply to acquire the data needed to render the app.</p>
@@ -183,7 +183,7 @@ http://localhost:8080/talk/5 200 fetch 293 B 284 ms<
</div>
</div>
<div class="paragraph">
-<p>Of course there are a few ways we could resolve this problem using standard REST techniques, including hypermedia, or customized endpoints (using <a href="http://views.grails.org">JSON Views</a>, for example) - however in more complex apps it is possible that this could lead to a proliferation of custom endpoints providing different combinations of data. In addition, some endpoints might provide more data than the app actually requires - there is no way to express the desired "piece" [...]
+<p>Of course there are a few ways we could resolve this problem using standard REST techniques, including hypermedia, or customized endpoints (using <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>, for example) - however in more complex apps it is possible that this could lead to a proliferation of custom endpoints providing different combinations of data. In addition, some endpoints might provide more data than the app actually requires - ther [...]
</div>
<div class="paragraph">
<p>This is where GraphQL shines - it allows consumers of our API, whether private clients (like our own Single-Page Applications) or public users, to specify the exact pieces of data that they need, in a declarative way. GraphQL queries can even be <a href="https://dev-blog.apollodata.com/a-stronger-typed-react-apollo-c43bd52be0d8">codifed as Flow types</a>, making the data requirements of your components explicit and testable.</p>
@@ -965,7 +965,7 @@ For simplicity, this guide is relying on the <code>pollingInterval</code> we set
<div class="paragraph">
-<p>In this guide we’ve seen how easy is to create a full-featured GraphQL schema with Grails, and to interact with that schema in a Single-Page-App, using Apollo and the React Profile for Grails. Please refer to the <a href="https://grails.github.io/gorm-graphql/latest/guide/index.html">GORM for GraphQL Documentation</a>, and related <a href="http://guides.grails.org/categories/grailsreact.html">Grails & React Guides</a> to learn more.</p>
+<p>In this guide we’ve seen how easy is to create a full-featured GraphQL schema with Grails, and to interact with that schema in a Single-Page-App, using Apollo and the React Profile for Grails. Please refer to the <a href="https://grails.github.io/gorm-graphql/latest/guide/index.html">GORM for GraphQL Documentation</a>, and related <a href="https://grails.apache.org/guides/categories/grailsreact.html">Grails & React Guides</a> to learn more.</p>
</div>
diff --git a/guides/gorm-graphql-with-react-and-apollo/4/guide/single.html b/guides/gorm-graphql-with-react-and-apollo/4/guide/single.html
index 2d76730979d..6020e89b496 100644
--- a/guides/gorm-graphql-with-react-and-apollo/4/guide/single.html
+++ b/guides/gorm-graphql-with-react-and-apollo/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -167,7 +167,7 @@
<p>In this guide you will learn how to leverage GORM’s support for GraphQL. You will configure Grails to act as a GraphQL server,</p>
</div>
<div class="paragraph">
-<p>The <code>initial</code> sample project already has a simple conference-related REST API (consisting of two domain classes, <code>Speaker</code> and <code>Talk</code>) configured using the <a href="http://docs.grails.org/latest/guide/single.html#domainResources">@Resource annotation</a>. The project is using the <a href="https://grails-profiles.github.io/react/latest/guide/index.html">react profile</a>, and a simple React app has been provided which will list out the speakers, as well [...]
+<p>The <code>initial</code> sample project already has a simple conference-related REST API (consisting of two domain classes, <code>Speaker</code> and <code>Talk</code>) configured using the <a href="https://grails.apache.org/docs/latest/guide/single.html#domainResources">@Resource annotation</a>. The project is using the <a href="https://grails-profiles.github.io/react/latest/guide/index.html">react profile</a>, and a simple React app has been provided which will list out the speakers, [...]
</div>
<div class="paragraph">
<p>The React app is quite trivial and naively uses the default REST API provided by Grails - e.g, the app makes one REST call to list the speakers, and then iterates over the talk ids for each speaker, making a separate REST call to get the details for each talk. This means that a single load of the app can require many REST calls simply to acquire the data needed to render the app.</p>
@@ -183,7 +183,7 @@ http://localhost:8080/talk/5 200 fetch 293 B 284 ms<
</div>
</div>
<div class="paragraph">
-<p>Of course there are a few ways we could resolve this problem using standard REST techniques, including hypermedia, or customized endpoints (using <a href="http://views.grails.org">JSON Views</a>, for example) - however in more complex apps it is possible that this could lead to a proliferation of custom endpoints providing different combinations of data. In addition, some endpoints might provide more data than the app actually requires - there is no way to express the desired "piece" [...]
+<p>Of course there are a few ways we could resolve this problem using standard REST techniques, including hypermedia, or customized endpoints (using <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>, for example) - however in more complex apps it is possible that this could lead to a proliferation of custom endpoints providing different combinations of data. In addition, some endpoints might provide more data than the app actually requires - ther [...]
</div>
<div class="paragraph">
<p>This is where GraphQL shines - it allows consumers of our API, whether private clients (like our own Single-Page Applications) or public users, to specify the exact pieces of data that they need, in a declarative way. GraphQL queries can even be <a href="https://dev-blog.apollodata.com/a-stronger-typed-react-apollo-c43bd52be0d8">codifed as Flow types</a>, making the data requirements of your components explicit and testable.</p>
@@ -965,7 +965,7 @@ For simplicity, this guide is relying on the <code>pollingInterval</code> we set
<div class="paragraph">
-<p>In this guide we’ve seen how easy is to create a full-featured GraphQL schema with Grails, and to interact with that schema in a Single-Page-App, using Apollo and the React Profile for Grails. Please refer to the <a href="https://grails.github.io/gorm-graphql/latest/guide/index.html">GORM for GraphQL Documentation</a>, and related <a href="http://guides.grails.org/categories/grailsreact.html">Grails & React Guides</a> to learn more.</p>
+<p>In this guide we’ve seen how easy is to create a full-featured GraphQL schema with Grails, and to interact with that schema in a Single-Page-App, using Apollo and the React Profile for Grails. Please refer to the <a href="https://grails.github.io/gorm-graphql/latest/guide/index.html">GORM for GraphQL Documentation</a>, and related <a href="https://grails.apache.org/guides/categories/grailsreact.html">Grails & React Guides</a> to learn more.</p>
</div>
diff --git a/guides/gorm-graphql-with-react-and-apollo/4/index.html b/guides/gorm-graphql-with-react-and-apollo/4/index.html
index aeb2f72a8a5..868eabb2c24 100644
--- a/guides/gorm-graphql-with-react-and-apollo/4/index.html
+++ b/guides/gorm-graphql-with-react-and-apollo/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/gorm-ratpack/3/guide/index.html b/guides/gorm-ratpack/3/guide/index.html
index bba86d87529..81973c367e0 100644
--- a/guides/gorm-ratpack/3/guide/index.html
+++ b/guides/gorm-ratpack/3/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/gorm-ratpack/3/guide/single.html b/guides/gorm-ratpack/3/guide/single.html
index bba86d87529..81973c367e0 100644
--- a/guides/gorm-ratpack/3/guide/single.html
+++ b/guides/gorm-ratpack/3/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/gorm-ratpack/3/index.html b/guides/gorm-ratpack/3/index.html
index 0090e4c59f6..e1f63b6a72f 100644
--- a/guides/gorm-ratpack/3/index.html
+++ b/guides/gorm-ratpack/3/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/gorm-ratpack/4/guide/index.html b/guides/gorm-ratpack/4/guide/index.html
index 59df5a882f1..a5fb3d25358 100644
--- a/guides/gorm-ratpack/4/guide/index.html
+++ b/guides/gorm-ratpack/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/gorm-ratpack/4/guide/single.html b/guides/gorm-ratpack/4/guide/single.html
index 59df5a882f1..a5fb3d25358 100644
--- a/guides/gorm-ratpack/4/guide/single.html
+++ b/guides/gorm-ratpack/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/gorm-ratpack/4/index.html b/guides/gorm-ratpack/4/index.html
index d9624cac8f9..58d69421ff1 100644
--- a/guides/gorm-ratpack/4/index.html
+++ b/guides/gorm-ratpack/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/gorm-without-grails/4/guide/index.html b/guides/gorm-without-grails/4/guide/index.html
index 5e0831c6d82..f7492ddc287 100644
--- a/guides/gorm-without-grails/4/guide/index.html
+++ b/guides/gorm-without-grails/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/gorm-without-grails/4/guide/single.html b/guides/gorm-without-grails/4/guide/single.html
index 5e0831c6d82..f7492ddc287 100644
--- a/guides/gorm-without-grails/4/guide/single.html
+++ b/guides/gorm-without-grails/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/gorm-without-grails/4/index.html b/guides/gorm-without-grails/4/index.html
index 9b5bf4a6d9e..58cc4dea2e9 100644
--- a/guides/gorm-without-grails/4/index.html
+++ b/guides/gorm-without-grails/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-as-docker-container/3/guide/index.html b/guides/grails-as-docker-container/3/guide/index.html
index 2803ec69f02..3d9c1e83a51 100644
--- a/guides/grails-as-docker-container/3/guide/index.html
+++ b/guides/grails-as-docker-container/3/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-as-docker-container/3/guide/single.html b/guides/grails-as-docker-container/3/guide/single.html
index 2803ec69f02..3d9c1e83a51 100644
--- a/guides/grails-as-docker-container/3/guide/single.html
+++ b/guides/grails-as-docker-container/3/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-as-docker-container/3/index.html b/guides/grails-as-docker-container/3/index.html
index 572b9baca95..718e0bc9020 100644
--- a/guides/grails-as-docker-container/3/index.html
+++ b/guides/grails-as-docker-container/3/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-as-docker-container/4/guide/index.html b/guides/grails-as-docker-container/4/guide/index.html
index cfedde4d463..58aaa9c4ae6 100644
--- a/guides/grails-as-docker-container/4/guide/index.html
+++ b/guides/grails-as-docker-container/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-as-docker-container/4/guide/single.html b/guides/grails-as-docker-container/4/guide/single.html
index cfedde4d463..58aaa9c4ae6 100644
--- a/guides/grails-as-docker-container/4/guide/single.html
+++ b/guides/grails-as-docker-container/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-as-docker-container/4/index.html b/guides/grails-as-docker-container/4/index.html
index 7cbf34f2b48..5715b686303 100644
--- a/guides/grails-as-docker-container/4/index.html
+++ b/guides/grails-as-docker-container/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-async-promises/3/guide/gettingStarted.html b/guides/grails-async-promises/3/guide/gettingStarted.html
index 8b4f48a0834..3b99abe267f 100644
--- a/guides/grails-async-promises/3/guide/gettingStarted.html
+++ b/guides/grails-async-promises/3/guide/gettingStarted.html
@@ -205,7 +205,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="paragraph">
-<p>The <em>initial</em> folder contains the sample Grails application developed during the Grails Guide: <a href="http://guides.grails.org/grails-mock-http-server/guide/index.html">Consume and test a third-party REST API</a>.</p>
+<p>The <em>initial</em> folder contains the sample Grails application developed during the Grails Guide: <a href="https://grails.apache.org/guides/grails-mock-http-server/guide/index.html">Consume and test a third-party REST API</a>.</p>
</div>
<div class="paragraph">
<p>It contains code to invoke the <a href="https://openweathermap.org/api">Open Weather Map API</a> to retrieve the weather forecast for a city.</p>
diff --git a/guides/grails-async-promises/3/guide/index.html b/guides/grails-async-promises/3/guide/index.html
index 78631f629a5..bbbe3717f11 100644
--- a/guides/grails-async-promises/3/guide/index.html
+++ b/guides/grails-async-promises/3/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -275,7 +275,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="paragraph">
-<p>The <em>initial</em> folder contains the sample Grails application developed during the Grails Guide: <a href="http://guides.grails.org/grails-mock-http-server/guide/index.html">Consume and test a third-party REST API</a>.</p>
+<p>The <em>initial</em> folder contains the sample Grails application developed during the Grails Guide: <a href="https://grails.apache.org/guides/grails-mock-http-server/guide/index.html">Consume and test a third-party REST API</a>.</p>
</div>
<div class="paragraph">
<p>It contains code to invoke the <a href="https://openweathermap.org/api">Open Weather Map API</a> to retrieve the weather forecast for a city.</p>
@@ -319,7 +319,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
</div>
</div>
<div class="paragraph">
-<p>Grails Async capabilites documentation can be found in <a href="http://async.grails.org">async.grails.org</a>.</p>
+<p>Grails Async capabilites documentation can be found in <a href="https://grails.apache.org/docs/latest/guide/async.html">async.grails.org</a>.</p>
</div>
diff --git a/guides/grails-async-promises/3/guide/pages/initial.html b/guides/grails-async-promises/3/guide/pages/initial.html
index a30c2d9879e..2e4dd901107 100644
--- a/guides/grails-async-promises/3/guide/pages/initial.html
+++ b/guides/grails-async-promises/3/guide/pages/initial.html
@@ -82,7 +82,7 @@ function addJsClass() {
<div class="paragraph">
-<p>The <em>initial</em> folder contains the sample Grails application developed during the Grails Guide: <a href="http://guides.grails.org/grails-mock-http-server/guide/index.html">Consume and test a third-party REST API</a>.</p>
+<p>The <em>initial</em> folder contains the sample Grails application developed during the Grails Guide: <a href="https://grails.apache.org/guides/grails-mock-http-server/guide/index.html">Consume and test a third-party REST API</a>.</p>
</div>
<div class="paragraph">
<p>It contains code to invoke the <a href="https://openweathermap.org/api">Open Weather Map API</a> to retrieve the weather forecast for a city.</p>
diff --git a/guides/grails-async-promises/3/guide/single.html b/guides/grails-async-promises/3/guide/single.html
index 78631f629a5..bbbe3717f11 100644
--- a/guides/grails-async-promises/3/guide/single.html
+++ b/guides/grails-async-promises/3/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -275,7 +275,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="paragraph">
-<p>The <em>initial</em> folder contains the sample Grails application developed during the Grails Guide: <a href="http://guides.grails.org/grails-mock-http-server/guide/index.html">Consume and test a third-party REST API</a>.</p>
+<p>The <em>initial</em> folder contains the sample Grails application developed during the Grails Guide: <a href="https://grails.apache.org/guides/grails-mock-http-server/guide/index.html">Consume and test a third-party REST API</a>.</p>
</div>
<div class="paragraph">
<p>It contains code to invoke the <a href="https://openweathermap.org/api">Open Weather Map API</a> to retrieve the weather forecast for a city.</p>
@@ -319,7 +319,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
</div>
</div>
<div class="paragraph">
-<p>Grails Async capabilites documentation can be found in <a href="http://async.grails.org">async.grails.org</a>.</p>
+<p>Grails Async capabilites documentation can be found in <a href="https://grails.apache.org/docs/latest/guide/async.html">async.grails.org</a>.</p>
</div>
diff --git a/guides/grails-async-promises/3/guide/writingTheApp.html b/guides/grails-async-promises/3/guide/writingTheApp.html
index f8d171cb0db..c1aaf1bbb53 100644
--- a/guides/grails-async-promises/3/guide/writingTheApp.html
+++ b/guides/grails-async-promises/3/guide/writingTheApp.html
@@ -115,7 +115,7 @@ function addJsClass() {
</div>
</div>
<div class="paragraph">
-<p>Grails Async capabilites documentation can be found in <a href="http://async.grails.org">async.grails.org</a>.</p>
+<p>Grails Async capabilites documentation can be found in <a href="https://grails.apache.org/docs/latest/guide/async.html">async.grails.org</a>.</p>
</div>
diff --git a/guides/grails-async-promises/3/index.html b/guides/grails-async-promises/3/index.html
index 07a5f53e215..1ebd88779d9 100644
--- a/guides/grails-async-promises/3/index.html
+++ b/guides/grails-async-promises/3/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-async-promises/4/guide/gettingStarted.html b/guides/grails-async-promises/4/guide/gettingStarted.html
index 31d44ce12d2..b88aa7c010c 100644
--- a/guides/grails-async-promises/4/guide/gettingStarted.html
+++ b/guides/grails-async-promises/4/guide/gettingStarted.html
@@ -205,7 +205,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="paragraph">
-<p>The <em>initial</em> folder contains the sample Grails application developed during the Grails Guide: <a href="http://guides.grails.org/grails-mock-http-server/guide/index.html">Consume and test a third-party REST API</a>.</p>
+<p>The <em>initial</em> folder contains the sample Grails application developed during the Grails Guide: <a href="https://grails.apache.org/guides/grails-mock-http-server/guide/index.html">Consume and test a third-party REST API</a>.</p>
</div>
<div class="paragraph">
<p>It contains code to invoke the <a href="https://openweathermap.org/api">Open Weather Map API</a> to retrieve the weather forecast for a city.</p>
diff --git a/guides/grails-async-promises/4/guide/index.html b/guides/grails-async-promises/4/guide/index.html
index e688f8bf9fa..792e45f670c 100644
--- a/guides/grails-async-promises/4/guide/index.html
+++ b/guides/grails-async-promises/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -275,7 +275,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="paragraph">
-<p>The <em>initial</em> folder contains the sample Grails application developed during the Grails Guide: <a href="http://guides.grails.org/grails-mock-http-server/guide/index.html">Consume and test a third-party REST API</a>.</p>
+<p>The <em>initial</em> folder contains the sample Grails application developed during the Grails Guide: <a href="https://grails.apache.org/guides/grails-mock-http-server/guide/index.html">Consume and test a third-party REST API</a>.</p>
</div>
<div class="paragraph">
<p>It contains code to invoke the <a href="https://openweathermap.org/api">Open Weather Map API</a> to retrieve the weather forecast for a city.</p>
@@ -319,7 +319,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
</div>
</div>
<div class="paragraph">
-<p>Grails Async capabilites documentation can be found in <a href="http://async.grails.org">async.grails.org</a>.</p>
+<p>Grails Async capabilites documentation can be found in <a href="https://grails.apache.org/docs/latest/guide/async.html">async.grails.org</a>.</p>
</div>
diff --git a/guides/grails-async-promises/4/guide/pages/initial.html b/guides/grails-async-promises/4/guide/pages/initial.html
index a1d25be1c29..93032d065e9 100644
--- a/guides/grails-async-promises/4/guide/pages/initial.html
+++ b/guides/grails-async-promises/4/guide/pages/initial.html
@@ -82,7 +82,7 @@ function addJsClass() {
<div class="paragraph">
-<p>The <em>initial</em> folder contains the sample Grails application developed during the Grails Guide: <a href="http://guides.grails.org/grails-mock-http-server/guide/index.html">Consume and test a third-party REST API</a>.</p>
+<p>The <em>initial</em> folder contains the sample Grails application developed during the Grails Guide: <a href="https://grails.apache.org/guides/grails-mock-http-server/guide/index.html">Consume and test a third-party REST API</a>.</p>
</div>
<div class="paragraph">
<p>It contains code to invoke the <a href="https://openweathermap.org/api">Open Weather Map API</a> to retrieve the weather forecast for a city.</p>
diff --git a/guides/grails-async-promises/4/guide/single.html b/guides/grails-async-promises/4/guide/single.html
index e688f8bf9fa..792e45f670c 100644
--- a/guides/grails-async-promises/4/guide/single.html
+++ b/guides/grails-async-promises/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -275,7 +275,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="paragraph">
-<p>The <em>initial</em> folder contains the sample Grails application developed during the Grails Guide: <a href="http://guides.grails.org/grails-mock-http-server/guide/index.html">Consume and test a third-party REST API</a>.</p>
+<p>The <em>initial</em> folder contains the sample Grails application developed during the Grails Guide: <a href="https://grails.apache.org/guides/grails-mock-http-server/guide/index.html">Consume and test a third-party REST API</a>.</p>
</div>
<div class="paragraph">
<p>It contains code to invoke the <a href="https://openweathermap.org/api">Open Weather Map API</a> to retrieve the weather forecast for a city.</p>
@@ -319,7 +319,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
</div>
</div>
<div class="paragraph">
-<p>Grails Async capabilites documentation can be found in <a href="http://async.grails.org">async.grails.org</a>.</p>
+<p>Grails Async capabilites documentation can be found in <a href="https://grails.apache.org/docs/latest/guide/async.html">async.grails.org</a>.</p>
</div>
diff --git a/guides/grails-async-promises/4/guide/writingTheApp.html b/guides/grails-async-promises/4/guide/writingTheApp.html
index 484abaf02ea..1993b4d2123 100644
--- a/guides/grails-async-promises/4/guide/writingTheApp.html
+++ b/guides/grails-async-promises/4/guide/writingTheApp.html
@@ -115,7 +115,7 @@ function addJsClass() {
</div>
</div>
<div class="paragraph">
-<p>Grails Async capabilites documentation can be found in <a href="http://async.grails.org">async.grails.org</a>.</p>
+<p>Grails Async capabilites documentation can be found in <a href="https://grails.apache.org/docs/latest/guide/async.html">async.grails.org</a>.</p>
</div>
diff --git a/guides/grails-async-promises/4/index.html b/guides/grails-async-promises/4/index.html
index a08a4df3c77..be543228fae 100644
--- a/guides/grails-async-promises/4/index.html
+++ b/guides/grails-async-promises/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-basicauth/3/guide/index.html b/guides/grails-basicauth/3/guide/index.html
index 7993c5c819c..7088fe07472 100644
--- a/guides/grails-basicauth/3/guide/index.html
+++ b/guides/grails-basicauth/3/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -404,7 +404,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="paragraph">
-<p>Render the controller output as a JSON Payload with the aid of <a href="http://views.grails.org">JSON Views</a>.</p>
+<p>Render the controller output as a JSON Payload with the aid of <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>.</p>
</div>
<div class="listingblock">
<div class="title">grails-app/views/home/index.gson</div>
diff --git a/guides/grails-basicauth/3/guide/pages/views.html b/guides/grails-basicauth/3/guide/pages/views.html
index 1aca49d7996..4f082dedf2a 100644
--- a/guides/grails-basicauth/3/guide/pages/views.html
+++ b/guides/grails-basicauth/3/guide/pages/views.html
@@ -76,7 +76,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Render the controller output as a JSON Payload with the aid of <a href="http://views.grails.org">JSON Views</a>.</p>
+<p>Render the controller output as a JSON Payload with the aid of <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>.</p>
</div>
<div class="listingblock">
<div class="title">grails-app/views/home/index.gson</div>
diff --git a/guides/grails-basicauth/3/guide/single.html b/guides/grails-basicauth/3/guide/single.html
index 7993c5c819c..7088fe07472 100644
--- a/guides/grails-basicauth/3/guide/single.html
+++ b/guides/grails-basicauth/3/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -404,7 +404,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="paragraph">
-<p>Render the controller output as a JSON Payload with the aid of <a href="http://views.grails.org">JSON Views</a>.</p>
+<p>Render the controller output as a JSON Payload with the aid of <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>.</p>
</div>
<div class="listingblock">
<div class="title">grails-app/views/home/index.gson</div>
diff --git a/guides/grails-basicauth/3/guide/writingTheApp.html b/guides/grails-basicauth/3/guide/writingTheApp.html
index 922ae6c2873..6ddd5525ed6 100644
--- a/guides/grails-basicauth/3/guide/writingTheApp.html
+++ b/guides/grails-basicauth/3/guide/writingTheApp.html
@@ -235,7 +235,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Render the controller output as a JSON Payload with the aid of <a href="http://views.grails.org">JSON Views</a>.</p>
+<p>Render the controller output as a JSON Payload with the aid of <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>.</p>
</div>
<div class="listingblock">
<div class="title">grails-app/views/home/index.gson</div>
diff --git a/guides/grails-basicauth/3/index.html b/guides/grails-basicauth/3/index.html
index 42193b3fa7f..3991e10aee1 100644
--- a/guides/grails-basicauth/3/index.html
+++ b/guides/grails-basicauth/3/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-basicauth/4/guide/index.html b/guides/grails-basicauth/4/guide/index.html
index 63b0df53049..b7e0d90bf0d 100644
--- a/guides/grails-basicauth/4/guide/index.html
+++ b/guides/grails-basicauth/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -404,7 +404,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="paragraph">
-<p>Render the controller output as a JSON Payload with the aid of <a href="http://views.grails.org">JSON Views</a>.</p>
+<p>Render the controller output as a JSON Payload with the aid of <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>.</p>
</div>
<div class="listingblock">
<div class="title">grails-app/views/home/index.gson</div>
diff --git a/guides/grails-basicauth/4/guide/pages/views.html b/guides/grails-basicauth/4/guide/pages/views.html
index aebe980b3a2..4a0ddce8751 100644
--- a/guides/grails-basicauth/4/guide/pages/views.html
+++ b/guides/grails-basicauth/4/guide/pages/views.html
@@ -76,7 +76,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Render the controller output as a JSON Payload with the aid of <a href="http://views.grails.org">JSON Views</a>.</p>
+<p>Render the controller output as a JSON Payload with the aid of <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>.</p>
</div>
<div class="listingblock">
<div class="title">grails-app/views/home/index.gson</div>
diff --git a/guides/grails-basicauth/4/guide/single.html b/guides/grails-basicauth/4/guide/single.html
index 63b0df53049..b7e0d90bf0d 100644
--- a/guides/grails-basicauth/4/guide/single.html
+++ b/guides/grails-basicauth/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -404,7 +404,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="paragraph">
-<p>Render the controller output as a JSON Payload with the aid of <a href="http://views.grails.org">JSON Views</a>.</p>
+<p>Render the controller output as a JSON Payload with the aid of <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>.</p>
</div>
<div class="listingblock">
<div class="title">grails-app/views/home/index.gson</div>
diff --git a/guides/grails-basicauth/4/guide/writingTheApp.html b/guides/grails-basicauth/4/guide/writingTheApp.html
index dd79f806286..b6250457dba 100644
--- a/guides/grails-basicauth/4/guide/writingTheApp.html
+++ b/guides/grails-basicauth/4/guide/writingTheApp.html
@@ -235,7 +235,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Render the controller output as a JSON Payload with the aid of <a href="http://views.grails.org">JSON Views</a>.</p>
+<p>Render the controller output as a JSON Payload with the aid of <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson">JSON Views</a>.</p>
</div>
<div class="listingblock">
<div class="title">grails-app/views/home/index.gson</div>
diff --git a/guides/grails-basicauth/4/index.html b/guides/grails-basicauth/4/index.html
index 58bf305e70d..4eb30b0b294 100644
--- a/guides/grails-basicauth/4/index.html
+++ b/guides/grails-basicauth/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-code-coverage/3/guide/index.html b/guides/grails-code-coverage/3/guide/index.html
index fc8ab3a084c..9b81b20c5b0 100644
--- a/guides/grails-code-coverage/3/guide/index.html
+++ b/guides/grails-code-coverage/3/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-code-coverage/3/guide/single.html b/guides/grails-code-coverage/3/guide/single.html
index fc8ab3a084c..9b81b20c5b0 100644
--- a/guides/grails-code-coverage/3/guide/single.html
+++ b/guides/grails-code-coverage/3/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-code-coverage/3/index.html b/guides/grails-code-coverage/3/index.html
index 9db2f550f47..b3a6f1166c8 100644
--- a/guides/grails-code-coverage/3/index.html
+++ b/guides/grails-code-coverage/3/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-code-coverage/4/guide/index.html b/guides/grails-code-coverage/4/guide/index.html
index 1aabf2bf956..9a264ba115c 100644
--- a/guides/grails-code-coverage/4/guide/index.html
+++ b/guides/grails-code-coverage/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-code-coverage/4/guide/single.html b/guides/grails-code-coverage/4/guide/single.html
index 1aabf2bf956..9a264ba115c 100644
--- a/guides/grails-code-coverage/4/guide/single.html
+++ b/guides/grails-code-coverage/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-code-coverage/4/index.html b/guides/grails-code-coverage/4/index.html
index b90836d6f54..24eff8791b5 100644
--- a/guides/grails-code-coverage/4/index.html
+++ b/guides/grails-code-coverage/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-codenarc/4/guide/index.html b/guides/grails-codenarc/4/guide/index.html
index dacadef31e8..2a3a0bd05d5 100644
--- a/guides/grails-codenarc/4/guide/index.html
+++ b/guides/grails-codenarc/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -307,7 +307,7 @@ CodeNarc Rule as shown in the next image:</p>
</div>
</div>
<div class="paragraph">
-<p>Check our <a href="http://guides.grails.org/grails-multi-project-build/guide/index.html">Grails Multi-Project Build</a> Guide, to learn more.</p>
+<p>Check our <a href="https://grails.apache.org/guides/grails-multi-project-build/guide/index.html">Grails Multi-Project Build</a> Guide, to learn more.</p>
</div>
diff --git a/guides/grails-codenarc/4/guide/pages/multiproject.html b/guides/grails-codenarc/4/guide/pages/multiproject.html
index f7ce9c88f41..b19e9693b4c 100644
--- a/guides/grails-codenarc/4/guide/pages/multiproject.html
+++ b/guides/grails-codenarc/4/guide/pages/multiproject.html
@@ -91,7 +91,7 @@ CodeNarc Rule as shown in the next image:</p>
</div>
</div>
<div class="paragraph">
-<p>Check our <a href="http://guides.grails.org/grails-multi-project-build/guide/index.html">Grails Multi-Project Build</a> Guide, to learn more.</p>
+<p>Check our <a href="https://grails.apache.org/guides/grails-multi-project-build/guide/index.html">Grails Multi-Project Build</a> Guide, to learn more.</p>
</div>
diff --git a/guides/grails-codenarc/4/guide/single.html b/guides/grails-codenarc/4/guide/single.html
index dacadef31e8..2a3a0bd05d5 100644
--- a/guides/grails-codenarc/4/guide/single.html
+++ b/guides/grails-codenarc/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -307,7 +307,7 @@ CodeNarc Rule as shown in the next image:</p>
</div>
</div>
<div class="paragraph">
-<p>Check our <a href="http://guides.grails.org/grails-multi-project-build/guide/index.html">Grails Multi-Project Build</a> Guide, to learn more.</p>
+<p>Check our <a href="https://grails.apache.org/guides/grails-multi-project-build/guide/index.html">Grails Multi-Project Build</a> Guide, to learn more.</p>
</div>
diff --git a/guides/grails-codenarc/4/guide/writingTheApp.html b/guides/grails-codenarc/4/guide/writingTheApp.html
index 72ac9783128..563576e27c8 100644
--- a/guides/grails-codenarc/4/guide/writingTheApp.html
+++ b/guides/grails-codenarc/4/guide/writingTheApp.html
@@ -120,7 +120,7 @@ CodeNarc Rule as shown in the next image:</p>
</div>
</div>
<div class="paragraph">
-<p>Check our <a href="http://guides.grails.org/grails-multi-project-build/guide/index.html">Grails Multi-Project Build</a> Guide, to learn more.</p>
+<p>Check our <a href="https://grails.apache.org/guides/grails-multi-project-build/guide/index.html">Grails Multi-Project Build</a> Guide, to learn more.</p>
</div>
diff --git a/guides/grails-codenarc/4/index.html b/guides/grails-codenarc/4/index.html
index 43ae8ea03d4..00be68737a0 100644
--- a/guides/grails-codenarc/4/index.html
+++ b/guides/grails-codenarc/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-configuration-properties-micronaut/4/guide/index.html b/guides/grails-configuration-properties-micronaut/4/guide/index.html
index 91d58789329..2d671da4a15 100644
--- a/guides/grails-configuration-properties-micronaut/4/guide/index.html
+++ b/guides/grails-configuration-properties-micronaut/4/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -315,7 +315,7 @@
<div class="paragraph">
-<p>Create a <a href="https://gsp.grails.org/latest/guide/index.html#taglibs">Tag Library</a> to render the address:</p>
+<p>Create a <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Tag Library</a> to render the address:</p>
</div>
<div class="listingblock">
<div class="title">grails-app/taglib/example/grails/AddressTagLib.groovy</div>
diff --git a/guides/grails-configuration-properties-micronaut/4/guide/pages/taglib.html b/guides/grails-configuration-properties-micronaut/4/guide/pages/taglib.html
index a54daeb5cd6..870adb14c0b 100644
--- a/guides/grails-configuration-properties-micronaut/4/guide/pages/taglib.html
+++ b/guides/grails-configuration-properties-micronaut/4/guide/pages/taglib.html
@@ -82,7 +82,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Create a <a href="https://gsp.grails.org/latest/guide/index.html#taglibs">Tag Library</a> to render the address:</p>
+<p>Create a <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Tag Library</a> to render the address:</p>
</div>
<div class="listingblock">
<div class="title">grails-app/taglib/example/grails/AddressTagLib.groovy</div>
diff --git a/guides/grails-configuration-properties-micronaut/4/guide/single.html b/guides/grails-configuration-properties-micronaut/4/guide/single.html
index 91d58789329..2d671da4a15 100644
--- a/guides/grails-configuration-properties-micronaut/4/guide/single.html
+++ b/guides/grails-configuration-properties-micronaut/4/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -315,7 +315,7 @@
<div class="paragraph">
-<p>Create a <a href="https://gsp.grails.org/latest/guide/index.html#taglibs">Tag Library</a> to render the address:</p>
+<p>Create a <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Tag Library</a> to render the address:</p>
</div>
<div class="listingblock">
<div class="title">grails-app/taglib/example/grails/AddressTagLib.groovy</div>
diff --git a/guides/grails-configuration-properties-micronaut/4/guide/writingTheApp.html b/guides/grails-configuration-properties-micronaut/4/guide/writingTheApp.html
index adfe01aedd8..222f923a270 100644
--- a/guides/grails-configuration-properties-micronaut/4/guide/writingTheApp.html
+++ b/guides/grails-configuration-properties-micronaut/4/guide/writingTheApp.html
@@ -174,7 +174,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Create a <a href="https://gsp.grails.org/latest/guide/index.html#taglibs">Tag Library</a> to render the address:</p>
+<p>Create a <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Tag Library</a> to render the address:</p>
</div>
<div class="listingblock">
<div class="title">grails-app/taglib/example/grails/AddressTagLib.groovy</div>
diff --git a/guides/grails-configuration-properties-micronaut/4/index.html b/guides/grails-configuration-properties-micronaut/4/index.html
index b3193544a23..58cc33592e7 100644
--- a/guides/grails-configuration-properties-micronaut/4/index.html
+++ b/guides/grails-configuration-properties-micronaut/4/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-configuration-properties-micronaut/6/guide/index.html b/guides/grails-configuration-properties-micronaut/6/guide/index.html
index c72ff686ff3..8ba5c02cfda 100644
--- a/guides/grails-configuration-properties-micronaut/6/guide/index.html
+++ b/guides/grails-configuration-properties-micronaut/6/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -351,7 +351,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="paragraph">
-<p>Create a <a href="https://gsp.grails.org/latest/guide/index.html#taglibs">Tag Library</a> to render the address:</p>
+<p>Create a <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Tag Library</a> to render the address:</p>
</div>
<div class="listingblock">
<div class="title">grails-app/taglib/example/grails/AddressTagLib.groovy</div>
diff --git a/guides/grails-configuration-properties-micronaut/6/guide/pages/taglib.html b/guides/grails-configuration-properties-micronaut/6/guide/pages/taglib.html
index 11722fbf0f9..439fd1642d9 100644
--- a/guides/grails-configuration-properties-micronaut/6/guide/pages/taglib.html
+++ b/guides/grails-configuration-properties-micronaut/6/guide/pages/taglib.html
@@ -82,7 +82,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Create a <a href="https://gsp.grails.org/latest/guide/index.html#taglibs">Tag Library</a> to render the address:</p>
+<p>Create a <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Tag Library</a> to render the address:</p>
</div>
<div class="listingblock">
<div class="title">grails-app/taglib/example/grails/AddressTagLib.groovy</div>
diff --git a/guides/grails-configuration-properties-micronaut/6/guide/single.html b/guides/grails-configuration-properties-micronaut/6/guide/single.html
index c72ff686ff3..8ba5c02cfda 100644
--- a/guides/grails-configuration-properties-micronaut/6/guide/single.html
+++ b/guides/grails-configuration-properties-micronaut/6/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -351,7 +351,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="paragraph">
-<p>Create a <a href="https://gsp.grails.org/latest/guide/index.html#taglibs">Tag Library</a> to render the address:</p>
+<p>Create a <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Tag Library</a> to render the address:</p>
</div>
<div class="listingblock">
<div class="title">grails-app/taglib/example/grails/AddressTagLib.groovy</div>
diff --git a/guides/grails-configuration-properties-micronaut/6/guide/writingTheApp.html b/guides/grails-configuration-properties-micronaut/6/guide/writingTheApp.html
index ff3537f9b5b..6dabf7aad20 100644
--- a/guides/grails-configuration-properties-micronaut/6/guide/writingTheApp.html
+++ b/guides/grails-configuration-properties-micronaut/6/guide/writingTheApp.html
@@ -174,7 +174,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Create a <a href="https://gsp.grails.org/latest/guide/index.html#taglibs">Tag Library</a> to render the address:</p>
+<p>Create a <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Tag Library</a> to render the address:</p>
</div>
<div class="listingblock">
<div class="title">grails-app/taglib/example/grails/AddressTagLib.groovy</div>
diff --git a/guides/grails-configuration-properties-micronaut/6/index.html b/guides/grails-configuration-properties-micronaut/6/index.html
index 096b9fadf47..c8cc905e3a9 100644
--- a/guides/grails-configuration-properties-micronaut/6/index.html
+++ b/guides/grails-configuration-properties-micronaut/6/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
diff --git a/guides/grails-configuration-properties/3/guide/index.html b/guides/grails-configuration-properties/3/guide/index.html
index aeed6f888d0..e62395596a0 100644
--- a/guides/grails-configuration-properties/3/guide/index.html
+++ b/guides/grails-configuration-properties/3/guide/index.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
- <li><a href='https://plugins.grails.org'>Plugins</a></li>
+ <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://grails.apache.org/guides'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
@@ -357,7 +357,7 @@ we are using <code>geb2</code> feature which includes <a href="http://www.gebish
<div class="paragraph">
-<p>Create a <a href="https://gsp.grails.org/latest/guide/index.html#taglibs">Tag Library</a> to render the address:</p>
+<p>Create a <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Tag Library</a> to render the address:</p>
</div>
<div class="listingblock">
<div class="title">grails-app/taglib/example/grails/AddressTagLib.groovy</div>
diff --git a/guides/grails-configuration-properties/3/guide/pages/taglib.html b/guides/grails-configuration-properties/3/guide/pages/taglib.html
index f5fa849369c..5604ebbc613 100644
--- a/guides/grails-configuration-properties/3/guide/pages/taglib.html
+++ b/guides/grails-configuration-properties/3/guide/pages/taglib.html
@@ -82,7 +82,7 @@ function addJsClass() {
<div class="paragraph">
-<p>Create a <a href="https://gsp.grails.org/latest/guide/index.html#taglibs">Tag Library</a> to render the address:</p>
+<p>Create a <a href="https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp">Tag Library</a> to render the address:</p>
</div>
<div class="listingblock">
<div class="title">grails-app/taglib/example/grails/AddressTagLib.groovy</div>
diff --git a/guides/grails-configuration-properties/3/guide/single.html b/guides/grails-configuration-properties/3/guide/single.html
index aeed6f888d0..e62395596a0 100644
--- a/guides/grails-configuration-properties/3/guide/single.html
+++ b/guides/grails-configuration-properties/3/guide/single.html
@@ -71,7 +71,7 @@
<ul>
<li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
... 17895 lines suppressed ...