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