| ... |
... |
@@ -32,48 +32,58 @@ |
| 32 |
32 |
#set ($sectionItems = [{ |
| 33 |
33 |
'title': 'XWiki Upgrade Services', |
| 34 |
34 |
'icon': 'refresh', |
| 35 |
|
- 'url': '/services/xwiki-upgrades', |
|
35 |
+ 'url': 'services.xwiki-upgrades', |
| 36 |
36 |
'content': 'Safe LTS upgrades for production XWiki instances, with compatibility checks, backups, rollback planning and post-upgrade validation.' |
| 37 |
37 |
},{ |
| 38 |
38 |
'title': 'XWiki Support & Maintenance', |
| 39 |
39 |
'icon': 'life-ring', |
| 40 |
|
- 'url': '/services/xwiki-maintenance-support', |
|
40 |
+ 'url': 'services.xwiki-maintenance-support', |
| 41 |
41 |
'content': 'Ongoing technical care for XWiki environments that need to stay stable, secure, performant and recoverable.' |
| 42 |
42 |
},{ |
| 43 |
43 |
'title': 'XWiki Development & Integrations', |
| 44 |
44 |
'icon': 'cogs', |
| 45 |
|
- 'url': '/services/xwiki-development-integrations', |
|
45 |
+ 'url': 'services.xwiki-development-integrations', |
| 46 |
46 |
'content': 'Custom applications, workflows, dashboards, macros, automation and integrations built using XWiki conventions.' |
| 47 |
47 |
},{ |
| 48 |
48 |
'title': 'XWiki Migrations', |
| 49 |
49 |
'icon': 'exchange', |
| 50 |
|
- 'url': '/services/xwiki-migrations', |
|
50 |
+ 'url': 'services.xwiki-migrations', |
| 51 |
51 |
'content': 'Migration support from Confluence, SharePoint, MediaWiki, file-based documentation or legacy knowledge systems.' |
| 52 |
52 |
},{ |
| 53 |
53 |
'title': 'Authentication & Access Control', |
| 54 |
54 |
'icon': 'lock', |
| 55 |
|
- 'url': '/services/xwiki-authentication-access-control', |
|
55 |
+ 'url': 'services.xwiki-authentication-access-control', |
| 56 |
56 |
'content': 'LDAP, Active Directory, SSO, OIDC, SAML, MFA and permission model support for secure XWiki deployments.' |
| 57 |
57 |
},{ |
| 58 |
58 |
'title': 'XWiki Security Review', |
| 59 |
59 |
'icon': 'shield', |
| 60 |
|
- 'url': '/services/xwiki-security-review', |
|
60 |
+ 'url': 'services.xwiki-security-review', |
| 61 |
61 |
'content': 'Security-aware review of versions, extensions, rights, scripting, authentication and upgrade exposure.' |
| 62 |
62 |
}]) |
| 63 |
63 |
|
| 64 |
|
- <section aria-labelledby="items-title"> |
|
64 |
+ <section id="services-list" class="services" aria-labelledby="items-title"> |
| 65 |
65 |
<div class="container"> |
| 66 |
|
- <h2 id="items-title">How Agnease can help</h2> |
|
66 |
+ <h2 id="items-title">How we help</h2> |
| 67 |
67 |
|
| 68 |
|
- <div class="widgets"> |
|
68 |
+ <p class="section-intro"> |
|
69 |
+ Focused XWiki services for production platforms, long-term maintenance, business-specific extensions |
|
70 |
+ and safe evolution over time. |
|
71 |
+ </p> |
|
72 |
+ |
|
73 |
+ <div class="services-grid"> |
| 69 |
69 |
#foreach ($entry in $sectionItems) |
| 70 |
|
- <article class="widget"> |
| 71 |
|
- <div class="icon" aria-hidden="true"> |
|
75 |
+ <article class="service"> |
|
76 |
+ <div class="service-icon" aria-hidden="true"> |
| 72 |
72 |
<i class="fa fa-$entry.icon"></i> |
|
78 |
+ </div> |
|
79 |
+ |
|
80 |
+ <div class="service-body"> |
| 73 |
73 |
<h4>$entry.title</h4> |
|
82 |
+ <p>$entry.content</p> |
|
83 |
+ <p class="card-link"> |
|
84 |
+ <a href="$xwiki.getURL($entry.url)">View service</a> |
|
85 |
+ </p> |
| 74 |
74 |
</div> |
| 75 |
|
- <p>$entry.content</p> |
| 76 |
|
- <p class="card-link"><a href="$entry.url">View service</a></p> |
| 77 |
77 |
</article> |
| 78 |
78 |
#end |
| 79 |
79 |
</div> |
| ... |
... |
@@ -80,12 +80,56 @@ |
| 80 |
80 |
</div> |
| 81 |
81 |
</section> |
| 82 |
82 |
|
|
93 |
+ ## EXPECTATION / DELIVERY SECTION |
|
94 |
+ <section class="split-section" aria-labelledby="delivery-title"> |
|
95 |
+ <div class="container"> |
|
96 |
+ <div class="split-grid"> |
|
97 |
+ <div class="split-copy"> |
|
98 |
+ <h2 id="delivery-title">Practical delivery for real XWiki environments</h2> |
|
99 |
+ |
|
100 |
+ <p> |
|
101 |
+ XWiki projects are rarely just about installing a platform or applying an upgrade. Production instances |
|
102 |
+ often include custom applications, authentication integrations, extensions, scripts, rights models, |
|
103 |
+ imported content and business-specific workflows. |
|
104 |
+ </p> |
|
105 |
+ |
|
106 |
+ <p> |
|
107 |
+ The work is approached with care for stability, compatibility and maintainability, so the platform |
|
108 |
+ remains easier to operate after the project is completed. |
|
109 |
+ </p> |
|
110 |
+ </div> |
|
111 |
+ |
|
112 |
+ <ol class="process-list"> |
|
113 |
+ <li> |
|
114 |
+ <strong>Understand the current setup</strong> |
|
115 |
+ Review the version, extensions, infrastructure, authentication, custom code and business-critical features. |
|
116 |
+ </li> |
|
117 |
+ <li> |
|
118 |
+ <strong>Define a safe scope</strong> |
|
119 |
+ Clarify risks, expected effort, dependencies, validation steps and recommended next actions. |
|
120 |
+ </li> |
|
121 |
+ <li> |
|
122 |
+ <strong>Deliver with documentation</strong> |
|
123 |
+ Implement the agreed work, validate the result and document relevant changes for future maintenance. |
|
124 |
+ </li> |
|
125 |
+ </ol> |
|
126 |
+ </div> |
|
127 |
+ </div> |
|
128 |
+ </section> |
|
129 |
+ |
| 83 |
83 |
## CTA |
| 84 |
|
- <section class="cta-section"> |
|
131 |
+ <section class="cta-section" aria-labelledby="cta-title"> |
| 85 |
85 |
<div class="container"> |
| 86 |
|
- <p class="text-center contact-inline"> |
| 87 |
|
- Not sure where to start? <a href="mailto:alex@agnease.com">Contact Agnease</a>. |
| 88 |
|
- </p> |
|
133 |
+ <div class="cta-panel"> |
|
134 |
+ <h2 id="cta-title">Need help with XWiki?</h2> |
|
135 |
+ |
|
136 |
+ <p> |
|
137 |
+ Send a short description of your current XWiki setup, the issue you are facing, or the type of project |
|
138 |
+ you want to build. A few details are enough to start the conversation. |
|
139 |
+ </p> |
|
140 |
+ |
|
141 |
+ <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Request a consultation</a> |
|
142 |
+ </div> |
| 89 |
89 |
</div> |
| 90 |
90 |
</section> |
| 91 |
91 |
|