Changes for page Resources
Last modified by Alex Cotiuga on 2026/07/21 13:07
From version 1.6
edited by Alex Cotiuga
on 2026/05/19 03:41
on 2026/05/19 03:41
Change comment:
There is no comment for this version
Summary
-
Page properties (3 modified, 0 added, 0 removed)
-
Objects (0 modified, 1 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 - resources1 +Resources - Default language
-
... ... @@ -1,1 +1,0 @@ 1 -en - Content
-
... ... @@ -1,175 +1,118 @@ 1 -{{velocity}} 2 -#if ("$!xcontext.userReference" == '') 3 - #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) 4 - {{html clean="false"}} 1 +{{include reference="PublicWebSite.MacrosAndVariables" /}} 5 5 6 - <li class="dropdown agnease-services-menu"> 7 - <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" 8 - href="$xwiki.getURL('services.WebHome')"> 9 - Services <span class="caret"></span> 10 - </a> 11 - 12 - <ul class="dropdown-menu agnease-services-dropdown"> 13 - <li> 14 - <a href="$xwiki.getURL('services.WebHome')"> 15 - <span class="menu-icon"><i class="fa fa-th-large" aria-hidden="true"></i></span> 16 - <span class="menu-text"> 17 - <strong>All XWiki services</strong> 18 - <small>Overview of available services</small> 19 - </span> 20 - </a> 21 - </li> 22 - 23 - <li role="separator" class="divider"></li> 24 - 25 - <li> 26 - <a href="$xwiki.getURL('services.xwiki-upgrades')"> 27 - <span class="menu-icon"><i class="fa fa-refresh" aria-hidden="true"></i></span> 28 - <span class="menu-text"> 29 - <strong>XWiki Upgrade Services</strong> 30 - <small>Safe LTS upgrades and validation</small> 31 - </span> 32 - </a> 33 - </li> 34 - 35 - <li> 36 - <a href="$xwiki.getURL('services.xwiki-maintenance-support')"> 37 - <span class="menu-icon"><i class="fa fa-life-ring" aria-hidden="true"></i></span> 38 - <span class="menu-text"> 39 - <strong>Support & Maintenance</strong> 40 - <small>Ongoing care for production instances</small> 41 - </span> 42 - </a> 43 - </li> 44 - 45 - <li> 46 - <a href="$xwiki.getURL('services.xwiki-development-integrations')"> 47 - <span class="menu-icon"><i class="fa fa-cogs" aria-hidden="true"></i></span> 48 - <span class="menu-text"> 49 - <strong>Development & Integrations</strong> 50 - <small>Applications, workflows and APIs</small> 51 - </span> 52 - </a> 53 - </li> 54 - 55 - <li> 56 - <a href="$xwiki.getURL('services.xwiki-migrations')"> 57 - <span class="menu-icon"><i class="fa fa-exchange" aria-hidden="true"></i></span> 58 - <span class="menu-text"> 59 - <strong>XWiki Migrations</strong> 60 - <small>Move knowledge into XWiki</small> 61 - </span> 62 - </a> 63 - </li> 64 - 65 - <li> 66 - <a href="$xwiki.getURL('services.xwiki-authentication-access-control')"> 67 - <span class="menu-icon"><i class="fa fa-lock" aria-hidden="true"></i></span> 68 - <span class="menu-text"> 69 - <strong>Authentication & Access Control</strong> 70 - <small>SSO, LDAP, groups and rights</small> 71 - </span> 72 - </a> 73 - </li> 74 - 75 - <li> 76 - <a href="$xwiki.getURL('services.xwiki-security-review')"> 77 - <span class="menu-icon"><i class="fa fa-shield" aria-hidden="true"></i></span> 78 - <span class="menu-text"> 79 - <strong>XWiki Security Review</strong> 80 - <small>Version, rights and configuration review</small> 81 - </span> 82 - </a> 83 - </li> 84 - </ul> 85 - </li> 86 - 87 - <li class="dropdown agnease-products-menu"> 88 - <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" 89 - href="$xwiki.getURL('products.WebHome')"> 90 - Products <span class="caret"></span> 91 - </a> 92 - 93 - <ul class="dropdown-menu agnease-products-dropdown"> 94 - <li> 95 - <a href="$xwiki.getURL('products.WebHome')"> 96 - <span class="menu-icon"><i class="fa fa-cube" aria-hidden="true"></i></span> 97 - <span class="menu-text"> 98 - <strong>All products</strong> 99 - <small>XWiki applications and extensions</small> 100 - </span> 101 - </a> 102 - </li> 103 - 104 - <li role="separator" class="divider"></li> 105 - 106 - <li> 107 - <a href="$xwiki.getURL('products.xwiki-two-factor-authentication')"> 108 - <span class="menu-icon"><i class="fa fa-lock" aria-hidden="true"></i></span> 109 - <span class="menu-text"> 110 - <strong>Two-Factor Authentication</strong> 111 - <small>Second verification step for XWiki login</small> 112 - </span> 113 - </a> 114 - </li> 115 - 116 - <li> 117 - <a href="$xwiki.getURL('products.xwiki-task-flow')"> 118 - <span class="menu-icon"><i class="fa fa-check-square-o" aria-hidden="true"></i></span> 119 - <span class="menu-text"> 120 - <strong>Task Flow for XWiki</strong> 121 - <small>Lightweight tasks inside XWiki pages</small> 122 - </span> 123 - </a> 124 - </li> 125 - </ul> 126 - </li> 127 - 128 - <li class="dropdown agnease-resources-menu"> 129 - <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" 130 - href="$xwiki.getURL('resources.WebHome')"> 131 - Resources <span class="caret"></span> 132 - </a> 133 - 134 - <ul class="dropdown-menu agnease-resources-dropdown"> 135 - <li> 136 - <a href="$xwiki.getURL('resources.WebHome')"> 137 - <span class="menu-icon"><i class="fa fa-book" aria-hidden="true"></i></span> 138 - <span class="menu-text"> 139 - <strong>All resources</strong> 140 - <small>Practical XWiki guidance</small> 141 - </span> 142 - </a> 143 - </li> 144 - 145 - <li role="separator" class="divider"></li> 146 - 147 - <li> 148 - <a href="$xwiki.getURL('resources.why-upgrade-xwiki')"> 149 - <span class="menu-icon"><i class="fa fa-refresh" aria-hidden="true"></i></span> 150 - <span class="menu-text"> 151 - <strong>Why upgrade XWiki regularly?</strong> 152 - <small>Security, stability and maintenance risks</small> 153 - </span> 154 - </a> 155 - </li> 156 - 157 - <li> 158 - <a href="$xwiki.getURL('resources.xwiki-custom-development')"> 159 - <span class="menu-icon"><i class="fa fa-code" aria-hidden="true"></i></span> 160 - <span class="menu-text"> 161 - <strong>Safe XWiki customization</strong> 162 - <small>Custom code without upgrade problems</small> 163 - </span> 164 - </a> 165 - </li> 166 - </ul> 167 - </li> 168 - 169 - <li> 170 - <a href="$xwiki.getURL('contact.WebHome')">Contact</a> 171 - </li> 172 - 173 - {{/html}} 174 -#end 3 +{{velocity}} 4 +#set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) 5 +{{html clean="false"}} 6 + ## PAGE HEADER 7 + <section class="hero hero-centered" aria-labelledby="hero-title"> 8 + <div class="container hero-inner"> 9 + <div class="hero-kicker"> 10 + <i class="fa fa-book" aria-hidden="true"></i> 11 + XWiki resources 12 + </div> 13 + <h1 id="hero-title">XWiki resources for upgrades, security and maintainability</h1> 14 + <p class="lead"> 15 + Practical articles for teams that want to keep XWiki secure, upgradeable and easier to maintain over time. 16 + </p> 17 + <div class="hero-actions"> 18 + <a class="btn btn-primary" href="$freeXWikiReviewCallURL">$freeXWikiReviewCallLabel</a> 19 + <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a> 20 + </div> 21 + </div> 22 + </section> 23 + ## RESOURCE CARDS 24 + #set ($resourceItems = [{ 25 + 'title': 'What should an XWiki security review include', 26 + 'icon': 'shield', 27 + 'url': 'resources.xwiki-security-review', 28 + 'content': 'A practical overview of what to review in an XWiki instance: version status, access rights, authentication, extensions, custom code, infrastructure, backups and operations.', 29 + 'linkLabel': 'Read article' 30 + },{ 31 + 'title': 'Why upgrade your XWiki instance', 32 + 'icon': 'refresh', 33 + 'url': 'resources.why-upgrade-xwiki', 34 + 'content': 'A practical explanation of why regular XWiki upgrades matter for security, stability, extension compatibility and long-term maintenance.', 35 + 'linkLabel': 'Read article' 36 + },{ 37 + 'title': 'How to customize XWiki safely', 38 + 'icon': 'code', 39 + 'url': 'resources.xwiki-custom-development', 40 + 'content': 'Guidance for organizing XWiki custom code, scripts, templates and extensions so they remain easier to maintain across upgrades.', 41 + 'linkLabel': 'Read article' 42 + }]) 43 + <section id="resources-list" class="services resources-index-page" aria-labelledby="resources-title"> 44 + <div class="container"> 45 + <h2 id="resources-title">Useful XWiki resources</h2> 46 + <p class="section-intro"> 47 + Focused guidance for production XWiki platforms, covering upgrade planning, custom development, 48 + maintainability and safer long-term evolution. 49 + </p> 50 + <div class="services-grid resources-grid"> 51 + #foreach ($entry in $resourceItems) 52 + <article class="service resource-card"> 53 + <div class="service-icon" aria-hidden="true"> 54 + <i class="fa fa-$entry.icon"></i> 55 + </div> 56 + <div class="service-body"> 57 + <h4>$entry.title</h4> 58 + <p>$entry.content</p> 59 + <p class="card-link"> 60 + <a href="$xwiki.getURL($entry.url)">$entry.linkLabel</a> 61 + </p> 62 + </div> 63 + </article> 64 + #end 65 + </div> 66 + </div> 67 + </section> 68 + ## UPCOMING TOPICS 69 + #set ($upcomingTopicItems = [{ 70 + 'title': 'Access rights governance', 71 + 'content': 'How to keep XWiki groups, inherited permissions, restricted areas and page-level exceptions understandable over time.' 72 + },{ 73 + 'title': 'Authentication and access control', 74 + 'content': 'Why SSO, LDAP, OIDC, SAML and MFA should be reviewed together with XWiki groups, rights and fallback access.' 75 + },{ 76 + 'title': 'Backup and restore validation', 77 + 'content': 'Why backups are only useful when restore expectations, included data and recovery steps are clearly understood.' 78 + }]) 79 + <section class="split-section" aria-labelledby="upcoming-title"> 80 + <div class="container"> 81 + <div class="split-grid"> 82 + <div class="split-copy"> 83 + <h2 id="upcoming-title">More practical XWiki topics coming soon</h2> 84 + <p> 85 + This section will expand the XWiki security review series with focused topics such as access rights, 86 + authentication, script and programming rights, backup validation, extension review and operational practices. 87 + </p> 88 + <p> 89 + The goal is to publish useful guidance that helps teams make better decisions before an upgrade, 90 + customization, migration or long-term maintenance engagement. 91 + </p> 92 + </div> 93 + <ol class="process-list"> 94 + #foreach ($entry in $upcomingTopicItems) 95 + <li> 96 + <strong>$entry.title</strong> 97 + $entry.content 98 + </li> 99 + #end 100 + </ol> 101 + </div> 102 + </div> 103 + </section> 104 + ## CTA 105 + <section class="cta-section" aria-labelledby="resource-cta-title"> 106 + <div class="container"> 107 + <div class="cta-panel"> 108 + <h2 id="resource-cta-title">Need help with an XWiki project?</h2> 109 + <p> 110 + If your XWiki instance needs an upgrade, custom development, integration work or a technical review, 111 + Agnease can help evaluate the current state and define practical next steps. 112 + </p> 113 + <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Contact Agnease</a> 114 + </div> 115 + </div> 116 + </section> 117 +{{/html}} 175 175 {{/velocity}}
- Agnease.Code.SEODetailsClass[0]
-
- metaDescription
-
... ... @@ -1,0 +1,1 @@ 1 +Practical XWiki resources from Agnease covering upgrades, security, custom development, maintainability, workflows and long-term platform care. - metaTitle
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki Resources and Guides for Upgrades, Security and Development | Agnease