Changes for page xwiki-upgrades

Last modified by Alex Cotiugă on 2026/05/12 12:41

From version 2.1
edited by Alex Cotiugă
on 2026/05/01 12:25
Change comment: Rollback to version 1.4
To version 1.6
edited by Alex Cotiugă
on 2026/05/01 12:23
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -2,22 +2,34 @@
2 2  #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 3  {{html clean="false"}}
4 4  
5 - ## COMPACT HERO
6 - <section class="hero hero-centered service-hero" aria-labelledby="hero-title">
7 - <div class="container hero-inner">
8 - <h1 id="hero-title">XWiki Upgrades</h1>
9 - <p class="lead">
10 - Safe, planned upgrades for production XWiki instances.
11 - </p>
12 - <ul class="benefits">
13 - <li>Latest LTS</li>
14 - <li>Security fixes</li>
15 - <li>Extension checks</li>
16 - <li>Minimal downtime</li>
17 - </ul>
18 - <div class="hero-cta">
19 - <a href="mailto:alex@agnease.com?subject=XWiki%20Upgrade%20Assessment">Request an upgrade assessment</a>
5 + ## COMPACT SERVICE HEADER
6 + <section class="service-header" aria-labelledby="hero-title">
7 + <div class="container service-header-grid">
8 + <div class="service-header-main">
9 + <p class="eyebrow">XWiki service</p>
10 + <h1 id="hero-title">XWiki Upgrades</h1>
11 + <p class="lead-left">
12 + Safe, planned upgrades for production XWiki instances, with compatibility checks,
13 + rollback planning, and post-upgrade validation.
14 + </p>
15 + <ul class="inline-benefits">
16 + <li>Latest LTS</li>
17 + <li>Security fixes</li>
18 + <li>Extension checks</li>
19 + <li>Minimal downtime</li>
20 + </ul>
20 20   </div>
22 +
23 + <aside class="service-aside">
24 + <h3>Need an upgrade assessment?</h3>
25 + <p>
26 + Send your current XWiki version and a short description of your setup.
27 + Agnease will recommend the target version, estimated effort, and key risks to review.
28 + </p>
29 + <a class="service-cta" href="mailto:alex@agnease.com?subject=XWiki%20Upgrade%20Assessment">
30 + Request an assessment
31 + </a>
32 + </aside>
21 21   </div>
22 22   </section>
23 23  
... ... @@ -31,7 +31,7 @@
31 31   'icon': 'refresh',
32 32   'content': 'Plan the upgrade with backups, validation, rollback options, and minimal downtime.'
33 33   },{
34 - 'title': 'Avoid compatibility surprises',
46 + 'title': 'Avoid surprises',
35 35   'icon': 'puzzle-piece',
36 36   'content': 'Review extensions, custom code, authentication, PDF export, and infrastructure before production.'
37 37   }])
... ... @@ -94,19 +94,5 @@
94 94   </div>
95 95   </section>
96 96  
97 - ## FINAL CTA
98 - <section class="cta-section compact-cta" aria-labelledby="assessment-title">
99 - <div class="container">
100 - <h2 id="assessment-title">Request an XWiki upgrade assessment</h2>
101 - <p class="lead">
102 - Send your current XWiki version and a short description of your setup.
103 - Agnease will recommend the target version, estimated effort, and key risks to review.
104 - </p>
105 - <p class="text-center contact-inline">
106 - <a href="mailto:alex@agnease.com?subject=XWiki%20Upgrade%20Assessment">Request an upgrade assessment</a>
107 - </p>
108 - </div>
109 - </section>
110 -
111 111  {{/html}}
112 112  {{/velocity}}
XWiki.StyleSheetExtension[0]
cache
... ... @@ -1,0 +1,1 @@
1 +long
code
... ... @@ -1,0 +1,112 @@
1 +/* ===== Service inner page header ===== */
2 +
3 +.service-header {
4 + padding: 28px 0;
5 + border-top: none;
6 + background:
7 + radial-gradient(42rem 12rem at 50% -20%, #E7FFF8 0%, transparent 65%);
8 +}
9 +
10 +.service-header-grid {
11 + display: grid;
12 + grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.8fr);
13 + gap: 32px;
14 + align-items: center;
15 +}
16 +
17 +.service-header-main {
18 + h1 {
19 + margin: 0 0 8px;
20 + font-size: 34px;
21 + line-height: 1.15;
22 + color: @text;
23 + }
24 +}
25 +
26 +.eyebrow {
27 + margin: 0 0 6px;
28 + color: @brand;
29 + font-size: 13px;
30 + font-weight: 700;
31 + text-transform: uppercase;
32 + letter-spacing: .04em;
33 +}
34 +
35 +.lead-left {
36 + margin: 0 0 12px;
37 + color: @muted;
38 + font-size: 18px;
39 + line-height: 1.45;
40 + max-width: 720px;
41 +}
42 +
43 +.inline-benefits {
44 + display: flex;
45 + flex-wrap: wrap;
46 + gap: 8px;
47 + list-style: none;
48 + padding: 0;
49 + margin: 0;
50 +
51 + li {
52 + color: @muted;
53 + font-size: 13px;
54 + background: fade(@brand, 8%);
55 + border: 1px solid fade(@brand, 18%);
56 + border-radius: 999px;
57 + padding: 4px 9px;
58 + }
59 +}
60 +
61 +.service-aside {
62 + background: #fff;
63 + border: 1px solid @line;
64 + border-radius: @radius;
65 + box-shadow: @shadow-sm;
66 + padding: 18px;
67 +
68 + h3 {
69 + margin: 0 0 8px;
70 + color: @text;
71 + font-size: 18px;
72 + }
73 +
74 + p {
75 + margin: 0 0 12px;
76 + color: @muted;
77 + line-height: 1.45;
78 + font-size: 14px;
79 + }
80 +}
81 +
82 +.service-cta {
83 + display: inline-block;
84 + color: #fff;
85 + background: @brand;
86 + border-radius: 8px;
87 + padding: 8px 12px;
88 + font-weight: 700;
89 + text-decoration: none;
90 +
91 + &:hover,
92 + &:focus {
93 + color: #fff;
94 + background: @brand-strong;
95 + text-decoration: none;
96 + }
97 +}
98 +
99 +@media (max-width: 767px) {
100 + .service-header-grid {
101 + grid-template-columns: 1fr;
102 + gap: 18px;
103 + }
104 +
105 + .service-header-main h1 {
106 + font-size: 28px;
107 + }
108 +
109 + .lead-left {
110 + font-size: 16px;
111 + }
112 +}
use
... ... @@ -1,0 +1,1 @@
1 +currentPage