Changes for page Pricing

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

From version 2.9
edited by Agnease
on 2026/07/10 04:24
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
Content
... ... @@ -1,27 +1,29 @@
1 1  {{velocity}}
2 2  #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 +
3 3  #set ($contactURL = $xwiki.getURL('contact.WebHome'))
5 +
4 4  #set ($startingPoints = [{
5 5   'icon': 'search',
6 6   'title': 'Review & diagnose',
7 7   'price': 'From €290',
8 - 'description': 'For teams that need to understand risks, issues or the current XWiki state before making changes.',
10 + 'description': 'For teams that need to understand risks, issues or the current state before making changes.',
9 9   'items': [
10 - 'Health checks',
11 - 'Upgrade readiness reviews',
12 - 'Authentication reviews',
13 - 'Urgent troubleshooting'
12 + 'XWiki Health Check',
13 + 'Upgrade Readiness Review',
14 + 'Authentication Review',
15 + 'Urgent Troubleshooting'
14 14   ],
15 15   'cta': 'Start with a review'
16 16  },{
17 17   'icon': 'cogs',
18 - 'title': 'Implement changes',
20 + 'title': 'Implement & configure',
19 19   'price': 'From €490',
20 20   'description': 'For teams ready to make a specific XWiki change, upgrade or authentication improvement.',
21 21   'items': [
22 - 'XWiki LTS upgrades',
23 - 'MFA installation',
24 - 'OIDC / Entra ID setup',
24 + 'Standard XWiki LTS Upgrade',
25 + 'MFA Installation',
26 + 'OIDC / Microsoft Entra ID Setup',
25 25   'LDAP / Active Directory work'
26 26   ],
27 27   'cta': 'Request implementation quote'
... ... @@ -38,6 +38,7 @@
38 38   ],
39 39   'cta': 'Discuss support plan'
40 40  }])
43 +
41 41  #set ($commonPackages = [{
42 42   'service': 'XWiki Health Check',
43 43   'price': '€390',
... ... @@ -45,27 +45,27 @@
45 45  },{
46 46   'service': 'Upgrade Readiness Review',
47 47   'price': '€390',
48 - 'description': 'Upgrade path, compatibility risks, customizations and effort estimate before implementation.'
51 + 'description': 'Upgrade path, compatibility, customization risk and effort estimate before implementation.'
49 49  },{
50 50   'service': 'XWiki Authentication Review',
51 51   'price': '€290',
52 - 'description': 'Review of login flow, users, groups, access control and authentication options.'
55 + 'description': 'Review of login flow, user provisioning, groups, access control and authentication options.'
53 53  },{
54 54   'service': 'Urgent XWiki Troubleshooting',
55 - 'price': 'From €250/session',
56 - 'description': 'Live troubleshooting for blocking issues, errors, failed upgrades or production problems.'
58 + 'price': 'From €250',
59 + 'description': 'Live troubleshooting session for blocking issues, errors, failed upgrades or production problems.'
57 57  },{
58 58   'service': 'Standard XWiki LTS Upgrade',
59 59   'price': 'From €790',
60 - 'description': 'Upgrade preparation, execution, compatibility checks and post-upgrade validation.'
63 + 'description': 'Upgrade preparation, execution, basic compatibility checks and post-upgrade validation.'
61 61  },{
62 62   'service': 'XWiki MFA Installation & Configuration',
63 63   'price': 'From €490',
64 - 'description': 'MFA setup for the standard XWiki login flow, with configuration, testing and guidance.'
67 + 'description': 'MFA installation, login flow integration, basic configuration, testing and administrator guidance.'
65 65  },{
66 66   'service': 'OIDC / Microsoft Entra ID Setup',
67 67   'price': 'From €590',
68 - 'description': 'OpenID Connect setup, user mapping considerations, access review and validation.'
71 + 'description': 'OpenID Connect setup, user mapping considerations, group and access-control review, and validation.'
69 69  },{
70 70   'service': 'LDAP / Active Directory Review',
71 71   'price': 'From €390',
... ... @@ -73,20 +73,35 @@
73 73  },{
74 74   'service': 'Access Control Review',
75 75   'price': 'From €390',
76 - 'description': 'Review of groups, permissions, restricted areas, public access and subwiki access model.'
79 + 'description': 'Review of groups, permissions, public/internal/restricted areas and subwiki access model.'
77 77  },{
78 78   'service': 'Advanced Authentication Work',
79 - 'price': 'Quoted',
82 + 'price': 'Quoted after review',
80 80   'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.'
84 +}])
85 +
86 +#set ($authRows = [{
87 + 'service': 'XWiki Authentication Review',
88 + 'price': '€290',
89 + 'bestFor': 'Understanding the current login flow, users, groups and access model.'
81 81  },{
82 - 'service': 'AWS Hosting Setup for XWiki',
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',
83 83   'price': 'From €490',
84 - 'description': 'Initial AWS deployment setup, including server preparation, HTTPS and basic backup strategy.'
97 + 'bestFor': 'Adding MFA to the standard XWiki login flow.'
85 85  },{
86 - 'service': 'XWiki AWS Cloud Hosting',
87 - 'price': 'From €120/month',
88 - 'description': 'Single-instance AWS hosting for small XWiki environments with storage, basic backups and modest traffic.'
99 + 'service': 'LDAP / Active Directory Review',
100 + 'price': 'From €390',
101 + 'bestFor': 'LDAP or AD login, profile mapping, group mapping and synchronization questions.'
102 +},{
103 + 'service': 'Advanced Authentication Work',
104 + 'price': 'Quoted after review',
105 + 'bestFor': 'Custom authenticators, container authentication, special redirects or complex wiki farm scenarios.'
89 89  }])
107 +
90 90  #set ($supportPlans = [{
91 91   'icon': 'leaf',
92 92   'title': 'Essential Support',
... ... @@ -126,23 +126,17 @@
126 126   ],
127 127   'cta': 'Discuss extended support'
128 128  }])
129 -#set ($complexProjects = [{
130 - 'icon': 'sitemap',
131 - 'title': 'Wiki farms',
132 - 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.'
133 -},{
134 - 'icon': 'exchange',
135 - 'title': 'Migrations',
136 - 'content': 'Content, platform or documentation migrations into a cleaner XWiki structure.'
137 -},{
138 - 'icon': 'puzzle-piece',
139 - 'title': 'Custom applications',
140 - 'content': 'Workflow applications, structured data, dashboards and internal business tools.'
141 -},{
142 - 'icon': 'tachometer',
143 - 'title': 'Stability work',
144 - 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.'
145 -}])
147 +
148 +#set ($complexProjects = [
149 + 'Wiki farm restructuring',
150 + 'Major XWiki LTS upgrades',
151 + 'Microsoft Entra ID, OIDC, LDAP or SAML integrations',
152 + 'Custom workflow applications',
153 + 'Intranet and knowledge platform development',
154 + 'Performance and stability improvements',
155 + 'Content and platform migrations'
156 +])
157 +
146 146  #set ($faqItems = [{
147 147   'question': 'Are these fixed prices?',
148 148   'answer': 'Some services have fixed starting prices. Larger or more complex projects are reviewed first and quoted separately, so the scope, risks and required testing are clear before implementation starts.'
... ... @@ -162,204 +162,220 @@
162 162   'question': 'Do prices include external costs?',
163 163   'answer': 'The prices on this page cover Agnease services. External hosting, infrastructure or third-party costs are discussed separately when relevant.'
164 164  }])
177 +
165 165  {{html clean="false"}}
166 166  
167 -<section class="hero hero-centered" aria-labelledby="pricing-title">
180 +<section class="resource-header" aria-labelledby="hero-title">
168 168   <div class="container">
169 - <div class="hero-inner">
182 + <div class="text-center">
170 170   <div class="hero-kicker">
171 171   <i class="fa fa-eur" aria-hidden="true"></i>
172 172   XWiki consulting, support and implementation
173 173   </div>
187 + </div>
174 174  
175 - <h1 id="pricing-title">XWiki Service Packages</h1>
189 + <h1 id="hero-title">XWiki Service Packages</h1>
176 176  
177 - <p class="lead">
178 - Clear starting points for XWiki upgrades, authentication, troubleshooting and long-term support.
179 - </p>
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.
194 + </p>
180 180  
181 - <ul class="benefits">
182 - <li>Specialized XWiki consulting</li>
183 - <li>Practical starting prices</li>
184 - <li>Fixed quotes for complex work</li>
185 - </ul>
186 -
187 - <div id="hero-cta">
188 - <a class="btn btn-primary" href="$contactURL">Request a quote</a>
189 - <a class="btn btn-secondary" href="#support">View monthly support</a>
190 - </div>
196 + <div id="hero-cta">
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>
191 191   </div>
192 192   </div>
193 193  </section>
194 194  
195 -<section id="starting-points" aria-labelledby="starting-points-title">
203 +<section class="resource-page">
196 196   <div class="container">
197 - <h2 id="starting-points-title">Three common ways to start</h2>
198 - <p class="section-intro">
199 - Most XWiki requests fit into one of three paths: review the current setup, implement a defined change,
200 - or set up ongoing support.
201 - </p>
205 + <div class="resource-layout">
206 + <article class="resource-content services">
202 202  
203 - <div class="pathways">
204 - #foreach ($entry in $startingPoints)
205 - <article class="pathway-card">
206 - <div class="card-heading">
207 - <div class="pathway-icon" aria-hidden="true">
208 - <i class="fa fa-$entry.icon"></i>
209 - </div>
210 - <h3>$entry.title</h3>
211 - </div>
208 + <div class="resource-note">
209 + <p>
210 + <strong>Pricing note:</strong> Prices are starting points and exclude VAT where applicable.
211 + Final pricing depends on the XWiki version, installed extensions, customizations, hosting setup,
212 + authentication configuration, wiki farm complexity and required testing.
213 + </p>
214 + </div>
212 212  
213 - <p><strong>$entry.price</strong></p>
214 - <p>$entry.description</p>
216 + <h2 id="starting-points">Choose your starting point</h2>
215 215  
216 - <ul>
217 - #foreach ($item in $entry.items)
218 - <li>$item</li>
219 - #end
220 - </ul>
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.
222 + </p>
221 221  
222 - <div class="card-link">
223 - <a href="$contactURL">$entry.cta</a>
224 - </div>
225 - </article>
226 - #end
227 - </div>
228 - </div>
229 -</section>
224 + <div class="services-grid">
225 + #foreach ($entry in $startingPoints)
226 + <article class="service">
227 + <div class="service-icon" aria-hidden="true">
228 + <i class="fa fa-$entry.icon"></i>
229 + </div>
230 + <div class="service-body">
231 + <h4>$entry.title</h4>
232 + <p><strong>$entry.price</strong></p>
233 + <p>$entry.description</p>
234 + <ul>
235 + #foreach ($item in $entry.items)
236 + <li>$item</li>
237 + #end
238 + </ul>
239 + <p><a class="btn btn-primary" href="$contactURL">$entry.cta</a></p>
240 + </div>
241 + </article>
242 + #end
243 + </div>
230 230  
231 -<section aria-labelledby="pricing-note-title">
232 - <div class="container">
233 - <div class="industry-trust-panel">
234 - <h2 id="pricing-note-title">Simple starting prices, reviewed scope when needed</h2>
235 - <p class="section-intro">
236 - Prices are starting points and exclude VAT where applicable. Final pricing depends on the XWiki version,
237 - installed extensions, customizations, hosting setup, authentication configuration, wiki farm complexity
238 - and required testing.
239 - </p>
240 - </div>
241 - </div>
242 -</section>
245 + <h2 id="common-packages">Common starting packages</h2>
243 243  
244 -<section id="common-packages" aria-labelledby="common-packages-title">
245 - <div class="container">
246 - <h2 id="common-packages-title">Common starting packages</h2>
247 - <p class="section-intro">
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.
250 - </p>
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.
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 - </div>
271 -</section>
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>
272 272  
273 -<section id="upgrade-offer" aria-labelledby="upgrade-offer-title" class="industry-trust-section">
274 - <div class="container">
275 - <div class="industry-trust-panel">
276 - <h2 id="upgrade-offer-title">New customer upgrade offer</h2>
277 - <p class="section-intro">
278 - If the Upgrade Readiness Review leads to an upgrade project with Agnease, the review cost can be credited
279 - toward the upgrade implementation.
280 - </p>
281 - <a class="btn btn-primary" href="$contactURL">Plan an upgrade</a>
282 - </div>
283 - </div>
284 -</section>
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>
276 + </div>
285 285  
286 -<section id="support" aria-labelledby="support-title">
287 - <div class="container">
288 - <h2 id="support-title">Monthly support plans</h2>
289 - <p class="section-intro">
290 - Support plans are designed for organizations that already use XWiki and want regular help with troubleshooting,
291 - maintenance, upgrades, configuration, authentication and small improvements.
292 - </p>
278 + <h2 id="authentication">Authentication & access control</h2>
293 293  
294 - <div class="pathways">
295 - #foreach ($entry in $supportPlans)
296 - <article class="pathway-card">
297 - <div class="card-heading">
298 - <div class="pathway-icon" aria-hidden="true">
299 - <i class="fa fa-$entry.icon"></i>
300 - </div>
301 - <h3>$entry.title</h3>
302 - </div>
280 + <p>
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.
285 + </p>
303 303  
304 - <p><strong>$entry.price</strong></p>
305 - <p>$entry.description</p>
287 + <div class="resource-note">
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.
292 + </p>
293 + </div>
306 306  
307 - <ul>
308 - #foreach ($item in $entry.items)
309 - <li>$item</li>
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 310   #end
311 - </ul>
311 + </tbody>
312 + </table>
312 312  
313 - <div class="card-link">
314 - <a href="$contactURL">$entry.cta</a>
315 - </div>
316 - </article>
317 - #end
318 - </div>
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>
321 + </div>
319 319  
320 - <p class="section-intro">
321 - Larger features, migrations, major customizations and complex projects are quoted separately.
322 - </p>
323 - </div>
324 -</section>
323 + <h2 id="support">Monthly support plans</h2>
325 325  
326 -<section id="complex-projects" aria-labelledby="complex-projects-title">
327 - <div class="container">
328 - <h2 id="complex-projects-title">Need something more complex?</h2>
329 - <p class="section-intro">
330 - Some XWiki projects cannot be priced responsibly before the environment is reviewed. For wiki farms,
331 - major upgrades, migrations, custom applications, authentication changes or infrastructure restructuring,
332 - Agnease first reviews the current setup and then provides a fixed project quote.
333 - </p>
325 + <p>
326 + Support plans are designed for organizations that already use XWiki and want regular help with
327 + troubleshooting, maintenance, upgrades, configuration, authentication and small improvements.
328 + </p>
334 334  
335 - <div class="widgets">
336 - #foreach ($entry in $complexProjects)
337 - <div class="widget">
338 - <div class="icon">
339 - <i class="fa fa-$entry.icon" aria-hidden="true"></i>
340 - <h4>$entry.title</h4>
341 - </div>
342 - <p>$entry.content</p>
330 + <div class="services-grid">
331 + #foreach ($entry in $supportPlans)
332 + <article class="service">
333 + <div class="service-icon" aria-hidden="true">
334 + <i class="fa fa-$entry.icon"></i>
335 + </div>
336 + <div class="service-body">
337 + <h4>$entry.title</h4>
338 + <p><strong>$entry.price</strong></p>
339 + <p>$entry.description</p>
340 + <ul>
341 + #foreach ($item in $entry.items)
342 + <li>$item</li>
343 + #end
344 + </ul>
345 + <p><a class="btn btn-primary" href="$contactURL">$entry.cta</a></p>
346 + </div>
347 + </article>
348 + #end
343 343   </div>
344 - #end
345 - </div>
346 346  
347 - <div id="hero-cta">
348 - <a class="btn btn-primary" href="$contactURL">Request a project quote</a>
349 - </div>
350 - </div>
351 -</section>
351 + <div class="resource-note">
352 + <p>
353 + Larger features, migrations, major customizations and complex projects are quoted separately.
354 + </p>
355 + </div>
352 352  
353 -<section id="faq" aria-labelledby="faq-title">
354 - <div class="container">
355 - <h2 id="faq-title">FAQ</h2>
357 + <h2 id="complex-projects">Need something more complex?</h2>
356 356  
357 - #foreach ($entry in $faqItems)
358 - <details class="resource-faq-item" #if ($foreach.first)open#end>
359 - <summary>$entry.question</summary>
360 - <p>$entry.answer</p>
361 - </details>
362 - #end
359 + <p>
360 + Some XWiki projects cannot be priced responsibly before the environment is reviewed. For wiki farms,
361 + major upgrades, migrations, custom applications, authentication changes or infrastructure restructuring,
362 + Agnease first reviews the current setup and then provides a fixed project quote.
363 + </p>
364 +
365 + <ul class="resource-checklist">
366 + #foreach ($item in $complexProjects)
367 + <li>$item</li>
368 + #end
369 + </ul>
370 +
371 + <div class="resource-cta">
372 + <h3>Request a project quote</h3>
373 + <p>
374 + Send a short description of your XWiki environment, current version, hosting setup and what you
375 + are trying to achieve.
376 + </p>
377 + <a class="btn btn-primary" href="$contactURL">Request a project quote</a>
378 + </div>
379 +
380 + <h2 id="faq">FAQ</h2>
381 +
382 + #foreach ($entry in $faqItems)
383 + <details class="resource-faq-item" #if ($foreach.first)open#end>
384 + <summary>$entry.question</summary>
385 + <p>$entry.answer</p>
386 + </details>
387 + #end
388 +
389 + </article>
390 + </div>
363 363   </div>
364 364  </section>
365 365  
Agnease.Code.SEODetailsClass[0]
metaDescription
... ... @@ -1,1 +1,0 @@
1 -Explore Agnease XWiki service packages for upgrades, support, authentication, MFA, SSO, troubleshooting and long-term maintenance.
metaTitle
... ... @@ -1,1 +1,0 @@
1 -XWiki Service Packages and Pricing | Agnease