Changes for page Pricing
Last modified by Alex Cotiuga on 2026/07/13 06:55
From version 1.18
edited by Alex Cotiuga
on 2026/07/10 04:02
on 2026/07/10 04:02
Change comment:
There is no comment for this version
To version 1.3
edited by Alex Cotiuga
on 2026/07/10 03:36
on 2026/07/10 03:36
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,5 +1,6 @@ 1 1 {{velocity}} 2 2 #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) 3 + 3 3 #set ($contactURL = $xwiki.getURL('contact.WebHome')) 4 4 5 5 #set ($startingPoints = [{ ... ... @@ -6,23 +6,23 @@ 6 6 'icon': 'search', 7 7 'title': 'Review & diagnose', 8 8 'price': 'From €290', 9 - 'description': 'For teams that need to understand risks, issues or the current XWikistate before making changes.',10 + 'description': 'For teams that need to understand risks, issues or the current state before making changes.', 10 10 'items': [ 11 - 'Health checks',12 - 'Upgrade readinessreviews',13 - 'Authentication reviews',14 - 'Urgent troubleshooting'12 + 'XWiki Health Check', 13 + 'Upgrade Readiness Review', 14 + 'Authentication Review', 15 + 'Urgent Troubleshooting' 15 15 ], 16 16 'cta': 'Start with a review' 17 17 },{ 18 18 'icon': 'cogs', 19 - 'title': 'Implement c hanges',20 + 'title': 'Implement & configure', 20 20 'price': 'From €490', 21 21 'description': 'For teams ready to make a specific XWiki change, upgrade or authentication improvement.', 22 22 'items': [ 23 - 'XWiki LTS upgrades',24 - 'MFA installation',25 - 'OIDC / Entra ID setup',24 + 'Standard XWiki LTS Upgrade', 25 + 'MFA Installation', 26 + 'OIDC / Microsoft Entra ID Setup', 26 26 'LDAP / Active Directory work' 27 27 ], 28 28 'cta': 'Request implementation quote' ... ... @@ -55,7 +55,7 @@ 55 55 },{ 56 56 'service': 'Urgent XWiki Troubleshooting', 57 57 'price': 'From €250', 58 - 'description': 'Live troubleshooting for blocking issues, errors, failed upgrades or production problems.' 59 + 'description': 'Live troubleshooting session for blocking issues, errors, failed upgrades or production problems.' 59 59 },{ 60 60 'service': 'Standard XWiki LTS Upgrade', 61 61 'price': 'From €790', ... ... @@ -63,7 +63,7 @@ 63 63 },{ 64 64 'service': 'XWiki MFA Installation & Configuration', 65 65 'price': 'From €490', 66 - 'description': 'MFA installation for the standard XWikilogin flow.InSSOenvironments,MFA maybe better enforcedbytheidentity provider.'67 + 'description': 'MFA installation, login flow integration, basic configuration, testing and administrator guidance.' 67 67 },{ 68 68 'service': 'OIDC / Microsoft Entra ID Setup', 69 69 'price': 'From €590', ... ... @@ -82,6 +82,28 @@ 82 82 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.' 83 83 }]) 84 84 86 +#set ($authRows = [{ 87 + 'service': 'XWiki Authentication Review', 88 + 'price': '€290', 89 + 'bestFor': 'Understanding the current login flow, users, groups and access model.' 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', 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.' 106 +}]) 107 + 85 85 #set ($supportPlans = [{ 86 86 'icon': 'leaf', 87 87 'title': 'Essential Support', ... ... @@ -122,23 +122,15 @@ 122 122 'cta': 'Discuss extended support' 123 123 }]) 124 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 -}]) 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 +]) 142 142 143 143 #set ($faqItems = [{ 144 144 'question': 'Are these fixed prices?', ... ... @@ -162,201 +162,217 @@ 162 162 163 163 {{html clean="false"}} 164 164 165 -<section class=" hero hero-centered" aria-labelledby="pricing-title">180 +<section class="resource-header" aria-labelledby="hero-title"> 166 166 <div class="container"> 167 - <div class=" hero-inner">182 + <div class="text-center"> 168 168 <div class="hero-kicker"> 169 169 <i class="fa fa-eur" aria-hidden="true"></i> 170 170 XWiki consulting, support and implementation 171 171 </div> 187 + </div> 172 172 173 - <h1 id="pricing-title">XWiki Service Packages</h1>189 + <h1 id="hero-title">XWiki Service Packages</h1> 174 174 175 - <p class="lead"> 176 - Clear starting points for XWiki upgrades, authentication, troubleshooting and long-term support. 177 - </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> 178 178 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> 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> 188 188 </div> 189 189 </div> 190 190 </section> 191 191 192 -<section id="starting-points"aria-labelledby="starting-points-title">203 +<section class="resource-page"> 193 193 <div class="container"> 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> 205 + <div class="resource-layout"> 206 + <article class="resource-content services"> 199 199 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> 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> 209 209 210 - <p><strong>$entry.price</strong></p> 211 - <p>$entry.description</p> 216 + <h2 id="starting-points">Choose your starting point</h2> 212 212 213 - <ul>214 - #foreach($itemin$entry.items)215 - <li>$item</li>216 - #end217 - </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> 218 218 219 - <div class="card-link"> 220 - <a href="$contactURL">$entry.cta</a> 221 - </div> 222 - </article> 223 - #end 224 - </div> 225 - </div> 226 -</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> 227 227 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> 245 + <h2 id="common-packages">Common starting packages</h2> 240 240 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> 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> 248 248 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> 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> 269 269 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> 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> 282 282 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> 278 + <h2 id="authentication">Authentication & access control</h2> 290 290 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> 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> 300 300 301 - <p><strong>$entry.price</strong></p> 302 - <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> 303 303 304 - <ul> 305 - #foreach ($item in $entry.items) 306 - <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> 307 307 #end 308 - </ul> 311 + </tbody> 312 + </table> 309 309 310 - <div class="card-link"> 311 - <a href="$contactURL">$entry.cta</a> 312 - </div> 313 - </article> 314 - #end 315 - </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> 316 316 317 - <p class="section-intro"> 318 - Larger features, migrations, major customizations and complex projects are quoted separately. 319 - </p> 320 - </div> 321 -</section> 323 + <h2 id="support">Monthly support plans</h2> 322 322 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> 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> 331 331 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> 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 340 340 </div> 341 - #end 342 - </div> 343 343 344 - <div id="hero-cta">345 - <aclass="btnbtn-primary"href="$contactURL">Requesta project quote</a>346 - </div>347 - </ div>348 -</ section>351 + <div class="resource-note"> 352 + <p> 353 + Larger features, migrations, major customizations and complex projects are quoted separately. 354 + </p> 355 + </div> 349 349 350 -<section id="faq" aria-labelledby="faq-title"> 351 - <div class="container"> 352 - <h2 id="faq-title">FAQ</h2> 357 + <h2 id="complex-projects">Need something more complex?</h2> 353 353 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 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> 360 360 </div> 361 361 </section> 362 362