| ... |
... |
@@ -1,0 +1,477 @@ |
|
1 |
+{{velocity}} |
|
2 |
+#set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) |
|
3 |
+ |
|
4 |
+#set ($contactURL = $xwiki.getURL('contact.WebHome')) |
|
5 |
+ |
|
6 |
+#set ($quickStartPackages = [{ |
|
7 |
+ 'icon': 'stethoscope', |
|
8 |
+ 'title': 'XWiki Health Check', |
|
9 |
+ 'price': '€390', |
|
10 |
+ 'description': 'For organizations that want a clear view of their current XWiki setup.', |
|
11 |
+ 'items': [ |
|
12 |
+ 'Configuration review', |
|
13 |
+ 'Version and extension review', |
|
14 |
+ 'Security and stability observations', |
|
15 |
+ 'Upgrade readiness notes', |
|
16 |
+ 'Written recommendations' |
|
17 |
+ ], |
|
18 |
+ 'cta': 'Request health check' |
|
19 |
+},{ |
|
20 |
+ 'icon': 'road', |
|
21 |
+ 'title': 'Upgrade Readiness Review', |
|
22 |
+ 'price': '€390', |
|
23 |
+ 'description': 'For teams planning an upgrade and wanting to understand risks before starting.', |
|
24 |
+ 'items': [ |
|
25 |
+ 'Current version review', |
|
26 |
+ 'Extension compatibility check', |
|
27 |
+ 'Customization risk review', |
|
28 |
+ 'Recommended upgrade path', |
|
29 |
+ 'Effort estimate' |
|
30 |
+ ], |
|
31 |
+ 'cta': 'Plan an upgrade' |
|
32 |
+},{ |
|
33 |
+ 'icon': 'lock', |
|
34 |
+ 'title': 'XWiki Authentication Review', |
|
35 |
+ 'price': '€290', |
|
36 |
+ 'description': 'For teams that want to understand their current login, user provisioning and access-control setup.', |
|
37 |
+ 'items': [ |
|
38 |
+ 'Current authentication setup review', |
|
39 |
+ 'Login flow observations', |
|
40 |
+ 'User and group provisioning review', |
|
41 |
+ 'Access control considerations', |
|
42 |
+ 'SSO, LDAP, OIDC or MFA recommendations' |
|
43 |
+ ], |
|
44 |
+ 'cta': 'Review authentication' |
|
45 |
+},{ |
|
46 |
+ 'icon': 'life-ring', |
|
47 |
+ 'title': 'Urgent XWiki Troubleshooting', |
|
48 |
+ 'price': 'From €250', |
|
49 |
+ 'description': 'For blocking issues, failed upgrades, errors or urgent production problems.', |
|
50 |
+ 'items': [ |
|
51 |
+ 'Live troubleshooting session', |
|
52 |
+ 'Log analysis', |
|
53 |
+ 'Configuration review', |
|
54 |
+ 'Immediate recommendations', |
|
55 |
+ 'Fix plan when more work is needed' |
|
56 |
+ ], |
|
57 |
+ 'cta': 'Request urgent support' |
|
58 |
+}]) |
|
59 |
+ |
|
60 |
+#set ($implementationPackages = [{ |
|
61 |
+ 'icon': 'refresh', |
|
62 |
+ 'title': 'Standard XWiki LTS Upgrade', |
|
63 |
+ 'price': 'From €790', |
|
64 |
+ 'description': 'For standard XWiki instances with a clear upgrade path and limited customizations.', |
|
65 |
+ 'items': [ |
|
66 |
+ 'Upgrade preparation', |
|
67 |
+ 'Upgrade execution', |
|
68 |
+ 'Basic compatibility checks', |
|
69 |
+ 'Post-upgrade validation', |
|
70 |
+ 'Recommendations after completion' |
|
71 |
+ ], |
|
72 |
+ 'note': 'Complex upgrades, wiki farms, custom applications, authentication changes or infrastructure changes are quoted after review.', |
|
73 |
+ 'cta': 'Request upgrade quote' |
|
74 |
+},{ |
|
75 |
+ 'icon': 'shield', |
|
76 |
+ 'title': 'XWiki MFA Installation & Configuration', |
|
77 |
+ 'price': 'From €490', |
|
78 |
+ 'description': 'Installation and configuration of MFA for XWiki environments using the standard XWiki login flow.', |
|
79 |
+ 'items': [ |
|
80 |
+ 'MFA application installation', |
|
81 |
+ 'Login flow integration', |
|
82 |
+ 'Basic configuration', |
|
83 |
+ 'Recovery and administration guidance', |
|
84 |
+ 'Basic testing and rollout recommendations' |
|
85 |
+ ], |
|
86 |
+ 'note': 'For environments using external SSO, MFA may be handled by the identity provider instead.', |
|
87 |
+ 'cta': 'Install MFA' |
|
88 |
+},{ |
|
89 |
+ 'icon': 'sign-in', |
|
90 |
+ 'title': 'OIDC / Microsoft Entra ID Setup', |
|
91 |
+ 'price': 'From €590', |
|
92 |
+ 'description': 'Setup and validation of OpenID Connect authentication for XWiki environments.', |
|
93 |
+ 'items': [ |
|
94 |
+ 'OIDC configuration', |
|
95 |
+ 'Authentication flow setup', |
|
96 |
+ 'User profile mapping considerations', |
|
97 |
+ 'Group and access-control considerations', |
|
98 |
+ 'Testing and administrator guidance' |
|
99 |
+ ], |
|
100 |
+ 'note': 'Useful for Microsoft Entra ID, Keycloak or another compatible OIDC provider.', |
|
101 |
+ 'cta': 'Set up OIDC / SSO' |
|
102 |
+}]) |
|
103 |
+ |
|
104 |
+#set ($authenticationPackages = [{ |
|
105 |
+ 'icon': 'key', |
|
106 |
+ 'title': 'LDAP / Active Directory Integration Review', |
|
107 |
+ 'price': 'From €390', |
|
108 |
+ 'description': 'For organizations using, migrating or troubleshooting LDAP or Active Directory authentication with XWiki.', |
|
109 |
+ 'items': [ |
|
110 |
+ 'LDAP / Active Directory configuration review', |
|
111 |
+ 'User profile mapping review', |
|
112 |
+ 'Group mapping considerations', |
|
113 |
+ 'Login and synchronization observations', |
|
114 |
+ 'Recommended configuration improvements' |
|
115 |
+ ], |
|
116 |
+ 'cta': 'Review LDAP / AD setup' |
|
117 |
+},{ |
|
118 |
+ 'icon': 'sitemap', |
|
119 |
+ 'title': 'Access Control Review', |
|
120 |
+ 'price': 'From €390', |
|
121 |
+ 'description': 'For teams that need clearer groups, permissions and access rules across spaces or subwikis.', |
|
122 |
+ 'items': [ |
|
123 |
+ 'Group and rights review', |
|
124 |
+ 'Public, internal and restricted area review', |
|
125 |
+ 'Subwiki access considerations', |
|
126 |
+ 'Permission risk observations', |
|
127 |
+ 'Governance recommendations' |
|
128 |
+ ], |
|
129 |
+ 'cta': 'Review access control' |
|
130 |
+},{ |
|
131 |
+ 'icon': 'cogs', |
|
132 |
+ 'title': 'Advanced Authentication Work', |
|
133 |
+ 'price': 'Quoted after review', |
|
134 |
+ 'description': 'For custom authentication behavior, container authentication, special login flows or complex wiki farm authentication needs.', |
|
135 |
+ 'items': [ |
|
136 |
+ 'Custom authenticator analysis', |
|
137 |
+ 'Container-based authentication review', |
|
138 |
+ 'Special login redirects or flows', |
|
139 |
+ 'Internal and external user strategy', |
|
140 |
+ 'Implementation quote after review' |
|
141 |
+ ], |
|
142 |
+ 'cta': 'Request authentication quote' |
|
143 |
+}]) |
|
144 |
+ |
|
145 |
+#set ($supportPlans = [{ |
|
146 |
+ 'icon': 'leaf', |
|
147 |
+ 'title': 'Essential Support', |
|
148 |
+ 'price': '€390/month', |
|
149 |
+ 'description': 'For small teams that need occasional XWiki help.', |
|
150 |
+ 'items': [ |
|
151 |
+ 'Up to 4 hours/month', |
|
152 |
+ 'Email support', |
|
153 |
+ 'Small configuration fixes', |
|
154 |
+ 'Upgrade and security guidance' |
|
155 |
+ ], |
|
156 |
+ 'cta': 'Request support plan' |
|
157 |
+},{ |
|
158 |
+ 'icon': 'check-circle', |
|
159 |
+ 'title': 'Standard Support', |
|
160 |
+ 'price': '€790/month', |
|
161 |
+ 'description': 'For active XWiki environments that need regular support and maintenance.', |
|
162 |
+ 'items': [ |
|
163 |
+ 'Up to 8 hours/month', |
|
164 |
+ 'Prioritized support', |
|
165 |
+ 'Troubleshooting', |
|
166 |
+ 'Minor improvements', |
|
167 |
+ 'Maintenance guidance' |
|
168 |
+ ], |
|
169 |
+ 'cta': 'Request standard support' |
|
170 |
+},{ |
|
171 |
+ 'icon': 'building', |
|
172 |
+ 'title': 'Extended Support', |
|
173 |
+ 'price': 'From €1,490/month', |
|
174 |
+ 'description': 'For business-critical XWiki platforms or organizations with ongoing XWiki work.', |
|
175 |
+ 'items': [ |
|
176 |
+ 'Larger monthly allocation', |
|
177 |
+ 'Prioritized handling', |
|
178 |
+ 'Upgrade planning', |
|
179 |
+ 'Authentication and extension support', |
|
180 |
+ 'Roadmap and stability guidance' |
|
181 |
+ ], |
|
182 |
+ 'cta': 'Discuss extended support' |
|
183 |
+}]) |
|
184 |
+ |
|
185 |
+#set ($complexProjects = [ |
|
186 |
+ 'Wiki farm restructuring', |
|
187 |
+ 'Major XWiki LTS upgrades', |
|
188 |
+ 'Microsoft Entra ID, OIDC, LDAP or SAML integrations', |
|
189 |
+ 'Custom workflow applications', |
|
190 |
+ 'Intranet and knowledge platform development', |
|
191 |
+ 'Performance and stability improvements', |
|
192 |
+ 'Content and platform migrations' |
|
193 |
+]) |
|
194 |
+ |
|
195 |
+#set ($faqItems = [{ |
|
196 |
+ 'question': 'Are these fixed prices?', |
|
197 |
+ '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.' |
|
198 |
+},{ |
|
199 |
+ 'question': 'Do you charge hourly?', |
|
200 |
+ '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.' |
|
201 |
+},{ |
|
202 |
+ 'question': 'Can you work on existing XWiki installations?', |
|
203 |
+ 'answer': 'Yes. Agnease works with existing XWiki instances, including upgrades, troubleshooting, authentication, customizations, extensions and long-term maintenance.' |
|
204 |
+},{ |
|
205 |
+ 'question': 'What happens if my XWiki instance is more complex?', |
|
206 |
+ 'answer': 'Agnease first reviews the current setup, identifies risks and dependencies, and then provides a quote based on the actual scope.' |
|
207 |
+},{ |
|
208 |
+ 'question': 'Can I book a call directly?', |
|
209 |
+ 'answer': 'Yes. The contact form includes a call booking option, but sending a short description first helps Agnease understand the context before the discussion.' |
|
210 |
+},{ |
|
211 |
+ 'question': 'Do prices include external costs?', |
|
212 |
+ 'answer': 'The prices on this page cover Agnease services. External hosting, infrastructure or third-party costs are discussed separately when relevant.' |
|
213 |
+}]) |
|
214 |
+ |
|
215 |
+{{html clean="false"}} |
|
216 |
+ |
|
217 |
+<section class="resource-header" aria-labelledby="hero-title"> |
|
218 |
+ <div class="container"> |
|
219 |
+ <div class="text-center"> |
|
220 |
+ <div class="hero-kicker"> |
|
221 |
+ <i class="fa fa-eur" aria-hidden="true"></i> |
|
222 |
+ XWiki consulting, support and implementation |
|
223 |
+ </div> |
|
224 |
+ </div> |
|
225 |
+ |
|
226 |
+ <h1 id="hero-title">XWiki Service Packages</h1> |
|
227 |
+ |
|
228 |
+ <p class="resource-summary"> |
|
229 |
+ Clear starting points for XWiki upgrades, support, authentication, troubleshooting and long-term maintenance. |
|
230 |
+ </p> |
|
231 |
+ |
|
232 |
+ <div id="hero-cta"> |
|
233 |
+ <a class="btn btn-primary" href="$contactURL">Request a quote</a> |
|
234 |
+ <a class="btn btn-secondary" href="$contactURL">Book an initial consultation</a> |
|
235 |
+ </div> |
|
236 |
+ </div> |
|
237 |
+</section> |
|
238 |
+ |
|
239 |
+<section class="resource-page"> |
|
240 |
+ <div class="container"> |
|
241 |
+ <div class="resource-layout"> |
|
242 |
+ |
|
243 |
+ <aside class="resource-sidebar" aria-label="Pricing page summary"> |
|
244 |
+ <h4>Service packages</h4> |
|
245 |
+ <ul> |
|
246 |
+ <li><a href="#quick-start">Quick-start reviews</a></li> |
|
247 |
+ <li><a href="#implementation">Implementation packages</a></li> |
|
248 |
+ <li><a href="#authentication">Authentication & access control</a></li> |
|
249 |
+ <li><a href="#support">Monthly support plans</a></li> |
|
250 |
+ <li><a href="#complex-projects">Complex projects</a></li> |
|
251 |
+ <li><a href="#upgrade-offer">New customer offer</a></li> |
|
252 |
+ <li><a href="#faq">FAQ</a></li> |
|
253 |
+ </ul> |
|
254 |
+ </aside> |
|
255 |
+ |
|
256 |
+ <article class="resource-content services"> |
|
257 |
+ |
|
258 |
+ <p> |
|
259 |
+ Agnease provides practical XWiki service packages for common needs such as upgrades, reviews, |
|
260 |
+ MFA, SSO, troubleshooting and support. When an environment is more complex, Agnease reviews |
|
261 |
+ the setup first and provides a fixed project quote. |
|
262 |
+ </p> |
|
263 |
+ |
|
264 |
+ <div class="resource-note"> |
|
265 |
+ <p> |
|
266 |
+ <strong>Pricing note:</strong> Prices are starting points and exclude VAT where applicable. |
|
267 |
+ Final pricing depends on the XWiki version, installed extensions, customizations, hosting setup, |
|
268 |
+ authentication configuration, wiki farm complexity and required testing. |
|
269 |
+ </p> |
|
270 |
+ </div> |
|
271 |
+ |
|
272 |
+ <h2 id="quick-start">Quick-start reviews</h2> |
|
273 |
+ |
|
274 |
+ <p> |
|
275 |
+ These packages are useful when you need a clear technical starting point before deciding on an |
|
276 |
+ upgrade, authentication change, support plan or larger implementation. |
|
277 |
+ </p> |
|
278 |
+ |
|
279 |
+ <div class="services-grid"> |
|
280 |
+ #foreach ($entry in $quickStartPackages) |
|
281 |
+ <article class="service"> |
|
282 |
+ <div class="service-icon" aria-hidden="true"> |
|
283 |
+ <i class="fa fa-$entry.icon"></i> |
|
284 |
+ </div> |
|
285 |
+ <div class="service-body"> |
|
286 |
+ <h4>$entry.title</h4> |
|
287 |
+ <p><strong>$entry.price</strong></p> |
|
288 |
+ <p>$entry.description</p> |
|
289 |
+ <ul> |
|
290 |
+ #foreach ($item in $entry.items) |
|
291 |
+ <li>$item</li> |
|
292 |
+ #end |
|
293 |
+ </ul> |
|
294 |
+ <p><a class="btn btn-primary" href="$contactURL">$entry.cta</a></p> |
|
295 |
+ </div> |
|
296 |
+ </article> |
|
297 |
+ #end |
|
298 |
+ </div> |
|
299 |
+ |
|
300 |
+ <h2 id="implementation">Implementation packages</h2> |
|
301 |
+ |
|
302 |
+ <p> |
|
303 |
+ Implementation packages are starting points for practical XWiki work where the scope is reasonably |
|
304 |
+ clear. More complex environments are reviewed before a final quote is provided. |
|
305 |
+ </p> |
|
306 |
+ |
|
307 |
+ <div class="services-grid"> |
|
308 |
+ #foreach ($entry in $implementationPackages) |
|
309 |
+ <article class="service"> |
|
310 |
+ <div class="service-icon" aria-hidden="true"> |
|
311 |
+ <i class="fa fa-$entry.icon"></i> |
|
312 |
+ </div> |
|
313 |
+ <div class="service-body"> |
|
314 |
+ <h4>$entry.title</h4> |
|
315 |
+ <p><strong>$entry.price</strong></p> |
|
316 |
+ <p>$entry.description</p> |
|
317 |
+ <ul> |
|
318 |
+ #foreach ($item in $entry.items) |
|
319 |
+ <li>$item</li> |
|
320 |
+ #end |
|
321 |
+ </ul> |
|
322 |
+ <p><em>$entry.note</em></p> |
|
323 |
+ <p><a class="btn btn-primary" href="$contactURL">$entry.cta</a></p> |
|
324 |
+ </div> |
|
325 |
+ </article> |
|
326 |
+ #end |
|
327 |
+ </div> |
|
328 |
+ |
|
329 |
+ <h2 id="authentication">Authentication & access control</h2> |
|
330 |
+ |
|
331 |
+ <p> |
|
332 |
+ XWiki authentication depends on the current login method, identity provider, user source, |
|
333 |
+ group mapping and access-control model. Agnease can help review, configure or improve |
|
334 |
+ standard XWiki login, LDAP, Active Directory, OpenID Connect, Microsoft Entra ID, MFA |
|
335 |
+ and more advanced authentication scenarios. |
|
336 |
+ </p> |
|
337 |
+ |
|
338 |
+ <div class="resource-note"> |
|
339 |
+ <p> |
|
340 |
+ <strong>Important:</strong> Authentication changes should be reviewed carefully because the right |
|
341 |
+ setup depends on the current XWiki version, identity provider, subwiki structure, user lifecycle |
|
342 |
+ and access-control requirements. |
|
343 |
+ </p> |
|
344 |
+ </div> |
|
345 |
+ |
|
346 |
+ <div class="services-grid"> |
|
347 |
+ #foreach ($entry in $authenticationPackages) |
|
348 |
+ <article class="service"> |
|
349 |
+ <div class="service-icon" aria-hidden="true"> |
|
350 |
+ <i class="fa fa-$entry.icon"></i> |
|
351 |
+ </div> |
|
352 |
+ <div class="service-body"> |
|
353 |
+ <h4>$entry.title</h4> |
|
354 |
+ <p><strong>$entry.price</strong></p> |
|
355 |
+ <p>$entry.description</p> |
|
356 |
+ <ul> |
|
357 |
+ #foreach ($item in $entry.items) |
|
358 |
+ <li>$item</li> |
|
359 |
+ #end |
|
360 |
+ </ul> |
|
361 |
+ <p><a class="btn btn-primary" href="$contactURL">$entry.cta</a></p> |
|
362 |
+ </div> |
|
363 |
+ </article> |
|
364 |
+ #end |
|
365 |
+ </div> |
|
366 |
+ |
|
367 |
+ <h2 id="support">Monthly support plans</h2> |
|
368 |
+ |
|
369 |
+ <p> |
|
370 |
+ Support plans are designed for organizations that already use XWiki and want regular help with |
|
371 |
+ troubleshooting, maintenance, upgrades, configuration, authentication and small improvements. |
|
372 |
+ </p> |
|
373 |
+ |
|
374 |
+ <div class="services-grid"> |
|
375 |
+ #foreach ($entry in $supportPlans) |
|
376 |
+ <article class="service"> |
|
377 |
+ <div class="service-icon" aria-hidden="true"> |
|
378 |
+ <i class="fa fa-$entry.icon"></i> |
|
379 |
+ </div> |
|
380 |
+ <div class="service-body"> |
|
381 |
+ <h4>$entry.title</h4> |
|
382 |
+ <p><strong>$entry.price</strong></p> |
|
383 |
+ <p>$entry.description</p> |
|
384 |
+ <ul> |
|
385 |
+ #foreach ($item in $entry.items) |
|
386 |
+ <li>$item</li> |
|
387 |
+ #end |
|
388 |
+ </ul> |
|
389 |
+ <p><a class="btn btn-primary" href="$contactURL">$entry.cta</a></p> |
|
390 |
+ </div> |
|
391 |
+ </article> |
|
392 |
+ #end |
|
393 |
+ </div> |
|
394 |
+ |
|
395 |
+ <div class="resource-note"> |
|
396 |
+ <p> |
|
397 |
+ Larger features, migrations, major customizations and complex projects are quoted separately. |
|
398 |
+ </p> |
|
399 |
+ </div> |
|
400 |
+ |
|
401 |
+ <h2 id="complex-projects">Need something more complex?</h2> |
|
402 |
+ |
|
403 |
+ <p> |
|
404 |
+ Some XWiki projects cannot be priced responsibly before the environment is reviewed. For wiki farms, |
|
405 |
+ major upgrades, migrations, custom applications, authentication changes or infrastructure restructuring, |
|
406 |
+ Agnease first reviews the current setup and then provides a fixed project quote. |
|
407 |
+ </p> |
|
408 |
+ |
|
409 |
+ <ul class="resource-checklist"> |
|
410 |
+ #foreach ($item in $complexProjects) |
|
411 |
+ <li>$item</li> |
|
412 |
+ #end |
|
413 |
+ </ul> |
|
414 |
+ |
|
415 |
+ <div class="resource-cta"> |
|
416 |
+ <h3>Request a project quote</h3> |
|
417 |
+ <p> |
|
418 |
+ Send a short description of your XWiki environment, current version, hosting setup and what you |
|
419 |
+ are trying to achieve. |
|
420 |
+ </p> |
|
421 |
+ <a class="btn btn-primary" href="$contactURL">Request a project quote</a> |
|
422 |
+ </div> |
|
423 |
+ |
|
424 |
+ <h2 id="upgrade-offer">New customer upgrade offer</h2> |
|
425 |
+ |
|
426 |
+ <div class="resource-note"> |
|
427 |
+ <p> |
|
428 |
+ <strong>If the Upgrade Readiness Review leads to an upgrade project with Agnease, the review cost |
|
429 |
+ can be credited toward the upgrade implementation.</strong> |
|
430 |
+ </p> |
|
431 |
+ </div> |
|
432 |
+ |
|
433 |
+ <h2 id="faq">FAQ</h2> |
|
434 |
+ |
|
435 |
+ #foreach ($entry in $faqItems) |
|
436 |
+ <details class="resource-faq-item" #if ($foreach.first)open#end> |
|
437 |
+ <summary>$entry.question</summary> |
|
438 |
+ <p>$entry.answer</p> |
|
439 |
+ </details> |
|
440 |
+ #end |
|
441 |
+ |
|
442 |
+ </article> |
|
443 |
+ </div> |
|
444 |
+ </div> |
|
445 |
+</section> |
|
446 |
+ |
|
447 |
+<section class="cta-section" aria-labelledby="pricing-final-cta-title"> |
|
448 |
+ <div class="container"> |
|
449 |
+ <div class="cta-panel"> |
|
450 |
+ <h2 id="pricing-final-cta-title">Not sure which option fits your XWiki instance?</h2> |
|
451 |
+ <p> |
|
452 |
+ Send a short description of your XWiki environment and what you are trying to achieve. |
|
453 |
+ Agnease will help identify the right starting point. |
|
454 |
+ </p> |
|
455 |
+ <a class="btn btn-primary" href="$contactURL">Contact Agnease</a> |
|
456 |
+ </div> |
|
457 |
+ </div> |
|
458 |
+</section> |
|
459 |
+ |
|
460 |
+<script type="application/ld+json"> |
|
461 |
+{ |
|
462 |
+ "@context": "https://schema.org", |
|
463 |
+ "@type": "Service", |
|
464 |
+ "name": "XWiki Service Packages", |
|
465 |
+ "provider": { |
|
466 |
+ "@type": "Organization", |
|
467 |
+ "name": "Agnease", |
|
468 |
+ "url": "https://agnease.com/" |
|
469 |
+ }, |
|
470 |
+ "serviceType": "XWiki consulting, support, upgrades, authentication and maintenance", |
|
471 |
+ "areaServed": "International", |
|
472 |
+ "description": "XWiki service packages for upgrades, support, authentication, troubleshooting, maintenance and implementation." |
|
473 |
+} |
|
474 |
+</script> |
|
475 |
+ |
|
476 |
+{{/html}} |
|
477 |
+{{/velocity}} |