Changes for page Pricing

Last modified by Agnease on 2026/07/10 06:00

From version 1.2
edited by Agnease
on 2026/07/10 03:26
Change comment: There is no comment for this version
To version 1.3
edited by Agnease
on 2026/07/10 03:36
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -pricing
1 +Pricing
Content
... ... @@ -3,143 +3,106 @@
3 3  
4 4  #set ($contactURL = $xwiki.getURL('contact.WebHome'))
5 5  
6 -#set ($quickStartPackages = [{
7 - 'icon': 'stethoscope',
8 - 'title': 'XWiki Health Check',
9 - 'price': '€390',
10 - 'description': 'For organizations that want a clear view of their current XWiki setup.',
6 +#set ($startingPoints = [{
7 + 'icon': 'search',
8 + 'title': 'Review & diagnose',
9 + 'price': 'From 290',
10 + 'description': 'For teams that need to understand risks, issues or the current state before making changes.',
11 11   'items': [
12 - 'Configuration review',
13 - 'Version and extension review',
14 - 'Security and stability observations',
15 - 'Upgrade readiness notes',
16 - 'Written recommendations'
12 + 'XWiki Health Check',
13 + 'Upgrade Readiness Review',
14 + 'Authentication Review',
15 + 'Urgent Troubleshooting'
17 17   ],
18 - 'cta': 'Request health check'
17 + 'cta': 'Start with a review'
19 19  },{
20 - 'icon': 'road',
21 - 'title': 'Upgrade Readiness Review',
22 - 'price': '€390',
23 - 'description': 'For teams planning an upgrade and wanting to understand risks before starting.',
19 + 'icon': 'cogs',
20 + 'title': 'Implement & configure',
21 + 'price': 'From 490',
22 + 'description': 'For teams ready to make a specific XWiki change, upgrade or authentication improvement.',
24 24   'items': [
25 - 'Current version review',
26 - 'Extension compatibility check',
27 - 'Customization risk review',
28 - 'Recommended upgrade path',
29 - 'Effort estimate'
24 + 'Standard XWiki LTS Upgrade',
25 + 'MFA Installation',
26 + 'OIDC / Microsoft Entra ID Setup',
27 + 'LDAP / Active Directory work'
30 30   ],
31 - 'cta': 'Plan an upgrade'
29 + 'cta': 'Request implementation quote'
32 32  },{
33 - 'icon': 'lock',
34 - 'title': 'XWiki Authentication Review',
35 - 'price': '€290',
36 - 'description': 'For teams that want to understand their current login, user provisioning and access-control setup.',
37 - 'items': [
38 - 'Current authentication setup review',
39 - 'Login flow observations',
40 - 'User and group provisioning review',
41 - 'Access control considerations',
42 - 'SSO, LDAP, OIDC or MFA recommendations'
43 - ],
44 - 'cta': 'Review authentication'
45 -},{
46 46   'icon': 'life-ring',
47 - 'title': 'Urgent XWiki Troubleshooting',
48 - 'price': 'From €250',
49 - 'description': 'For blocking issues, failed upgrades, errors or urgent production problems.',
32 + 'title': 'Maintain & support',
33 + 'price': 'From €390/month',
34 + 'description': 'For organizations that need regular XWiki help, troubleshooting, maintenance and planning.',
50 50   'items': [
51 - 'Live troubleshooting session',
52 - 'Log analysis',
53 - 'Configuration review',
54 - 'Immediate recommendations',
55 - 'Fix plan when more work is needed'
36 + 'Monthly support',
37 + 'Troubleshooting',
38 + 'Maintenance guidance',
39 + 'Upgrade planning'
56 56   ],
57 - 'cta': 'Request urgent support'
41 + 'cta': 'Discuss support plan'
58 58  }])
59 59  
60 -#set ($implementationPackages = [{
61 - 'icon': 'refresh',
62 - 'title': 'Standard XWiki LTS Upgrade',
44 +#set ($commonPackages = [{
45 + 'service': 'XWiki Health Check',
46 + 'price': '€390',
47 + 'description': 'Configuration, version, extension, security and stability review with written recommendations.'
48 +},{
49 + 'service': 'Upgrade Readiness Review',
50 + 'price': '€390',
51 + 'description': 'Upgrade path, compatibility, customization risk and effort estimate before implementation.'
52 +},{
53 + 'service': 'XWiki Authentication Review',
54 + 'price': '€290',
55 + 'description': 'Review of login flow, user provisioning, groups, access control and authentication options.'
56 +},{
57 + 'service': 'Urgent XWiki Troubleshooting',
58 + 'price': 'From €250',
59 + 'description': 'Live troubleshooting session for blocking issues, errors, failed upgrades or production problems.'
60 +},{
61 + 'service': 'Standard XWiki LTS Upgrade',
63 63   'price': 'From €790',
64 - 'description': 'For standard XWiki instances with a clear upgrade path and limited customizations.',
65 - 'items': [
66 - 'Upgrade preparation',
67 - 'Upgrade execution',
68 - 'Basic compatibility checks',
69 - 'Post-upgrade validation',
70 - 'Recommendations after completion'
71 - ],
72 - 'note': 'Complex upgrades, wiki farms, custom applications, authentication changes or infrastructure changes are quoted after review.',
73 - 'cta': 'Request upgrade quote'
63 + 'description': 'Upgrade preparation, execution, basic compatibility checks and post-upgrade validation.'
74 74  },{
75 - 'icon': 'shield',
76 - 'title': 'XWiki MFA Installation & Configuration',
65 + 'service': 'XWiki MFA Installation & Configuration',
77 77   'price': 'From €490',
78 - 'description': 'Installation and configuration of MFA for XWiki environments using the standard XWiki login flow.',
79 - 'items': [
80 - 'MFA application installation',
81 - 'Login flow integration',
82 - 'Basic configuration',
83 - 'Recovery and administration guidance',
84 - 'Basic testing and rollout recommendations'
85 - ],
86 - 'note': 'For environments using external SSO, MFA may be handled by the identity provider instead.',
87 - 'cta': 'Install MFA'
67 + 'description': 'MFA installation, login flow integration, basic configuration, testing and administrator guidance.'
88 88  },{
89 - 'icon': 'sign-in',
90 - 'title': 'OIDC / Microsoft Entra ID Setup',
69 + 'service': 'OIDC / Microsoft Entra ID Setup',
91 91   'price': 'From €590',
92 - 'description': 'Setup and validation of OpenID Connect authentication for XWiki environments.',
93 - 'items': [
94 - 'OIDC configuration',
95 - 'Authentication flow setup',
96 - 'User profile mapping considerations',
97 - 'Group and access-control considerations',
98 - 'Testing and administrator guidance'
99 - ],
100 - 'note': 'Useful for Microsoft Entra ID, Keycloak or another compatible OIDC provider.',
101 - 'cta': 'Set up OIDC / SSO'
71 + 'description': 'OpenID Connect setup, user mapping considerations, group and access-control review, and validation.'
72 +},{
73 + 'service': 'LDAP / Active Directory Review',
74 + 'price': 'From €390',
75 + 'description': 'LDAP or Active Directory configuration review, profile mapping and group mapping recommendations.'
76 +},{
77 + 'service': 'Access Control Review',
78 + 'price': 'From €390',
79 + 'description': 'Review of groups, permissions, public/internal/restricted areas and subwiki access model.'
80 +},{
81 + 'service': 'Advanced Authentication Work',
82 + 'price': 'Quoted after review',
83 + 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.'
102 102  }])
103 103  
104 -#set ($authenticationPackages = [{
105 - 'icon': 'key',
106 - 'title': 'LDAP / Active Directory Integration Review',
107 - 'price': 'From €390',
108 - 'description': 'For organizations using, migrating or troubleshooting LDAP or Active Directory authentication with XWiki.',
109 - 'items': [
110 - 'LDAP / Active Directory configuration review',
111 - 'User profile mapping review',
112 - 'Group mapping considerations',
113 - 'Login and synchronization observations',
114 - 'Recommended configuration improvements'
115 - ],
116 - 'cta': 'Review LDAP / AD setup'
86 +#set ($authRows = [{
87 + 'service': 'XWiki Authentication Review',
88 + 'price': '€290',
89 + 'bestFor': 'Understanding the current login flow, users, groups and access model.'
117 117  },{
118 - 'icon': 'sitemap',
119 - 'title': 'Access Control Review',
91 + 'service': 'OIDC / Microsoft Entra ID Setup',
92 + 'price': 'From €590',
93 + 'bestFor': 'SSO setup with Microsoft Entra ID, Keycloak or another compatible OIDC provider.'
94 +},{
95 + 'service': 'XWiki MFA Installation',
96 + 'price': 'From €490',
97 + 'bestFor': 'Adding MFA to the standard XWiki login flow.'
98 +},{
99 + 'service': 'LDAP / Active Directory Review',
120 120   'price': 'From €390',
121 - 'description': 'For teams that need clearer groups, permissions and access rules across spaces or subwikis.',
122 - 'items': [
123 - 'Group and rights review',
124 - 'Public, internal and restricted area review',
125 - 'Subwiki access considerations',
126 - 'Permission risk observations',
127 - 'Governance recommendations'
128 - ],
129 - 'cta': 'Review access control'
101 + 'bestFor': 'LDAP or AD login, profile mapping, group mapping and synchronization questions.'
130 130  },{
131 - 'icon': 'cogs',
132 - 'title': 'Advanced Authentication Work',
103 + 'service': 'Advanced Authentication Work',
133 133   'price': 'Quoted after review',
134 - 'description': 'For custom authentication behavior, container authentication, special login flows or complex wiki farm authentication needs.',
135 - 'items': [
136 - 'Custom authenticator analysis',
137 - 'Container-based authentication review',
138 - 'Special login redirects or flows',
139 - 'Internal and external user strategy',
140 - 'Implementation quote after review'
141 - ],
142 - 'cta': 'Request authentication quote'
105 + 'bestFor': 'Custom authenticators, container authentication, special redirects or complex wiki farm scenarios.'
143 143  }])
144 144  
145 145  #set ($supportPlans = [{
... ... @@ -226,12 +226,13 @@
226 226   <h1 id="hero-title">XWiki Service Packages</h1>
227 227  
228 228   <p class="resource-summary">
229 - Clear starting points for XWiki upgrades, support, authentication, troubleshooting and long-term maintenance.
192 + Clear starting points for XWiki upgrades, authentication, troubleshooting and long-term support.
193 + Start with a review, request an implementation quote, or choose a support plan for ongoing XWiki help.
230 230   </p>
231 231  
232 232   <div id="hero-cta">
233 233   <a class="btn btn-primary" href="$contactURL">Request a quote</a>
234 - <a class="btn btn-secondary" href="$contactURL">Book an initial consultation</a>
198 + <a class="btn btn-secondary" href="#starting-points">Compare starting points</a>
235 235   </div>
236 236   </div>
237 237  </section>
... ... @@ -239,28 +239,8 @@
239 239  <section class="resource-page">
240 240   <div class="container">
241 241   <div class="resource-layout">
242 -
243 - <aside class="resource-sidebar" aria-label="Pricing page summary">
244 - <h4>Service packages</h4>
245 - <ul>
246 - <li><a href="#quick-start">Quick-start reviews</a></li>
247 - <li><a href="#implementation">Implementation packages</a></li>
248 - <li><a href="#authentication">Authentication & access control</a></li>
249 - <li><a href="#support">Monthly support plans</a></li>
250 - <li><a href="#complex-projects">Complex projects</a></li>
251 - <li><a href="#upgrade-offer">New customer offer</a></li>
252 - <li><a href="#faq">FAQ</a></li>
253 - </ul>
254 - </aside>
255 -
256 256   <article class="resource-content services">
257 257  
258 - <p>
259 - Agnease provides practical XWiki service packages for common needs such as upgrades, reviews,
260 - MFA, SSO, troubleshooting and support. When an environment is more complex, Agnease reviews
261 - the setup first and provides a fixed project quote.
262 - </p>
263 -
264 264   <div class="resource-note">
265 265   <p>
266 266   <strong>Pricing note:</strong> Prices are starting points and exclude VAT where applicable.
... ... @@ -269,15 +269,16 @@
269 269   </p>
270 270   </div>
271 271  
272 - <h2 id="quick-start">Quick-start reviews</h2>
216 + <h2 id="starting-points">Choose your starting point</h2>
273 273  
274 274   <p>
275 - These packages are useful when you need a clear technical starting point before deciding on an
276 - upgrade, authentication change, support plan or larger implementation.
219 + Most XWiki requests fit into one of three paths: review the current setup, implement a defined change,
220 + or set up ongoing support. This keeps the first step clear without pretending that every XWiki environment
221 + has the same complexity.
277 277   </p>
278 278  
279 279   <div class="services-grid">
280 - #foreach ($entry in $quickStartPackages)
225 + #foreach ($entry in $startingPoints)
281 281   <article class="service">
282 282   <div class="service-icon" aria-hidden="true">
283 283   <i class="fa fa-$entry.icon"></i>
... ... @@ -297,33 +297,37 @@
297 297   #end
298 298   </div>
299 299  
300 - <h2 id="implementation">Implementation packages</h2>
245 + <h2 id="common-packages">Common starting packages</h2>
301 301  
302 302   <p>
303 - Implementation packages are starting points for practical XWiki work where the scope is reasonably
304 - clear. More complex environments are reviewed before a final quote is provided.
248 + These are practical entry points for common XWiki needs. Some can start directly, while others require
249 + a quick review before confirming the final scope.
305 305   </p>
306 306  
307 - <div class="services-grid">
308 - #foreach ($entry in $implementationPackages)
309 - <article class="service">
310 - <div class="service-icon" aria-hidden="true">
311 - <i class="fa fa-$entry.icon"></i>
312 - </div>
313 - <div class="service-body">
314 - <h4>$entry.title</h4>
315 - <p><strong>$entry.price</strong></p>
316 - <p>$entry.description</p>
317 - <ul>
318 - #foreach ($item in $entry.items)
319 - <li>$item</li>
320 - #end
321 - </ul>
322 - <p><em>$entry.note</em></p>
323 - <p><a class="btn btn-primary" href="$contactURL">$entry.cta</a></p>
324 - </div>
325 - </article>
326 - #end
252 + <table class="table table-bordered table-striped">
253 + <thead>
254 + <tr>
255 + <th>Service</th>
256 + <th>Starting price</th>
257 + <th>What it covers</th>
258 + </tr>
259 + </thead>
260 + <tbody>
261 + #foreach ($entry in $commonPackages)
262 + <tr>
263 + <td><strong>$entry.service</strong></td>
264 + <td>$entry.price</td>
265 + <td>$entry.description</td>
266 + </tr>
267 + #end
268 + </tbody>
269 + </table>
270 +
271 + <div id="upgrade-offer" class="resource-note">
272 + <p>
273 + <strong>New customer upgrade offer:</strong> If the Upgrade Readiness Review leads to an upgrade
274 + project with Agnease, the review cost can be credited toward the upgrade implementation.
275 + </p>
327 327   </div>
328 328  
329 329   <h2 id="authentication">Authentication & access control</h2>
... ... @@ -330,38 +330,45 @@
330 330  
331 331   <p>
332 332   XWiki authentication depends on the current login method, identity provider, user source,
333 - group mapping and access-control model. Agnease can help review, configure or improve
334 - standard XWiki login, LDAP, Active Directory, OpenID Connect, Microsoft Entra ID, MFA
335 - and more advanced authentication scenarios.
282 + group mapping and access-control model. Agnease can help review, configure or improve standard
283 + XWiki login, LDAP, Active Directory, OpenID Connect, Microsoft Entra ID, MFA and more advanced
284 + authentication scenarios.
336 336   </p>
337 337  
338 338   <div class="resource-note">
339 339   <p>
340 - <strong>Important:</strong> Authentication changes should be reviewed carefully because the right
341 - setup depends on the current XWiki version, identity provider, subwiki structure, user lifecycle
342 - and access-control requirements.
289 + <strong>MFA is treated separately:</strong> SSO, LDAP and OIDC define how users log in.
290 + MFA adds an additional verification layer. In some environments MFA belongs in XWiki, while in
291 + others it is better enforced by the external identity provider.
343 343   </p>
344 344   </div>
345 345  
346 - <div class="services-grid">
347 - #foreach ($entry in $authenticationPackages)
348 - <article class="service">
349 - <div class="service-icon" aria-hidden="true">
350 - <i class="fa fa-$entry.icon"></i>
351 - </div>
352 - <div class="service-body">
353 - <h4>$entry.title</h4>
354 - <p><strong>$entry.price</strong></p>
355 - <p>$entry.description</p>
356 - <ul>
357 - #foreach ($item in $entry.items)
358 - <li>$item</li>
359 - #end
360 - </ul>
361 - <p><a class="btn btn-primary" href="$contactURL">$entry.cta</a></p>
362 - </div>
363 - </article>
364 - #end
295 + <table class="table table-bordered table-striped">
296 + <thead>
297 + <tr>
298 + <th>Authentication service</th>
299 + <th>Starting price</th>
300 + <th>Best for</th>
301 + </tr>
302 + </thead>
303 + <tbody>
304 + #foreach ($entry in $authRows)
305 + <tr>
306 + <td><strong>$entry.service</strong></td>
307 + <td>$entry.price</td>
308 + <td>$entry.bestFor</td>
309 + </tr>
310 + #end
311 + </tbody>
312 + </table>
313 +
314 + <div class="resource-cta">
315 + <h3>Need authentication changes?</h3>
316 + <p>
317 + Send a short description of your current login method, user source, identity provider and the
318 + authentication result you want to achieve.
319 + </p>
320 + <a class="btn btn-primary" href="$contactURL">Request authentication review</a>
365 365   </div>
366 366  
367 367   <h2 id="support">Monthly support plans</h2>
... ... @@ -421,15 +421,6 @@
421 421   <a class="btn btn-primary" href="$contactURL">Request a project quote</a>
422 422   </div>
423 423  
424 - <h2 id="upgrade-offer">New customer upgrade offer</h2>
425 -
426 - <div class="resource-note">
427 - <p>
428 - <strong>If the Upgrade Readiness Review leads to an upgrade project with Agnease, the review cost
429 - can be credited toward the upgrade implementation.</strong>
430 - </p>
431 - </div>
432 -
433 433   <h2 id="faq">FAQ</h2>
434 434  
435 435   #foreach ($entry in $faqItems)