Author: buildbot
Date: Fri Jan 24 12:18:16 2025
New Revision: 1088605

Log:
Production update by buildbot for tapestry

Modified:
    
websites/production/tapestry/content/2009/09/13/new-tapestry-5-book-by-igor-drobiazko.html
    
websites/production/tapestry/content/2009/10/27/thiago-h-de-paula-figueiredo-elected-to-tapestry-pmc.html
    
websites/production/tapestry/content/2009/11/25/ulrich-strk-elected-tapestry-committer.html
    
websites/production/tapestry/content/2010/07/18/robin-komiwes-elected-tapestry-committer.html
    
websites/production/tapestry/content/2010/07/24/christophe-cordenier-elected-tapestry-committer.html
    
websites/production/tapestry/content/2010/10/11/tapestry-521-beta-release.html
    
websites/production/tapestry/content/2010/10/31/tapestry-522-beta-release.html
    
websites/production/tapestry/content/2010/11/18/tapestry-524-beta-release.html
    
websites/production/tapestry/content/2010/11/19/live-tapestry-hotel-booking-demo.html
    websites/production/tapestry/content/2010/12/16/tapestry-52-released.html
    websites/production/tapestry/content/2010/12/17/announcing-tapestry-52.html
    
websites/production/tapestry/content/2011/01/10/why-tapestry-by-kalle-korhonen.html
    
websites/production/tapestry/content/2011/01/18/kalle-korhonen-elected-tapestry-committer.html
    
websites/production/tapestry/content/2011/03/23/tapestry-5-in-action-available-through-meap.html
    
websites/production/tapestry/content/2011/03/29/tapestry-525-maintenance-release.html
    websites/production/tapestry/content/2011/03/30/tapestry-kudos.html
    
websites/production/tapestry/content/2011/03/31/tapestry-5-in-action-a-meap-best-seller.html
    websites/production/tapestry/content/2011/04/20/tapestry-magic.html
    
websites/production/tapestry/content/2011/06/13/tapestrys-performance-tested.html
    
websites/production/tapestry/content/2011/06/24/first-alpha-of-53-now-available.html
    websites/production/tapestry/content/2011/06/29/526-maintenance-release.html
    websites/production/tapestry/content/2011/07/29/tapestry-53-screencast.html
    
websites/production/tapestry/content/2011/08/16/tapestry-53-exception-reporting.html
    
websites/production/tapestry/content/2011/08/27/tapestry-53-beta-preview.html
    websites/production/tapestry/content/2011/10/03/tapestry-feedback.html
    
websites/production/tapestry/content/2011/10/31/tapestry-53-release-candidate.html
    websites/production/tapestry/content/2011/11/23/announcing-tapestry-53.html
    websites/production/tapestry/content/2011/12/21/announcing-tapestry-531.html
    websites/production/tapestry/content/2012/02/07/announcing-tapestry-532.html
    websites/production/tapestry/content/2012/02/08/tapestry-on-heroku.html
    websites/production/tapestry/content/2012/04/24/announcing-tapestry-533.html
    websites/production/tapestry/content/2012/07/16/announcing-tapestry-534.html
    websites/production/tapestry/content/2012/08/30/announcing-tapestry-535.html
    websites/production/tapestry/content/2012/10/12/announcing-tapestry-536.html
    
websites/production/tapestry/content/2013/02/04/new-website-infrastructure.html
    websites/production/tapestry/content/2013/04/29/announcing-tapestry-537.html
    
websites/production/tapestry/content/2014/02/23/tapestry-54-beta-3-preview-release-vote-underway.html
    
websites/production/tapestry/content/2014/03/07/tapestry-54-beta-3-preview-now-available.html
    websites/production/tapestry/content/2014/05/29/tapestry-54-beta-6.html
    websites/production/tapestry/content/2014/09/25/tapestry-54-beta-22.html
    websites/production/tapestry/content/2014/12/11/tapestry-538.html
    websites/production/tapestry/content/2015/01/19/tapestry-54-beta-26.html
    
