Changes for page Resources
Last modified by Alex Cotiuga on 2026/07/21 13:07
From version 9.2
edited by Alex Cotiuga
on 2026/05/22 09:00
on 2026/05/22 09:00
Change comment:
There is no comment for this version
To version 10.16
edited by Alex Cotiuga
on 2026/05/28 08:49
on 2026/05/28 08:49
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 - XWikiResourcesand Guides1 +Resources - Content
-
... ... @@ -1,103 +1,120 @@ 1 1 {{velocity}} 2 2 #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) 3 3 {{html clean="false"}} 4 - 4 + ## PAGE HEADER 5 5 <section class="hero hero-centered" aria-labelledby="hero-title"> 6 - <div class="container"> 7 - <div class="text-center"> 8 - <div class="hero-kicker"> 9 - <i class="fa fa-book" aria-hidden="true"></i> 10 - XWiki resources 11 - </div> 6 + <div class="container hero-inner"> 7 + <div class="hero-kicker"> 8 + <i class="fa fa-book" aria-hidden="true"></i> 9 + XWiki resources 12 12 </div> 13 - 14 - <h1 id="hero-title">Practical XWiki guidance for better long-term maintenance</h1> 15 - 16 - <p class="resource-summary"> 17 - Articles and practical notes about XWiki upgrades, custom development, governance, security, 18 - integrations and maintainable knowledge platforms. 11 + <h1 id="hero-title">XWiki resources for upgrades, security and maintainability</h1> 12 + <p class="lead"> 13 + Practical articles for teams that want to keep XWiki secure, upgradeable and easier to maintain over time. 19 19 </p> 15 + <div class="hero-actions"> 16 + <a class="btn btn-primary" href="https://calendly.com/alex-agnease/30min?back=1&month=2026-06"> 17 + Book a free XWiki review call 18 + </a> 19 + <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')"> 20 + View XWiki services 21 + </a> 22 +</div> 20 20 </div> 21 21 </section> 22 - 23 - <section class="resources-index-page"> 25 + ## RESOURCE CARDS 26 + #set ($resourceItems = [{ 27 + 'title': 'What should an XWiki security review include', 28 + 'icon': 'shield', 29 + 'url': 'resources.xwiki-security-review', 30 + 'content': 'A practical overview of what to review in an XWiki instance: version status, access rights, authentication, extensions, custom code, infrastructure, backups and operations.', 31 + 'linkLabel': 'Read article' 32 + },{ 33 + 'title': 'Why upgrade your XWiki instance', 34 + 'icon': 'refresh', 35 + 'url': 'resources.why-upgrade-xwiki', 36 + 'content': 'A practical explanation of why regular XWiki upgrades matter for security, stability, extension compatibility and long-term maintenance.', 37 + 'linkLabel': 'Read article' 38 + },{ 39 + 'title': 'How to customize XWiki safely', 40 + 'icon': 'code', 41 + 'url': 'resources.xwiki-custom-development', 42 + 'content': 'Guidance for organizing XWiki custom code, scripts, templates and extensions so they remain easier to maintain across upgrades.', 43 + 'linkLabel': 'Read article' 44 + }]) 45 + <section id="resources-list" class="services resources-index-page" aria-labelledby="resources-title"> 24 24 <div class="container"> 25 - 26 - <div class="resources-intro"> 27 - <p> 28 - XWiki is a flexible platform, but the long-term quality of an instance depends on how it is configured, 29 - customized, upgraded and maintained. These resources are written for teams that want to keep their 30 - XWiki platform stable, useful and easier to evolve over time. 31 - </p> 47 + <h2 id="resources-title">Useful XWiki resources</h2> 48 + <p class="section-intro"> 49 + Focused guidance for production XWiki platforms, covering upgrade planning, custom development, 50 + maintainability and safer long-term evolution. 51 + </p> 52 + <div class="services-grid resources-grid"> 53 + #foreach ($entry in $resourceItems) 54 + <article class="service resource-card"> 55 + <div class="service-icon" aria-hidden="true"> 56 + <i class="fa fa-$entry.icon"></i> 57 + </div> 58 + <div class="service-body"> 59 + <h4>$entry.title</h4> 60 + <p>$entry.content</p> 61 + <p class="card-link"> 62 + <a href="$xwiki.getURL($entry.url)">$entry.linkLabel</a> 63 + </p> 64 + </div> 65 + </article> 66 + #end 32 32 </div> 33 - 34 - <div class="resources-grid"> 35 - 36 - <article class="resource-card"> 37 - <div class="resource-card-icon"> 38 - <i class="fa fa-refresh" aria-hidden="true"></i> 39 - </div> 40 - <div class="resource-card-body"> 41 - <div class="resource-card-label">Upgrade guidance</div> 42 - <h2> 43 - <a href="$xwiki.getURL('resources.why-upgrade-xwiki')"> 44 - Why upgrading your XWiki instance should be a regular priority 45 - </a> 46 - </h2> 47 - <p> 48 - Understand why postponed upgrades can increase security exposure, compatibility risk and 49 - long-term maintenance cost. 50 - </p> 51 - <a class="resource-card-link" href="$xwiki.getURL('resources.why-upgrade-xwiki')"> 52 - Read the article 53 - <i class="fa fa-angle-right" aria-hidden="true"></i> 54 - </a> 55 - </div> 56 - </article> 57 - 58 - <article class="resource-card"> 59 - <div class="resource-card-icon"> 60 - <i class="fa fa-code" aria-hidden="true"></i> 61 - </div> 62 - <div class="resource-card-body"> 63 - <div class="resource-card-label">Custom development</div> 64 - <h2> 65 - <a href="$xwiki.getURL('resources.xwiki-custom-development')"> 66 - How to customize XWiki safely without creating upgrade problems 67 - </a> 68 - </h2> 69 - <p> 70 - Learn how to organize custom XWiki code, scripts, templates and extensions so they remain 71 - maintainable across upgrades. 72 - </p> 73 - <a class="resource-card-link" href="$xwiki.getURL('resources.xwiki-custom-development')"> 74 - Read the article 75 - <i class="fa fa-angle-right" aria-hidden="true"></i> 76 - </a> 77 - </div> 78 - </article> 79 - 68 + </div> 69 + </section> 70 + ## UPCOMING TOPICS 71 + #set ($upcomingTopicItems = [{ 72 + 'title': 'Upgrade planning', 73 + 'content': 'How to prepare XWiki upgrades when custom code, extensions, authentication and workflows are involved.' 74 + },{ 75 + 'title': 'Access and security', 76 + 'content': 'Practical notes on permissions, authentication options, MFA, SSO and security-aware administration.' 77 + },{ 78 + 'title': 'Maintainable customization', 79 + 'content': 'How to extend XWiki without creating unnecessary upgrade and maintenance problems.' 80 + }]) 81 + <section class="split-section" aria-labelledby="upcoming-title"> 82 + <div class="container"> 83 + <div class="split-grid"> 84 + <div class="split-copy"> 85 + <h2 id="upcoming-title">More practical XWiki topics coming soon</h2> 86 + <p> 87 + Future resources will cover XWiki access rights, authentication, migrations, security reviews, 88 + structured applications, workflows and practical administration patterns. 89 + </p> 90 + <p> 91 + The goal is to publish useful guidance that helps teams make better decisions before an upgrade, 92 + customization, migration or long-term maintenance engagement. 93 + </p> 94 + </div> 95 + <ol class="process-list"> 96 + #foreach ($entry in $upcomingTopicItems) 97 + <li> 98 + <strong>$entry.title</strong> 99 + $entry.content 100 + </li> 101 + #end 102 + </ol> 80 80 </div> 81 - 82 - <div class="resources-next"> 83 - <h2>More topics coming soon</h2> 104 + </div> 105 + </section> 106 + ## CTA 107 + <section class="cta-section" aria-labelledby="resource-cta-title"> 108 + <div class="container"> 109 + <div class="cta-panel"> 110 + <h2 id="resource-cta-title">Need help with an XWiki project?</h2> 84 84 <p> 85 - Future resources will cover XWiki access rights, authentication, migrations, security reviews, 86 - structured applications, workflows and practical administration patterns. 87 - </p> 88 - </div> 89 - 90 - <div class="resource-cta"> 91 - <h3>Need help with an XWiki project?</h3> 92 - <p> 93 93 If your XWiki instance needs an upgrade, custom development, integration work or a technical review, 94 - we can helpyouevaluate the current state and definethe safest next steps.113 + Agnease can help evaluate the current state and define practical next steps. 95 95 </p> 96 96 <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Contact Agnease</a> 97 97 </div> 98 - 99 99 </div> 100 100 </section> 101 - 102 102 {{/html}} 103 103 {{/velocity}}