Changes for page Home
Last modified by Alex Cotiugă on 2026/01/13 13:12
From version 5.9
edited by Alex Cotiugă
on 2025/11/12 15:27
on 2025/11/12 15:27
Change comment:
There is no comment for this version
To version 4.26
edited by Alex Cotiugă
on 2025/11/12 13:33
on 2025/11/12 13:33
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,254 +1,85 @@ 1 1 {{velocity}} 2 -#*== Professional XWiki Services for Secure and Scalable Business Solutions == 3 -Agnease helps organizations maintain, upgrade, and extend their XWiki environments with clarity and precision. Focusing on stability, performance, and long-term support we ensure your business knowledge and collaboration tools remain dependable, secure, and adaptable to growth.*# 4 4 {{html clean="false"}} 5 -<main class="agnease-landing"> 3 +<section id="overview" aria-labelledby="overview-title"> 4 + <h1 id="overview-title">Professional XWiki Services for Secure and Scalable Business Solutions</h1> 5 + <p> 6 + Agnease helps organizations maintain, upgrade, and extend their XWiki environments with clarity and precision. 7 + Focusing on stability, performance, and long-term support we ensure your business knowledge and 8 + collaboration tools remain dependable, secure, and adaptable to growth. 9 + </p> 10 +</section> 6 6 7 - <!-- ================= HERO ================= --> 8 - <section class="hero" aria-labelledby="hero-title"> 9 - <div class="container hero-top"> 10 - <div> 11 - <div class="hero-badges"> 12 - <span class="chip">Professional XWiki Services</span> 13 - <span class="chip">Secure & Scalable</span> 14 - </div> 15 - <h1 id="hero-title">Engineering reliability in every XWiki environment</h1> 16 - <p class="lead"> 17 - Upgrades, maintenance, integrations, and custom development — delivered with clarity and low risk. 18 - Agnease keeps XWiki stable, secure, and ready to grow. 19 - </p> 20 - <div class="hero-cta"> 21 - <a class="btn btn-primary" href="#contact">Request a proposal</a> 22 - <a class="btn btn-ghost" href="#services">View services</a> 23 - </div> 24 - </div> 12 +<section id="pillars" aria-labelledby="pillars-title"> 13 + <h2 id="pillars-title">What you can expect</h2> 14 + <div class="pillars"> 15 + <article> 16 + <h3>Stability</h3> 17 + <p>LTS upgrades, dependency reviews, and rehearsed changes to keep systems available.</p> 18 + </article> 19 + <article> 20 + <h3>Security</h3> 21 + <p>Timely patches, configuration hardening, and access controls aligned with best practices.</p> 22 + </article> 23 + <article> 24 + <h3>Clarity</h3> 25 + <p>Documented plans, transparent estimates, and actionable handovers for your team.</p> 26 + </article> 27 + </div> 28 +</section> 25 25 26 - <aside class="hero-card" aria-labelledby="glance-title"> 27 - <h3 id="glance-title">At a glance</h3> 28 - <ul> 29 - <li>Low-downtime LTS upgrades</li> 30 - <li>Support plans with SLAs</li> 31 - <li>SSO/OIDC, Stripe, REST integrations</li> 32 - <li>Audits, recovery, performance tuning</li> 33 - </ul> 34 - </aside> 35 - </div> 36 - </section> 37 - 38 - <!-- ========= WHY CHOOSE AGNEASE (widgets) ========= --> 39 - <section aria-labelledby="why-title"> 40 - <div class="container"> 41 - <h2 id="why-title">Why choose Agnease</h2> 42 - <p class="lead">Specialized XWiki expertise with predictable delivery and long-term partnership.</p> 43 - 44 - <div class="widgets" role="list"> 45 - <article class="widget" role="listitem"> 46 - <div class="icon" aria-hidden="true"> 47 - <!-- shield --> 48 - <svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M12 3l7 3v5c0 5-3.5 9-7 10-3.5-1-7-5-7-10V6l7-3z" stroke="#2D3A34" stroke-width="1.6" fill="none"/></svg> 49 - </div> 50 - <h3>Stability & security</h3> 51 - <p>Rehearsed upgrades, hardening, and safe rollback paths keep your wiki available.</p> 52 - </article> 53 - 54 - <article class="widget" role="listitem"> 55 - <div class="icon" aria-hidden="true"> 56 - <!-- timeline --> 57 - <svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4 17h4l3-7 3 7h6" stroke="#2D3A34" stroke-width="1.6"/></svg> 58 - </div> 59 - <h3>Predictable delivery</h3> 60 - <p>Clear scope, downtime windows, and documentation — no surprises.</p> 61 - </article> 62 - 63 - <article class="widget" role="listitem"> 64 - <div class="icon" aria-hidden="true"> 65 - <!-- puzzle --> 66 - <svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M7 3h5v4h5v5h-4v5H8v-4H3V8h4V3z" stroke="#2D3A34" stroke-width="1.6" fill="none"/></svg> 67 - </div> 68 - <h3>Clean integrations</h3> 69 - <p>Maintainable SSO, Stripe, and API workflows that fit your environment.</p> 70 - </article> 71 - 72 - <article class="widget" role="listitem"> 73 - <div class="icon" aria-hidden="true"> 74 - <!-- handshake --> 75 - <svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M3 12l4-4 5 5 5-5 4 4-9 9-9-9z" stroke="#2D3A34" stroke-width="1.6" fill="none"/></svg> 76 - </div> 77 - <h3>Long-term support</h3> 78 - <p>Retainers with SLA, health checks, and fast investigation when issues appear.</p> 79 - </article> 80 - </div> 81 - </div> 82 - </section> 83 - 84 - <!-- ================= SERVICES ================= --> 85 - <section id="services" aria-labelledby="services-title"> 86 - <div class="container"> 87 - <h2 id="services-title">Services</h2> 88 - <p class="lead">Everything your XWiki needs — from one expert partner.</p> 89 - 90 - <div class="services"> 91 - <article class="card"> 92 - <h3>Upgrades & Migrations</h3> 93 - <p>Predictable paths to current LTS with rehearsed steps, backups, and rollback.</p> 94 - <details> 95 - <summary>Details</summary> 96 - <ul> 97 - <li>Version & extension audit</li> 98 - <li>Pre-production rehearsal</li> 99 - <li>Rollback & backup plan</li> 100 - </ul> 101 - </details> 102 - </article> 103 - 104 - <article class="card"> 105 - <h3>Maintenance & Support</h3> 106 - <p>Health checks, patching, bug triage, and on-call investigation.</p> 107 - <details> 108 - <summary>Details</summary> 109 - <ul> 110 - <li>Monthly health report</li> 111 - <li>Security updates applied</li> 112 - <li>Response-time guarantees</li> 113 - </ul> 114 - </details> 115 - </article> 116 - 117 - <article class="card"> 118 - <h3>Custom Development</h3> 119 - <p>Macros, apps, structured data, and workflow automation.</p> 120 - <details> 121 - <summary>Details</summary> 122 - <ul> 123 - <li>Forms, live tables, reports</li> 124 - <li>Task & review flows</li> 125 - <li>UI/UX enhancements</li> 126 - </ul> 127 - </details> 128 - </article> 129 - 130 - <article class="card"> 131 - <h3>Integrations</h3> 132 - <p>Connect XWiki to identity and business systems with clean patterns.</p> 133 - <details> 134 - <summary>Details</summary> 135 - <ul> 136 - <li>SSO / OIDC / SAML</li> 137 - <li>Stripe payments</li> 138 - <li>REST / Webhooks</li> 139 - </ul> 140 - </details> 141 - </article> 142 - 143 - <article class="card"> 144 - <h3>Hosting & Deployment</h3> 145 - <p>Cloud-ready setups, backups, observability, and performance tuning.</p> 146 - <details> 147 - <summary>Details</summary> 148 - <ul> 149 - <li>Architecture guidance</li> 150 - <li>Backup & restore drills</li> 151 - <li>Scaling & caching</li> 152 - </ul> 153 - </details> 154 - </article> 155 - 156 - <article class="card"> 157 - <h3>Audit & Recovery</h3> 158 - <p>Stabilize unstable instances, recover features, harden configuration.</p> 159 - <details> 160 - <summary>Details</summary> 161 - <ul> 162 - <li>Root-cause analysis</li> 163 - <li>Hardening checklist</li> 164 - <li>Actionable remediation plan</li> 165 - </ul> 166 - </details> 167 - </article> 168 - </div> 169 - </div> 170 - </section> 171 - 172 - <!-- ================= METRICS ================= --> 173 - <section aria-labelledby="metrics-title"> 174 - <div class="container"> 175 - <h2 id="metrics-title">Delivery at a glance</h2> 176 - <div class="metrics" role="list"> 177 - <div class="metric" role="listitem"> 178 - <div class="num">8–12h</div> 179 - <div class="label">Typical LTS upgrade window</div> 180 - </div> 181 - <div class="metric" role="listitem"> 182 - <div class="num">99.9%</div> 183 - <div class="label">Planned uptime during upgrades*</div> 184 - </div> 185 - <div class="metric" role="listitem"> 186 - <div class="num">24–48h</div> 187 - <div class="label">First response SLA (plans)</div> 188 - </div> 189 - <div class="metric" role="listitem"> 190 - <div class="num">10+ yrs</div> 191 - <div class="label">XWiki expertise</div> 192 - </div> 193 - </div> 194 - <p class="lead" style="margin-top:.6rem">*for rehearsed, staged upgrades on supported environments.</p> 195 - </div> 196 - </section> 197 - 198 - <!-- ================= PROCESS ================= --> 199 - <section aria-labelledby="process-title"> 200 - <div class="container"> 201 - <h2 id="process-title">Process</h2> 202 - <p class="lead">Calm, predictable, and transparent from start to finish.</p> 203 - <div class="steps"> 204 - <div class="step"> 205 - <h3>1) Assess</h3> 206 - <p>Review environment, extensions, constraints, and risks — no surprises.</p> 207 - </div> 208 - <div class="step"> 209 - <h3>2) Plan</h3> 210 - <p>Agree scope, milestones, downtime windows, and rollback checkpoints.</p> 211 - </div> 212 - <div class="step"> 213 - <h3>3) Deliver</h3> 214 - <p>Execute, verify, document, and hand over with actionable notes.</p> 215 - </div> 216 - </div> 217 - </div> 218 - </section> 219 - 220 - <!-- ================= FAQ ================= --> 221 - <section class="faq" aria-labelledby="faq-title"> 222 - <div class="container"> 223 - <h2 id="faq-title">FAQ</h2> 224 - <details> 225 - <summary>How much downtime should we expect for an upgrade?</summary> 226 - <p>Most upgrades complete in a short maintenance window. For mission-critical wikis we rehearse and stage changes to minimize downtime.</p> 227 - </details> 228 - <details> 229 - <summary>Can you help if our wiki is already broken?</summary> 230 - <p>Yes. We start with an audit to stabilize the instance, recover missing features, and harden configuration.</p> 231 - </details> 232 - <details> 233 - <summary>Do you offer support plans?</summary> 234 - <p>Yes — from ad-hoc assistance to ongoing retainers with response-time guarantees and monthly health checks.</p> 235 - </details> 236 - </div> 237 - </section> 238 - 239 - <!-- ================= CTA ================= --> 240 - <section id="contact" aria-labelledby="contact-title"> 241 - <div class="container"> 242 - <div class="cta-band"> 243 - <div> 244 - <h3 id="contact-title">Need a reliable plan for your XWiki?</h3> 245 - <p class="lead" style="margin:0">Upgrades, support, and integrations handled with low risk and clear communication.</p> 246 - </div> 247 - <a class="btn btn-primary" href="mailto:hello@agnease.com">Contact Agnease</a> 248 - </div> 249 - </div> 250 - </section> 251 - </main> 30 +<section id="services" aria-labelledby="services-title"> 31 + <h2 id="services-title">Services</h2> 32 + <div class="services-grid"> 33 + <article> 34 + <h3>Upgrades & Migrations</h3> 35 + <ul> 36 + <li>Path to current LTS</li> 37 + <li>Extension compatibility review</li> 38 + <li>Rollback & backup strategy</li> 39 + </ul> 40 + </article> 41 + <article> 42 + <h3>Maintenance & Support</h3> 43 + <ul> 44 + <li>Health checks & monitoring</li> 45 + <li>Security updates</li> 46 + <li>Incident investigation</li> 47 + </ul> 48 + </article> 49 + <article> 50 + <h3>Custom Development</h3> 51 + <ul> 52 + <li>Macros and applications</li> 53 + <li>Forms & structured data</li> 54 + <li>Automation & notifications</li> 55 + </ul> 56 + </article> 57 + <article> 58 + <h3>Integrations</h3> 59 + <ul> 60 + <li>SSO / OIDC / SAML</li> 61 + <li>Stripe payments</li> 62 + <li>REST / Webhooks</li> 63 + </ul> 64 + </article> 65 + <article> 66 + <h3>Hosting & Deployment</h3> 67 + <ul> 68 + <li>Cloud architecture</li> 69 + <li>Backups & observability</li> 70 + <li>Performance & scaling</li> 71 + </ul> 72 + </article> 73 + <article> 74 + <h3>Audits & Recovery</h3> 75 + <ul> 76 + <li>Root-cause analysis</li> 77 + <li>Configuration hardening</li> 78 + <li>Remediation roadmap</li> 79 + </ul> 80 + </article> 81 + </div> 82 +</section> 252 252 {{/html}} 253 253 #* 254 254 = XWiki Multi-Factor Authentication (MFA) Application =
- XWiki.StyleSheetExtension[0]
-
- Code
-
... ... @@ -1,0 +1,201 @@ 1 +/* ============================ 2 + Agnease Theme (scoped) 3 + ============================ */ 4 +#contentcontainer { 5 + --brand: #00937D; /* Primary UI color (accessible vs white) */ 6 + --brand-strong: #007B6A; /* Hover/active */ 7 + --text: #2D3A34; /* Body text */ 8 + --muted: #5B6B64; /* Secondary text */ 9 + --panel: #F7F9F8; /* Light panels / chips */ 10 + --line: #E4ECE9; /* Subtle borders */ 11 + --success: #4CAF50; 12 + --warning: #F9A825; 13 + --danger: #E53935; 14 + --info: #0277BD; 15 + --radius: 14px; 16 + --radius-sm: 10px; 17 + --shadow: 0 8px 24px rgba(0,0,0,.06); 18 +} 19 + 20 +/* Base text & links */ 21 +#contentcontainer { 22 + color: var(--text); 23 +} 24 +#contentcontainer a { 25 + color: var(--brand); 26 + text-decoration: none; 27 +} 28 +#contentcontainer a:hover { 29 + color: var(--brand-strong); 30 + text-decoration: underline; 31 +} 32 + 33 +/* Headings & helpers */ 34 +#contentcontainer .eyebrow { 35 + display: inline-block; 36 + font-size: 0.8rem; 37 + font-weight: 700; 38 + text-transform: uppercase; 39 + letter-spacing: 0.14em; 40 + color: var(--brand); 41 + margin: 0 0 .4rem; 42 +} 43 +#contentcontainer h1, 44 +#contentcontainer h2, 45 +#contentcontainer h3 { 46 + margin: .25rem 0 .5rem; 47 + line-height: 1.2; 48 +} 49 +#contentcontainer .lead { 50 + color: var(--muted); 51 + max-width: 72ch; 52 +} 53 + 54 +/* Layout utilities */ 55 +#contentcontainer section { 56 + padding: 2.5rem 0; 57 + border-top: 1px solid var(--line); 58 +} 59 +#contentcontainer .cards, 60 +#contentcontainer .pillars, 61 +#contentcontainer .services-grid, 62 +#contentcontainer .process-steps, 63 +#contentcontainer .highlights { 64 + display: grid; 65 + gap: 1rem; 66 +} 67 +#contentcontainer .cards-3, 68 +#contentcontainer .services-grid { grid-template-columns: 1fr; } 69 +#contentcontainer .pillars { grid-template-columns: 1fr; } 70 +#contentcontainer .process-steps { counter-reset: step; list-style: none; padding: 0; } 71 + 72 +@media (min-width: 740px) { 73 + #contentcontainer .pillars { grid-template-columns: repeat(3, 1fr); } 74 + #contentcontainer .cards-3, 75 + #contentcontainer .services-grid { grid-template-columns: repeat(3, 1fr); } 76 +} 77 + 78 +/* Cards & articles */ 79 +#contentcontainer .card, 80 +#contentcontainer .services-grid > article, 81 +#contentcontainer .pillars > article { 82 + background: #fff; 83 + border: 1px solid var(--line); 84 + border-radius: var(--radius); 85 + padding: 1rem 1.1rem; 86 + box-shadow: var(--shadow); 87 +} 88 +#contentcontainer .card h3, 89 +#contentcontainer .services-grid h3, 90 +#contentcontainer .pillars h3 { 91 + margin: .25rem 0 .35rem; 92 + font-size: 1.05rem; 93 +} 94 +#contentcontainer .card p, 95 +#contentcontainer .services-grid p, 96 +#contentcontainer .pillars p { 97 + margin: 0; 98 + color: var(--muted); 99 +} 100 +#contentcontainer .card ul, 101 +#contentcontainer .services-grid ul { 102 + margin: .6rem 0 0; 103 + padding-left: 1.1rem; 104 + color: var(--muted); 105 +} 106 + 107 +/* Process steps */ 108 +#contentcontainer .process-steps > li { 109 + background: #fff; 110 + border: 1px solid var(--line); 111 + border-radius: var(--radius); 112 + padding: 1rem 1.1rem; 113 + box-shadow: var(--shadow); 114 +} 115 +#contentcontainer .process-steps > li h3 { 116 + margin: 0 0 .25rem; 117 +} 118 + 119 +/* Highlights list */ 120 +#contentcontainer .highlights { 121 + grid-template-columns: 1fr; 122 +} 123 +@media (min-width: 740px) { 124 + #contentcontainer .highlights { 125 + grid-template-columns: repeat(2, 1fr); 126 + } 127 +} 128 +#contentcontainer .highlights li { 129 + background: var(--panel); 130 + border: 1px solid var(--line); 131 + border-radius: var(--radius-sm); 132 + padding: .7rem .9rem; 133 +} 134 + 135 +/* Buttons */ 136 +#contentcontainer .btn { 137 + display: inline-flex; 138 + align-items: center; 139 + gap: .55rem; 140 + padding: .78rem 1rem; 141 + border-radius: 12px; 142 + font-weight: 650; 143 + letter-spacing: .2px; 144 + cursor: pointer; 145 + border: 2px solid transparent; 146 + box-shadow: var(--shadow); 147 +} 148 +#contentcontainer .btn-primary { 149 + background: var(--brand); 150 + color: #fff; 151 +} 152 +#contentcontainer .btn-primary:hover { 153 + background: var(--brand-strong); 154 +} 155 +#contentcontainer .btn-ghost { 156 + background: #fff; 157 + color: var(--brand); 158 + border-color: var(--brand); 159 +} 160 +#contentcontainer .btn-ghost:hover { 161 + color: var(--brand-strong); 162 + border-color: var(--brand-strong); 163 +} 164 + 165 +/* Forms */ 166 +#contentcontainer .contact-form .form-row { 167 + display: grid; 168 + gap: .4rem; 169 + margin-bottom: .9rem; 170 +} 171 +#contentcontainer .contact-form label { 172 + font-weight: 600; 173 +} 174 +#contentcontainer .contact-form input, 175 +#contentcontainer .contact-form textarea { 176 + width: 100%; 177 + padding: .75rem .9rem; 178 + border: 1px solid var(--line); 179 + border-radius: var(--radius-sm); 180 + color: var(--text); 181 + background: #fff; 182 + font: inherit; 183 +} 184 +#contentcontainer .contact-form input:focus, 185 +#contentcontainer .contact-form textarea:focus, 186 +#contentcontainer a:focus { 187 + outline: 3px solid var(--brand); 188 + outline-offset: 2px; 189 +} 190 + 191 +/* Small helpers */ 192 +#contentcontainer .benefits { 193 + display: flex; 194 + flex-wrap: wrap; 195 + gap: .6rem 1rem; 196 + padding-left: 0; 197 + list-style: none; 198 + color: var(--muted); 199 +} 200 +#contentcontainer .cta-line { margin-top: .8rem; } 201 + - Content Type
-
... ... @@ -1,1 +1,0 @@ 1 -CSS