Changes for page Pricing

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

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

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -Pricing
1 +pricing
Content
... ... @@ -3,106 +3,143 @@
3 3  
4 4  #set ($contactURL = $xwiki.getURL('contact.WebHome'))
5 5  
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.',
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.',
11 11   'items': [
12 - 'XWiki Health Check',
13 - 'Upgrade Readiness Review',
14 - 'Authentication Review',
15 - 'Urgent Troubleshooting'
12 + 'Configuration review',
13 + 'Version and extension review',
14 + 'Security and stability observations',
15 + 'Upgrade readiness notes',
16 + 'Written recommendations'
16 16   ],
17 - 'cta': 'Start with a review'
18 + 'cta': 'Request health check'
18 18  },{
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.',
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.',
23 23   'items': [
24 - 'Standard XWiki LTS Upgrade',
25 - 'MFA Installation',
26 - 'OIDC / Microsoft Entra ID Setup',
27 - 'LDAP / Active Directory work'
25 + 'Current version review',
26 + 'Extension compatibility check',
27 + 'Customization risk review',
28 + 'Recommended upgrade path',
29 + 'Effort estimate'
28 28   ],
29 - 'cta': 'Request implementation quote'
31 + 'cta': 'Plan an upgrade'
30 30  },{
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 +},{
31 31   'icon': 'life-ring',
32 - 'title': 'Maintain & support',
33 - 'price': 'From €390/month',
34 - 'description': 'For organizations that need regular XWiki help, troubleshooting, maintenance and planning.',
47 + 'title': 'Urgent XWiki Troubleshooting',
48 + 'price': 'From €250',
49 + 'description': 'For blocking issues, failed upgrades, errors or urgent production problems.',
35 35   'items': [
36 - 'Monthly support',
37 - 'Troubleshooting',
38 - 'Maintenance guidance',
39 - 'Upgrade planning'
51 + 'Live troubleshooting session',
52 + 'Log analysis',
53 + 'Configuration review',
54 + 'Immediate recommendations',
55 + 'Fix plan when more work is needed'
40 40   ],
41 - 'cta': 'Discuss support plan'
57 + 'cta': 'Request urgent support'
42 42  }])
43 43  
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',
60 +#set ($implementationPackages = [{
61 + 'icon': 'refresh',
62 + 'title': 'Standard XWiki LTS Upgrade',
62 62   'price': 'From €790',
63 - 'description': 'Upgrade preparation, execution, basic compatibility checks and post-upgrade validation.'
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'
64 64  },{
65 - 'service': 'XWiki MFA Installation & Configuration',
75 + 'icon': 'shield',
76 + 'title': 'XWiki MFA Installation & Configuration',
66 66   'price': 'From €490',
67 - 'description': 'MFA installation, login flow integration, basic configuration, testing and administrator guidance.'
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'
68 68  },{
69 - 'service': 'OIDC / Microsoft Entra ID Setup',
89 + 'icon': 'sign-in',
90 + 'title': 'OIDC / Microsoft Entra ID Setup',
70 70   'price': 'From €590',
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.'
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'
84 84  }])
85 85  
86 -#set ($authRows = [{
87 - 'service': 'XWiki Authentication Review',
88 - 'price': '€290',
89 - 'bestFor': 'Understanding the current login flow, users, groups and access model.'
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'
90 90  },{
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',
118 + 'icon': 'sitemap',
119 + 'title': 'Access Control Review',
100 100   'price': 'From €390',
101 - 'bestFor': 'LDAP or AD login, profile mapping, group mapping and synchronization questions.'
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'
102 102  },{
103 - 'service': 'Advanced Authentication Work',
131 + 'icon': 'cogs',
132 + 'title': 'Advanced Authentication Work',
104 104   'price': 'Quoted after review',
105 - 'bestFor': 'Custom authenticators, container authentication, special redirects or complex wiki farm scenarios.'
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'
106 106  }])
107 107  
108 108  #set ($supportPlans = [{
... ... @@ -189,13 +189,12 @@
189 189   <h1 id="hero-title">XWiki Service Packages</h1>
190 190  
191 191   <p class="resource-summary">
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.
229 + Clear starting points for XWiki upgrades, support, authentication, troubleshooting and long-term maintenance.
194 194   </p>
195 195  
196 196   <div id="hero-cta">
197 197   <a class="btn btn-primary" href="$contactURL">Request a quote</a>
198 - <a class="btn btn-secondary" href="#starting-points">Compare starting points</a>
234 + <a class="btn btn-secondary" href="$contactURL">Book an initial consultation</a>
199 199   </div>
200 200   </div>
201 201  </section>
... ... @@ -203,8 +203,28 @@
203 203  <section class="resource-page">
204 204   <div class="container">
205 205   <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 +
206 206   <article class="resource-content services">
207 207  
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 +
208 208   <div class="resource-note">
209 209   <p>
210 210   <strong>Pricing note:</strong> Prices are starting points and exclude VAT where applicable.
... ... @@ -213,16 +213,15 @@
213 213   </p>
214 214   </div>
215 215  
216 - <h2 id="starting-points">Choose your starting point</h2>
272 + <h2 id="quick-start">Quick-start reviews</h2>
217 217  
218 218   <p>
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.
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.
222 222   </p>
223 223  
224 224   <div class="services-grid">
225 - #foreach ($entry in $startingPoints)
280 + #foreach ($entry in $quickStartPackages)
226 226   <article class="service">
227 227   <div class="service-icon" aria-hidden="true">
228 228   <i class="fa fa-$entry.icon"></i>
... ... @@ -242,37 +242,33 @@
242 242   #end
243 243   </div>
244 244  
245 - <h2 id="common-packages">Common starting packages</h2>
300 + <h2 id="implementation">Implementation packages</h2>
246 246  
247 247   <p>
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.
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.
250 250   </p>
251 251  
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>
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
276 276   </div>
277 277  
278 278   <h2 id="authentication">Authentication & access control</h2>
... ... @@ -279,45 +279,38 @@
279 279  
280 280   <p>
281 281   XWiki authentication depends on the current login method, identity provider, user source,
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.
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.
285 285   </p>
286 286  
287 287   <div class="resource-note">
288 288   <p>
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.
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.
292 292   </p>
293 293   </div>
294 294  
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>
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
321 321   </div>
322 322  
323 323   <h2 id="support">Monthly support plans</h2>
... ... @@ -377,6 +377,15 @@
377 377   <a class="btn btn-primary" href="$contactURL">Request a project quote</a>
378 378   </div>
379 379  
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 +
380 380   <h2 id="faq">FAQ</h2>
381 381  
382 382   #foreach ($entry in $faqItems)