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 | |||
| 5 | #set ($startingPoints = [{ | ||
| 6 | 'icon': 'search', | ||
| 7 | 'title': 'Review & diagnose', | ||
| 8 | 'price': 'From €290', | ||
| 9 | 'description': 'For teams that need to understand risks, issues or the current XWiki state before making changes.', | ||
| 10 | 'items': [ | ||
| 11 | 'Health checks', | ||
| 12 | 'Upgrade readiness reviews', | ||
| 13 | 'Authentication reviews', | ||
| 14 | 'Urgent troubleshooting' | ||
| 15 | ], | ||
| 16 | 'cta': 'Start with a review' | ||
| 17 | },{ | ||
| 18 | 'icon': 'cogs', | ||
| 19 | 'title': 'Implement changes', | ||
| 20 | 'price': 'From €490', | ||
| 21 | 'description': 'For teams ready to make a specific XWiki change, upgrade or authentication improvement.', | ||
| 22 | 'items': [ | ||
| 23 | 'XWiki LTS upgrades', | ||
| 24 | 'MFA installation', | ||
| 25 | 'OIDC / Entra ID setup', | ||
| 26 | 'LDAP / Active Directory work' | ||
| 27 | ], | ||
| 28 | 'cta': 'Request implementation quote' | ||
| 29 | },{ | ||
| 30 | 'icon': 'life-ring', | ||
| 31 | 'title': 'Maintain & support', | ||
| 32 | 'price': 'From €390/month', | ||
| 33 | 'description': 'For organizations that need regular XWiki help, troubleshooting, maintenance and planning.', | ||
| 34 | 'items': [ | ||
| 35 | 'Monthly support', | ||
| 36 | 'Troubleshooting', | ||
| 37 | 'Maintenance guidance', | ||
| 38 | 'Upgrade planning' | ||
| 39 | ], | ||
| 40 | 'cta': 'Discuss support plan' | ||
| 41 | }]) | ||
| 42 | |||
| 43 | #set ($commonPackages = [{ | ||
| 44 | 'service': 'XWiki Health Check', | ||
| 45 | 'price': '€390', | ||
| 46 | 'description': 'Configuration, version, extension, security and stability review with written recommendations.' | ||
| 47 | },{ | ||
| 48 | 'service': 'Upgrade Readiness Review', | ||
| 49 | 'price': '€390', | ||
| 50 | 'description': 'Upgrade path, compatibility, customization risk and effort estimate before implementation.' | ||
| 51 | },{ | ||
| 52 | 'service': 'XWiki Authentication Review', | ||
| 53 | 'price': '€290', | ||
| 54 | 'description': 'Review of login flow, user provisioning, groups, access control and authentication options.' | ||
| 55 | },{ | ||
| 56 | 'service': 'Urgent XWiki Troubleshooting', | ||
| 57 | 'price': 'From €250', | ||
| 58 | 'description': 'Live troubleshooting for blocking issues, errors, failed upgrades or production problems.' | ||
| 59 | },{ | ||
| 60 | 'service': 'Standard XWiki LTS Upgrade', | ||
| 61 | 'price': 'From €790', | ||
| 62 | 'description': 'Upgrade preparation, execution, basic compatibility checks and post-upgrade validation.' | ||
| 63 | },{ | ||
| 64 | 'service': 'XWiki MFA Installation & Configuration', | ||
| 65 | 'price': 'From €490', | ||
| 66 | 'description': 'MFA installation for the standard XWiki login flow. In SSO environments, MFA may be better enforced by the identity provider.' | ||
| 67 | },{ | ||
| 68 | 'service': 'OIDC / Microsoft Entra ID Setup', | ||
| 69 | 'price': 'From €590', | ||
| 70 | 'description': 'OpenID Connect setup, user mapping considerations, group and access-control review, and validation.' | ||
| 71 | },{ | ||
| 72 | 'service': 'LDAP / Active Directory Review', | ||
| 73 | 'price': 'From €390', | ||
| 74 | 'description': 'LDAP or Active Directory configuration review, profile mapping and group mapping recommendations.' | ||
| 75 | },{ | ||
| 76 | 'service': 'Access Control Review', | ||
| 77 | 'price': 'From €390', | ||
| 78 | 'description': 'Review of groups, permissions, public/internal/restricted areas and subwiki access model.' | ||
| 79 | },{ | ||
| 80 | 'service': 'Advanced Authentication Work', | ||
| 81 | 'price': 'Quoted after review', | ||
| 82 | 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.' | ||
| 83 | }]) | ||
| 84 | |||
| 85 | #set ($supportPlans = [{ | ||
| 86 | 'icon': 'leaf', | ||
| 87 | 'title': 'Essential Support', | ||
| 88 | 'price': '€390/month', | ||
| 89 | 'description': 'For small teams that need occasional XWiki help.', | ||
| 90 | 'items': [ | ||
| 91 | 'Up to 4 hours/month', | ||
| 92 | 'Email support', | ||
| 93 | 'Small configuration fixes', | ||
| 94 | 'Upgrade and security guidance' | ||
| 95 | ], | ||
| 96 | 'cta': 'Request support plan' | ||
| 97 | },{ | ||
| 98 | 'icon': 'check-circle', | ||
| 99 | 'title': 'Standard Support', | ||
| 100 | 'price': '€790/month', | ||
| 101 | 'description': 'For active XWiki environments that need regular support and maintenance.', | ||
| 102 | 'items': [ | ||
| 103 | 'Up to 8 hours/month', | ||
| 104 | 'Prioritized support', | ||
| 105 | 'Troubleshooting', | ||
| 106 | 'Minor improvements', | ||
| 107 | 'Maintenance guidance' | ||
| 108 | ], | ||
| 109 | 'cta': 'Request standard support' | ||
| 110 | },{ | ||
| 111 | 'icon': 'building', | ||
| 112 | 'title': 'Extended Support', | ||
| 113 | 'price': 'From €1,490/month', | ||
| 114 | 'description': 'For business-critical XWiki platforms or organizations with ongoing XWiki work.', | ||
| 115 | 'items': [ | ||
| 116 | 'Larger monthly allocation', | ||
| 117 | 'Prioritized handling', | ||
| 118 | 'Upgrade planning', | ||
| 119 | 'Authentication and extension support', | ||
| 120 | 'Roadmap and stability guidance' | ||
| 121 | ], | ||
| 122 | 'cta': 'Discuss extended support' | ||
| 123 | }]) | ||
| 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 | |||
| 143 | #set ($faqItems = [{ | ||
| 144 | 'question': 'Are these fixed prices?', | ||
| 145 | '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 | },{ | ||
| 147 | 'question': 'Do you charge hourly?', | ||
| 148 | '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.' | ||
| 149 | },{ | ||
| 150 | 'question': 'Can you work on existing XWiki installations?', | ||
| 151 | 'answer': 'Yes. Agnease works with existing XWiki instances, including upgrades, troubleshooting, authentication, customizations, extensions and long-term maintenance.' | ||
| 152 | },{ | ||
| 153 | 'question': 'What happens if my XWiki instance is more complex?', | ||
| 154 | 'answer': 'Agnease first reviews the current setup, identifies risks and dependencies, and then provides a quote based on the actual scope.' | ||
| 155 | },{ | ||
| 156 | 'question': 'Can I book a call directly?', | ||
| 157 | 'answer': 'Yes. The contact form includes a call booking option, but sending a short description first helps Agnease understand the context before the discussion.' | ||
| 158 | },{ | ||
| 159 | 'question': 'Do prices include external costs?', | ||
| 160 | 'answer': 'The prices on this page cover Agnease services. External hosting, infrastructure or third-party costs are discussed separately when relevant.' | ||
| 161 | }]) | ||
| 162 | |||
| 163 | {{html clean="false"}} | ||
| 164 | |||
| 165 | <section class="hero hero-centered" aria-labelledby="pricing-title"> | ||
| 166 | <div class="container"> | ||
| 167 | <div class="hero-inner"> | ||
| 168 | <div class="hero-kicker"> | ||
| 169 | <i class="fa fa-eur" aria-hidden="true"></i> | ||
| 170 | XWiki consulting, support and implementation | ||
| 171 | </div> | ||
| 172 | |||
| 173 | <h1 id="pricing-title">XWiki Service Packages</h1> | ||
| 174 | |||
| 175 | <p class="lead"> | ||
| 176 | Clear starting points for XWiki upgrades, authentication, troubleshooting and long-term support. | ||
| 177 | </p> | ||
| 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> | ||
| 188 | </div> | ||
| 189 | </div> | ||
| 190 | </section> | ||
| 191 | |||
| 192 | <section id="starting-points" aria-labelledby="starting-points-title"> | ||
| 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> | ||
| 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> | ||
| 209 | |||
| 210 | <p><strong>$entry.price</strong></p> | ||
| 211 | <p>$entry.description</p> | ||
| 212 | |||
| 213 | <ul> | ||
| 214 | #foreach ($item in $entry.items) | ||
| 215 | <li>$item</li> | ||
| 216 | #end | ||
| 217 | </ul> | ||
| 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> | ||
| 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> | ||
| 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> | ||
| 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> | ||
| 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> | ||
| 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> | ||
| 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> | ||
| 300 | |||
| 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> | ||
| 307 | #end | ||
| 308 | </ul> | ||
| 309 | |||
| 310 | <div class="card-link"> | ||
| 311 | <a href="$contactURL">$entry.cta</a> | ||
| 312 | </div> | ||
| 313 | </article> | ||
| 314 | #end | ||
| 315 | </div> | ||
| 316 | |||
| 317 | <p class="section-intro"> | ||
| 318 | Larger features, migrations, major customizations and complex projects are quoted separately. | ||
| 319 | </p> | ||
| 320 | </div> | ||
| 321 | </section> | ||
| 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> | ||
| 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> | ||
| 340 | </div> | ||
| 341 | #end | ||
| 342 | </div> | ||
| 343 | |||
| 344 | <div id="hero-cta"> | ||
| 345 | <a class="btn btn-primary" href="$contactURL">Request a project quote</a> | ||
| 346 | </div> | ||
| 347 | </div> | ||
| 348 | </section> | ||
| 349 | |||
| 350 | <section id="faq" aria-labelledby="faq-title"> | ||
| 351 | <div class="container"> | ||
| 352 | <h2 id="faq-title">FAQ</h2> | ||
| 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 | ||
| 360 | </div> | ||
| 361 | </section> | ||
| 362 | |||
| 363 | <section class="cta-section" aria-labelledby="pricing-final-cta-title"> | ||
| 364 | <div class="container"> | ||
| 365 | <div class="cta-panel"> | ||
| 366 | <h2 id="pricing-final-cta-title">Not sure which option fits your XWiki instance?</h2> | ||
| 367 | <p> | ||
| 368 | Send a short description of your XWiki environment and what you are trying to achieve. | ||
| 369 | Agnease will help identify the right starting point. | ||
| 370 | </p> | ||
| 371 | <a class="btn btn-primary" href="$contactURL">Contact Agnease</a> | ||
| 372 | </div> | ||
| 373 | </div> | ||
| 374 | </section> | ||
| 375 | |||
| 376 | <script type="application/ld+json"> | ||
| 377 | { | ||
| 378 | "@context": "https://schema.org", | ||
| 379 | "@type": "Service", | ||
| 380 | "name": "XWiki Service Packages", | ||
| 381 | "provider": { | ||
| 382 | "@type": "Organization", | ||
| 383 | "name": "Agnease", | ||
| 384 | "url": "https://agnease.com/" | ||
| 385 | }, | ||
| 386 | "serviceType": "XWiki consulting, support, upgrades, authentication and maintenance", | ||
| 387 | "areaServed": "International", | ||
| 388 | "description": "XWiki service packages for upgrades, support, authentication, troubleshooting, maintenance and implementation." | ||
| 389 | } | ||
| 390 | </script> | ||
| 391 | |||
| 392 | {{/html}} | ||
| 393 | {{/velocity}} |