Changes for page Pricing

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

From version 1.13
edited by Agnease
on 2026/07/10 03:57
Change comment: There is no comment for this version
To version 1.18
edited by Agnease
on 2026/07/10 04:02
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,27 +1,28 @@
1 1  {{velocity}}
2 2  #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 3  #set ($contactURL = $xwiki.getURL('contact.WebHome'))
4 +
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 state before making changes.',
9 + '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'
11 + 'Health checks',
12 + 'Upgrade readiness reviews',
13 + 'Authentication reviews',
14 + 'Urgent troubleshooting'
14 14   ],
15 15   'cta': 'Start with a review'
16 16  },{
17 17   'icon': 'cogs',
18 - 'title': 'Implement & configure',
19 + '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',
23 + 'XWiki LTS upgrades',
24 + 'MFA installation',
25 + 'OIDC / 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  }])
42 +
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.'
58 + '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.'
66 + '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',
... ... @@ -79,6 +79,7 @@
79 79   'price': 'Quoted after review',
80 80   'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.'
81 81  }])
84 +
82 82  #set ($supportPlans = [{
83 83   'icon': 'leaf',
84 84   'title': 'Essential Support',
... ... @@ -118,15 +118,25 @@
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 -])
124 +
125 +#set ($complexProjects = [{
126 + 'icon': 'sitemap',
127 + 'title': 'Wiki farms',
128 + 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.'
129 +},{
130 + 'icon': 'exchange',
131 + 'title': 'Migrations',
132 + 'content': 'Content, platform or documentation migrations into a cleaner XWiki structure.'
133 +},{
134 + 'icon': 'puzzle-piece',
135 + 'title': 'Custom applications',
136 + 'content': 'Workflow applications, structured data, dashboards and internal business tools.'
137 +},{
138 + 'icon': 'tachometer',
139 + 'title': 'Stability work',
140 + 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.'
141 +}])
142 +
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.'
... ... @@ -146,180 +146,204 @@
146 146   'question': 'Do prices include external costs?',
147 147   'answer': 'The prices on this page cover Agnease services. External hosting, infrastructure or third-party costs are discussed separately when relevant.'
148 148  }])
162 +
149 149  {{html clean="false"}}
150 150  
151 -<section class="resource-header" aria-labelledby="hero-title">
165 +<section class="hero hero-centered" aria-labelledby="pricing-title">
152 152   <div class="container">
153 - <div class="text-center">
167 + <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>
173 + <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>
175 + <p class="lead">
176 + Clear starting points for XWiki upgrades, authentication, troubleshooting and long-term support.
177 + </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>
179 + <ul class="benefits">
180 + <li>Specialized XWiki consulting</li>
181 + <li>Practical starting prices</li>
182 + <li>Fixed quotes for complex work</li>
183 + </ul>
184 +
185 + <div id="hero-cta">
186 + <a class="btn btn-primary" href="$contactURL">Request a quote</a>
187 + </div>
170 170   </div>
171 171   </div>
172 172  </section>
173 173  
174 -<section class="resource-page">
192 +<section id="starting-points" aria-labelledby="starting-points-title">
175 175   <div class="container">
176 - <div class="resource-layout">
177 - <article class="services">
194 + <h2 id="starting-points-title">Choose your starting point</h2>
195 + <p class="section-intro">
196 + Most XWiki requests fit into one of three paths: review the current setup, implement a defined change,
197 + or set up ongoing support.
198 + </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>
200 + <div class="pathways">
201 + #foreach ($entry in $startingPoints)
202 + <article class="pathway-card">
203 + <div class="card-heading">
204 + <div class="pathway-icon" aria-hidden="true">
205 + <i class="fa fa-$entry.icon"></i>
206 + </div>
207 + <h3>$entry.title</h3>
208 + </div>
186 186  
187 - <h2 id="starting-points">Choose your starting point</h2>
210 + <p><strong>$entry.price</strong></p>
211 + <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>
213 + <ul>
214 + #foreach ($item in $entry.items)
215 + <li>$item</li>
216 + #end
217 + </ul>
194 194  
195 - <div class="pathways">
196 - #foreach ($entry in $startingPoints)
197 - <article class="pathway-card">
198 - <div class="card-heading">
199 - <div class="pathway-icon" aria-hidden="true">
200 - <i class="fa fa-$entry.icon"></i>
201 - </div>
202 - <h3>$entry.title</h3>
203 - </div>
219 + <div class="card-link">
220 + <a href="$contactURL">$entry.cta</a>
221 + </div>
222 + </article>
223 + #end
224 + </div>
225 + </div>
226 +</section>
204 204  
205 - <p><strong>$entry.price</strong></p>
228 +<section aria-labelledby="pricing-note-title">
229 + <div class="container">
230 + <div class="industry-trust-panel">
231 + <h2 id="pricing-note-title">Simple starting prices, reviewed scope when needed</h2>
232 + <p class="section-intro">
233 + Prices are starting points and exclude VAT where applicable. Final pricing depends on the XWiki version,
234 + installed extensions, customizations, hosting setup, authentication configuration, wiki farm complexity
235 + and required testing.
236 + </p>
237 + </div>
238 + </div>
239 +</section>
206 206  
207 - <p>$entry.description</p>
241 +<section id="common-packages" aria-labelledby="common-packages-title">
242 + <div class="container">
243 + <h2 id="common-packages-title">Common starting packages</h2>
244 + <p class="section-intro">
245 + These are practical entry points for common XWiki needs. Some can start directly, while others require
246 + a quick review before confirming the final scope.
247 + </p>
208 208  
209 - <ul>
210 - #foreach ($item in $entry.items)
211 - <li>$item</li>
212 - #end
213 - </ul>
249 + <table class="table table-bordered table-striped">
250 + <thead>
251 + <tr>
252 + <th>Service</th>
253 + <th>Starting price</th>
254 + <th>What it covers</th>
255 + </tr>
256 + </thead>
257 + <tbody>
258 + #foreach ($entry in $commonPackages)
259 + <tr>
260 + <td><strong>$entry.service</strong></td>
261 + <td>$entry.price</td>
262 + <td>$entry.description</td>
263 + </tr>
264 + #end
265 + </tbody>
266 + </table>
267 + </div>
268 +</section>
214 214  
215 - <div class="card-link">
216 - <a href="$contactURL">$entry.cta</a>
217 - </div>
218 - </article>
219 - #end
220 - </div>
270 +<section id="upgrade-offer" aria-labelledby="upgrade-offer-title" class="industry-trust-section">
271 + <div class="container">
272 + <div class="industry-trust-panel">
273 + <h2 id="upgrade-offer-title">New customer upgrade offer</h2>
274 + <p class="section-intro">
275 + If the Upgrade Readiness Review leads to an upgrade project with Agnease, the review cost can be credited
276 + toward the upgrade implementation.
277 + </p>
278 + <a class="btn btn-primary" href="$contactURL">Plan an upgrade</a>
279 + </div>
280 + </div>
281 +</section>
221 221  
222 - <h2 id="common-packages">Common starting packages</h2>
283 +<section id="support" aria-labelledby="support-title">
284 + <div class="container">
285 + <h2 id="support-title">Monthly support plans</h2>
286 + <p class="section-intro">
287 + Support plans are designed for organizations that already use XWiki and want regular help with troubleshooting,
288 + maintenance, upgrades, configuration, authentication and small improvements.
289 + </p>
223 223  
224 - <p>
225 - These are practical entry points for common XWiki needs. Some can start directly, while others require
226 - a quick review before confirming the final scope.
227 - </p>
291 + <div class="pathways">
292 + #foreach ($entry in $supportPlans)
293 + <article class="pathway-card">
294 + <div class="card-heading">
295 + <div class="pathway-icon" aria-hidden="true">
296 + <i class="fa fa-$entry.icon"></i>
297 + </div>
298 + <h3>$entry.title</h3>
299 + </div>
228 228  
229 - <table class="table table-bordered table-striped">
230 - <thead>
231 - <tr>
232 - <th>Service</th>
233 - <th>Starting price</th>
234 - <th>What it covers</th>
235 - </tr>
236 - </thead>
237 - <tbody>
238 - #foreach ($entry in $commonPackages)
239 - <tr>
240 - <td><strong>$entry.service</strong></td>
241 - <td>$entry.price</td>
242 - <td>$entry.description</td>
243 - </tr>
301 + <p><strong>$entry.price</strong></p>
302 + <p>$entry.description</p>
303 +
304 + <ul>
305 + #foreach ($item in $entry.items)
306 + <li>$item</li>
244 244   #end
245 - </tbody>
246 - </table>
308 + </ul>
247 247  
248 - <div id="upgrade-offer" class="resource-note">
249 - <p>
250 - <strong>New customer upgrade offer:</strong> If the Upgrade Readiness Review leads to an upgrade
251 - project with Agnease, the review cost can be credited toward the upgrade implementation.
252 - </p>
253 - </div>
310 + <div class="card-link">
311 + <a href="$contactURL">$entry.cta</a>
312 + </div>
313 + </article>
314 + #end
315 + </div>
254 254  
255 - <h2 id="support">Monthly support plans</h2>
317 + <p class="section-intro">
318 + Larger features, migrations, major customizations and complex projects are quoted separately.
319 + </p>
320 + </div>
321 +</section>
256 256  
257 - <p>
258 - Support plans are designed for organizations that already use XWiki and want regular help with
259 - troubleshooting, maintenance, upgrades, configuration, authentication and small improvements.
260 - </p>
323 +<section id="complex-projects" aria-labelledby="complex-projects-title">
324 + <div class="container">
325 + <h2 id="complex-projects-title">Need something more complex?</h2>
326 + <p class="section-intro">
327 + Some XWiki projects cannot be priced responsibly before the environment is reviewed. For wiki farms,
328 + major upgrades, migrations, custom applications, authentication changes or infrastructure restructuring,
329 + Agnease first reviews the current setup and then provides a fixed project quote.
330 + </p>
261 261  
262 - <div class="services-grid">
263 - #foreach ($entry in $supportPlans)
264 - <article class="service">
265 - <div class="service-icon" aria-hidden="true">
266 - <i class="fa fa-$entry.icon"></i>
267 - </div>
268 - <div class="service-body">
269 - <h4>$entry.title</h4>
270 - <p><strong>$entry.price</strong></p>
271 - <p>$entry.description</p>
272 - <ul>
273 - #foreach ($item in $entry.items)
274 - <li>$item</li>
275 - #end
276 - </ul>
277 - <p><a class="btn btn-primary" href="$contactURL">$entry.cta</a></p>
278 - </div>
279 - </article>
280 - #end
332 + <div class="widgets">
333 + #foreach ($entry in $complexProjects)
334 + <div class="widget">
335 + <div class="icon">
336 + <i class="fa fa-$entry.icon" aria-hidden="true"></i>
337 + <h4>$entry.title</h4>
338 + </div>
339 + <p>$entry.content</p>
281 281   </div>
341 + #end
342 + </div>
282 282  
283 - <div class="resource-note">
284 - <p>
285 - Larger features, migrations, major customizations and complex projects are quoted separately.
286 - </p>
287 - </div>
344 + <div id="hero-cta">
345 + <a class="btn btn-primary" href="$contactURL">Request a project quote</a>
346 + </div>
347 + </div>
348 +</section>
288 288  
289 - <h2 id="complex-projects">Need something more complex?</h2>
350 +<section id="faq" aria-labelledby="faq-title">
351 + <div class="container">
352 + <h2 id="faq-title">FAQ</h2>
290 290  
291 - <p>
292 - Some XWiki projects cannot be priced responsibly before the environment is reviewed. For wiki farms,
293 - major upgrades, migrations, custom applications, authentication changes or infrastructure restructuring,
294 - Agnease first reviews the current setup and then provides a fixed project quote.
295 - </p>
296 -
297 - <ul class="resource-checklist">
298 - #foreach ($item in $complexProjects)
299 - <li>$item</li>
300 - #end
301 - </ul>
302 -
303 - <div class="resource-cta">
304 - <h3>Request a project quote</h3>
305 - <p>
306 - Send a short description of your XWiki environment, current version, hosting setup and what you
307 - are trying to achieve.
308 - </p>
309 - <a class="btn btn-primary" href="$contactURL">Request a project quote</a>
310 - </div>
311 -
312 - <h2 id="faq">FAQ</h2>
313 -
314 - #foreach ($entry in $faqItems)
315 - <details class="resource-faq-item" #if ($foreach.first)open#end>
316 - <summary>$entry.question</summary>
317 - <p>$entry.answer</p>
318 - </details>
319 - #end
320 -
321 - </article>
322 - </div>
354 + #foreach ($entry in $faqItems)
355 + <details class="resource-faq-item" #if ($foreach.first)open#end>
356 + <summary>$entry.question</summary>
357 + <p>$entry.answer</p>
358 + </details>
359 + #end
323 323   </div>
324 324  </section>
325 325