Wiki source code of Resources

Last modified by Alex Cotiuga on 2026/07/21 13:07

Show last authors
1 {{include reference="PublicWebSite.MacrosAndVariables" /}}
2
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 'title': 'From Google Workspace to XWiki',
44 'icon': 'exchange',
45 'url': 'resources.from-google-workspace-to-xwiki',
46 'content': 'A practical transition guide explaining what can move from Google Workspace to XWiki, what should remain in office collaboration tools, and which open-source alternatives can complete the stack.',
47 'linkLabel': 'Read guide'
48 },{
49 'title': 'HSE Knowledge Management with XWiki',
50 'icon': 'industry',
51 'url': 'resources.hse-knowledge-management-xwiki',
52 'content': 'See how XWiki can support controlled HSE documentation, risk registers, corrective actions, approval workflows, dashboards and audit-ready exports.',
53 'linkLabel': 'Read the HSE guide'
54 }])
55 <section id="resources-list" class="services resources-index-page" aria-labelledby="resources-title">
56 <div class="container">
57 <h2 id="resources-title">Useful XWiki resources</h2>
58 <p class="section-intro">
59 Focused guidance for production XWiki platforms, covering upgrade planning, custom development,
60 maintainability and safer long-term evolution.
61 </p>
62 <div class="services-grid resources-grid">
63 #foreach ($entry in $resourceItems)
64 <article class="service resource-card">
65 <div class="service-icon" aria-hidden="true">
66 <i class="fa fa-$entry.icon"></i>
67 </div>
68 <div class="service-body">
69 <h4>$entry.title</h4>
70 <p>$entry.content</p>
71 <p class="card-link">
72 <a href="$xwiki.getURL($entry.url)">$entry.linkLabel</a>
73 </p>
74 </div>
75 </article>
76 #end
77 </div>
78 </div>
79 </section>
80 ## UPCOMING TOPICS
81 #set ($upcomingTopicItems = [{
82 'title': 'Access rights governance',
83 'content': 'How to keep XWiki groups, inherited permissions, restricted areas and page-level exceptions understandable over time.'
84 },{
85 'title': 'Authentication and access control',
86 'content': 'Why SSO, LDAP, OIDC, SAML and MFA should be reviewed together with XWiki groups, rights and fallback access.'
87 },{
88 'title': 'Backup and restore validation',
89 'content': 'Why backups are only useful when restore expectations, included data and recovery steps are clearly understood.'
90 }])
91 <section class="split-section" aria-labelledby="upcoming-title">
92 <div class="container">
93 <div class="split-grid">
94 <div class="split-copy">
95 <h2 id="upcoming-title">More practical XWiki topics coming soon</h2>
96 <p>
97 This section will expand the XWiki security review series with focused topics such as access rights,
98 authentication, script and programming rights, backup validation, extension review and operational practices.
99 </p>
100 <p>
101 The goal is to publish useful guidance that helps teams make better decisions before an upgrade,
102 customization, migration or long-term maintenance engagement.
103 </p>
104 </div>
105 <ol class="process-list">
106 #foreach ($entry in $upcomingTopicItems)
107 <li>
108 <strong>$entry.title</strong>
109 $entry.content
110 </li>
111 #end
112 </ol>
113 </div>
114 </div>
115 </section>
116 ## CTA
117 <section class="cta-section" aria-labelledby="resource-cta-title">
118 <div class="container">
119 <div class="cta-panel">
120 <h2 id="resource-cta-title">Need help with an XWiki project?</h2>
121 <p>
122 If your XWiki instance needs an upgrade, custom development, integration work or a technical review,
123 Agnease can help evaluate the current state and define practical next steps.
124 </p>
125 <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Contact Agnease</a>
126 </div>
127 </div>
128 </section>
129 {{/html}}
130 {{/velocity}}