websites/production/tapestry/content/2015/10/30/tapestry-54-release-candidate.html
    websites/production/tapestry/content/2015/12/21/tapestry-540.html
    websites/production/tapestry/content/2016/04/13/tapestry-541.html
    websites/production/tapestry/content/2017/04/19/tapestry-542.html
    websites/production/tapestry/content/2019/09/10/tapestry-545-released.html
    websites/production/tapestry/content/2020/03/23/tapestry-550-released.html
    websites/production/tapestry/content/2020/08/30/tapestry-560-released.html
    websites/production/tapestry/content/2020/09/19/tapestry-561-released.html
    websites/production/tapestry/content/2021/02/24/tapestry-562-released.html
    websites/production/tapestry/content/2021/02/24/tapestry-570-released.html
    websites/production/tapestry/content/2021/03/16/tapestry-563-released.html
    websites/production/tapestry/content/2021/03/16/tapestry-571-released.html
    websites/production/tapestry/content/2021/04/14/tapestry-564-released.html
    websites/production/tapestry/content/2021/04/14/tapestry-572-released.html
    websites/production/tapestry/content/2021/08/16/tapestry-573-released.html
    websites/production/tapestry/content/2022/01/26/tapestry-580-release.html
    websites/production/tapestry/content/2022/04/04/tapestry-581-release.html
    websites/production/tapestry/content/2022/06/20/tapestry-582-released.html
    websites/production/tapestry/content/about.html
    websites/production/tapestry/content/ajax-and-zones.html
    websites/production/tapestry/content/ajax-components-faq.html
    websites/production/tapestry/content/ajax-components.html
    websites/production/tapestry/content/ajax-javascript.html
    websites/production/tapestry/content/aliases.html
    websites/production/tapestry/content/annotations.html
    
websites/production/tapestry/content/application-module-class-cheat-sheet.html
    websites/production/tapestry/content/applications.html
    websites/production/tapestry/content/assets.html
    websites/production/tapestry/content/autoloading-modules.html
    websites/production/tapestry/content/banner.html
    websites/production/tapestry/content/bannerv2.html
    websites/production/tapestry/content/bean-validation.html
    websites/production/tapestry/content/beaneditform-faq.html
    websites/production/tapestry/content/beaneditform-guide.html
    websites/production/tapestry/content/blogs.html
    websites/production/tapestry/content/books.html
    websites/production/tapestry/content/building-tapestry-from-source.html
    websites/production/tapestry/content/built-in-mixins.html
    websites/production/tapestry/content/built-in-modules.html
    websites/production/tapestry/content/case-insensitivity.html
    websites/production/tapestry/content/chainbuilder-service.html
    websites/production/tapestry/content/cheat-sheets.html
    websites/production/tapestry/content/class-reloading.html
    websites/production/tapestry/content/client-side-javascript.html
    websites/production/tapestry/content/clustering-issues.html
    websites/production/tapestry/content/coffeescript.html
    websites/production/tapestry/content/committers.html
    websites/production/tapestry/content/community.html
    websites/production/tapestry/content/component-cheat-sheet.html
    websites/production/tapestry/content/component-classes.html
    websites/production/tapestry/content/component-events-faq.html
    websites/production/tapestry/content/component-events.html
    websites/production/tapestry/content/component-libraries.html
    websites/production/tapestry/content/component-mixins.html
    websites/production/tapestry/content/component-parameters.html
    websites/production/tapestry/content/component-reference.html
    websites/production/tapestry/content/component-rendering.html
    websites/production/tapestry/content/component-report.html
    websites/production/tapestry/content/component-templates.html
    websites/production/tapestry/content/configuration.html
    websites/production/tapestry/content/confluence-site-setup.html
    websites/production/tapestry/content/content-type-and-markup.html
    websites/production/tapestry/content/contributors.html
    websites/production/tapestry/content/cookbook.html
    
