Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{velocity}} | ||
| 2 | #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) | ||
| 3 | |||
| 4 | #set ($contactURL = $xwiki.getURL('contact.WebHome')) | ||
| 5 | |||
| 6 | #set ($startingPoints = [{ | ||
| 7 | 'icon': 'search', | ||
| 8 | 'title': 'Review & diagnose', | ||
| 9 | 'price': 'From €290', | ||
| 10 | 'description': 'For teams that need to understand risks, issues or the current state before making changes.', | ||
| 11 | 'items': [ | ||
| 12 | 'XWiki Health Check', | ||
| 13 | 'Upgrade Readiness Review', | ||
| 14 | 'Authentication Review', | ||
| 15 | 'Urgent Troubleshooting' | ||
| 16 | ], | ||
| 17 | 'cta': 'Start with a review' | ||
| 18 | },{ | ||
| 19 | 'icon': 'cogs', | ||
| 20 | 'title': 'Implement & configure', | ||
| 21 | 'price': 'From €490', | ||
| 22 | 'description': 'For teams ready to make a specific XWiki change, upgrade or authentication improvement.', | ||
| 23 | 'items': [ | ||
| 24 | 'Standard XWiki LTS Upgrade', | ||
| 25 | 'MFA Installation', | ||
| 26 | 'OIDC / Microsoft Entra ID Setup', | ||
| 27 | 'LDAP / Active Directory work' | ||
| 28 | ], | ||
| 29 | 'cta': 'Request implementation quote' | ||
| 30 | },{ | ||
| 31 | 'icon': 'life-ring', | ||
| 32 | 'title': 'Maintain & support', | ||
| 33 | 'price': 'From €390/month', | ||
| 34 | 'description': 'For organizations that need regular XWiki help, troubleshooting, maintenance and planning.', | ||
| 35 | 'items': [ | ||
| 36 | 'Monthly support', | ||
| 37 | 'Troubleshooting', | ||
| 38 | 'Maintenance guidance', | ||
| 39 | 'Upgrade planning' | ||
| 40 | ], | ||
| 41 | 'cta': 'Discuss support plan' | ||
| 42 | }]) | ||
| 43 | |||
| 44 | #set ($commonPackages = [{ | ||
| 45 | 'service': 'XWiki Health Check', | ||
| 46 | 'price': '€390', | ||
| 47 | 'description': 'Configuration, version, extension, security and stability review with written recommendations.' | ||
| 48 | },{ | ||
| 49 | 'service': 'Upgrade Readiness Review', | ||
| 50 | 'price': '€390', | ||
| 51 | 'description': 'Upgrade path, compatibility, customization risk and effort estimate before implementation.' | ||
| 52 | },{ | ||
| 53 | 'service': 'XWiki Authentication Review', | ||
| 54 | 'price': '€290', | ||
| 55 | 'description': 'Review of login flow, user provisioning, groups, access control and authentication options.' | ||
| 56 | },{ | ||
| 57 | 'service': 'Urgent XWiki Troubleshooting', | ||
| 58 | 'price': 'From €250', | ||
| 59 | 'description': 'Live troubleshooting session for blocking issues, errors, failed upgrades or production problems.' | ||
| 60 | },{ | ||
| 61 | 'service': 'Standard XWiki LTS Upgrade', | ||
| 62 | 'price': 'From €790', | ||
| 63 | 'description': 'Upgrade preparation, execution, basic compatibility checks and post-upgrade validation.' | ||
| 64 | },{ | ||
| 65 | 'service': 'XWiki MFA Installation & Configuration', | ||
| 66 | 'price': 'From €490', | ||
| 67 | 'description': 'MFA installation, login flow integration, basic configuration, testing and administrator guidance.' | ||
| 68 | },{ | ||
| 69 | 'service': 'OIDC / Microsoft Entra ID Setup', | ||
| 70 | 'price': 'From €590', | ||
| 71 | 'description': 'OpenID Connect setup, user mapping considerations, group and access-control review, and validation.' | ||
| 72 | },{ | ||
| 73 | 'service': 'LDAP / Active Directory Review', | ||
| 74 | 'price': 'From €390', | ||
| 75 | 'description': 'LDAP or Active Directory configuration review, profile mapping and group mapping recommendations.' | ||
| 76 | },{ | ||
| 77 | 'service': 'Access Control Review', | ||
| 78 | 'price': 'From €390', | ||
| 79 | 'description': 'Review of groups, permissions, public/internal/restricted areas and subwiki access model.' | ||
| 80 | },{ | ||
| 81 | 'service': 'Advanced Authentication Work', | ||
| 82 | 'price': 'Quoted after review', | ||
| 83 | 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.' | ||
| 84 | }]) | ||
| 85 | |||
| 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 | |||
| 108 | #set ($supportPlans = [{ | ||
| 109 | 'icon': 'leaf', | ||
| 110 | 'title': 'Essential Support', | ||
| 111 | 'price': '€390/month', | ||
| 112 | 'description': 'For small teams that need occasional XWiki help.', | ||
| 113 | 'items': [ | ||
| 114 | 'Up to 4 hours/month', | ||
| 115 | 'Email support', | ||
| 116 | 'Small configuration fixes', | ||
| 117 | 'Upgrade and security guidance' | ||
| 118 | ], | ||
| 119 | 'cta': 'Request support plan' | ||
| 120 | },{ | ||
| 121 | 'icon': 'check-circle', | ||
| 122 | 'title': 'Standard Support', | ||
| 123 | 'price': '€790/month', | ||
| 124 | 'description': 'For active XWiki environments that need regular support and maintenance.', | ||
| 125 | 'items': [ | ||
| 126 | 'Up to 8 hours/month', | ||
| 127 | 'Prioritized support', | ||
| 128 | 'Troubleshooting', | ||
| 129 | 'Minor improvements', | ||
| 130 | 'Maintenance guidance' | ||
| 131 | ], | ||
| 132 | 'cta': 'Request standard support' | ||
| 133 | },{ | ||
| 134 | 'icon': 'building', | ||
| 135 | 'title': 'Extended Support', | ||
| 136 | 'price': 'From €1,490/month', | ||
| 137 | 'description': 'For business-critical XWiki platforms or organizations with ongoing XWiki work.', | ||
| 138 | 'items': [ | ||
| 139 | 'Larger monthly allocation', | ||
| 140 | 'Prioritized handling', | ||
| 141 | 'Upgrade planning', | ||
| 142 | 'Authentication and extension support', | ||
| 143 | 'Roadmap and stability guidance' | ||
| 144 | ], | ||
| 145 | 'cta': 'Discuss extended support' | ||
| 146 | }]) | ||
| 147 | |||
| 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 | ]) | ||
| 157 | |||
| 158 | #set ($faqItems = [{ | ||
| 159 | 'question': 'Are these fixed prices?', | ||
| 160 | '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.' | ||
| 161 | },{ | ||
| 162 | 'question': 'Do you charge hourly?', | ||
| 163 | '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.' | ||
| 164 | },{ | ||
| 165 | 'question': 'Can you work on existing XWiki installations?', | ||
| 166 | 'answer': 'Yes. Agnease works with existing XWiki instances, including upgrades, troubleshooting, authentication, customizations, extensions and long-term maintenance.' | ||
| 167 | },{ | ||
| 168 | 'question': 'What happens if my XWiki instance is more complex?', | ||
| 169 | 'answer': 'Agnease first reviews the current setup, identifies risks and dependencies, and then provides a quote based on the actual scope.' | ||
| 170 | },{ | ||
| 171 | 'question': 'Can I book a call directly?', | ||
| 172 | 'answer': 'Yes. The contact form includes a call booking option, but sending a short description first helps Agnease understand the context before the discussion.' | ||
| 173 | },{ | ||
| 174 | 'question': 'Do prices include external costs?', | ||
| 175 | 'answer': 'The prices on this page cover Agnease services. External hosting, infrastructure or third-party costs are discussed separately when relevant.' | ||
| 176 | }]) | ||
| 177 | |||
| 178 | {{html clean="false"}} | ||
| 179 | |||
| 180 | <section class="resource-header" aria-labelledby="hero-title"> | ||
| 181 | <div class="container"> | ||
| 182 | <div class="text-center"> | ||
| 183 | <div class="hero-kicker"> | ||
| 184 | <i class="fa fa-eur" aria-hidden="true"></i> | ||
| 185 | XWiki consulting, support and implementation | ||
| 186 | </div> | ||
| 187 | </div> | ||
| 188 | |||
| 189 | <h1 id="hero-title">XWiki Service Packages</h1> | ||
| 190 | |||
| 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> | ||
| 195 | |||
| 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> | ||
| 199 | </div> | ||
| 200 | </div> | ||
| 201 | </section> | ||
| 202 | |||
| 203 | <section class="resource-page"> | ||
| 204 | <div class="container"> | ||
| 205 | <div class="resource-layout"> | ||
| 206 | <article class="resource-content services"> | ||
| 207 | |||
| 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> | ||
| 215 | |||
| 216 | <h2 id="starting-points">Choose your starting point</h2> | ||
| 217 | |||
| 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> | ||
| 223 | |||
| 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> | ||
| 244 | |||
| 245 | <h2 id="common-packages">Common starting packages</h2> | ||
| 246 | |||
| 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> | ||
| 251 | |||
| 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> | ||
| 270 | |||
| 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> | ||
| 277 | |||
| 278 | <h2 id="authentication">Authentication & access control</h2> | ||
| 279 | |||
| 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> | ||
| 286 | |||
| 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> | ||
| 294 | |||
| 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> | ||
| 310 | #end | ||
| 311 | </tbody> | ||
| 312 | </table> | ||
| 313 | |||
| 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> | ||
| 322 | |||
| 323 | <h2 id="support">Monthly support plans</h2> | ||
| 324 | |||
| 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> | ||
| 329 | |||
| 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 | ||
| 349 | </div> | ||
| 350 | |||
| 351 | <div class="resource-note"> | ||
| 352 | <p> | ||
| 353 | Larger features, migrations, major customizations and complex projects are quoted separately. | ||
| 354 | </p> | ||
| 355 | </div> | ||
| 356 | |||
| 357 | <h2 id="complex-projects">Need something more complex?</h2> | ||
| 358 | |||
| 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> | ||
| 391 | </div> | ||
| 392 | </section> | ||
| 393 | |||
| 394 | <section class="cta-section" aria-labelledby="pricing-final-cta-title"> | ||
| 395 | <div class="container"> | ||
| 396 | <div class="cta-panel"> | ||
| 397 | <h2 id="pricing-final-cta-title">Not sure which option fits your XWiki instance?</h2> | ||
| 398 | <p> | ||
| 399 | Send a short description of your XWiki environment and what you are trying to achieve. | ||
| 400 | Agnease will help identify the right starting point. | ||
| 401 | </p> | ||
| 402 | <a class="btn btn-primary" href="$contactURL">Contact Agnease</a> | ||
| 403 | </div> | ||
| 404 | </div> | ||
| 405 | </section> | ||
| 406 | |||
| 407 | <script type="application/ld+json"> | ||
| 408 | { | ||
| 409 | "@context": "https://schema.org", | ||
| 410 | "@type": "Service", | ||
| 411 | "name": "XWiki Service Packages", | ||
| 412 | "provider": { | ||
| 413 | "@type": "Organization", | ||
| 414 | "name": "Agnease", | ||
| 415 | "url": "https://agnease.com/" | ||
| 416 | }, | ||
| 417 | "serviceType": "XWiki consulting, support, upgrades, authentication and maintenance", | ||
| 418 | "areaServed": "International", | ||
| 419 | "description": "XWiki service packages for upgrades, support, authentication, troubleshooting, maintenance and implementation." | ||
| 420 | } | ||
| 421 | </script> | ||
| 422 | |||
| 423 | {{/html}} | ||
| 424 | {{/velocity}} |