Changes for page xwiki-upgrades

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

From version 1.7
edited by Alex Cotiugă
on 2026/05/01 12:23
Change comment: There is no comment for this version
To version 1.4
edited by Alex Cotiugă
on 2026/05/01 12:20
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -2,34 +2,22 @@
2 2  #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 3  {{html clean="false"}}
4 4  
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>
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>
21 21   </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>
33 33   </div>
34 34   </section>
35 35  
... ... @@ -43,7 +43,7 @@
43 43   'icon': 'refresh',
44 44   'content': 'Plan the upgrade with backups, validation, rollback options, and minimal downtime.'
45 45   },{
46 - 'title': 'Avoid surprises',
34 + 'title': 'Avoid compatibility surprises',
47 47   'icon': 'puzzle-piece',
48 48   'content': 'Review extensions, custom code, authentication, PDF export, and infrastructure before production.'
49 49   }])
... ... @@ -106,5 +106,19 @@
106 106   </div>
107 107   </section>
108 108  
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 +
109 109  {{/html}}
110 110  {{/velocity}}
XWiki.StyleSheetExtension[0]
cache
... ... @@ -1,1 +1,0 @@
1 -long
code
... ... @@ -1,112 +1,0 @@
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,1 +1,0 @@
1 -currentPage