websites/production/tapestry/content/cors-cross-origin-resource-sharing-support-582.html
    websites/production/tapestry/content/creating-the-skeleton-application.html
    websites/production/tapestry/content/css.html
    websites/production/tapestry/content/default-parameter.html
    websites/production/tapestry/content/defining-tapestry-ioc-services.html
    websites/production/tapestry/content/demos.html
    websites/production/tapestry/content/dependencies-tools-and-plugins.html
    websites/production/tapestry/content/developer-bible.html
    websites/production/tapestry/content/developer-information.html
    websites/production/tapestry/content/development-dashboard.html
    websites/production/tapestry/content/development-roadmap.html
    websites/production/tapestry/content/documentation-improvement-tasks.html
    websites/production/tapestry/content/documentation.html
    websites/production/tapestry/content/dom.html
    websites/production/tapestry/content/download.html
    websites/production/tapestry/content/downloadboxes-v2.html
    websites/production/tapestry/content/enum-parameter-recipe.html
    websites/production/tapestry/content/environmental-services.html
    websites/production/tapestry/content/error-page-recipe.html
    websites/production/tapestry/content/exploring-the-project.html
    websites/production/tapestry/content/extending-the-if-component.html
    websites/production/tapestry/content/first.html
    websites/production/tapestry/content/footer.html
    websites/production/tapestry/content/footerv2.html
    websites/production/tapestry/content/forms-and-form-components-faq.html
    websites/production/tapestry/content/forms-and-form-components.html
    websites/production/tapestry/content/forms-and-validation.html
    websites/production/tapestry/content/forms.html
    websites/production/tapestry/content/frequently-asked-questions.html
    websites/production/tapestry/content/functional-flows.html
    websites/production/tapestry/content/general-questions.html
    websites/production/tapestry/content/getting-started.html
    websites/production/tapestry/content/google-app-engine.html
    websites/production/tapestry/content/hibernate-core-conf.html
    websites/production/tapestry/content/hibernate-core.html
    websites/production/tapestry/content/hibernate-statistics.html
    websites/production/tapestry/content/hibernate-support-faq.html
    websites/production/tapestry/content/hibernate-user-guide.html
    websites/production/tapestry/content/hibernate.html
    websites/production/tapestry/content/hilo.html
    websites/production/tapestry/content/home.html
    websites/production/tapestry/content/how-to-upgrade.html
    websites/production/tapestry/content/https.html
    
websites/production/tapestry/content/implementing-the-hi-lo-guessing-game.html
    websites/production/tapestry/content/index.html
    websites/production/tapestry/content/indexv1.html
    websites/production/tapestry/content/indexv2-old.html
    websites/production/tapestry/content/indexv2.html
    websites/production/tapestry/content/injection-faq.html
    websites/production/tapestry/content/injection-in-detail.html
    websites/production/tapestry/content/injection.html
    websites/production/tapestry/content/input-validation.html
    websites/production/tapestry/content/integrating-with-jpa.html
    websites/production/tapestry/content/integrating-with-spring-framework.html
    websites/production/tapestry/content/integration-testing.html
    
websites/production/tapestry/content/integration-with-existing-applications.html
    websites/production/tapestry/content/introduction.html
    websites/production/tapestry/content/ioc-advice.html
    websites/production/tapestry/content/ioc-autoload.html
    websites/production/tapestry/content/ioc-case.html
    websites/production/tapestry/content/ioc-coerce.html
    websites/production/tapestry/content/ioc-command.html
    websites/production/tapestry/content/ioc-configuration.html
    
websites/production/tapestry/content/ioc-cookbook-basic-services-and-injection.html
    websites/production/tapestry/content/ioc-cookbook-basics.html
    websites/production/tapestry/content/ioc-cookbook-override.html
    
websites/production/tapestry/content/ioc-cookbook-overriding-ioc-services.html
    websites/production/tapestry/content/ioc-cookbook-patterns.html
    
