Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{velocity}} | ||
| 2 | #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) | ||
| 3 | #set ($contactURL = $xwiki.getURL('contact.WebHome')) | ||
| 4 | #set ($startingPoints = [{ | ||
| 5 | 'icon': 'search', | ||
| 6 | 'title': 'Review & diagnose', | ||
| 7 | 'price': 'From €290', | ||
| 8 | 'description': 'For teams that need to understand risks, issues or the current XWiki state before making changes.', | ||
| 9 | 'items': [ | ||
| 10 | 'Health checks', | ||
| 11 | 'Upgrade readiness reviews', | ||
| 12 | 'Authentication reviews', | ||
| 13 | 'Urgent troubleshooting' | ||
| 14 | ], | ||
| 15 | 'cta': 'Start with a review' | ||
| 16 | },{ | ||
| 17 | 'icon': 'cogs', | ||
| 18 | 'title': 'Implement changes', | ||
| 19 | 'price': 'From €490', | ||
| 20 | 'description': 'For teams ready to make a specific XWiki change, upgrade or authentication improvement.', | ||
| 21 | 'items': [ | ||
| 22 | 'XWiki LTS upgrades', | ||
| 23 | 'MFA installation', | ||
| 24 | 'OIDC / Entra ID setup', | ||
| 25 | 'LDAP / Active Directory work' | ||
| 26 | ], | ||
| 27 | 'cta': 'Request implementation quote' | ||
| 28 | },{ | ||
| 29 | 'icon': 'life-ring', | ||
| 30 | 'title': 'Maintain & support', | ||
| 31 | 'price': 'From €390/month', | ||
| 32 | 'description': 'For organizations that need regular XWiki help, troubleshooting, maintenance and planning.', | ||
| 33 | 'items': [ | ||
| 34 | 'Monthly support', | ||
| 35 | 'Troubleshooting', | ||
| 36 | 'Maintenance guidance', | ||
| 37 | 'Upgrade planning' | ||
| 38 | ], | ||
| 39 | 'cta': 'Discuss support plan' | ||
| 40 | }]) | ||
| 41 | #set ($commonPackages = [ | ||
| 42 | { | ||
| 43 | 'service': 'XWiki Health Check', | ||
| 44 | 'price': '€390', | ||
| 45 | 'description': 'Configuration, version, extension, security and stability review with written recommendations.' | ||
| 46 | },{ | ||
| 47 | 'service': 'Upgrade Readiness Review', | ||
| 48 | 'price': '€390', | ||
| 49 | 'description': 'Upgrade path, compatibility, customization risk and effort estimate before implementation.' | ||
| 50 | },{ | ||
| 51 | 'service': 'XWiki Authentication Review', | ||
| 52 | 'price': '€290', | ||
| 53 | 'description': 'Review of login flow, user provisioning, groups, access control and authentication options.' | ||
| 54 | },{ | ||
| 55 | 'service': 'Urgent XWiki Troubleshooting', | ||
| 56 | 'price': 'From €250', | ||
| 57 | 'description': 'Live troubleshooting for blocking issues, errors, failed upgrades or production problems.' | ||
| 58 | },{ | ||
| 59 | 'service': 'Standard XWiki LTS Upgrade', | ||
| 60 | 'price': 'From €790', | ||
| 61 | 'description': 'Upgrade preparation, execution, basic compatibility checks and post-upgrade validation.' | ||
| 62 | },{ | ||
| 63 | 'service': 'XWiki MFA Installation & Configuration', | ||
| 64 | 'price': 'From €490', | ||
| 65 | 'description': 'MFA installation for the standard XWiki login flow. In SSO environments, MFA may be better enforced by the identity provider.' | ||
| 66 | },{ | ||
| 67 | 'service': 'OIDC / Microsoft Entra ID Setup', | ||
| 68 | 'price': 'From €590', | ||
| 69 | 'description': 'OpenID Connect setup, user mapping considerations, group and access-control review, and validation.' | ||
| 70 | },{ | ||
| 71 | 'service': 'LDAP / Active Directory Review', | ||
| 72 | 'price': 'From €390', | ||
| 73 | 'description': 'LDAP or Active Directory configuration review, profile mapping and group mapping recommendations.' | ||
| 74 | },{ | ||
| 75 | 'service': 'Access Control Review', | ||
| 76 | 'price': 'From €390', | ||
| 77 | 'description': 'Review of groups, permissions, public/internal/restricted areas and subwiki access model.' | ||
| 78 | },{ | ||
| 79 | 'service': 'Advanced Authentication Work', | ||
| 80 | 'price': 'Quoted after review', | ||
| 81 | 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.' | ||
| 82 | },{ | ||
| 83 | 'service': 'XWiki AWS Cloud Hosting', | ||
| 84 | 'price': 'From €120/mo', | ||
| 85 | 'description': 'Single-instance AWS hosting for small XWiki environments, including cloud server, storage, basic backups and modest traffic. Larger storage, high availability, managed databases or high-traffic environments are quoted separately.' | ||
| 86 | }, | ||
| 87 | { | ||
| 88 | 'service': 'AWS Hosting Setup for XWiki', | ||
| 89 | 'price': 'From €490', | ||
| 90 | 'description': 'Initial AWS deployment setup for XWiki, including server preparation, database/runtime configuration, HTTPS setup and basic backup strategy.' | ||
| 91 | }]) | ||
| 92 | #set ($supportPlans = [{ | ||
| 93 | 'icon': 'leaf', | ||
| 94 | 'title': 'Essential Support', | ||
| 95 | 'price': '€390/month', | ||
| 96 | 'description': 'For small teams that need occasional XWiki help.', | ||
| 97 | 'items': [ | ||
| 98 | 'Up to 4 hours/month', | ||
| 99 | 'Email support', | ||
| 100 | 'Small configuration fixes', | ||
| 101 | 'Upgrade and security guidance' | ||
| 102 | ], | ||
| 103 | 'cta': 'Request support plan' | ||
| 104 | },{ | ||
| 105 | 'icon': 'check-circle', | ||
| 106 | 'title': 'Standard Support', | ||
| 107 | 'price': '€790/month', | ||
| 108 | 'description': 'For active XWiki environments that need regular support and maintenance.', | ||
| 109 | 'items': [ | ||
| 110 | 'Up to 8 hours/month', | ||
| 111 | 'Prioritized support', | ||
| 112 | 'Troubleshooting', | ||
| 113 | 'Minor improvements', | ||
| 114 | 'Maintenance guidance' | ||
| 115 | ], | ||
| 116 | 'cta': 'Request standard support' | ||
| 117 | },{ | ||
| 118 | 'icon': 'building', | ||
| 119 | 'title': 'Extended Support', | ||
| 120 | 'price': 'From €1,490/month', | ||
| 121 | 'description': 'For business-critical XWiki platforms or organizations with ongoing XWiki work.', | ||
| 122 | 'items': [ | ||
| 123 | 'Larger monthly allocation', | ||
| 124 | 'Prioritized handling', | ||
| 125 | 'Upgrade planning', | ||
| 126 | 'Authentication and extension support', | ||
| 127 | 'Roadmap and stability guidance' | ||
| 128 | ], | ||
| 129 | 'cta': 'Discuss extended support' | ||
| 130 | }]) | ||
| 131 | #set ($complexProjects = [{ | ||
| 132 | 'icon': 'sitemap', | ||
| 133 | 'title': 'Wiki farms', | ||
| 134 | 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.' | ||
| 135 | },{ | ||
| 136 | 'icon': 'exchange', | ||
| 137 | 'title': 'Migrations', | ||
| 138 | 'content': 'Content, platform or documentation migrations into a cleaner XWiki structure.' | ||
| 139 | },{ | ||
| 140 | 'icon': 'puzzle-piece', | ||
| 141 | 'title': 'Custom applications', | ||
| 142 | 'content': 'Workflow applications, structured data, dashboards and internal business tools.' | ||
| 143 | },{ | ||
| 144 | 'icon': 'tachometer', | ||
| 145 | 'title': 'Stability work', | ||
| 146 | 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.' | ||
| 147 | }]) | ||
| 148 | #set ($faqItems = [{ | ||
| 149 | 'question': 'Are these fixed prices?', | ||
| 150 | '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.' | ||
| 151 | },{ | ||
| 152 | 'question': 'Do you charge hourly?', | ||
| 153 | 'answer': 'For support plans, time allocation is used to manage monthly work. For projects, Agnease aims to provide clear service packages or fixed quotes whenever the scope can be defined.' | ||
| 154 | },{ | ||
| 155 | 'question': 'Can you work on existing XWiki installations?', | ||
| 156 | 'answer': 'Yes. Agnease works with existing XWiki instances, including upgrades, troubleshooting, authentication, customizations, extensions and long-term maintenance.' | ||
| 157 | },{ | ||
| 158 | 'question': 'What happens if my XWiki instance is more complex?', | ||
| 159 | 'answer': 'Agnease first reviews the current setup, identifies risks and dependencies, and then provides a quote based on the actual scope.' | ||
| 160 | },{ | ||
| 161 | 'question': 'Can I book a call directly?', | ||
| 162 | 'answer': 'Yes. The contact form includes a call booking option, but sending a short description first helps Agnease understand the context before the discussion.' | ||
| 163 | },{ | ||
| 164 | 'question': 'Do prices include external costs?', | ||
| 165 | 'answer': 'The prices on this page cover Agnease services. External hosting, infrastructure or third-party costs are discussed separately when relevant.' | ||
| 166 | }]) | ||
| 167 | {{html clean="false"}} | ||
| 168 | |||
| 169 | <section class="hero hero-centered" aria-labelledby="pricing-title"> | ||
| 170 | <div class="container"> | ||
| 171 | <div class="hero-inner"> | ||
| 172 | <div class="hero-kicker"> | ||
| 173 | <i class="fa fa-eur" aria-hidden="true"></i> | ||
| 174 | XWiki consulting, support and implementation | ||
| 175 | </div> | ||
| 176 | |||
| 177 | <h1 id="pricing-title">XWiki Service Packages</h1> | ||
| 178 | |||
| 179 | <p class="lead"> | ||
| 180 | Clear starting points for XWiki upgrades, authentication, troubleshooting and long-term support. | ||
| 181 | </p> | ||
| 182 | |||
| 183 | <ul class="benefits"> | ||
| 184 | <li>Specialized XWiki consulting</li> | ||
| 185 | <li>Practical starting prices</li> | ||
| 186 | <li>Fixed quotes for complex work</li> | ||
| 187 | </ul> | ||
| 188 | |||
| 189 | <div id="hero-cta"> | ||
| 190 | <a class="btn btn-primary" href="$contactURL">Request a quote</a> | ||
| 191 | <a class="btn btn-secondary" href="#support">View monthly support</a> | ||
| 192 | </div> | ||
| 193 | </div> | ||
| 194 | </div> | ||
| 195 | </section> | ||
| 196 | |||
| 197 | <section id="starting-points" aria-labelledby="starting-points-title"> | ||
| 198 | <div class="container"> | ||
| 199 | <h2 id="starting-points-title">Three common ways to start</h2> | ||
| 200 | <p class="section-intro"> | ||
| 201 | Most XWiki requests fit into one of three paths: review the current setup, implement a defined change, | ||
| 202 | or set up ongoing support. | ||
| 203 | </p> | ||
| 204 | |||
| 205 | <div class="pathways"> | ||
| 206 | #foreach ($entry in $startingPoints) | ||
| 207 | <article class="pathway-card"> | ||
| 208 | <div class="card-heading"> | ||
| 209 | <div class="pathway-icon" aria-hidden="true"> | ||
| 210 | <i class="fa fa-$entry.icon"></i> | ||
| 211 | </div> | ||
| 212 | <h3>$entry.title</h3> | ||
| 213 | </div> | ||
| 214 | |||
| 215 | <p><strong>$entry.price</strong></p> | ||
| 216 | <p>$entry.description</p> | ||
| 217 | |||
| 218 | <ul> | ||
| 219 | #foreach ($item in $entry.items) | ||
| 220 | <li>$item</li> | ||
| 221 | #end | ||
| 222 | </ul> | ||
| 223 | |||
| 224 | <div class="card-link"> | ||
| 225 | <a href="$contactURL">$entry.cta</a> | ||
| 226 | </div> | ||
| 227 | </article> | ||
| 228 | #end | ||
| 229 | </div> | ||
| 230 | </div> | ||
| 231 | </section> | ||
| 232 | |||
| 233 | <section aria-labelledby="pricing-note-title"> | ||
| 234 | <div class="container"> | ||
| 235 | <div class="industry-trust-panel"> | ||
| 236 | <h2 id="pricing-note-title">Simple starting prices, reviewed scope when needed</h2> | ||
| 237 | <p class="section-intro"> | ||
| 238 | Prices are starting points and exclude VAT where applicable. Final pricing depends on the XWiki version, | ||
| 239 | installed extensions, customizations, hosting setup, authentication configuration, wiki farm complexity | ||
| 240 | and required testing. | ||
| 241 | </p> | ||
| 242 | </div> | ||
| 243 | </div> | ||
| 244 | </section> | ||
| 245 | |||
| 246 | <section id="common-packages" aria-labelledby="common-packages-title"> | ||
| 247 | <div class="container"> | ||
| 248 | <h2 id="common-packages-title">Common starting packages</h2> | ||
| 249 | <p class="section-intro"> | ||
| 250 | These are practical entry points for common XWiki needs. Some can start directly, while others require | ||
| 251 | a quick review before confirming the final scope. | ||
| 252 | </p> | ||
| 253 | |||
| 254 | <table class="table table-bordered table-striped"> | ||
| 255 | <thead> | ||
| 256 | <tr> | ||
| 257 | <th>Service</th> | ||
| 258 | <th>Starting price</th> | ||
| 259 | <th>What it covers</th> | ||
| 260 | </tr> | ||
| 261 | </thead> | ||
| 262 | <tbody> | ||
| 263 | #foreach ($entry in $commonPackages) | ||
| 264 | <tr> | ||
| 265 | <td><strong>$entry.service</strong></td> | ||
| 266 | <td>$entry.price</td> | ||
| 267 | <td>$entry.description</td> | ||
| 268 | </tr> | ||
| 269 | #end | ||
| 270 | </tbody> | ||
| 271 | </table> | ||
| 272 | </div> | ||
| 273 | </section> | ||
| 274 | |||
| 275 | <section id="upgrade-offer" aria-labelledby="upgrade-offer-title" class="industry-trust-section"> | ||
| 276 | <div class="container"> | ||
| 277 | <div class="industry-trust-panel"> | ||
| 278 | <h2 id="upgrade-offer-title">New customer upgrade offer</h2> | ||
| 279 | <p class="section-intro"> | ||
| 280 | If the Upgrade Readiness Review leads to an upgrade project with Agnease, the review cost can be credited | ||
| 281 | toward the upgrade implementation. | ||
| 282 | </p> | ||
| 283 | <a class="btn btn-primary" href="$contactURL">Plan an upgrade</a> | ||
| 284 | </div> | ||
| 285 | </div> | ||
| 286 | </section> | ||
| 287 | |||
| 288 | <section id="support" aria-labelledby="support-title"> | ||
| 289 | <div class="container"> | ||
| 290 | <h2 id="support-title">Monthly support plans</h2> | ||
| 291 | <p class="section-intro"> | ||
| 292 | Support plans are designed for organizations that already use XWiki and want regular help with troubleshooting, | ||
| 293 | maintenance, upgrades, configuration, authentication and small improvements. | ||
| 294 | </p> | ||
| 295 | |||
| 296 | <div class="pathways"> | ||
| 297 | #foreach ($entry in $supportPlans) | ||
| 298 | <article class="pathway-card"> | ||
| 299 | <div class="card-heading"> | ||
| 300 | <div class="pathway-icon" aria-hidden="true"> | ||
| 301 | <i class="fa fa-$entry.icon"></i> | ||
| 302 | </div> | ||
| 303 | <h3>$entry.title</h3> | ||
| 304 | </div> | ||
| 305 | |||
| 306 | <p><strong>$entry.price</strong></p> | ||
| 307 | <p>$entry.description</p> | ||
| 308 | |||
| 309 | <ul> | ||
| 310 | #foreach ($item in $entry.items) | ||
| 311 | <li>$item</li> | ||
| 312 | #end | ||
| 313 | </ul> | ||
| 314 | |||
| 315 | <div class="card-link"> | ||
| 316 | <a href="$contactURL">$entry.cta</a> | ||
| 317 | </div> | ||
| 318 | </article> | ||
| 319 | #end | ||
| 320 | </div> | ||
| 321 | |||
| 322 | <p class="section-intro"> | ||
| 323 | Larger features, migrations, major customizations and complex projects are quoted separately. | ||
| 324 | </p> | ||
| 325 | </div> | ||
| 326 | </section> | ||
| 327 | |||
| 328 | <section id="complex-projects" aria-labelledby="complex-projects-title"> | ||
| 329 | <div class="container"> | ||
| 330 | <h2 id="complex-projects-title">Need something more complex?</h2> | ||
| 331 | <p class="section-intro"> | ||
| 332 | Some XWiki projects cannot be priced responsibly before the environment is reviewed. For wiki farms, | ||
| 333 | major upgrades, migrations, custom applications, authentication changes or infrastructure restructuring, | ||
| 334 | Agnease first reviews the current setup and then provides a fixed project quote. | ||
| 335 | </p> | ||
| 336 | |||
| 337 | <div class="widgets"> | ||
| 338 | #foreach ($entry in $complexProjects) | ||
| 339 | <div class="widget"> | ||
| 340 | <div class="icon"> | ||
| 341 | <i class="fa fa-$entry.icon" aria-hidden="true"></i> | ||
| 342 | <h4>$entry.title</h4> | ||
| 343 | </div> | ||
| 344 | <p>$entry.content</p> | ||
| 345 | </div> | ||
| 346 | #end | ||
| 347 | </div> | ||
| 348 | |||
| 349 | <div id="hero-cta"> | ||
| 350 | <a class="btn btn-primary" href="$contactURL">Request a project quote</a> | ||
| 351 | </div> | ||
| 352 | </div> | ||
| 353 | </section> | ||
| 354 | |||
| 355 | <section id="faq" aria-labelledby="faq-title"> | ||
| 356 | <div class="container"> | ||
| 357 | <h2 id="faq-title">FAQ</h2> | ||
| 358 | |||
| 359 | #foreach ($entry in $faqItems) | ||
| 360 | <details class="resource-faq-item" #if ($foreach.first)open#end> | ||
| 361 | <summary>$entry.question</summary> | ||
| 362 | <p>$entry.answer</p> | ||
| 363 | </details> | ||
| 364 | #end | ||
| 365 | </div> | ||
| 366 | </section> | ||
| 367 | |||
| 368 | <section class="cta-section" aria-labelledby="pricing-final-cta-title"> | ||
| 369 | <div class="container"> | ||
| 370 | <div class="cta-panel"> | ||
| 371 | <h2 id="pricing-final-cta-title">Not sure which option fits your XWiki instance?</h2> | ||
| 372 | <p> | ||
| 373 | Send a short description of your XWiki environment and what you are trying to achieve. | ||
| 374 | Agnease will help identify the right starting point. | ||
| 375 | </p> | ||
| 376 | <a class="btn btn-primary" href="$contactURL">Contact Agnease</a> | ||
| 377 | </div> | ||
| 378 | </div> | ||
| 379 | </section> | ||
| 380 | |||
| 381 | <script type="application/ld+json"> | ||
| 382 | { | ||
| 383 | "@context": "https://schema.org", | ||
| 384 | "@type": "Service", | ||
| 385 | "name": "XWiki Service Packages", | ||
| 386 | "provider": { | ||
| 387 | "@type": "Organization", | ||
| 388 | "name": "Agnease", | ||
| 389 | "url": "https://agnease.com/" | ||
| 390 | }, | ||
| 391 | "serviceType": "XWiki consulting, support, upgrades, authentication and maintenance", | ||
| 392 | "areaServed": "International", | ||
| 393 | "description": "XWiki service packages for upgrades, support, authentication, troubleshooting, maintenance and implementation." | ||
| 394 | } | ||
| 395 | </script> | ||
| 396 | |||
| 397 | {{/html}} | ||
| 398 | {{/velocity}} |