Wiki source code of Public Web Site
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
1.2 | 1 | {{velocity}} |
| |
3.5 | 2 | #macro (displayPublicContent) |
| |
3.4 | 3 | #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) |
| 4 | {{html clean="false"}} | ||
| |
6.27 | 5 | |
| |
5.1 | 6 | <section class="hero hero-centered" aria-labelledby="hero-title"> |
| 7 | <div class="container hero-inner"> | ||
| |
6.27 | 8 | <div class="hero-kicker"> |
| 9 | <i class="fa fa-shield" aria-hidden="true"></i> | ||
| |
6.34 | 10 | Your trusted partner for professional XWiki services |
| |
6.27 | 11 | </div> |
| 12 | |||
| 13 | <h1 id="hero-title">Reliable XWiki engineering for organizations that depend on their knowledge platform</h1> | ||
| 14 | |||
| 15 | <p class="lead"> | ||
| 16 | Agnease helps companies keep XWiki secure, stable, up-to-date and adapted to real business processes. | ||
| 17 | </p> | ||
| 18 | |||
| 19 | <p class="hero-support"> | ||
| 20 | From LTS upgrades and maintenance to custom applications, integrations, workflows and migrations, | ||
| 21 | Agnease provides focused XWiki expertise with practical delivery and long-term care. | ||
| 22 | </p> | ||
| 23 | |||
| |
3.89 | 24 | <ul class="benefits"> |
| |
6.27 | 25 | <li>Safe LTS upgrades</li> |
| 26 | <li>Support and recovery</li> | ||
| 27 | <li>Custom XWiki applications</li> | ||
| 28 | <li>Integrations and migrations</li> | ||
| |
3.89 | 29 | </ul> |
| |
6.27 | 30 | |
| 31 | <div class="hero-actions"> | ||
| 32 | <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Request a consultation</a> | ||
| 33 | <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a> | ||
| |
3.4 | 34 | </div> |
| |
1.2 | 35 | </div> |
| |
3.4 | 36 | </section> |
| |
6.27 | 37 | |
| 38 | <section class="trust-strip" aria-label="Agnease experience"> | ||
| |
3.4 | 39 | <div class="container"> |
| |
6.27 | 40 | <ul> |
| 41 | <li><i class="fa fa-check-circle" aria-hidden="true"></i> 11+ years of XWiki experience</li> | ||
| 42 | <li><i class="fa fa-check-circle" aria-hidden="true"></i> Upgrades, support and custom development</li> | ||
| 43 | <li><i class="fa fa-check-circle" aria-hidden="true"></i> Security-aware maintenance</li> | ||
| 44 | <li><i class="fa fa-check-circle" aria-hidden="true"></i> Practical long-term collaboration</li> | ||
| 45 | </ul> | ||
| |
1.2 | 46 | </div> |
| |
3.4 | 47 | </section> |
| |
6.27 | 48 | |
| 49 | <section aria-labelledby="platform-title"> | ||
| |
3.4 | 50 | <div class="container"> |
| |
6.27 | 51 | <h2 id="platform-title">When XWiki becomes business-critical, it needs professional care</h2> |
| 52 | <p class="section-intro"> | ||
| 53 | Many organizations start with XWiki as a documentation platform. Over time, it becomes a knowledge base, | ||
| 54 | intranet, SOP portal, workflow system, audit trail or integration hub. At that point, upgrades, security, | ||
| 55 | performance, permissions and maintainability are no longer optional technical details. | ||
| |
5.1 | 56 | </p> |
| |
1.1 | 57 | |
| |
6.27 | 58 | <div class="pathways"> |
| 59 | <article class="pathway-card"> | ||
| 60 | <div class="pathway-icon"> | ||
| 61 | <i class="fa fa-refresh" aria-hidden="true"></i> | ||
| 62 | </div> | ||
| 63 | <h3>Keep XWiki current</h3> | ||
| 64 | <p> | ||
| 65 | Plan and execute safe upgrades to supported XWiki versions, with compatibility checks and rollback planning. | ||
| 66 | </p> | ||
| 67 | <ul> | ||
| 68 | <li>LTS upgrade planning</li> | ||
| 69 | <li>Extension and custom code review</li> | ||
| 70 | <li>Production rollout validation</li> | ||
| 71 | </ul> | ||
| 72 | <p class="card-link"> | ||
| |
6.32 | 73 | <a href="$xwiki.getURL('services.xwiki-upgrades')">View upgrade services</a> |
| |
6.27 | 74 | </p> |
| 75 | </article> | ||
| |
5.1 | 76 | |
| |
6.27 | 77 | <article class="pathway-card"> |
| 78 | <div class="pathway-icon"> | ||
| 79 | <i class="fa fa-life-ring" aria-hidden="true"></i> | ||
| 80 | </div> | ||
| 81 | <h3>Keep XWiki reliable</h3> | ||
| 82 | <p> | ||
| 83 | Get long-term technical care for instances that need to stay stable, secure and recoverable. | ||
| 84 | </p> | ||
| 85 | <ul> | ||
| 86 | <li>Troubleshooting and recovery</li> | ||
| 87 | <li>Performance and log analysis</li> | ||
| 88 | <li>Security-aware maintenance</li> | ||
| 89 | </ul> | ||
| 90 | <p class="card-link"> | ||
| |
6.32 | 91 | <a href="$xwiki.getURL('services.xwiki-maintenance-support')">View support services</a> |
| |
6.27 | 92 | </p> |
| 93 | </article> | ||
| 94 | |||
| 95 | <article class="pathway-card"> | ||
| 96 | <div class="pathway-icon"> | ||
| 97 | <i class="fa fa-cogs" aria-hidden="true"></i> | ||
| 98 | </div> | ||
| 99 | <h3>Adapt XWiki to your business</h3> | ||
| 100 | <p> | ||
| 101 | Build workflows, custom applications, dashboards, integrations and automation around your processes. | ||
| 102 | </p> | ||
| 103 | <ul> | ||
| 104 | <li>Custom XWiki applications</li> | ||
| 105 | <li>Workflows and approvals</li> | ||
| 106 | <li>SSO, LDAP, APIs and integrations</li> | ||
| 107 | </ul> | ||
| 108 | <p class="card-link"> | ||
| |
6.32 | 109 | <a href="$xwiki.getURL('services.xwiki-development-integrations')">View development services</a> |
| |
6.27 | 110 | </p> |
| 111 | </article> | ||
| |
3.4 | 112 | </div> |
| |
1.2 | 113 | </div> |
| |
3.4 | 114 | </section> |
| |
6.27 | 115 | |
| 116 | <section class="split-section" aria-labelledby="why-title"> | ||
| |
3.4 | 117 | <div class="container"> |
| |
6.27 | 118 | <div class="split-grid"> |
| 119 | <div class="split-copy"> | ||
| 120 | <h2 id="why-title">Why choose Agnease</h2> | ||
| 121 | <p> | ||
| 122 | Agnease brings more than 11 years of hands-on XWiki expertise to organizations that need reliable | ||
| 123 | knowledge platforms, secure upgrades, custom applications, integrations, migrations and long-term support. | ||
| 124 | </p> | ||
| 125 | <p> | ||
| 126 | The approach is practical and engineering-focused: understand the current system, reduce risk, | ||
| 127 | document the work and leave your XWiki easier to maintain. | ||
| 128 | </p> | ||
| 129 | </div> | ||
| 130 | |||
| 131 | <ol class="process-list"> | ||
| 132 | <li> | ||
| 133 | <strong>Review the current situation</strong> | ||
| 134 | Version, extensions, infrastructure, authentication, custom code and business-critical features. | ||
| 135 | </li> | ||
| 136 | <li> | ||
| 137 | <strong>Define a safe path forward</strong> | ||
| 138 | Clear scope, expected effort, risks, rollback options and recommended next steps. | ||
| 139 | </li> | ||
| 140 | <li> | ||
| 141 | <strong>Deliver and document the work</strong> | ||
| 142 | Practical implementation, validation and documentation for future maintenance. | ||
| 143 | </li> | ||
| 144 | </ol> | ||
| 145 | </div> | ||
| 146 | </div> | ||
| 147 | </section> | ||
| 148 | |||
| 149 | <section class="resource-strip" aria-labelledby="resources-title"> | ||
| 150 | <div class="container"> | ||
| 151 | <h2 id="resources-title">Useful XWiki resources</h2> | ||
| 152 | <p class="section-intro"> | ||
| 153 | Practical guidance for organizations running XWiki in production. | ||
| |
3.4 | 154 | </p> |
| |
6.27 | 155 | |
| 156 | <div class="resource-grid"> | ||
| 157 | <article class="resource-card"> | ||
| 158 | <h4>Why upgrade your XWiki instance?</h4> | ||
| 159 | <p> | ||
| 160 | A business-focused explanation of why regular LTS upgrades reduce security, compatibility and maintenance risk. | ||
| 161 | </p> | ||
| |
7.7 | 162 | <a href="$xwiki.getURL('resources.why-upgrade-xwiki')">Read the resource</a> |
| |
6.27 | 163 | </article> |
| 164 | |||
| 165 | <article class="resource-card"> | ||
| 166 | <h4>XWiki upgrade services</h4> | ||
| 167 | <p> | ||
| 168 | How Agnease approaches safe XWiki upgrades for real production environments with customizations and integrations. | ||
| 169 | </p> | ||
| |
7.9 | 170 | <a href="$xwiki.getURL('services.xwiki-upgrades')">View the service</a> |
| |
6.27 | 171 | </article> |
| 172 | </div> | ||
| |
3.4 | 173 | </div> |
| 174 | </section> | ||
| |
3.16 | 175 | |
| |
6.27 | 176 | <section class="cta-section" aria-labelledby="contact-title"> |
| 177 | <div class="container"> | ||
| 178 | <div class="cta-panel"> | ||
| 179 | <h2 id="contact-title">Need help with XWiki?</h2> | ||
| 180 | <p> | ||
| 181 | Send your current XWiki version, the problem you are facing, or the type of project you want to build. | ||
| 182 | A short description is enough to start the conversation. | ||
| 183 | </p> | ||
| 184 | <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Contact Agnease</a> | ||
| |
3.16 | 185 | </div> |
| 186 | </div> | ||
| |
6.27 | 187 | </section> |
| 188 | |||
| 189 | {{/html}} | ||
| |
3.16 | 190 | #end |
| |
3.55 | 191 | |
| |
3.66 | 192 | #macro (stripHTMLMacro $displayOutput) |
| |
3.77 | 193 | $stringtool.removeEnd($stringtool.removeStart($displayOutput, '{{html clean="false" wiki="false"}}'), '{{/html}}').replace('Agnease.Code.Lead.LeadClass_0_', 'acl-') |
| |
3.66 | 194 | #end |
| 195 | |||
| |
3.55 | 196 | #macro (displayFormFromSheetCode) |
| |
3.61 | 197 | #set ($editing = true) |
| |
3.55 | 198 | ## The object to display. |
| |
3.65 | 199 | #set ($xobject = $doc.newObject('Agnease.Code.Lead.LeadClass')) |
| |
3.55 | 200 | ## The class that describes the object properties. |
| |
3.60 | 201 | #set ($xclass = $xwiki.getClass('Agnease.Code.Lead.LeadClass')) |
| |
3.55 | 202 | ## Make sure the following display* method calls use the right object. |
| 203 | #set ($discard = $doc.use($xobject)) | ||
| 204 | ## Using the xform vertical form layout. | ||
| |
3.70 | 205 | <div class="xform"> |
| |
3.55 | 206 | <dl> |
| 207 | #foreach ($property in $xclass.properties) | ||
| |
3.84 | 208 | #if ($property.name != 'status') |
| 209 | <dt #if (!$editing) | ||
| 210 | class="editableProperty" | ||
| 211 | #set ($xobjectPropertyReference = $xobject.getPropertyReference($property.name)) | ||
| 212 | data-property="$escapetool.xml($services.model.serialize($xobjectPropertyReference))" | ||
| 213 | data-property-type="object"#end> | ||
| 214 | ## This must match the id generated by the $doc.display() method below. | ||
| 215 | #set ($propertyId = "acl-$property.name") | ||
| 216 | <label#if ($editing) for="$escapetool.xml($propertyId)"#end> | ||
| 217 | $escapetool.xml($property.translatedPrettyName) | ||
| 218 | </label> | ||
| 219 | ## Support for specifying a translation key as hint in the property definition. | ||
| 220 | <span class="xHint">$!escapetool.xml($services.localization.render($property.hint))</span> | ||
| 221 | </dt> | ||
| 222 | #set ($displayOutput = $doc.display($property.name, 'edit')) | ||
| 223 | <dd>#stripHTMLMacro($displayOutput)</dd> | ||
| 224 | #end | ||
| |
3.55 | 225 | #end |
| 226 | #if (!$xclass.properties || $xclass.properties.size() == 0) | ||
| 227 | ## Keep the empty definition term in order to have valid HTML. | ||
| 228 | <dt></dt> | ||
| 229 | <dd>$escapetool.xml($services.localization.render('xclass.defaultObjectSheet.noProperties'))</dd> | ||
| 230 | #end | ||
| 231 | </dl> | ||
| 232 | </div> | ||
| 233 | #end | ||
| |
1.2 | 234 | {{/velocity}} |