websites/production/tapestry/content/ioc-cookbook-service-configurations.html
    websites/production/tapestry/content/ioc-cookbook.html
    websites/production/tapestry/content/ioc-decorator.html
    websites/production/tapestry/content/ioc-injection.html
    websites/production/tapestry/content/ioc-logging.html
    websites/production/tapestry/content/ioc-module.html
    websites/production/tapestry/content/ioc-order.html
    websites/production/tapestry/content/ioc-overview.html
    websites/production/tapestry/content/ioc-parallel.html
    websites/production/tapestry/content/ioc-pipeline.html
    websites/production/tapestry/content/ioc-provider.html
    websites/production/tapestry/content/ioc-run.html
    websites/production/tapestry/content/ioc-serialization.html
    websites/production/tapestry/content/ioc-shadow.html
    websites/production/tapestry/content/ioc-startup.html
    websites/production/tapestry/content/ioc-strategy.html
    websites/production/tapestry/content/ioc-symbols.html
    websites/production/tapestry/content/ioc.html
    websites/production/tapestry/content/javascript-faq.html
    websites/production/tapestry/content/javascript-modules.html
    websites/production/tapestry/content/javascript-rewrite-in-54.html
    websites/production/tapestry/content/javascript.html
    websites/production/tapestry/content/jmx-module.html
    websites/production/tapestry/content/json.html
    websites/production/tapestry/content/key-features-v2.html
    websites/production/tapestry/content/key-features.html
    websites/production/tapestry/content/layout-component.html
    websites/production/tapestry/content/legacy-javascript.html
    websites/production/tapestry/content/limitations.html
    websites/production/tapestry/content/link-components-faq.html
    websites/production/tapestry/content/loading-the-project-into-eclipse.html
    websites/production/tapestry/content/localization.html
    websites/production/tapestry/content/logging-in-tapestry.html
    websites/production/tapestry/content/logging.html
    websites/production/tapestry/content/mailing-lists.html
    websites/production/tapestry/content/maven-support-faq.html
    websites/production/tapestry/content/menuleft.html
    websites/production/tapestry/content/meta-programming-page-content.html
    websites/production/tapestry/content/modules.html
    websites/production/tapestry/content/navigation.html
    websites/production/tapestry/content/navigationv2.html
    websites/production/tapestry/content/news.html
    websites/production/tapestry/content/object-providers.html
    websites/production/tapestry/content/operation-tracker.html
    websites/production/tapestry/content/ordering-by-constraints.html
    websites/production/tapestry/content/overriding-exception-reporting.html
    websites/production/tapestry/content/page-and-component-classes-faq.html
    websites/production/tapestry/content/page-and-component-classes.html
    websites/production/tapestry/content/page-life-cycle.html
    websites/production/tapestry/content/page-navigation.html
    websites/production/tapestry/content/parallel-execution.html
    websites/production/tapestry/content/parameter-type-coercion.html
    websites/production/tapestry/content/performance-and-clustering.html
    websites/production/tapestry/content/persistent-page-data.html
    websites/production/tapestry/content/persistent-state.html
    websites/production/tapestry/content/pipelinebuilder-service.html
    websites/production/tapestry/content/presentations.html
    websites/production/tapestry/content/principles.html
    websites/production/tapestry/content/project-layout.html
    websites/production/tapestry/content/property-expressions.html
    websites/production/tapestry/content/redirects.html
    websites/production/tapestry/content/registry-startup.html
    websites/production/tapestry/content/release-notes-50.html
    websites/production/tapestry/content/release-notes-51.html
    websites/production/tapestry/content/release-notes-52.html
    websites/production/tapestry/content/release-notes-520.html
    websites/production/tapestry/content/release-notes-521.html
    websites/production/tapestry/content/release-notes-522.html
    websites/production/tapestry/content/release-notes-523.html
    websites/production/tapestry/content/release-notes-524.html
    websites/production/tapestry/content/release-notes-525.html
    websites/production/tapestry/content/release-notes-526.html
    websites/production/tapestry/content/release-notes-53.html
    websites/production/tapestry/content/release-notes-531.html
    websites/production/tapestry/content/release-notes-532.html
    websites/production/tapestry/content/release-notes-533.html
    websites/production/tapestry/content/release-notes-534.html
    websites/production/tapestry/content/release-notes-535.html
    websites/production/tapestry/content/release-notes-536.html
    websites/production/tapestry/content/release-notes-537.html
    websites/production/tapestry/content/release-notes-538.html
    websites/production/tapestry/content/release-notes-54.html
    websites/production/tapestry/content/release-notes-541.html
    websites/production/tapestry/content/release-notes-542.html
    websites/production/tapestry/content/release-notes-543.html
    websites/production/tapestry/content/release-notes-544.html
    websites/production/tapestry/content/release-notes-545.html
    websites/production/tapestry/content/release-notes-550.html
    websites/production/tapestry/content/release-notes-560.html
    websites/production/tapestry/content/release-notes-561.html
    websites/production/tapestry/content/release-notes-562.html
    websites/production/tapestry/content/release-notes-563.html
    websites/production/tapestry/content/release-notes-564.html
    websites/production/tapestry/content/release-notes-570.html
    websites/production/tapestry/content/release-notes-571.html
    websites/production/tapestry/content/release-notes-572.html
    websites/production/tapestry/content/release-notes-573.html
    websites/production/tapestry/content/release-notes-580.html
    websites/production/tapestry/content/release-notes-581.html
    websites/production/tapestry/content/release-notes-582.html
    websites/production/tapestry/content/release-notes-583.html
    websites/production/tapestry/content/release-notes-584.html
    websites/production/tapestry/content/release-notes-585.html
    websites/production/tapestry/content/release-notes-586.html
    websites/production/tapestry/content/release-notes-587.html
    websites/production/tapestry/content/release-notes-for-532.html
    websites/production/tapestry/content/release-notes.html
    websites/production/tapestry/content/release-process.html
    websites/production/tapestry/content/release-upgrade-faq.html
    websites/production/tapestry/content/reload.html
    websites/production/tapestry/content/request-processing-faq.html
    websites/production/tapestry/content/request-processing.html
    websites/production/tapestry/content/response-compression.html
    websites/production/tapestry/content/rest-support-580.html
    websites/production/tapestry/content/runtime-exceptions.html
    websites/production/tapestry/content/sandbox.html
    websites/production/tapestry/content/search.html
    websites/production/tapestry/content/search4.html
    websites/production/tapestry/content/security-faq.html
    websites/production/tapestry/content/security.html
    websites/production/tapestry/content/service-advisors.html
    websites/production/tapestry/content/service-implementation-reloading.html
    websites/production/tapestry/content/service-serialization.html
    websites/production/tapestry/content/session-storage.html
    websites/production/tapestry/content/shadowbuilder-service.html
    websites/production/tapestry/content/since-and-deprecated-user-macros.html
    websites/production/tapestry/content/small-banner.html
    websites/production/tapestry/content/small-bannerv2.html
    websites/production/tapestry/content/specific-errors-faq.html
    websites/production/tapestry/content/specific-errors.html
    websites/production/tapestry/content/spring.html
    websites/production/tapestry/content/starting-the-ioc-registry.html
    websites/production/tapestry/content/statistics.html
    websites/production/tapestry/content/strategybuilder-service.html
    websites/production/tapestry/content/support.html
    
