| ... |
... |
@@ -1,34 +1,27 @@ |
| 1 |
1 |
{{velocity}} |
| 2 |
2 |
#set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) |
| 3 |
3 |
#set ($contactURL = $xwiki.getURL('contact.WebHome')) |
| 4 |
|
-#set ($upgradeURL = $xwiki.getURL('services.xwiki-upgrades')) |
| 5 |
|
-#set ($maintenanceURL = $xwiki.getURL('services.xwiki-maintenance-support')) |
| 6 |
|
-#set ($authURL = $xwiki.getURL('services.xwiki-authentication-access-control')) |
| 7 |
|
-#set ($mfaURL = $xwiki.getURL('products.xwiki-two-factor-authentication')) |
| 8 |
|
-#set ($securityURL = $xwiki.getURL('services.xwiki-security-review')) |
| 9 |
|
-#set ($migrationURL = $xwiki.getURL('services.xwiki-migrations')) |
| 10 |
|
-#set ($developmentURL = $xwiki.getURL('services.xwiki-development-integrations')) |
| 11 |
11 |
#set ($startingPoints = [{ |
| 12 |
12 |
'icon': 'search', |
| 13 |
13 |
'title': 'Review & diagnose', |
| 14 |
14 |
'price': 'From €290', |
| 15 |
|
- 'description': 'For teams that need to understand risks, issues or the current XWiki state before making changes.', |
|
8 |
+ 'description': 'For teams that need to understand risks, issues or the current state before making changes.', |
| 16 |
16 |
'items': [ |
| 17 |
|
- 'Health checks', |
| 18 |
|
- 'Upgrade readiness reviews', |
| 19 |
|
- 'Authentication reviews', |
| 20 |
|
- 'Urgent troubleshooting' |
|
10 |
+ 'XWiki Health Check', |
|
11 |
+ 'Upgrade Readiness Review', |
|
12 |
+ 'Authentication Review', |
|
13 |
+ 'Urgent Troubleshooting' |
| 21 |
21 |
], |
| 22 |
22 |
'cta': 'Start with a review' |
| 23 |
23 |
},{ |
| 24 |
24 |
'icon': 'cogs', |
| 25 |
|
- 'title': 'Implement changes', |
|
18 |
+ 'title': 'Implement & configure', |
| 26 |
26 |
'price': 'From €490', |
| 27 |
27 |
'description': 'For teams ready to make a specific XWiki change, upgrade or authentication improvement.', |
| 28 |
28 |
'items': [ |
| 29 |
|
- 'XWiki LTS upgrades', |
| 30 |
|
- 'MFA installation', |
| 31 |
|
- 'OIDC / Entra ID setup', |
|
22 |
+ 'Standard XWiki LTS Upgrade', |
|
23 |
+ 'MFA Installation', |
|
24 |
+ 'OIDC / Microsoft Entra ID Setup', |
| 32 |
32 |
'LDAP / Active Directory work' |
| 33 |
33 |
], |
| 34 |
34 |
'cta': 'Request implementation quote' |
| ... |
... |
@@ -48,75 +48,54 @@ |
| 48 |
48 |
#set ($commonPackages = [{ |
| 49 |
49 |
'service': 'XWiki Health Check', |
| 50 |
50 |
'price': '€390', |
| 51 |
|
- 'description': 'Configuration, version, extension, security and stability review with written recommendations.', |
| 52 |
|
- 'url': $securityURL |
|
44 |
+ 'description': 'Configuration, version, extension, security and stability review with written recommendations.' |
| 53 |
53 |
},{ |
| 54 |
54 |
'service': 'Upgrade Readiness Review', |
| 55 |
55 |
'price': '€390', |
| 56 |
|
- 'description': 'Upgrade path, compatibility risks, customizations and effort estimate before implementation.', |
| 57 |
|
- 'url': $upgradeURL |
|
48 |
+ 'description': 'Upgrade path, compatibility, customization risk and effort estimate before implementation.' |
| 58 |
58 |
},{ |
| 59 |
59 |
'service': 'XWiki Authentication Review', |
| 60 |
60 |
'price': '€290', |
| 61 |
|
- 'description': 'Review of login flow, users, groups, access control and authentication options.', |
| 62 |
|
- 'url': $authURL |
|
52 |
+ 'description': 'Review of login flow, user provisioning, groups, access control and authentication options.' |
| 63 |
63 |
},{ |
| 64 |
64 |
'service': 'Urgent XWiki Troubleshooting', |
| 65 |
|
- 'price': 'From €250/session', |
| 66 |
|
- 'description': 'Live troubleshooting for blocking issues, errors, failed upgrades or production problems.', |
| 67 |
|
- 'url': $maintenanceURL |
|
55 |
+ 'price': 'From €250', |
|
56 |
+ 'description': 'Live troubleshooting session for blocking issues, errors, failed upgrades or production problems.' |
| 68 |
68 |
},{ |
| 69 |
69 |
'service': 'Standard XWiki LTS Upgrade', |
| 70 |
70 |
'price': 'From €790', |
| 71 |
|
- 'description': 'Upgrade preparation, execution, compatibility checks and post-upgrade validation.', |
| 72 |
|
- 'url': $upgradeURL |
|
60 |
+ 'description': 'Upgrade preparation, execution, basic compatibility checks and post-upgrade validation.' |
| 73 |
73 |
},{ |
| 74 |
74 |
'service': 'XWiki MFA Installation & Configuration', |
| 75 |
75 |
'price': 'From €490', |
| 76 |
|
- 'description': 'MFA setup for the standard XWiki login flow, with configuration, testing and guidance.', |
| 77 |
|
- 'url': $mfaURL |
|
64 |
+ 'description': 'MFA installation, login flow integration, basic configuration, testing and administrator guidance.' |
| 78 |
78 |
},{ |
| 79 |
79 |
'service': 'OIDC / Microsoft Entra ID Setup', |
| 80 |
80 |
'price': 'From €590', |
| 81 |
|
- 'description': 'OpenID Connect setup, user mapping considerations, access review and validation.', |
| 82 |
|
- 'url': $authURL |
|
68 |
+ 'description': 'OpenID Connect setup, user mapping considerations, group and access-control review, and validation.' |
| 83 |
83 |
},{ |
| 84 |
84 |
'service': 'LDAP / Active Directory Review', |
| 85 |
85 |
'price': 'From €390', |
| 86 |
|
- 'description': 'LDAP or Active Directory configuration review, profile mapping and group mapping recommendations.', |
| 87 |
|
- 'url': $authURL |
|
72 |
+ 'description': 'LDAP or Active Directory configuration review, profile mapping and group mapping recommendations.' |
| 88 |
88 |
},{ |
| 89 |
89 |
'service': 'Access Control Review', |
| 90 |
90 |
'price': 'From €390', |
| 91 |
|
- 'description': 'Review of groups, permissions, restricted areas, public access and subwiki access model.', |
| 92 |
|
- 'url': $authURL |
|
76 |
+ 'description': 'Review of groups, permissions, public/internal/restricted areas and subwiki access model.' |
| 93 |
93 |
},{ |
| 94 |
94 |
'service': 'Advanced Authentication Work', |
| 95 |
|
- 'price': 'Quoted', |
| 96 |
|
- 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.', |
| 97 |
|
- 'url': $authURL |
| 98 |
|
-},{ |
| 99 |
|
- 'service': 'AWS Hosting Setup for XWiki', |
| 100 |
|
- 'price': 'From €490', |
| 101 |
|
- 'description': 'Initial AWS deployment setup, including server preparation, HTTPS and basic backup strategy.', |
| 102 |
|
- 'url': $maintenanceURL |
| 103 |
|
-},{ |
| 104 |
|
- 'service': 'XWiki AWS Cloud Hosting', |
| 105 |
|
- 'price': 'From €49/month', |
| 106 |
|
- 'description': 'Minimal single-instance AWS hosting for small XWiki environments, using EC2, Nginx, Docker, XWiki, database container, Let’s Encrypt SSL, instance storage and basic snapshots.', |
| 107 |
|
- 'url': $maintenanceURL |
|
79 |
+ 'price': 'Quoted after review', |
|
80 |
+ 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.' |
| 108 |
108 |
}]) |
| 109 |
109 |
#set ($supportPlans = [{ |
| 110 |
110 |
'icon': 'leaf', |
| 111 |
111 |
'title': 'Essential Support', |
| 112 |
112 |
'price': '€390/month', |
| 113 |
|
- 'description': 'For small teams that need occasional XWiki help at a predictable monthly cost.', |
|
86 |
+ 'description': 'For small teams that need occasional XWiki help.', |
| 114 |
114 |
'items': [ |
| 115 |
|
- 'Up to 1 support day/month', |
|
88 |
+ 'Up to 4 hours/month', |
| 116 |
116 |
'Email support', |
| 117 |
|
- 'Troubleshooting and guidance', |
| 118 |
118 |
'Small configuration fixes', |
| 119 |
|
- 'Upgrade and security recommendations' |
|
91 |
+ 'Upgrade and security guidance' |
| 120 |
120 |
], |
| 121 |
121 |
'cta': 'Request support plan' |
| 122 |
122 |
},{ |
| ... |
... |
@@ -123,14 +123,13 @@ |
| 123 |
123 |
'icon': 'check-circle', |
| 124 |
124 |
'title': 'Standard Support', |
| 125 |
125 |
'price': '€790/month', |
| 126 |
|
- 'description': 'For active XWiki environments that need regular support, maintenance and small improvements.', |
|
98 |
+ 'description': 'For active XWiki environments that need regular support and maintenance.', |
| 127 |
127 |
'items': [ |
| 128 |
|
- 'Up to 2 support days/month', |
|
100 |
+ 'Up to 8 hours/month', |
| 129 |
129 |
'Prioritized support', |
| 130 |
130 |
'Troubleshooting', |
| 131 |
131 |
'Minor improvements', |
| 132 |
|
- 'Maintenance guidance', |
| 133 |
|
- 'Upgrade planning' |
|
104 |
+ 'Maintenance guidance' |
| 134 |
134 |
], |
| 135 |
135 |
'cta': 'Request standard support' |
| 136 |
136 |
},{ |
| ... |
... |
@@ -139,7 +139,7 @@ |
| 139 |
139 |
'price': 'From €1,490/month', |
| 140 |
140 |
'description': 'For business-critical XWiki platforms or organizations with ongoing XWiki work.', |
| 141 |
141 |
'items': [ |
| 142 |
|
- 'Larger monthly support allocation', |
|
113 |
+ 'Larger monthly allocation', |
| 143 |
143 |
'Prioritized handling', |
| 144 |
144 |
'Upgrade planning', |
| 145 |
145 |
'Authentication and extension support', |
| ... |
... |
@@ -147,27 +147,15 @@ |
| 147 |
147 |
], |
| 148 |
148 |
'cta': 'Discuss extended support' |
| 149 |
149 |
}]) |
| 150 |
|
-#set ($complexProjects = [{ |
| 151 |
|
- 'icon': 'sitemap', |
| 152 |
|
- 'title': 'Wiki farms', |
| 153 |
|
- 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.', |
| 154 |
|
- 'url': $authURL |
| 155 |
|
-},{ |
| 156 |
|
- 'icon': 'exchange', |
| 157 |
|
- 'title': 'Migrations', |
| 158 |
|
- 'content': 'Content, platform or documentation migrations into a cleaner XWiki structure.', |
| 159 |
|
- 'url': $migrationURL |
| 160 |
|
-},{ |
| 161 |
|
- 'icon': 'puzzle-piece', |
| 162 |
|
- 'title': 'Custom applications', |
| 163 |
|
- 'content': 'Workflow applications, structured data, dashboards and internal business tools.', |
| 164 |
|
- 'url': $developmentURL |
| 165 |
|
-},{ |
| 166 |
|
- 'icon': 'tachometer', |
| 167 |
|
- 'title': 'Stability work', |
| 168 |
|
- 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.', |
| 169 |
|
- 'url': $maintenanceURL |
| 170 |
|
-}]) |
|
121 |
+#set ($complexProjects = [ |
|
122 |
+ 'Wiki farm restructuring', |
|
123 |
+ 'Major XWiki LTS upgrades', |
|
124 |
+ 'Microsoft Entra ID, OIDC, LDAP or SAML integrations', |
|
125 |
+ 'Custom workflow applications', |
|
126 |
+ 'Intranet and knowledge platform development', |
|
127 |
+ 'Performance and stability improvements', |
|
128 |
+ 'Content and platform migrations' |
|
129 |
+]) |
| 171 |
171 |
#set ($faqItems = [{ |
| 172 |
172 |
'question': 'Are these fixed prices?', |
| 173 |
173 |
'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.' |
| ... |
... |
@@ -189,224 +189,172 @@ |
| 189 |
189 |
}]) |
| 190 |
190 |
{{html clean="false"}} |
| 191 |
191 |
|
| 192 |
|
-<section class="hero hero-centered" aria-labelledby="pricing-title"> |
|
151 |
+<section class="resource-header" aria-labelledby="hero-title"> |
| 193 |
193 |
<div class="container"> |
| 194 |
|
- <div class="hero-inner"> |
|
153 |
+ <div class="text-center"> |
| 195 |
195 |
<div class="hero-kicker"> |
| 196 |
196 |
<i class="fa fa-eur" aria-hidden="true"></i> |
| 197 |
197 |
XWiki consulting, support and implementation |
| 198 |
198 |
</div> |
|
158 |
+ </div> |
| 199 |
199 |
|
| 200 |
|
- <h1 id="pricing-title">XWiki Service Packages</h1> |
|
160 |
+ <h1 id="hero-title">XWiki Service Packages</h1> |
| 201 |
201 |
|
| 202 |
|
- <p class="lead"> |
| 203 |
|
- Clear starting points for independent XWiki consulting, upgrades, authentication configuration, |
| 204 |
|
- AWS hosting setup, troubleshooting and long-term maintenance. |
| 205 |
|
- </p> |
|
162 |
+ <p class="lead"> |
|
163 |
+ Clear starting points for XWiki upgrades, authentication, troubleshooting and long-term support.<br/> |
|
164 |
+ Start with a review, request an implementation quote, or choose a support plan for ongoing XWiki help. |
|
165 |
+ </p> |
| 206 |
206 |
|
| 207 |
|
- <ul class="benefits"> |
| 208 |
|
- <li>Specialized XWiki consulting</li> |
| 209 |
|
- <li>Practical starting prices</li> |
| 210 |
|
- <li>Fixed quotes for complex work</li> |
| 211 |
|
- </ul> |
| 212 |
|
- |
| 213 |
|
- <div class="hero-actions"> |
| 214 |
|
- <a class="btn btn-primary" href="$contactURL">Request a quote</a> |
| 215 |
|
- <a class="btn btn-secondary" href="#support">View monthly support</a> |
| 216 |
|
- </div> |
|
167 |
+ <div id="hero-cta"> |
|
168 |
+ <a class="btn btn-primary" href="$contactURL">Request a quote</a> |
|
169 |
+ <a class="btn btn-secondary" href="#starting-points">Compare starting points</a> |
| 217 |
217 |
</div> |
| 218 |
218 |
</div> |
| 219 |
219 |
</section> |
| 220 |
220 |
|
| 221 |
|
-<section id="starting-points" aria-labelledby="starting-points-title"> |
|
174 |
+<section class="resource-page"> |
| 222 |
222 |
<div class="container"> |
| 223 |
|
- <h2 id="starting-points-title">Three common ways to start</h2> |
| 224 |
|
- <p class="section-intro"> |
| 225 |
|
- Agnease provides independent XWiki consulting, upgrade support, authentication configuration, |
| 226 |
|
- AWS hosting setup, troubleshooting and long-term maintenance for existing XWiki installations. |
| 227 |
|
- Most requests begin by reviewing the current setup, implementing a defined change, or setting up regular support. |
| 228 |
|
- </p> |
|
176 |
+ <div class="resource-layout"> |
|
177 |
+ <article class="resource-content services"> |
| 229 |
229 |
|
| 230 |
|
- <div class="pathways"> |
| 231 |
|
- #foreach ($entry in $startingPoints) |
| 232 |
|
- <article class="pathway-card"> |
| 233 |
|
- <div class="card-heading"> |
| 234 |
|
- <div class="pathway-icon" aria-hidden="true"> |
| 235 |
|
- <i class="fa fa-$entry.icon"></i> |
| 236 |
|
- </div> |
| 237 |
|
- <h3>$entry.title</h3> |
| 238 |
|
- </div> |
|
179 |
+ <div class="resource-note"> |
|
180 |
+ <p> |
|
181 |
+ <strong>Pricing note:</strong> Prices are starting points and exclude VAT where applicable. |
|
182 |
+ Final pricing depends on the XWiki version, installed extensions, customizations, hosting setup, |
|
183 |
+ authentication configuration, wiki farm complexity and required testing. |
|
184 |
+ </p> |
|
185 |
+ </div> |
| 239 |
239 |
|
| 240 |
|
- <p><strong>$entry.price</strong></p> |
| 241 |
|
- <p>$entry.description</p> |
|
187 |
+ <h2 id="starting-points">Choose your starting point</h2> |
| 242 |
242 |
|
| 243 |
|
- <ul> |
| 244 |
|
- #foreach ($item in $entry.items) |
| 245 |
|
- <li>$item</li> |
| 246 |
|
- #end |
| 247 |
|
- </ul> |
|
189 |
+ <p> |
|
190 |
+ Most XWiki requests fit into one of three paths: review the current setup, implement a defined change, |
|
191 |
+ or set up ongoing support. This keeps the first step clear without pretending that every XWiki environment |
|
192 |
+ has the same complexity. |
|
193 |
+ </p> |
| 248 |
248 |
|
| 249 |
|
- <div class="card-link"> |
| 250 |
|
- <a href="$contactURL">$entry.cta</a> |
| 251 |
|
- </div> |
| 252 |
|
- </article> |
| 253 |
|
- #end |
| 254 |
|
- </div> |
| 255 |
|
- </div> |
| 256 |
|
-</section> |
|
195 |
+ <div class="services-grid"> |
|
196 |
+ #foreach ($entry in $startingPoints) |
|
197 |
+ <article class="service"> |
|
198 |
+ <div class="service-icon" aria-hidden="true"> |
|
199 |
+ <i class="fa fa-$entry.icon"></i> |
|
200 |
+ </div> |
|
201 |
+ <div class="service-body"> |
|
202 |
+ <h4>$entry.title</h4> |
|
203 |
+ <p><strong>$entry.price</strong></p> |
|
204 |
+ <p>$entry.description</p> |
|
205 |
+ <ul> |
|
206 |
+ #foreach ($item in $entry.items) |
|
207 |
+ <li>$item</li> |
|
208 |
+ #end |
|
209 |
+ </ul> |
|
210 |
+ <p><a class="btn btn-primary" href="$contactURL">$entry.cta</a></p> |
|
211 |
+ </div> |
|
212 |
+ </article> |
|
213 |
+ #end |
|
214 |
+ </div> |
| 257 |
257 |
|
| 258 |
|
-<section class="industry-trust-section" aria-labelledby="pricing-note-title"> |
| 259 |
|
- <div class="container"> |
| 260 |
|
- <div class="industry-trust-panel"> |
| 261 |
|
- <h2 id="pricing-note-title">Simple starting prices, reviewed scope when needed</h2> |
| 262 |
|
- <p class="section-intro"> |
| 263 |
|
- Prices are starting points and exclude VAT where applicable. Final pricing depends on the XWiki version, |
| 264 |
|
- installed extensions, customizations, hosting setup, authentication configuration, wiki farm complexity |
| 265 |
|
- and required testing. |
| 266 |
|
- </p> |
| 267 |
|
- </div> |
| 268 |
|
- </div> |
| 269 |
|
-</section> |
|
216 |
+ <h2 id="common-packages">Common starting packages</h2> |
| 270 |
270 |
|
| 271 |
|
-<section id="common-packages" aria-labelledby="common-packages-title"> |
| 272 |
|
- <div class="container"> |
| 273 |
|
- <h2 id="common-packages-title">Common starting packages</h2> |
| 274 |
|
- <p class="section-intro"> |
| 275 |
|
- These are practical entry points for common XWiki needs. Some can start directly, while others require |
| 276 |
|
- a quick review before confirming the final scope. |
| 277 |
|
- </p> |
|
218 |
+ <p> |
|
219 |
+ These are practical entry points for common XWiki needs. Some can start directly, while others require |
|
220 |
+ a quick review before confirming the final scope. |
|
221 |
+ </p> |
| 278 |
278 |
|
| 279 |
|
- <div class="table-responsive"> |
| 280 |
|
- <table class="table table-bordered table-striped"> |
| 281 |
|
- <thead> |
| 282 |
|
- <tr> |
| 283 |
|
- <th>Service</th> |
| 284 |
|
- <th>Starting price</th> |
| 285 |
|
- <th>What it covers</th> |
| 286 |
|
- </tr> |
| 287 |
|
- </thead> |
| 288 |
|
- <tbody> |
| 289 |
|
- #foreach ($entry in $commonPackages) |
|
223 |
+ <table class="table table-bordered table-striped"> |
|
224 |
+ <thead> |
| 290 |
290 |
<tr> |
| 291 |
|
- <td> |
| 292 |
|
- #if ("$!entry.url" != '') |
| 293 |
|
- <strong><a href="$entry.url">$entry.service</a></strong> |
| 294 |
|
- #else |
| 295 |
|
- <strong>$entry.service</strong> |
| 296 |
|
- #end |
| 297 |
|
- </td> |
| 298 |
|
- <td>$entry.price</td> |
| 299 |
|
- <td>$entry.description</td> |
|
226 |
+ <th>Service</th> |
|
227 |
+ <th>Starting price</th> |
|
228 |
+ <th>What it covers</th> |
| 300 |
300 |
</tr> |
| 301 |
|
- #end |
| 302 |
|
- </tbody> |
| 303 |
|
- </table> |
| 304 |
|
- </div> |
|
230 |
+ </thead> |
|
231 |
+ <tbody> |
|
232 |
+ #foreach ($entry in $commonPackages) |
|
233 |
+ <tr> |
|
234 |
+ <td><strong>$entry.service</strong></td> |
|
235 |
+ <td>$entry.price</td> |
|
236 |
+ <td>$entry.description</td> |
|
237 |
+ </tr> |
|
238 |
+ #end |
|
239 |
+ </tbody> |
|
240 |
+ </table> |
| 305 |
305 |
|
| 306 |
|
- <p class="section-intro"> |
| 307 |
|
- AWS hosting prices are starting points for small single-instance XWiki environments. The minimal setup uses one EC2 instance with Nginx, Docker, XWiki, database, Let’s Encrypt SSL, EBS storage and basic snapshots. Larger storage, higher traffic, high availability, managed databases, advanced monitoring or stricter backup requirements are quoted separately. |
| 308 |
|
- </p> |
| 309 |
|
- </div> |
| 310 |
|
-</section> |
|
242 |
+ <div id="upgrade-offer" class="resource-note"> |
|
243 |
+ <p> |
|
244 |
+ <strong>New customer upgrade offer:</strong> If the Upgrade Readiness Review leads to an upgrade |
|
245 |
+ project with Agnease, the review cost can be credited toward the upgrade implementation. |
|
246 |
+ </p> |
|
247 |
+ </div> |
| 311 |
311 |
|
| 312 |
|
-<section id="upgrade-offer" aria-labelledby="upgrade-offer-title" class="industry-trust-section"> |
| 313 |
|
- <div class="container"> |
| 314 |
|
- <div class="industry-trust-panel"> |
| 315 |
|
- <h2 id="upgrade-offer-title">New customer upgrade offer</h2> |
| 316 |
|
- <p class="section-intro"> |
| 317 |
|
- If the Upgrade Readiness Review leads to an upgrade project with Agnease, the review cost can be credited |
| 318 |
|
- toward the upgrade implementation. |
| 319 |
|
- </p> |
| 320 |
|
- <a class="btn btn-primary" href="$contactURL">Plan an upgrade</a> |
| 321 |
|
- </div> |
| 322 |
|
- </div> |
| 323 |
|
-</section> |
|
249 |
+ <h2 id="support">Monthly support plans</h2> |
| 324 |
324 |
|
| 325 |
|
-<section id="support" aria-labelledby="support-title"> |
| 326 |
|
- <div class="container"> |
| 327 |
|
- <h2 id="support-title">Monthly support plans</h2> |
| 328 |
|
- <p class="section-intro"> |
| 329 |
|
- Support plans are designed for organizations that already use XWiki and want regular help with troubleshooting, |
| 330 |
|
- maintenance, upgrades, configuration, authentication and small improvements. |
| 331 |
|
- </p> |
|
251 |
+ <p> |
|
252 |
+ Support plans are designed for organizations that already use XWiki and want regular help with |
|
253 |
+ troubleshooting, maintenance, upgrades, configuration, authentication and small improvements. |
|
254 |
+ </p> |
| 332 |
332 |
|
| 333 |
|
- <div class="pathways"> |
| 334 |
|
- #foreach ($entry in $supportPlans) |
| 335 |
|
- <article class="pathway-card"> |
| 336 |
|
- <div class="card-heading"> |
| 337 |
|
- <div class="pathway-icon" aria-hidden="true"> |
| 338 |
|
- <i class="fa fa-$entry.icon"></i> |
| 339 |
|
- </div> |
| 340 |
|
- <h3>$entry.title</h3> |
| 341 |
|
- </div> |
|
256 |
+ <div class="services-grid"> |
|
257 |
+ #foreach ($entry in $supportPlans) |
|
258 |
+ <article class="service"> |
|
259 |
+ <div class="service-icon" aria-hidden="true"> |
|
260 |
+ <i class="fa fa-$entry.icon"></i> |
|
261 |
+ </div> |
|
262 |
+ <div class="service-body"> |
|
263 |
+ <h4>$entry.title</h4> |
|
264 |
+ <p><strong>$entry.price</strong></p> |
|
265 |
+ <p>$entry.description</p> |
|
266 |
+ <ul> |
|
267 |
+ #foreach ($item in $entry.items) |
|
268 |
+ <li>$item</li> |
|
269 |
+ #end |
|
270 |
+ </ul> |
|
271 |
+ <p><a class="btn btn-primary" href="$contactURL">$entry.cta</a></p> |
|
272 |
+ </div> |
|
273 |
+ </article> |
|
274 |
+ #end |
|
275 |
+ </div> |
| 342 |
342 |
|
| 343 |
|
- <p><strong>$entry.price</strong></p> |
| 344 |
|
- <p>$entry.description</p> |
|
277 |
+ <div class="resource-note"> |
|
278 |
+ <p> |
|
279 |
+ Larger features, migrations, major customizations and complex projects are quoted separately. |
|
280 |
+ </p> |
|
281 |
+ </div> |
| 345 |
345 |
|
| 346 |
|
- <ul> |
| 347 |
|
- #foreach ($item in $entry.items) |
| 348 |
|
- <li>$item</li> |
| 349 |
|
- #end |
| 350 |
|
- </ul> |
|
283 |
+ <h2 id="complex-projects">Need something more complex?</h2> |
| 351 |
351 |
|
| 352 |
|
- <div class="card-link"> |
| 353 |
|
- <a href="$contactURL">$entry.cta</a> |
| 354 |
|
- </div> |
| 355 |
|
- </article> |
| 356 |
|
- #end |
| 357 |
|
- </div> |
|
285 |
+ <p> |
|
286 |
+ Some XWiki projects cannot be priced responsibly before the environment is reviewed. For wiki farms, |
|
287 |
+ major upgrades, migrations, custom applications, authentication changes or infrastructure restructuring, |
|
288 |
+ Agnease first reviews the current setup and then provides a fixed project quote. |
|
289 |
+ </p> |
| 358 |
358 |
|
| 359 |
|
- <p class="section-intro"> |
| 360 |
|
- Support plans are intended for remote XWiki support, troubleshooting, maintenance guidance, |
| 361 |
|
- small configuration changes and minor improvements. Larger features, migrations, major customizations |
| 362 |
|
- and complex projects are quoted separately. |
| 363 |
|
- </p> |
| 364 |
|
- </div> |
| 365 |
|
-</section> |
|
291 |
+ <ul class="resource-checklist"> |
|
292 |
+ #foreach ($item in $complexProjects) |
|
293 |
+ <li>$item</li> |
|
294 |
+ #end |
|
295 |
+ </ul> |
| 366 |
366 |
|
| 367 |
|
-<section id="complex-projects" aria-labelledby="complex-projects-title"> |
| 368 |
|
- <div class="container"> |
| 369 |
|
- <h2 id="complex-projects-title">Need something more complex?</h2> |
| 370 |
|
- <p class="section-intro"> |
| 371 |
|
- Some XWiki projects cannot be priced responsibly before the environment is reviewed. For wiki farms, |
| 372 |
|
- major upgrades, migrations, custom applications, authentication changes or infrastructure restructuring, |
| 373 |
|
- Agnease first reviews the current setup and then provides a fixed project quote. |
| 374 |
|
- </p> |
| 375 |
|
- |
| 376 |
|
- <div class="widgets"> |
| 377 |
|
- #foreach ($entry in $complexProjects) |
| 378 |
|
- <div class="widget"> |
| 379 |
|
- <div class="icon"> |
| 380 |
|
- <i class="fa fa-$entry.icon" aria-hidden="true"></i> |
| 381 |
|
- <h4> |
| 382 |
|
- #if ("$!entry.url" != '') |
| 383 |
|
- <a href="$entry.url">$entry.title</a> |
| 384 |
|
- #else |
| 385 |
|
- $entry.title |
| 386 |
|
- #end |
| 387 |
|
- </h4> |
| 388 |
|
- </div> |
| 389 |
|
- <p>$entry.content</p> |
|
297 |
+ <div class="resource-cta"> |
|
298 |
+ <h3>Request a project quote</h3> |
|
299 |
+ <p> |
|
300 |
+ Send a short description of your XWiki environment, current version, hosting setup and what you |
|
301 |
+ are trying to achieve. |
|
302 |
+ </p> |
|
303 |
+ <a class="btn btn-primary" href="$contactURL">Request a project quote</a> |
| 390 |
390 |
</div> |
| 391 |
|
- #end |
| 392 |
|
- </div> |
| 393 |
393 |
|
| 394 |
|
- <div class="hero-actions"> |
| 395 |
|
- <a class="btn btn-primary" href="$contactURL">Request a project quote</a> |
| 396 |
|
- </div> |
| 397 |
|
- </div> |
| 398 |
|
-</section> |
|
306 |
+ <h2 id="faq">FAQ</h2> |
| 399 |
399 |
|
| 400 |
|
-<section id="faq" aria-labelledby="faq-title"> |
| 401 |
|
- <div class="container"> |
| 402 |
|
- <h2 id="faq-title">FAQ</h2> |
|
308 |
+ #foreach ($entry in $faqItems) |
|
309 |
+ <details class="resource-faq-item" #if ($foreach.first)open#end> |
|
310 |
+ <summary>$entry.question</summary> |
|
311 |
+ <p>$entry.answer</p> |
|
312 |
+ </details> |
|
313 |
+ #end |
| 403 |
403 |
|
| 404 |
|
- #foreach ($entry in $faqItems) |
| 405 |
|
- <details class="resource-faq-item" #if ($foreach.first)open#end> |
| 406 |
|
- <summary>$entry.question</summary> |
| 407 |
|
- <p>$entry.answer</p> |
| 408 |
|
- </details> |
| 409 |
|
- #end |
|
315 |
+ </article> |
|
316 |
+ </div> |
| 410 |
410 |
</div> |
| 411 |
411 |
</section> |
| 412 |
412 |
|
| ... |
... |
@@ -435,117 +435,9 @@ |
| 435 |
435 |
}, |
| 436 |
436 |
"serviceType": "XWiki consulting, support, upgrades, authentication and maintenance", |
| 437 |
437 |
"areaServed": "International", |
| 438 |
|
- "description": "Independent XWiki consulting, support, upgrades, authentication configuration, AWS hosting setup, troubleshooting and long-term maintenance for existing XWiki installations.", |
| 439 |
|
- "hasOfferCatalog": { |
| 440 |
|
- "@type": "OfferCatalog", |
| 441 |
|
- "name": "Agnease XWiki service packages", |
| 442 |
|
- "itemListElement": [{ |
| 443 |
|
- "@type": "Offer", |
| 444 |
|
- "name": "XWiki Health Check", |
| 445 |
|
- "price": "390", |
| 446 |
|
- "priceCurrency": "EUR", |
| 447 |
|
- "description": "Configuration, version, extension, security and stability review with written recommendations." |
| 448 |
|
- },{ |
| 449 |
|
- "@type": "Offer", |
| 450 |
|
- "name": "Upgrade Readiness Review", |
| 451 |
|
- "price": "390", |
| 452 |
|
- "priceCurrency": "EUR", |
| 453 |
|
- "description": "Upgrade path, compatibility risks, customizations and effort estimate before implementation." |
| 454 |
|
- },{ |
| 455 |
|
- "@type": "Offer", |
| 456 |
|
- "name": "XWiki Authentication Review", |
| 457 |
|
- "price": "290", |
| 458 |
|
- "priceCurrency": "EUR", |
| 459 |
|
- "description": "Review of login flow, users, groups, access control and authentication options." |
| 460 |
|
- },{ |
| 461 |
|
- "@type": "Offer", |
| 462 |
|
- "name": "Urgent XWiki Troubleshooting", |
| 463 |
|
- "price": "250", |
| 464 |
|
- "priceCurrency": "EUR", |
| 465 |
|
- "description": "Starting price per session for live XWiki troubleshooting." |
| 466 |
|
- },{ |
| 467 |
|
- "@type": "Offer", |
| 468 |
|
- "name": "Standard XWiki LTS Upgrade", |
| 469 |
|
- "price": "790", |
| 470 |
|
- "priceCurrency": "EUR", |
| 471 |
|
- "description": "Starting price for XWiki LTS upgrade preparation, execution and validation." |
| 472 |
|
- },{ |
| 473 |
|
- "@type": "Offer", |
| 474 |
|
- "name": "XWiki MFA Installation & Configuration", |
| 475 |
|
- "price": "490", |
| 476 |
|
- "priceCurrency": "EUR", |
| 477 |
|
- "description": "Starting price for MFA setup for the standard XWiki login flow." |
| 478 |
|
- },{ |
| 479 |
|
- "@type": "Offer", |
| 480 |
|
- "name": "OIDC / Microsoft Entra ID Setup", |
| 481 |
|
- "price": "590", |
| 482 |
|
- "priceCurrency": "EUR", |
| 483 |
|
- "description": "Starting price for OpenID Connect setup and validation for XWiki." |
| 484 |
|
- },{ |
| 485 |
|
- "@type": "Offer", |
| 486 |
|
- "name": "AWS Hosting Setup for XWiki", |
| 487 |
|
- "price": "490", |
| 488 |
|
- "priceCurrency": "EUR", |
| 489 |
|
- "description": "Starting price for initial AWS deployment setup for XWiki." |
| 490 |
|
- },{ |
| 491 |
|
- "@type": "Offer", |
| 492 |
|
- "name": "XWiki AWS Cloud Hosting", |
| 493 |
|
- "price": "59", |
| 494 |
|
- "priceCurrency": "EUR", |
| 495 |
|
- "description": "Starting monthly price for small single-instance AWS hosting for XWiki." |
| 496 |
|
- }] |
| 497 |
|
- } |
|
345 |
+ "description": "XWiki service packages for upgrades, support, authentication, troubleshooting, maintenance and implementation." |
| 498 |
498 |
} |
| 499 |
499 |
</script> |
| 500 |
500 |
|
| 501 |
|
-<script type="application/ld+json"> |
| 502 |
|
-{ |
| 503 |
|
- "@context": "https://schema.org", |
| 504 |
|
- "@type": "FAQPage", |
| 505 |
|
- "mainEntity": [{ |
| 506 |
|
- "@type": "Question", |
| 507 |
|
- "name": "Are these fixed prices?", |
| 508 |
|
- "acceptedAnswer": { |
| 509 |
|
- "@type": "Answer", |
| 510 |
|
- "text": "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." |
| 511 |
|
- } |
| 512 |
|
- },{ |
| 513 |
|
- "@type": "Question", |
| 514 |
|
- "name": "Do you charge hourly?", |
| 515 |
|
- "acceptedAnswer": { |
| 516 |
|
- "@type": "Answer", |
| 517 |
|
- "text": "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." |
| 518 |
|
- } |
| 519 |
|
- },{ |
| 520 |
|
- "@type": "Question", |
| 521 |
|
- "name": "Can you work on existing XWiki installations?", |
| 522 |
|
- "acceptedAnswer": { |
| 523 |
|
- "@type": "Answer", |
| 524 |
|
- "text": "Yes. Agnease works with existing XWiki instances, including upgrades, troubleshooting, authentication, customizations, extensions and long-term maintenance." |
| 525 |
|
- } |
| 526 |
|
- },{ |
| 527 |
|
- "@type": "Question", |
| 528 |
|
- "name": "What happens if my XWiki instance is more complex?", |
| 529 |
|
- "acceptedAnswer": { |
| 530 |
|
- "@type": "Answer", |
| 531 |
|
- "text": "Agnease first reviews the current setup, identifies risks and dependencies, and then provides a quote based on the actual scope." |
| 532 |
|
- } |
| 533 |
|
- },{ |
| 534 |
|
- "@type": "Question", |
| 535 |
|
- "name": "Can I book a call directly?", |
| 536 |
|
- "acceptedAnswer": { |
| 537 |
|
- "@type": "Answer", |
| 538 |
|
- "text": "Yes. The contact form includes a call booking option, but sending a short description first helps Agnease understand the context before the discussion." |
| 539 |
|
- } |
| 540 |
|
- },{ |
| 541 |
|
- "@type": "Question", |
| 542 |
|
- "name": "Do prices include external costs?", |
| 543 |
|
- "acceptedAnswer": { |
| 544 |
|
- "@type": "Answer", |
| 545 |
|
- "text": "The prices on this page cover Agnease services. External hosting, infrastructure or third-party costs are discussed separately when relevant." |
| 546 |
|
- } |
| 547 |
|
- }] |
| 548 |
|
-} |
| 549 |
|
-</script> |
| 550 |
550 |
{{/html}} |
| 551 |
551 |
{{/velocity}} |