Changes for page Resources

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

From version 10.20
edited by Agnease
on 2026/05/28 08:53
Change comment: There is no comment for this version
To version 9.6
edited by Agnease
on 2026/05/22 10:07
Change comment: There is no comment for this version

Summary

Details

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