websites/production/tapestry/content/supported-environments-and-versions.html
    websites/production/tapestry/content/supporting-informal-parameters.html
    websites/production/tapestry/content/switching-cases.html
    websites/production/tapestry/content/symbols.html
    websites/production/tapestry/content/tapestry-544.html
    websites/production/tapestry/content/tapestry-583-released.html
    websites/production/tapestry/content/tapestry-584-released.html
    websites/production/tapestry/content/tapestry-for-jsf-users.html
    
websites/production/tapestry/content/tapestry-inversion-of-control-container.html
    websites/production/tapestry/content/tapestry-inversion-of-control-faq.html
    websites/production/tapestry/content/tapestry-ioc-configuration.html
    websites/production/tapestry/content/tapestry-ioc-decorators.html
    websites/production/tapestry/content/tapestry-ioc-modules.html
    websites/production/tapestry/content/tapestry-ioc-overview.html
    websites/production/tapestry/content/tapestry-tutorial.html
    websites/production/tapestry/content/templating-and-markup-faq.html
    websites/production/tapestry/content/test-page-2.html
    websites/production/tapestry/content/test-page.html
    websites/production/tapestry/content/test.html
    websites/production/tapestry/content/the-tapestry-jail.html
    websites/production/tapestry/content/third-party-modules.html
    websites/production/tapestry/content/this-page-has-been-deleted.html
    websites/production/tapestry/content/tutorial.html
    websites/production/tapestry/content/type-coercion.html
    websites/production/tapestry/content/typecoercer-service.html
    websites/production/tapestry/content/typescript.html
    websites/production/tapestry/content/unit-testing-pages-or-components.html
    websites/production/tapestry/content/upgrade.html
    websites/production/tapestry/content/upload.html
    websites/production/tapestry/content/uploading-files.html
    websites/production/tapestry/content/url-rewriting.html
    websites/production/tapestry/content/user-guide.html
    websites/production/tapestry/content/userguide.html
    
