Changes for page Public Web Site

Last modified by Agnease on 2026/05/30 16:24

From version 18.4
edited by Agnease
on 2026/05/28 10:43
Change comment: There is no comment for this version
To version 12.16
edited by Agnease
on 2026/05/22 10:58
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,29 +3,26 @@
1 -{{include reference="PublicWebSite.MacrosAndVariables" /}}
2 -
3 3  {{velocity}}
4 4  #macro (displayPublicContent)
5 5   #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
6 6   {{html clean="false"}}
7 7  
8 - <section class="hero hero-centered main-page-hero" aria-labelledby="hero-title">
6 + <section class="hero hero-centered" aria-labelledby="hero-title">
9 9   <div class="container hero-inner">
10 - <h1 id="hero-title">Professional XWiki consulting and engineering</h1>
8 + <h1 id="hero-title">Professional XWiki engineering and support</h1>
11 11  
12 12   <p class="lead">
13 - Agnease helps organizations upgrade, maintain, secure and extend production XWiki platforms with practical
14 - engineering support, custom development, integrations and long-term care.
11 + Agnease helps organizations upgrade, maintain, secure and extend XWiki so production platforms stay stable,
12 + up-to-date and adapted to real business processes.
15 15   </p>
16 16  
17 17   <ul class="benefits">
18 - <li>XWiki LTS upgrades</li>
19 - <li>Maintenance and support</li>
20 - <li>Custom XWiki development</li>
21 - <li>Migrations and integrations</li>
16 + <li>Safe LTS upgrades</li>
17 + <li>Support and recovery</li>
18 + <li>Custom XWiki applications</li>
19 + <li>Integrations and migrations</li>
22 22   </ul>
23 23  
24 24   <div class="hero-actions">
25 - <a class="btn btn-primary" href="$freeXWikiReviewCallURL">$freeXWikiReviewCallLabel</a>
26 - ##<a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Request a consultation</a>
23 + <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Request a consultation</a>
27 27   <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a>
28 28   </div>
29 29   </div>
... ... @@ -42,28 +42,26 @@
42 42  
43 43   <section aria-labelledby="platform-title">
44 44   <div class="container">
45 - <h2 id="platform-title">XWiki support for production knowledge platforms</h2>
42 + <h2 id="platform-title">When XWiki becomes business-critical, it needs professional care</h2>
46 46   <p class="section-intro">
47 - XWiki often grows from a documentation space into a business-critical knowledge platform.
48 - When it supports intranets, procedures, workflows, audits or integrations, it needs structured technical care
49 - for upgrades, security, permissions and maintainability.
44 + Many organizations start with XWiki as a documentation platform. Over time, it becomes a knowledge base,
45 + intranet, SOP portal, workflow system, audit trail or integration hub. At that point, upgrades, security,
46 + performance, permissions and maintainability are no longer optional technical details.
50 50   </p>
51 51  
52 52   <div class="pathways">
53 53   <article class="pathway-card">
54 - <div class="card-heading">
55 - <div class="pathway-icon">
56 - <i class="fa fa-refresh" aria-hidden="true"></i>
57 - </div>
58 - <h3>Upgrade XWiki safely</h3>
51 + <div class="pathway-icon">
52 + <i class="fa fa-refresh" aria-hidden="true"></i>
59 59   </div>
54 + <h3>Keep XWiki current</h3>
60 60   <p>
61 - Plan and execute XWiki LTS upgrades with compatibility checks, staging validation and rollback planning.
56 + Plan and execute safe upgrades to supported XWiki versions, with compatibility checks and rollback planning.
62 62   </p>
63 63   <ul>
64 64   <li>LTS upgrade planning</li>
65 65   <li>Extension and custom code review</li>
66 - <li>Staging and production validation</li>
61 + <li>Production rollout validation</li>
67 67   </ul>
68 68   <p class="card-link">
69 69   <a href="$xwiki.getURL('services.xwiki-upgrades')">View upgrade services</a>
... ... @@ -71,19 +71,17 @@
71 71   </article>
72 72  
73 73   <article class="pathway-card">
74 - <div class="card-heading">
75 - <div class="pathway-icon">
76 - <i class="fa fa-life-ring" aria-hidden="true"></i>
77 - </div>
78 - <h3>Maintain XWiki reliably</h3>
69 + <div class="pathway-icon">
70 + <i class="fa fa-life-ring" aria-hidden="true"></i>
79 79   </div>
72 + <h3>Keep XWiki reliable</h3>
80 80   <p>
81 - Keep production XWiki instances stable with troubleshooting, maintenance planning, recovery support and security-aware care.
74 + Get long-term technical care for instances that need to stay stable, secure and recoverable.
82 82   </p>
83 83   <ul>
84 84   <li>Troubleshooting and recovery</li>
85 85   <li>Performance and log analysis</li>
86 - <li>Upgrade and maintenance planning</li>
79 + <li>Security-aware maintenance</li>
87 87   </ul>
88 88   <p class="card-link">
89 89   <a href="$xwiki.getURL('services.xwiki-maintenance-support')">View support services</a>
... ... @@ -91,19 +91,17 @@
91 91   </article>
92 92  
93 93   <article class="pathway-card">
94 - <div class="card-heading">
95 - <div class="pathway-icon">
96 - <i class="fa fa-cogs" aria-hidden="true"></i>
97 - </div>
98 - <h3>Extend XWiki for your processes</h3>
87 + <div class="pathway-icon">
88 + <i class="fa fa-cogs" aria-hidden="true"></i>
99 99   </div>
90 + <h3>Adapt XWiki to your business</h3>
100 100   <p>
101 - Build custom XWiki applications, workflows, dashboards and integrations around real business needs.
92 + Build workflows, custom applications, dashboards, integrations and automation around your processes.
102 102   </p>
103 103   <ul>
104 104   <li>Custom XWiki applications</li>
105 105   <li>Workflows and approvals</li>
106 - <li>APIs, SSO, LDAP and integrations</li>
97 + <li>SSO, LDAP, APIs and integrations</li>
107 107   </ul>
108 108   <p class="card-link">
109 109   <a href="$xwiki.getURL('services.xwiki-development-integrations')">View development services</a>
... ... @@ -117,29 +117,29 @@
117 117   <div class="container">
118 118   <div class="split-grid">
119 119   <div class="split-copy">
120 - <h2 id="why-title">Why work with an XWiki specialist</h2>
111 + <h2 id="why-title">Why choose Agnease</h2>
121 121   <p>
122 - XWiki projects often involve more than pages. Production platforms may include custom code,
123 - extensions, authentication, permissions, workflows, integrations and business-critical content.
113 + Agnease brings more than 11 years of hands-on XWiki expertise to organizations that need reliable
114 + knowledge platforms, secure upgrades, custom applications, integrations, migrations and long-term support.
124 124   </p>
125 125   <p>
126 - Agnease brings 11+ years of hands-on XWiki experience to help reduce risk, deliver practical improvements
127 - and leave the platform easier to maintain after the work is complete.
117 + The approach is practical and engineering-focused: understand the current system, reduce risk,
118 + document the work and leave your XWiki easier to maintain.
128 128   </p>
129 129   </div>
130 130  
131 131   <ol class="process-list">
132 132   <li>
133 - <strong>Review the XWiki environment</strong>
134 - Version, extensions, infrastructure, authentication, permissions, custom code and critical features.
124 + <strong>Review the current situation</strong>
125 + Version, extensions, infrastructure, authentication, custom code and business-critical features.
135 135   </li>
136 136   <li>
137 - <strong>Define the safest next steps</strong>
138 - Scope, risks, dependencies, effort, rollback options and validation requirements.
128 + <strong>Define a safe path forward</strong>
129 + Clear scope, expected effort, risks, rollback options and recommended next steps.
139 139   </li>
140 140   <li>
141 - <strong>Implement, validate and document</strong>
142 - Controlled changes, testing, production validation and notes for future maintenance.
132 + <strong>Deliver and document the work</strong>
133 + Practical implementation, validation and documentation for future maintenance.
143 143   </li>
144 144   </ol>
145 145   </div>
... ... @@ -148,9 +148,9 @@
148 148  
149 149   <section class="resource-strip homepage-resource-strip" aria-labelledby="resources-title">
150 150   <div class="container">
151 - <h2 id="resources-title">XWiki resources for safer long-term maintenance</h2>
142 + <h2 id="resources-title">Useful XWiki resources</h2>
152 152   <p class="section-intro">
153 - Practical articles about XWiki upgrades, customization and production platform care.
144 + Practical guidance for organizations running XWiki in production.
154 154   </p>
155 155  
156 156   <div class="resource-grid">
... ... @@ -157,17 +157,17 @@
157 157   <article class="resource-card">
158 158   <h4>Why upgrade your XWiki instance?</h4>
159 159   <p>
160 - Learn why regular XWiki upgrades reduce security exposure, compatibility issues and long-term maintenance risk.
151 + A business-focused explanation of why regular LTS upgrades reduce security, compatibility and maintenance risk.
161 161   </p>
162 - <a href="$xwiki.getURL('resources.why-upgrade-xwiki')">Read the article</a>
153 + <a href="$xwiki.getURL('resources.why-upgrade-xwiki')">Read the resource</a>
163 163   </article>
164 164  
165 165   <article class="resource-card">
166 166   <h4>XWiki upgrade services</h4>
167 167   <p>
168 - See how XWiki upgrades can be planned, tested and validated for production instances with customizations and integrations.
159 + How Agnease approaches safe XWiki upgrades for real production environments with customizations and integrations.
169 169   </p>
170 - <a href="$xwiki.getURL('services.xwiki-upgrades')">View upgrade services</a>
161 + <a href="$xwiki.getURL('services.xwiki-upgrades')">View the service</a>
171 171   </article>
172 172   </div>
173 173   </div>
... ... @@ -176,10 +176,10 @@
176 176   <section class="cta-section" aria-labelledby="contact-title">
177 177   <div class="container">
178 178   <div class="cta-panel">
179 - <h2 id="contact-title">Need XWiki consulting or support?</h2>
170 + <h2 id="contact-title">Need help with XWiki?</h2>
180 180   <p>
181 - Send your current XWiki version, the issue you are facing, or the type of project you want to build.
182 - A short description is enough to define practical next steps.
172 + Send your current XWiki version, the problem you are facing, or the type of project you want to build.
173 + A short description is enough to start the conversation.
183 183   </p>
184 184   <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Contact Agnease</a>
185 185   </div>
main-page-hero.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Admin
Size
... ... @@ -1,1 +1,0 @@
1 -1.0 MB
Content
Agnease.Code.SEODetailsClass[0]
metaDescription
... ... @@ -1,1 +1,0 @@
1 -Agnease provides professional XWiki consulting, LTS upgrades, maintenance, custom development, migrations, integrations and security-aware support for production XWiki platforms.
metaTitle
... ... @@ -1,1 +1,0 @@
1 -Professional XWiki Consulting, Upgrades and Development | Agnease
XWiki.StyleSheetExtension[0]
code
... ... @@ -167,7 +167,8 @@
167 167  
168 168  .hero {
169 169   overflow: hidden;
170 - position: relative;
170 + background-repeat: no-repeat;
171 + background-attachment: scroll;
171 171  
172 172   &.hero-centered {
173 173   text-align: center;
... ... @@ -180,54 +180,6 @@
180 180   min-height: 330px;
181 181   }
182 182  
183 - &.main-page-hero {
184 - background:
185 - linear-gradient(
186 - rgba(244, 252, 250, 0.72),
187 - rgba(255, 255, 255, 0.86)
188 - ),
189 - url('/bin/download/PublicWebSite/WebHome/main-page-hero.png') center center / cover no-repeat;
190 -
191 - &::before,
192 - &::after {
193 - content: "";
194 - position: absolute;
195 - pointer-events: none;
196 - z-index: 1;
197 - }
198 -
199 - /* Fade left and right image edges into the page background */
200 - &::before {
201 - inset: 0;
202 - background:
203 - linear-gradient(
204 - 90deg,
205 - #fff 0%,
206 - rgba(255, 255, 255, 0) 13%,
207 - rgba(255, 255, 255, 0) 87%,
208 - #fff 100%
209 - );
210 - }
211 -
212 - /* Fade bottom edge into white before the next section */
213 - &::after {
214 - left: 0;
215 - right: 0;
216 - bottom: 0;
217 - height: 90px;
218 - background: linear-gradient(
219 - 180deg,
220 - rgba(255, 255, 255, 0) 0%,
221 - #fff 100%
222 - );
223 - }
224 -
225 - .hero-inner {
226 - position: relative;
227 - z-index: 2;
228 - }
229 - }
230 -
231 231   .hero-inner {
232 232   max-width: 860px;
233 233   margin: 0 auto;
... ... @@ -416,13 +416,6 @@
416 416   flex-direction: column;
417 417   min-height: 100%;
418 418  
419 - .card-heading {
420 - display: flex;
421 - align-items: center;
422 - gap: 14px;
423 - margin-bottom: 14px;
424 - }
425 -
426 426   .pathway-icon {
427 427   width: 52px;
428 428   height: 52px;
... ... @@ -432,12 +432,12 @@
432 432   justify-content: center;
433 433   color: @brand;
434 434   background: fade(@brand, 10%);
381 + margin-bottom: 18px;
435 435   font-size: 19px;
436 - flex-shrink: 0;
437 437   }
438 438  
439 439   h3 {
440 - margin: 0;
386 + margin: 0 0 10px;
441 441   color: @text;
442 442   font-size: 22px;
443 443   line-height: 1.25;
... ... @@ -637,6 +637,31 @@
637 637   }
638 638  }
639 639  
586 +.resource-content {
587 + order: 1;
588 +}
589 +
590 +.resource-sidebar {
591 + order: 2;
592 +}
593 +
594 +@media (max-width: 767px) {
595 + .resource-layout {
596 + display: flex;
597 + flex-direction: column;
598 + }
599 +
600 + .resource-sidebar {
601 + order: 0;
602 + position: static;
603 + width: 100%;
604 + }
605 +
606 + .resource-content {
607 + order: 1;
608 + }
609 +}
610 +
640 640  /* ========== Homepage Resource Strip ========== */
641 641  
642 642  .homepage-resource-strip {
... ... @@ -744,50 +744,6 @@
744 744   }
745 745  }
746 746  
747 -.resource-inline-cta {
748 - display: flex;
749 - align-items: center;
750 - justify-content: space-between;
751 - gap: 22px;
752 - margin: 30px 0;
753 - padding: 20px 22px;
754 - border: 1px solid fade(@brand, 22%);
755 - border-radius: @radius;
756 - background: @brand-bg;
757 - box-shadow: @shadow-sm;
758 -
759 - p {
760 - margin: 0;
761 - color: @muted;
762 - line-height: 1.55;
763 - }
764 -
765 - strong {
766 - color: @text;
767 - }
768 -
769 - .btn {
770 - flex-shrink: 0;
771 - }
772 -}
773 -
774 -@media (max-width: 767px) {
775 - .resource-inline-cta {
776 - display: block;
777 - text-align: center;
778 -
779 - p {
780 - margin-bottom: 14px;
781 - }
782 -
783 - .btn {
784 - display: inline-block;
785 - margin-left: auto;
786 - margin-right: auto;
787 - }
788 - }
789 -}
790 -
791 791  /* ========== Responsive ========== */
792 792  
793 793  @media (max-width: 980px) {
... ... @@ -837,15 +837,6 @@
837 837   min-height: 280px;
838 838   }
839 839  
840 - .hero.main-page-hero {
841 - background:
842 - linear-gradient(
843 - rgba(244, 252, 250, 0.92),
844 - rgba(255, 255, 255, 0.97)
845 - ),
846 - url('/bin/download/PublicWebSite/WebHome/main-page-hero.png') center center / cover no-repeat;
847 - }
848 -
849 849   .hero {
850 850   .lead {
851 851   font-size: 17px;
... ... @@ -919,18 +919,14 @@
919 919  }
920 920  
921 921  .resource-layout {
922 - display: block;
840 + display: grid;
841 + grid-template-columns: minmax(0, 760px) 280px;
842 + gap: 42px;
923 923   max-width: 1080px;
924 924   margin: 0 auto;
925 - padding-top: 28px;
845 + align-items: start;
926 926  }
927 927  
928 -.resource-layout::after {
929 - content: "";
930 - display: block;
931 - clear: both;
932 -}
933 -
934 934  .resource-content {
935 935   color: @text;
936 936   font-size: 16px;
... ... @@ -1000,10 +1000,6 @@
1000 1000  }
1001 1001  
1002 1002  .resource-sidebar {
1003 - float: right;
1004 - width: 280px;
1005 - margin-left: 42px;
1006 - margin-bottom: 28px;
1007 1007   position: sticky;
1008 1008   top: 96px;
1009 1009   border: 1px solid @line;
... ... @@ -1033,14 +1033,8 @@
1033 1033  }
1034 1034  
1035 1035  .resource-cta {
1036 - display: flex;
1037 - flex-direction: column;
1038 - align-items: center;
1039 - text-align: center;
1040 -
1041 - max-width: 820px;
1042 - margin: 42px auto 0;
1043 - padding: 28px 30px;
946 + margin-top: 36px;
947 + padding: 22px;
1044 1044   border: 1px solid fade(@brand, 20%);
1045 1045   border-radius: @radius;
1046 1046   background: @brand-bg;
... ... @@ -1047,43 +1047,19 @@
1047 1047  
1048 1048   h3 {
1049 1049   margin-top: 0;
1050 - margin-bottom: 10px;
1051 1051   }
1052 1052  
1053 1053   p {
1054 - max-width: 680px;
1055 - margin-left: auto;
1056 - margin-right: auto;
1057 1057   color: @muted;
1058 1058   }
1059 -
1060 - .btn {
1061 - margin-top: 8px;
1062 - }
1063 1063  }
1064 1064  
1065 -.resource-note,
1066 -.resource-checklist,
1067 -.resource-cta {
1068 - display: flow-root;
1069 -}
1070 -
1071 -@media (max-width: 767px) {
1072 - .resource-cta {
1073 - padding: 24px 20px;
1074 - }
1075 -}
1076 -
1077 1077  @media (max-width: 900px) {
1078 1078   .resource-layout {
1079 - padding-top: 22px;
963 + grid-template-columns: 1fr;
1080 1080   }
1081 1081  
1082 1082   .resource-sidebar {
1083 - float: none;
1084 - width: 100%;
1085 - margin-left: 0;
1086 - margin-bottom: 24px;
1087 1087   position: static;
1088 1088   }
1089 1089  }
... ... @@ -1245,13 +1245,6 @@
1245 1245   box-shadow: @shadow-sm;
1246 1246   padding: 22px;
1247 1247  
1248 - .feature-heading {
1249 - display: flex;
1250 - align-items: center;
1251 - gap: 14px;
1252 - margin-bottom: 14px;
1253 - }
1254 -
1255 1255   .feature-icon {
1256 1256   width: 46px;
1257 1257   height: 46px;
... ... @@ -1261,12 +1261,12 @@
1261 1261   display: flex;
1262 1262   align-items: center;
1263 1263   justify-content: center;
1137 + margin-bottom: 14px;
1264 1264   font-size: 18px;
1265 - flex-shrink: 0;
1266 1266   }
1267 1267  
1268 1268   h3 {
1269 - margin: 0;
1142 + margin: 0 0 8px;
1270 1270   color: @text;
1271 1271   font-size: 18px;
1272 1272   line-height: 1.25;
... ... @@ -1369,19 +1369,3 @@
1369 1369   padding: @section-padding-mobile;
1370 1370   }
1371 1371  }
1372 -
1373 -.resource-faq-item {
1374 - border-bottom: 1px solid @line;
1375 - padding: 12px 0;
1376 -
1377 - summary {
1378 - cursor: pointer;
1379 - font-weight: 700;
1380 - color: @text;
1381 - }
1382 -
1383 - p {
1384 - margin: 10px 0 4px;
1385 - color: @muted;
1386 - }
1387 -}
XWiki.XWikiRights[0]
allow
... ... @@ -1,0 +1,1 @@
1 +Allow
groups
... ... @@ -1,0 +1,1 @@
1 +XWiki.XWikiAllGroup
levels
... ... @@ -1,0 +1,1 @@
1 +view
users
... ... @@ -1,0 +1,1 @@
1 +XWiki.XWikiGuest