Changes for page Home
Last modified by Alex Cotiugă on 2026/01/13 13:12
From version 9.1
edited by Alex Cotiugă
on 2025/11/24 07:19
on 2025/11/24 07:19
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 (0 modified, 1 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,149 +1,116 @@ 1 1 {{velocity}} 2 -#if ("$!xcontext.userReference" == '') 3 - #set ($discard = $xwiki.ssx.use('Main.WebHome')) 4 - {{html clean="false"}} 5 - ## HERO 6 - <section class="hero hero-centered" aria-labelledby="hero-title"> 7 - <div class="container hero-inner"> 8 - <h1 id="hero-title">Professional XWiki solutions, from setup to long-term stability</h1> 9 - <p class="lead">Need your XWiki upgraded, secured, or improved? Let’s make it happen.</p> 10 - <div class="hero-cta"> 11 - <a class="btn btn-primary" href="#contact" aria-label="Schedule a call with Agnease"> 12 - Request a consultation 13 - </a> 14 - </div> 15 - <ul class="benefits"> 16 - <li>Smooth upgrades</li> 17 - <li>Reliable support plans</li> 18 - <li>Custom integrations</li> 19 - <li>Secure, optimized platforms</li> 2 +{{html clean="false"}} 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> 11 + 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> 29 + 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> 20 20 </ul> 21 - </div> 22 - </section> 23 - ## WHY CHOOSE 24 - #set ($whySectionData = [{ 25 - 'title': 'Stability & security', 26 - 'icon': 'shield', 27 - 'content': 'Proven upgrade steps, rollback safety, and proactive hardening keep your wiki reliable.' 28 - },{ 29 - 'title': 'Predictable delivery', 30 - 'icon': 'check-square-o', 31 - 'content': 'Clear scope, defined steps, and documented results to avoid surprises.' 32 - },{ 33 - 'title': 'Clean integrations', 34 - 'icon': 'link', 35 - 'content': 'Maintainable SSO, API, and system connections tailored to your environment.' 36 - },{ 37 - 'title': 'Long-term support', 38 - 'icon': 'life-ring', 39 - 'content': 'Guaranteed response times, regular checks, and fast assistance when needed.' 40 - }]) 41 - <section aria-labelledby="why-title"> 42 - <div class="container"> 43 - <h2 id="why-title">Why choose Agnease</h2> 44 - <p class="lead">10+ years of XWiki expertise with structured delivery and lasting collaboration</p> 45 - <div class="widgets"> 46 - #foreach ($entry in $whySectionData) 47 - <article class="widget"> 48 - <div class="icon" aria-hidden="true"> 49 - <i class="fa fa-$entry.icon"></i> 50 - <h4>$entry.title</h4> 51 - </div> 52 - <p>$entry.content</p> 53 - </article> 54 - #end 55 - </div> 56 - </div> 57 - </section> 58 - ## SERVICES 59 - #set ($servicesSectionData = [{ 60 - 'title': 'Upgrades', 61 - 'icon': 'refresh', 62 - 'content': 'Stay current with the latest XWiki LTS and keep your instance reliable.', 63 - 'items': [ 64 - 'Audit setup, extensions, and configurations', 65 - 'Test upgrades with backups and validation', 66 - 'Safe production rollout with minimal downtime' 67 - ] 68 - },{ 69 - 'title': 'Maintenance, Support & Recovery', 70 - 'icon': 'stethoscope', 71 - 'content': 'Ensure long-term stability and quick response when issues appear.', 72 - 'items': [ 73 - 'Monitoring and performance checks', 74 - 'Security patching, log analysis, triage', 75 - 'Issue recovery, data repair, hardening' 76 - ] 77 - },{ 78 - 'title': 'Development & Integrations', 79 - 'icon': 'cogs', 80 - 'content': 'Extend and connect XWiki to fit your workflow and systems.', 81 - 'items': [ 82 - 'Custom apps, macros, automation', 83 - 'SSO, REST APIs, LDAP, CRM links', 84 - 'Maintainable extensions for long-term use' 85 - ] 86 - },{ 87 - 'title': 'Hosting & Deployment', 88 - 'icon': 'cloud', 89 - 'content': 'Cloud-ready environments designed for reliability and performance.', 90 - 'items': [ 91 - 'Containerized deployment and TLS', 92 - 'Backups, restore strategy, observability', 93 - 'Optimization and load tuning' 94 - ] 95 - },{ 96 - 'title': 'Migrations to XWiki', 97 - 'icon': 'exchange', 98 - 'content': 'Move from Confluence, SharePoint, or MediaWiki to XWiki with full data integrity and structure.', 99 - 'items': [ 100 - 'Preserve hierarchy, attachments, and permissions', 101 - 'Convert macros, categories, and metadata for XWiki', 102 - 'Redirect old URLs and maintain SEO consistency' 103 - ] 104 - }]) 105 - <section class="services" aria-labelledby="services-title"> 106 - <div class="container"> 107 - <h2 id="services-title">Services</h2> 108 - <p class="lead"> 109 - All the XWiki services you need, delivered with precision and care 110 - </p> 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> 83 +{{/html}} 84 +#* 85 += XWiki Multi-Factor Authentication (MFA) Application = 111 111 112 - #set ($servicesSize = $servicesSectionData.size()) 113 - <div class="services-grid"> 114 - #foreach ($entry in $servicesSectionData) 115 - #set ($classes = "service") 116 - ## If this is the last item AND the total number is odd, center it 117 - #if ($foreach.count == $servicesSize && ($servicesSize % 2) == 1) 118 - #set ($classes = "service service-center") 119 - #end 87 +{{display reference="Extension.MFA Application.WebHome"/}} 88 +== Transform Your Business with Our Professional XWiki Solutions == 120 120 121 - <article class="$classes"> 122 - <div class="service-icon"> 123 - <i class="fa fa-$entry.icon" aria-hidden="true"></i> 124 - </div> 125 - <div class="service-body"> 126 - <h4>$entry.title</h4> 127 - <p>$entry.content</p> 128 - <ul> 129 - #foreach ($item in $entry.items) 130 - <li>$item</li> 131 - #end 132 - </ul> 133 - </div> 134 - </article> 135 - #end 136 - </div> 137 - </div> 138 - </section> 139 - ## CTA INLINE 140 - <section id="contact" class="cta-section"> 141 - <div class="container"> 142 - <p class="text-center contact-inline"> 143 - Need help with your XWiki? <a href="mailto:alex@agnease.com">Contact Agnease</a>. 144 - </p> 145 - </div> 146 - </section> 147 - {{/html}} 148 -#end 90 +* **XWiki Strategy and Optimization** 91 +Get expert advice on optimizing XWiki for your specific business needs. 92 +Receive tailored solutions to improve collaboration and knowledge management. 93 + 94 +* **Custom Development** 95 +We develop specific features based on your needs. 96 +Customize XWiki to match your unique workflows and processes. 97 + 98 +* **Open Source Development** 99 +We add new features, make improvements, and fix bugs on the XWiki platform. 100 +Contribute to the XWiki community by enhancing the platform’s capabilities. 101 + 102 +* **Installation and Upgrade** 103 +We handle installation and upgrades to ensure everything runs smoothly. 104 +Ensure a seamless transition with minimal disruption to your operations. 105 + 106 +* **Migration Services** 107 +Move from Confluence, MediaWiki, SharePoint, and other tools to XWiki with ease. 108 +Preserve your data integrity and structure during the migration process. 109 + 110 +* **Technical Support and Maintenance** 111 +We provide ongoing support and maintenance for your XWiki solution. 112 +Ensure your XWiki instance is always up-to-date and performing optimally. 113 + 114 +Contact us at [[contact@agnease.com>>mailto:contact@agnease.com]] 115 +*# 149 149 {{/velocity}}
- XWiki.StyleSheetExtension[0]
-
- Caching policy
-
... ... @@ -1,0 +1,1 @@ 1 +long - 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 + - Use this extension
-
... ... @@ -1,0 +1,1 @@ 1 +currentPage