websites/production/tapestry/content/using-beaneditform-to-create-user-forms.html
    websites/production/tapestry/content/using-jsr-330-standard-annotations.html
    websites/production/tapestry/content/using-select-with-a-list.html
    websites/production/tapestry/content/using-tapestry-with-hibernate.html
    websites/production/tapestry/content/version-numbers.html
    websites/production/tapestry/content/whatistapestry-v2.html
    websites/production/tapestry/content/whatistapestry.html

Modified: 
websites/production/tapestry/content/2009/09/13/new-tapestry-5-book-by-igor-drobiazko.html
==============================================================================
--- 
websites/production/tapestry/content/2009/09/13/new-tapestry-5-book-by-igor-drobiazko.html
 (original)
+++ 
websites/production/tapestry/content/2009/09/13/new-tapestry-5-book-by-igor-drobiazko.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2009/10/27/thiago-h-de-paula-figueiredo-elected-to-tapestry-pmc.html
==============================================================================
--- 
websites/production/tapestry/content/2009/10/27/thiago-h-de-paula-figueiredo-elected-to-tapestry-pmc.html
 (original)
+++ 
websites/production/tapestry/content/2009/10/27/thiago-h-de-paula-figueiredo-elected-to-tapestry-pmc.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2009/11/25/ulrich-strk-elected-tapestry-committer.html
==============================================================================
--- 
websites/production/tapestry/content/2009/11/25/ulrich-strk-elected-tapestry-committer.html
 (original)
+++ 
websites/production/tapestry/content/2009/11/25/ulrich-strk-elected-tapestry-committer.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2010/07/18/robin-komiwes-elected-tapestry-committer.html
==============================================================================
--- 
websites/production/tapestry/content/2010/07/18/robin-komiwes-elected-tapestry-committer.html
 (original)
+++ 
websites/production/tapestry/content/2010/07/18/robin-komiwes-elected-tapestry-committer.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2010/07/24/christophe-cordenier-elected-tapestry-committer.html
==============================================================================
--- 
websites/production/tapestry/content/2010/07/24/christophe-cordenier-elected-tapestry-committer.html
 (original)
+++ 
websites/production/tapestry/content/2010/07/24/christophe-cordenier-elected-tapestry-committer.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2010/10/11/tapestry-521-beta-release.html
==============================================================================
--- 
websites/production/tapestry/content/2010/10/11/tapestry-521-beta-release.html 
(original)
+++ 
websites/production/tapestry/content/2010/10/11/tapestry-521-beta-release.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2010/10/31/tapestry-522-beta-release.html
==============================================================================
--- 
websites/production/tapestry/content/2010/10/31/tapestry-522-beta-release.html 
(original)
+++ 
websites/production/tapestry/content/2010/10/31/tapestry-522-beta-release.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2010/11/18/tapestry-524-beta-release.html
==============================================================================
--- 
websites/production/tapestry/content/2010/11/18/tapestry-524-beta-release.html 
(original)
+++ 
websites/production/tapestry/content/2010/11/18/tapestry-524-beta-release.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2010/11/19/live-tapestry-hotel-booking-demo.html
==============================================================================
--- 
websites/production/tapestry/content/2010/11/19/live-tapestry-hotel-booking-demo.html
 (original)
