Changes for page Pricing

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

From version 1.15
edited by Agnease
on 2026/07/10 04:01
Change comment: There is no comment for this version
To version 1.11
edited by Agnease
on 2026/07/10 03:48
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,29 +1,27 @@
1 1  {{velocity}}
2 2  #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 -
4 4  #set ($contactURL = $xwiki.getURL('contact.WebHome'))
5 -
6 6  #set ($startingPoints = [{
7 7   'icon': 'search',
8 8   'title': 'Review & diagnose',
9 9   'price': 'From €290',
10 - 'description': 'For teams that need to understand risks, issues or the current XWiki state before making changes.',
8 + 'description': 'For teams that need to understand risks, issues or the current state before making changes.',
11 11   'items': [
12 - 'Health checks',
13 - 'Upgrade readiness reviews',
14 - 'Authentication reviews',
15 - 'Urgent troubleshooting'
10 + 'XWiki Health Check',
11 + 'Upgrade Readiness Review',
12 + 'Authentication Review',
13 + 'Urgent Troubleshooting'
16 16   ],
17 17   'cta': 'Start with a review'
18 18  },{
19 19   'icon': 'cogs',
20 - 'title': 'Implement changes',
18 + 'title': 'Implement & configure',
21 21   'price': 'From €490',
22 22   'description': 'For teams ready to make a specific XWiki change, upgrade or authentication improvement.',
23 23   'items': [
24 - 'XWiki LTS upgrades',
25 - 'MFA installation',
26 - 'OIDC / Entra ID setup',
22 + 'Standard XWiki LTS Upgrade',
23 + 'MFA Installation',
24 + 'OIDC / Microsoft Entra ID Setup',
27 27   'LDAP / Active Directory work'
28 28   ],
29 29   'cta': 'Request implementation quote'
... ... @@ -40,7 +40,6 @@
40 40   ],
41 41   'cta': 'Discuss support plan'
42 42  }])
43 -
44 44  #set ($commonPackages = [{
45 45   'service': 'XWiki Health Check',
46 46   'price': '€390',
... ... @@ -56,7 +56,7 @@
56 56  },{
57 57   'service': 'Urgent XWiki Troubleshooting',
58 58   'price': 'From €250',
59 - 'description': 'Live troubleshooting for blocking issues, errors, failed upgrades or production problems.'
56 + 'description': 'Live troubleshooting session for blocking issues, errors, failed upgrades or production problems.'
60 60  },{
61 61   'service': 'Standard XWiki LTS Upgrade',
62 62   'price': 'From €790',
... ... @@ -64,7 +64,7 @@
64 64  },{
65 65   'service': 'XWiki MFA Installation & Configuration',
66 66   'price': 'From €490',
67 - 'description': 'MFA installation for the standard XWiki login flow. In SSO environments, MFA may be better enforced by the identity provider.'
64 + 'description': 'MFA installation, login flow integration, basic configuration, testing and administrator guidance.'
68 68  },{
69 69   'service': 'OIDC / Microsoft Entra ID Setup',
70 70   'price': 'From €590',
... ... @@ -82,7 +82,6 @@
82 82   'price': 'Quoted after review',
83 83   'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.'
84 84  }])
85 -
86 86  #set ($supportPlans = [{
87 87   'icon': 'leaf',
88 88   'title': 'Essential Support',
... ... @@ -122,25 +122,15 @@
122 122   ],
123 123   'cta': 'Discuss extended support'
124 124  }])
125 -
126 -#set ($complexProjects = [{
127 - 'icon': 'sitemap',
128 - 'title': 'Wiki farms',
129 - 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.'
130 -},{
131 - 'icon': 'exchange',
132 - 'title': 'Migrations',
133 - 'content': 'Content, platform or documentation migrations into a cleaner XWiki structure.'
134 -},{
135 - 'icon': 'puzzle-piece',
136 - 'title': 'Custom applications',
137 - 'content': 'Workflow applications, structured data, dashboards and internal business tools.'
138 -},{
139 - 'icon': 'tachometer',
140 - 'title': 'Stability work',
141 - 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.'
142 -}])
143 -
121 +#set ($complexProjects = [
122 + 'Wiki farm restructuring',
123 + 'Major XWiki LTS upgrades',
124 + 'Microsoft Entra ID, OIDC, LDAP or SAML integrations',
125 + 'Custom workflow applications',
126 + 'Intranet and knowledge platform development',
127 + 'Performance and stability improvements',
128 + 'Content and platform migrations'
129 +])
144 144  #set ($faqItems = [{
145 145   'question': 'Are these fixed prices?',
146 146   '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.'
... ... @@ -160,205 +160,172 @@
160 160   'question': 'Do prices include external costs?',
161 161   'answer': 'The prices on this page cover Agnease services. External hosting, infrastructure or third-party costs are discussed separately when relevant.'
162 162  }])
163 -
164 164  {{html clean="false"}}
165 165  
166 -<section class="hero hero-centered" aria-labelledby="pricing-title">
151 +<section class="resource-header" aria-labelledby="hero-title">
167 167   <div class="container">
168 - <div class="hero-inner">
153 + <div class="text-center">
169 169   <div class="hero-kicker">
170 170   <i class="fa fa-eur" aria-hidden="true"></i>
171 171   XWiki consulting, support and implementation
172 172   </div>
158 + </div>
173 173  
174 - <h1 id="pricing-title">XWiki Service Packages</h1>
160 + <h1 id="hero-title">XWiki Service Packages</h1>
175 175  
176 - <p class="lead">
177 - Clear starting points for XWiki upgrades, authentication, troubleshooting and long-term support.
178 - </p>
162 + <p class="lead">
163 + Clear starting points for XWiki upgrades, authentication, troubleshooting and long-term support.<br/>
164 + Start with a review, request an implementation quote, or choose a support plan for ongoing XWiki help.
165 + </p>
179 179  
180 - <ul class="benefits">
181 - <li>Specialized XWiki consulting</li>
182 - <li>Practical starting prices</li>
183 - <li>Fixed quotes for complex work</li>
184 - </ul>
185 -
186 - <div id="hero-cta">
187 - <a class="btn btn-primary" href="$contactURL">Request a quote</a>
188 - <a class="btn btn-secondary" href="#starting-points">Compare options</a>
189 - </div>
167 + <div id="hero-cta">
168 + <a class="btn btn-primary" href="$contactURL">Request a quote</a>
169 + <a class="btn btn-secondary" href="#starting-points">Compare starting points</a>
190 190   </div>
191 191   </div>
192 192  </section>
193 193  
194 -<section id="starting-points" aria-labelledby="starting-points-title">
174 +<section class="resource-page">
195 195   <div class="container">
196 - <h2 id="starting-points-title">Choose your starting point</h2>
197 - <p class="section-intro">
198 - Most XWiki requests fit into one of three paths: review the current setup, implement a defined change,
199 - or set up ongoing support.
200 - </p>
176 + <div class="resource-layout">
177 + <article class="resource-content services">
201 201  
202 - <div class="pathways">
203 - #foreach ($entry in $startingPoints)
204 - <article class="pathway-card">
205 - <div class="card-heading">
206 - <div class="pathway-icon" aria-hidden="true">
207 - <i class="fa fa-$entry.icon"></i>
208 - </div>
209 - <h3>$entry.title</h3>
210 - </div>
179 + <div class="resource-note">
180 + <p>
181 + <strong>Pricing note:</strong> Prices are starting points and exclude VAT where applicable.
182 + Final pricing depends on the XWiki version, installed extensions, customizations, hosting setup,
183 + authentication configuration, wiki farm complexity and required testing.
184 + </p>
185 + </div>
211 211  
212 - <p><strong>$entry.price</strong></p>
213 - <p>$entry.description</p>
187 + <h2 id="starting-points">Choose your starting point</h2>
214 214  
215 - <ul>
216 - #foreach ($item in $entry.items)
217 - <li>$item</li>
218 - #end
219 - </ul>
189 + <p>
190 + Most XWiki requests fit into one of three paths: review the current setup, implement a defined change,
191 + or set up ongoing support. This keeps the first step clear without pretending that every XWiki environment
192 + has the same complexity.
193 + </p>
220 220  
221 - <div class="card-link">
222 - <a href="$contactURL">$entry.cta</a>
223 - </div>
224 - </article>
225 - #end
226 - </div>
227 - </div>
228 -</section>
195 + <div class="pathways">
196 + #foreach ($entry in $startingPoints)
197 + <article class="pathway-card">
198 + <div class="pathway-icon" aria-hidden="true">
199 + <i class="fa fa-$entry.icon"></i>
200 + <h3>$entry.title</h3>
201 + </div>
202 + <p><strong>$entry.price</strong></p>
203 + <p>$entry.description</p>
204 + <ul>
205 + #foreach ($item in $entry.items)
206 + <li>$item</li>
207 + #end
208 + </ul>
209 + <p><a class="btn btn-primary" href="$contactURL">$entry.cta</a></p>
210 + </article>
211 + #end
212 + </div>
229 229  
230 -<section aria-labelledby="pricing-note-title">
231 - <div class="container">
232 - <div class="industry-trust-panel">
233 - <h2 id="pricing-note-title">Simple starting prices, reviewed scope when needed</h2>
234 - <p class="section-intro">
235 - Prices are starting points and exclude VAT where applicable. Final pricing depends on the XWiki version,
236 - installed extensions, customizations, hosting setup, authentication configuration, wiki farm complexity
237 - and required testing.
238 - </p>
239 - </div>
240 - </div>
241 -</section>
214 + <h2 id="common-packages">Common starting packages</h2>
242 242  
243 -<section id="common-packages" aria-labelledby="common-packages-title">
244 - <div class="container">
245 - <h2 id="common-packages-title">Common starting packages</h2>
246 - <p class="section-intro">
247 - These are practical entry points for common XWiki needs. Some can start directly, while others require
248 - a quick review before confirming the final scope.
249 - </p>
216 + <p>
217 + These are practical entry points for common XWiki needs. Some can start directly, while others require
218 + a quick review before confirming the final scope.
219 + </p>
250 250  
251 - <table class="table table-bordered table-striped">
252 - <thead>
253 - <tr>
254 - <th>Service</th>
255 - <th>Starting price</th>
256 - <th>What it covers</th>
257 - </tr>
258 - </thead>
259 - <tbody>
260 - #foreach ($entry in $commonPackages)
261 - <tr>
262 - <td><strong>$entry.service</strong></td>
263 - <td>$entry.price</td>
264 - <td>$entry.description</td>
265 - </tr>
266 - #end
267 - </tbody>
268 - </table>
269 - </div>
270 -</section>
221 + <table class="table table-bordered table-striped">
222 + <thead>
223 + <tr>
224 + <th>Service</th>
225 + <th>Starting price</th>
226 + <th>What it covers</th>
227 + </tr>
228 + </thead>
229 + <tbody>
230 + #foreach ($entry in $commonPackages)
231 + <tr>
232 + <td><strong>$entry.service</strong></td>
233 + <td>$entry.price</td>
234 + <td>$entry.description</td>
235 + </tr>
236 + #end
237 + </tbody>
238 + </table>
271 271  
272 -<section id="upgrade-offer" aria-labelledby="upgrade-offer-title" class="industry-trust-section">
273 - <div class="container">
274 - <div class="industry-trust-panel">
275 - <h2 id="upgrade-offer-title">New customer upgrade offer</h2>
276 - <p class="section-intro">
277 - If the Upgrade Readiness Review leads to an upgrade project with Agnease, the review cost can be credited
278 - toward the upgrade implementation.
279 - </p>
280 - <a class="btn btn-primary" href="$contactURL">Plan an upgrade</a>
281 - </div>
282 - </div>
283 -</section>
240 + <div id="upgrade-offer" class="resource-note">
241 + <p>
242 + <strong>New customer upgrade offer:</strong> If the Upgrade Readiness Review leads to an upgrade
243 + project with Agnease, the review cost can be credited toward the upgrade implementation.
244 + </p>
245 + </div>
284 284  
285 -<section id="support" aria-labelledby="support-title">
286 - <div class="container">
287 - <h2 id="support-title">Monthly support plans</h2>
288 - <p class="section-intro">
289 - Support plans are designed for organizations that already use XWiki and want regular help with troubleshooting,
290 - maintenance, upgrades, configuration, authentication and small improvements.
291 - </p>
247 + <h2 id="support">Monthly support plans</h2>
292 292  
293 - <div class="pathways">
294 - #foreach ($entry in $supportPlans)
295 - <article class="pathway-card">
296 - <div class="card-heading">
297 - <div class="pathway-icon" aria-hidden="true">
298 - <i class="fa fa-$entry.icon"></i>
299 - </div>
300 - <h3>$entry.title</h3>
301 - </div>
249 + <p>
250 + Support plans are designed for organizations that already use XWiki and want regular help with
251 + troubleshooting, maintenance, upgrades, configuration, authentication and small improvements.
252 + </p>
302 302  
303 - <p><strong>$entry.price</strong></p>
304 - <p>$entry.description</p>
254 + <div class="services-grid">
255 + #foreach ($entry in $supportPlans)
256 + <article class="service">
257 + <div class="service-icon" aria-hidden="true">
258 + <i class="fa fa-$entry.icon"></i>
259 + </div>
260 + <div class="service-body">
261 + <h4>$entry.title</h4>
262 + <p><strong>$entry.price</strong></p>
263 + <p>$entry.description</p>
264 + <ul>
265 + #foreach ($item in $entry.items)
266 + <li>$item</li>
267 + #end
268 + </ul>
269 + <p><a class="btn btn-primary" href="$contactURL">$entry.cta</a></p>
270 + </div>
271 + </article>
272 + #end
273 + </div>
305 305  
306 - <ul>
307 - #foreach ($item in $entry.items)
308 - <li>$item</li>
309 - #end
310 - </ul>
275 + <div class="resource-note">
276 + <p>
277 + Larger features, migrations, major customizations and complex projects are quoted separately.
278 + </p>
279 + </div>
311 311  
312 - <div class="card-link">
313 - <a href="$contactURL">$entry.cta</a>
314 - </div>
315 - </article>
316 - #end
317 - </div>
281 + <h2 id="complex-projects">Need something more complex?</h2>
318 318  
319 - <p class="section-intro">
320 - Larger features, migrations, major customizations and complex projects are quoted separately.
321 - </p>
322 - </div>
323 -</section>
283 + <p>
284 + Some XWiki projects cannot be priced responsibly before the environment is reviewed. For wiki farms,
285 + major upgrades, migrations, custom applications, authentication changes or infrastructure restructuring,
286 + Agnease first reviews the current setup and then provides a fixed project quote.
287 + </p>
324 324  
325 -<section id="complex-projects" aria-labelledby="complex-projects-title">
326 - <div class="container">
327 - <h2 id="complex-projects-title">Need something more complex?</h2>
328 - <p class="section-intro">
329 - Some XWiki projects cannot be priced responsibly before the environment is reviewed. For wiki farms,
330 - major upgrades, migrations, custom applications, authentication changes or infrastructure restructuring,
331 - Agnease first reviews the current setup and then provides a fixed project quote.
332 - </p>
289 + <ul class="resource-checklist">
290 + #foreach ($item in $complexProjects)
291 + <li>$item</li>
292 + #end
293 + </ul>
333 333  
334 - <div class="widgets">
335 - #foreach ($entry in $complexProjects)
336 - <div class="widget">
337 - <div class="icon">
338 - <i class="fa fa-$entry.icon" aria-hidden="true"></i>
339 - <h4>$entry.title</h4>
340 - </div>
341 - <p>$entry.content</p>
295 + <div class="resource-cta">
296 + <h3>Request a project quote</h3>
297 + <p>
298 + Send a short description of your XWiki environment, current version, hosting setup and what you
299 + are trying to achieve.
300 + </p>
301 + <a class="btn btn-primary" href="$contactURL">Request a project quote</a>
342 342   </div>
343 - #end
344 - </div>
345 345  
346 - <div id="hero-cta">
347 - <a class="btn btn-primary" href="$contactURL">Request a project quote</a>
348 - </div>
349 - </div>
350 -</section>
304 + <h2 id="faq">FAQ</h2>
351 351  
352 -<section id="faq" aria-labelledby="faq-title">
353 - <div class="container">
354 - <h2 id="faq-title">FAQ</h2>
306 + #foreach ($entry in $faqItems)
307 + <details class="resource-faq-item" #if ($foreach.first)open#end>
308 + <summary>$entry.question</summary>
309 + <p>$entry.answer</p>
310 + </details>
311 + #end
355 355  
356 - #foreach ($entry in $faqItems)
357 - <details class="resource-faq-item" #if ($foreach.first)open#end>
358 - <summary>$entry.question</summary>
359 - <p>$entry.answer</p>
360 - </details>
361 - #end
313 + </article>
314 + </div>
362 362   </div>
363 363  </section>
364 364