Changes for page xwiki-upgrades
Last modified by Alex Cotiugă on 2026/05/12 12:41
From version 1.1
edited by Alex Cotiugă
on 2026/05/01 12:00
on 2026/05/01 12:00
Change comment:
There is no comment for this version
To version 1.6
edited by Alex Cotiugă
on 2026/05/01 12:23
on 2026/05/01 12:23
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (0 modified, 1 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,0 +1,110 @@ 1 +{{velocity}} 2 +#set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) 3 +{{html clean="false"}} 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> 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 + </div> 34 + </section> 35 + 36 + ## VALUE CARDS 37 + #set ($upgradeCards = [{ 38 + 'title': 'Stay secure', 39 + 'icon': 'shield', 40 + 'content': 'Reduce exposure to known vulnerabilities fixed in newer XWiki versions.' 41 + },{ 42 + 'title': 'Upgrade safely', 43 + 'icon': 'refresh', 44 + 'content': 'Plan the upgrade with backups, validation, rollback options, and minimal downtime.' 45 + },{ 46 + 'title': 'Avoid surprises', 47 + 'icon': 'puzzle-piece', 48 + 'content': 'Review extensions, custom code, authentication, PDF export, and infrastructure before production.' 49 + }]) 50 + 51 + <section class="compact-section" aria-labelledby="why-title"> 52 + <div class="container"> 53 + <h2 id="why-title">Keep your XWiki platform current and reliable</h2> 54 + <div class="widgets compact-widgets"> 55 + #foreach ($entry in $upgradeCards) 56 + <article class="widget"> 57 + <div class="icon" aria-hidden="true"> 58 + <i class="fa fa-$entry.icon"></i> 59 + <h4>$entry.title</h4> 60 + </div> 61 + <p>$entry.content</p> 62 + </article> 63 + #end 64 + </div> 65 + </div> 66 + </section> 67 + 68 + ## TWO COLUMN SUMMARY 69 + <section class="services compact-section" aria-labelledby="summary-title"> 70 + <div class="container"> 71 + <h2 id="summary-title">Upgrade support for real XWiki environments</h2> 72 + 73 + <div class="services-grid compact-grid"> 74 + <article class="service"> 75 + <div class="service-icon"> 76 + <i class="fa fa-exclamation-triangle" aria-hidden="true"></i> 77 + </div> 78 + <div class="service-body"> 79 + <h4>When to consider an upgrade</h4> 80 + <ul> 81 + <li>Your instance is not on the latest suitable LTS version</li> 82 + <li>Your current version is more than one year old</li> 83 + <li>You use custom extensions, scripts, or workflows</li> 84 + <li>You rely on LDAP, SSO, OIDC, SAML, or MFA</li> 85 + <li>You want to reduce security and maintenance risk</li> 86 + </ul> 87 + </div> 88 + </article> 89 + 90 + <article class="service"> 91 + <div class="service-icon"> 92 + <i class="fa fa-check-square-o" aria-hidden="true"></i> 93 + </div> 94 + <div class="service-body"> 95 + <h4>What Agnease handles</h4> 96 + <ul> 97 + <li>Current version and environment review</li> 98 + <li>Recommended target version</li> 99 + <li>Extension and customization checks</li> 100 + <li>Backup, staging, and rollback planning</li> 101 + <li>Production upgrade and post-upgrade validation</li> 102 + </ul> 103 + </div> 104 + </article> 105 + </div> 106 + </div> 107 + </section> 108 + 109 +{{/html}} 110 +{{/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