+++ 
websites/production/tapestry/content/2010/11/19/live-tapestry-hotel-booking-demo.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2010/12/16/tapestry-52-released.html
==============================================================================
--- websites/production/tapestry/content/2010/12/16/tapestry-52-released.html 
(original)
+++ websites/production/tapestry/content/2010/12/16/tapestry-52-released.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2010/12/17/announcing-tapestry-52.html
==============================================================================
--- websites/production/tapestry/content/2010/12/17/announcing-tapestry-52.html 
(original)
+++ websites/production/tapestry/content/2010/12/17/announcing-tapestry-52.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2011/01/10/why-tapestry-by-kalle-korhonen.html
==============================================================================
--- 
websites/production/tapestry/content/2011/01/10/why-tapestry-by-kalle-korhonen.html
 (original)
+++ 
websites/production/tapestry/content/2011/01/10/why-tapestry-by-kalle-korhonen.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2011/01/18/kalle-korhonen-elected-tapestry-committer.html
==============================================================================
--- 
websites/production/tapestry/content/2011/01/18/kalle-korhonen-elected-tapestry-committer.html
 (original)
+++ 
websites/production/tapestry/content/2011/01/18/kalle-korhonen-elected-tapestry-committer.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2011/03/23/tapestry-5-in-action-available-through-meap.html
==============================================================================
--- 
websites/production/tapestry/content/2011/03/23/tapestry-5-in-action-available-through-meap.html
 (original)
+++ 
websites/production/tapestry/content/2011/03/23/tapestry-5-in-action-available-through-meap.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2011/03/29/tapestry-525-maintenance-release.html
==============================================================================
--- 
websites/production/tapestry/content/2011/03/29/tapestry-525-maintenance-release.html
 (original)
+++ 
websites/production/tapestry/content/2011/03/29/tapestry-525-maintenance-release.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: websites/production/tapestry/content/2011/03/30/tapestry-kudos.html
==============================================================================
--- websites/production/tapestry/content/2011/03/30/tapestry-kudos.html 
(original)
+++ websites/production/tapestry/content/2011/03/30/tapestry-kudos.html Fri Jan 
24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache
@@ -148,12 +160,12 @@
 
 <p>From my daily work with T5 over past few months I can say with confidence 
it is a love-hate relationship. I get frustrated trying to get over the 
learning curve when things don't work. I don't enjoy stepping into the 
framework's guts unless I absolutely have to... But then... when I finally get 
things to work, it's like EVERY TIME the code is so elegant and gorgeous, it 
just makes me love Tapestry that much more. It's an amazing feeling, one I 
haven't had in many years as a Java developer.</p>
 
-<p>And we love our new Spring-less world of Tapestry! We love that Tapesty IoC 
allows us to painlessly inject remote EJB proxies <img class="emoticon 
emoticon-smile" 
src="https://cwiki.apache.org/confluence/s/-wgxcy0/8703/98yf4s/_/images/icons/emoticons/smile.svg";
 data-emoticon-name="smile" alt="(smile)"> LOVE IT !!! Our app layer is as 
light as it can be. We literally run only on:</p>
+<p>And we love our new Spring-less world of Tapestry! We love that Tapesty IoC 
allows us to painlessly inject remote EJB proxies <img class="emoticon 
emoticon-smile" 
src="https://cwiki.apache.org/confluence/s/5tj15x/8804/z1btw/_/images/icons/emoticons/smile.svg";
 data-emoticon-name="smile" alt="(smile)"> LOVE IT !!! Our app layer is as 
light as it can be. We literally run only on:</p>
 
 <ul><li>Tapestry</li><li>Apache commons-lang</li><li>And, of course, our EJB 
client libraries</li></ul>
 
 
-<p>In practice, we are able to concurrently run two completely different 
teams: Tapestry Devs and EJB/Hibernate devs. Both are experts within their own 
domain, no stepping on each other's toes <img class="emoticon emoticon-smile" 
src="https://cwiki.apache.org/confluence/s/-wgxcy0/8703/98yf4s/_/images/icons/emoticons/smile.svg";
 data-emoticon-name="smile" alt="(smile)"> Sure, this could be done with any 
