Changes for page Resources

Last modified by Agnease on 2026/05/28 08:53

From version 5.1
edited by Agnease
on 2026/05/22 06:06
Change comment: Migrated property [metaTitle] from class [Agnease.Code.SEODetailsClass]
To version 10.21
edited by Agnease
on 2026/05/28 08:53
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -XWiki Resources | Upgrade, Security and Custom Development Guides
1 +Resources
Content
... ... @@ -1,103 +1,118 @@
1 +{{include reference="PublicWebSite.MacrosAndVariables" /}}
2 +
1 1  {{velocity}}
2 2  #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 3  {{html clean="false"}}
4 -
5 - <section class="resource-header" 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 + ## 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 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.
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.
19 19   </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>
20 20   </div>
21 21   </section>
22 -
23 - <section class="resources-index-page">
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">
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>
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
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 -
66 + </div>
67 + </section>
68 + ## UPCOMING TOPICS
69 + #set ($upcomingTopicItems = [{
70 + 'title': 'Upgrade planning',
71 + 'content': 'How to prepare XWiki upgrades when custom code, extensions, authentication and workflows are involved.'
72 + },{
73 + 'title': 'Access and security',
74 + 'content': 'Practical notes on permissions, authentication options, MFA, SSO and security-aware administration.'
75 + },{
76 + 'title': 'Maintainable customization',
77 + 'content': 'How to extend XWiki without creating unnecessary upgrade and maintenance problems.'
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 + Future resources will cover XWiki access rights, authentication, migrations, security reviews,
86 + structured applications, workflows and practical administration patterns.
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>
80 80   </div>
81 -
82 - <div class="resources-next">
83 - <h2>More topics coming soon</h2>
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>
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 help you evaluate the current state and define the safest next steps.
111 + 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}}
Agnease.Code.SEODetailsClass[0]
metaTitle
... ... @@ -1,0 +1,1 @@
1 +XWiki Resources and Guides for Upgrades, Security and Development | Agnease