Changes for page Pricing

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

From version 1.9
edited by Agnease
on 2026/07/10 03:44
Change comment: There is no comment for this version
To version 1.17
edited by Agnease
on 2026/07/10 04:02
Change comment: There is no comment for this version

Summary

Details

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