Changes for page Pricing

Last modified by Agnease on 2026/07/10 06:00

From version 1.3
edited by Agnease
on 2026/07/10 03:36
Change comment: There is no comment for this version
To version 1.13
edited by Agnease
on 2026/07/10 03:57
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,8 +1,6 @@
1 1  {{velocity}}
2 2  #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 -
4 4  #set ($contactURL = $xwiki.getURL('contact.WebHome'))
5 -
6 6  #set ($startingPoints = [{
7 7   'icon': 'search',
8 8   'title': 'Review & diagnose',
... ... @@ -40,7 +40,6 @@
40 40   ],
41 41   'cta': 'Discuss support plan'
42 42  }])
43 -
44 44  #set ($commonPackages = [{
45 45   'service': 'XWiki Health Check',
46 46   'price': '€390',
... ... @@ -82,29 +82,6 @@
82 82   'price': 'Quoted after review',
83 83   'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.'
84 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 108  #set ($supportPlans = [{
109 109   'icon': 'leaf',
110 110   'title': 'Essential Support',
... ... @@ -144,7 +144,6 @@
144 144   ],
145 145   'cta': 'Discuss extended support'
146 146  }])
147 -
148 148  #set ($complexProjects = [
149 149   'Wiki farm restructuring',
150 150   'Major XWiki LTS upgrades',
... ... @@ -154,7 +154,6 @@
154 154   'Performance and stability improvements',
155 155   'Content and platform migrations'
156 156  ])
157 -
158 158  #set ($faqItems = [{
159 159   'question': 'Are these fixed prices?',
160 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.'
... ... @@ -174,7 +174,6 @@
174 174   'question': 'Do prices include external costs?',
175 175   'answer': 'The prices on this page cover Agnease services. External hosting, infrastructure or third-party costs are discussed separately when relevant.'
176 176  }])
177 -
178 178  {{html clean="false"}}
179 179  
180 180  <section class="resource-header" aria-labelledby="hero-title">
... ... @@ -188,8 +188,8 @@
188 188  
189 189   <h1 id="hero-title">XWiki Service Packages</h1>
190 190  
191 - <p class="resource-summary">
192 - Clear starting points for XWiki upgrades, authentication, troubleshooting and long-term support.
162 + <p class="lead">
163 + Clear starting points for XWiki upgrades, authentication, troubleshooting and long-term support.<br/>
193 193   Start with a review, request an implementation quote, or choose a support plan for ongoing XWiki help.
194 194   </p>
195 195  
... ... @@ -203,7 +203,7 @@
203 203  <section class="resource-page">
204 204   <div class="container">
205 205   <div class="resource-layout">
206 - <article class="resource-content services">
177 + <article class="services">
207 207  
208 208   <div class="resource-note">
209 209   <p>
... ... @@ -221,22 +221,28 @@
221 221   has the same complexity.
222 222   </p>
223 223  
224 - <div class="services-grid">
195 + <div class="pathways">
225 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>
197 + <article class="pathway-card">
198 + <div class="card-heading">
199 + <div class="pathway-icon" aria-hidden="true">
200 + <i class="fa fa-$entry.icon"></i>
201 + </div>
202 + <h3>$entry.title</h3>
229 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>
204 +
205 + <p><strong>$entry.price</strong></p>
206 +
207 + <p>$entry.description</p>
208 +
209 + <ul>
210 + #foreach ($item in $entry.items)
211 + <li>$item</li>
212 + #end
213 + </ul>
214 +
215 + <div class="card-link">
216 + <a href="$contactURL">$entry.cta</a>
240 240   </div>
241 241   </article>
242 242   #end
... ... @@ -275,51 +275,6 @@
275 275   </p>
276 276   </div>
277 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 323   <h2 id="support">Monthly support plans</h2>
324 324  
325 325   <p>