framework, it's just that Tapestry makes it so darn easy and most importantly 
F-U-N <img class="emoticon emoticon-smile" 
src="https://cwiki.apache.org/confluence/s/-wgxcy0/8703/98yf4s/_/images/icons/emoticons/smile.svg";
 data-emoticon-name="smile" alt="(smile)"></p>
+<p>In practice, we are able to concurrently run two completely different 
teams: Tapestry Devs and EJB/Hibernate devs. Both are experts within their own 
domain, no stepping on each other's toes <img class="emoticon emoticon-smile" 
src="https://cwiki.apache.org/confluence/s/5tj15x/8804/z1btw/_/images/icons/emoticons/smile.svg";
 data-emoticon-name="smile" alt="(smile)"> Sure, this could be done with any 
framework, it's just that Tapestry makes it so darn easy and most importantly 
F-U-N <img class="emoticon emoticon-smile" 
src="https://cwiki.apache.org/confluence/s/5tj15x/8804/z1btw/_/images/icons/emoticons/smile.svg";
 data-emoticon-name="smile" alt="(smile)"></p>
 
 <p>Thank you for this great framework!</p>
 

Modified: 
websites/production/tapestry/content/2011/03/31/tapestry-5-in-action-a-meap-best-seller.html
==============================================================================
--- 
websites/production/tapestry/content/2011/03/31/tapestry-5-in-action-a-meap-best-seller.html
 (original)
+++ 
websites/production/tapestry/content/2011/03/31/tapestry-5-in-action-a-meap-best-seller.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: websites/production/tapestry/content/2011/04/20/tapestry-magic.html
==============================================================================
--- websites/production/tapestry/content/2011/04/20/tapestry-magic.html 
(original)
+++ websites/production/tapestry/content/2011/04/20/tapestry-magic.html Fri Jan 
24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2011/06/13/tapestrys-performance-tested.html
==============================================================================
--- 
websites/production/tapestry/content/2011/06/13/tapestrys-performance-tested.html
 (original)
+++ 
websites/production/tapestry/content/2011/06/13/tapestrys-performance-tested.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2011/06/24/first-alpha-of-53-now-available.html
==============================================================================
--- 
websites/production/tapestry/content/2011/06/24/first-alpha-of-53-now-available.html
 (original)
+++ 
websites/production/tapestry/content/2011/06/24/first-alpha-of-53-now-available.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2011/06/29/526-maintenance-release.html
==============================================================================
--- 
websites/production/tapestry/content/2011/06/29/526-maintenance-release.html 
(original)
+++ 
websites/production/tapestry/content/2011/06/29/526-maintenance-release.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2011/07/29/tapestry-53-screencast.html
==============================================================================
--- websites/production/tapestry/content/2011/07/29/tapestry-53-screencast.html 
(original)
+++ websites/production/tapestry/content/2011/07/29/tapestry-53-screencast.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2011/08/16/tapestry-53-exception-reporting.html
==============================================================================
--- 
websites/production/tapestry/content/2011/08/16/tapestry-53-exception-reporting.html
 (original)
+++ 
websites/production/tapestry/content/2011/08/16/tapestry-53-exception-reporting.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2011/08/27/tapestry-53-beta-preview.html
==============================================================================
--- 
websites/production/tapestry/content/2011/08/27/tapestry-53-beta-preview.html 
(original)
+++ 
websites/production/tapestry/content/2011/08/27/tapestry-53-beta-preview.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: websites/production/tapestry/content/2011/10/03/tapestry-feedback.html
==============================================================================
--- websites/production/tapestry/content/2011/10/03/tapestry-feedback.html 
(original)
+++ websites/production/tapestry/content/2011/10/03/tapestry-feedback.html Fri 
Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2011/10/31/tapestry-53-release-candidate.html
==============================================================================
--- 
websites/production/tapestry/content/2011/10/31/tapestry-53-release-candidate.html
 (original)
+++ 
websites/production/tapestry/content/2011/10/31/tapestry-53-release-candidate.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache


Reply via email to