Wiki source code of Public Web Site

Version 13.5 by Agnease on 2026/05/26 09:03

Hide last authors
Agnease 1.2 1 {{velocity}}
Agnease 3.5 2 #macro (displayPublicContent)
Agnease 3.4 3 #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
4 {{html clean="false"}}
Agnease 6.27 5
Agnease 5.1 6 <section class="hero hero-centered" aria-labelledby="hero-title">
7 <div class="container hero-inner">
Agnease 12.25 8 <h1 id="hero-title">Professional XWiki consulting and engineering</h1>
Agnease 6.27 9
10 <p class="lead">
Agnease 12.20 11 Agnease helps organizations upgrade, maintain, secure and extend production XWiki platforms with practical
12 engineering support, custom development, integrations and long-term care.
Agnease 6.27 13 </p>
14
Agnease 3.89 15 <ul class="benefits">
Agnease 12.20 16 <li>XWiki LTS upgrades</li>
17 <li>Maintenance and support</li>
18 <li>Custom XWiki development</li>
19 <li>Migrations and integrations</li>
Agnease 3.89 20 </ul>
Agnease 6.27 21
22 <div class="hero-actions">
23 <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Request a consultation</a>
24 <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a>
Agnease 3.4 25 </div>
Agnease 1.2 26 </div>
Agnease 3.4 27 </section>
Agnease 6.27 28
29 <section class="trust-strip" aria-label="Agnease experience">
Agnease 3.4 30 <div class="container">
Agnease 6.27 31 <ul>
32 <li><i class="fa fa-check-circle" aria-hidden="true"></i> 11+ years of XWiki experience</li>
33 <li><i class="fa fa-check-circle" aria-hidden="true"></i> Upgrades, support and custom development</li>
34 <li><i class="fa fa-check-circle" aria-hidden="true"></i> Security-aware maintenance</li>
35 <li><i class="fa fa-check-circle" aria-hidden="true"></i> Practical long-term collaboration</li>
36 </ul>
Agnease 1.2 37 </div>
Agnease 3.4 38 </section>
Agnease 6.27 39
40 <section aria-labelledby="platform-title">
Agnease 3.4 41 <div class="container">
Agnease 12.20 42 <h2 id="platform-title">XWiki support for production knowledge platforms</h2>
Agnease 6.27 43 <p class="section-intro">
Agnease 12.20 44 XWiki often grows from a documentation space into a business-critical knowledge platform.
Agnease 12.24 45 When it supports intranets, procedures, workflows, audits or integrations, it needs structured technical care
46 for upgrades, security, permissions and maintainability.
Agnease 5.1 47 </p>
Agnease 1.1 48
Agnease 6.27 49 <div class="pathways">
50 <article class="pathway-card">
Agnease 13.2 51 <div class="card-heading">
52 <div class="pathway-icon">
53 <i class="fa fa-refresh" aria-hidden="true"></i>
54 </div>
55 <h3>Upgrade XWiki safely</h3>
Agnease 6.27 56 </div>
57 <p>
Agnease 12.20 58 Plan and execute XWiki LTS upgrades with compatibility checks, staging validation and rollback planning.
Agnease 6.27 59 </p>
60 <ul>
61 <li>LTS upgrade planning</li>
62 <li>Extension and custom code review</li>
Agnease 12.20 63 <li>Staging and production validation</li>
Agnease 6.27 64 </ul>
65 <p class="card-link">
Agnease 6.32 66 <a href="$xwiki.getURL('services.xwiki-upgrades')">View upgrade services</a>
Agnease 6.27 67 </p>
68 </article>
Agnease 5.1 69
Agnease 6.27 70 <article class="pathway-card">
Agnease 13.2 71 <div class="card-heading">
72 <div class="pathway-icon">
73 <i class="fa fa-life-ring" aria-hidden="true"></i>
74 </div>
75 <h3>Maintain XWiki reliably</h3>
Agnease 6.27 76 </div>
77 <p>
Agnease 12.20 78 Keep production XWiki instances stable with troubleshooting, maintenance planning, recovery support and security-aware care.
Agnease 6.27 79 </p>
80 <ul>
81 <li>Troubleshooting and recovery</li>
82 <li>Performance and log analysis</li>
Agnease 12.21 83 <li>Upgrade and maintenance planning</li>
Agnease 6.27 84 </ul>
85 <p class="card-link">
Agnease 6.32 86 <a href="$xwiki.getURL('services.xwiki-maintenance-support')">View support services</a>
Agnease 6.27 87 </p>
88 </article>
89
90 <article class="pathway-card">
Agnease 13.2 91 <div class="card-heading">
92 <div class="pathway-icon">
93 <i class="fa fa-cogs" aria-hidden="true"></i>
94 </div>
95 <h3>Extend XWiki for your processes</h3>
Agnease 6.27 96 </div>
97 <p>
Agnease 12.22 98 Build custom XWiki applications, workflows, dashboards and integrations around real business needs.
Agnease 6.27 99 </p>
100 <ul>
101 <li>Custom XWiki applications</li>
102 <li>Workflows and approvals</li>
Agnease 12.22 103 <li>APIs, SSO, LDAP and integrations</li>
Agnease 6.27 104 </ul>
105 <p class="card-link">
Agnease 6.32 106 <a href="$xwiki.getURL('services.xwiki-development-integrations')">View development services</a>
Agnease 6.27 107 </p>
108 </article>
Agnease 3.4 109 </div>
Agnease 1.2 110 </div>
Agnease 3.4 111 </section>
Agnease 6.27 112
113 <section class="split-section" aria-labelledby="why-title">
Agnease 3.4 114 <div class="container">
Agnease 6.27 115 <div class="split-grid">
116 <div class="split-copy">
Agnease 12.22 117 <h2 id="why-title">Why work with an XWiki specialist</h2>
Agnease 6.27 118 <p>
Agnease 12.22 119 XWiki projects often involve more than pages. Production platforms may include custom code,
120 extensions, authentication, permissions, workflows, integrations and business-critical content.
Agnease 6.27 121 </p>
122 <p>
Agnease 12.22 123 Agnease brings 11+ years of hands-on XWiki experience to help reduce risk, deliver practical improvements
124 and leave the platform easier to maintain after the work is complete.
Agnease 6.27 125 </p>
126 </div>
127
128 <ol class="process-list">
129 <li>
Agnease 12.22 130 <strong>Review the XWiki environment</strong>
131 Version, extensions, infrastructure, authentication, permissions, custom code and critical features.
Agnease 6.27 132 </li>
133 <li>
Agnease 12.22 134 <strong>Define the safest next steps</strong>
135 Scope, risks, dependencies, effort, rollback options and validation requirements.
Agnease 6.27 136 </li>
137 <li>
Agnease 12.22 138 <strong>Implement, validate and document</strong>
139 Controlled changes, testing, production validation and notes for future maintenance.
Agnease 6.27 140 </li>
141 </ol>
142 </div>
143 </div>
144 </section>
145
Agnease 10.38 146 <section class="resource-strip homepage-resource-strip" aria-labelledby="resources-title">
Agnease 6.27 147 <div class="container">
Agnease 12.22 148 <h2 id="resources-title">XWiki resources for safer long-term maintenance</h2>
Agnease 6.27 149 <p class="section-intro">
Agnease 12.22 150 Practical articles about XWiki upgrades, customization and production platform care.
Agnease 3.4 151 </p>
Agnease 6.27 152
153 <div class="resource-grid">
154 <article class="resource-card">
155 <h4>Why upgrade your XWiki instance?</h4>
156 <p>
Agnease 12.22 157 Learn why regular XWiki upgrades reduce security exposure, compatibility issues and long-term maintenance risk.
Agnease 6.27 158 </p>
Agnease 12.22 159 <a href="$xwiki.getURL('resources.why-upgrade-xwiki')">Read the article</a>
Agnease 6.27 160 </article>
161
162 <article class="resource-card">
163 <h4>XWiki upgrade services</h4>
164 <p>
Agnease 12.22 165 See how XWiki upgrades can be planned, tested and validated for production instances with customizations and integrations.
Agnease 6.27 166 </p>
Agnease 12.22 167 <a href="$xwiki.getURL('services.xwiki-upgrades')">View upgrade services</a>
Agnease 6.27 168 </article>
169 </div>
Agnease 3.4 170 </div>
171 </section>
Agnease 3.16 172
Agnease 6.27 173 <section class="cta-section" aria-labelledby="contact-title">
174 <div class="container">
175 <div class="cta-panel">
Agnease 12.22 176 <h2 id="contact-title">Need XWiki consulting or support?</h2>
Agnease 6.27 177 <p>
Agnease 12.22 178 Send your current XWiki version, the issue you are facing, or the type of project you want to build.
179 A short description is enough to define practical next steps.
Agnease 6.27 180 </p>
181 <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Contact Agnease</a>
Agnease 3.16 182 </div>
183 </div>
Agnease 6.27 184 </section>
185
186 {{/html}}
Agnease 3.16 187 #end
Agnease 3.55 188
Agnease 3.66 189 #macro (stripHTMLMacro $displayOutput)
Agnease 3.77 190 $stringtool.removeEnd($stringtool.removeStart($displayOutput, '{{html clean="false" wiki="false"}}'), '{{/html}}').replace('Agnease.Code.Lead.LeadClass_0_', 'acl-')
Agnease 3.66 191 #end
192
Agnease 3.55 193 #macro (displayFormFromSheetCode)
Agnease 3.61 194 #set ($editing = true)
Agnease 3.55 195 ## The object to display.
Agnease 3.65 196 #set ($xobject = $doc.newObject('Agnease.Code.Lead.LeadClass'))
Agnease 3.55 197 ## The class that describes the object properties.
Agnease 3.60 198 #set ($xclass = $xwiki.getClass('Agnease.Code.Lead.LeadClass'))
Agnease 3.55 199 ## Make sure the following display* method calls use the right object.
200 #set ($discard = $doc.use($xobject))
201 ## Using the xform vertical form layout.
Agnease 3.70 202 <div class="xform">
Agnease 3.55 203 <dl>
204 #foreach ($property in $xclass.properties)
Agnease 3.84 205 #if ($property.name != 'status')
206 <dt #if (!$editing)
207 class="editableProperty"
208 #set ($xobjectPropertyReference = $xobject.getPropertyReference($property.name))
209 data-property="$escapetool.xml($services.model.serialize($xobjectPropertyReference))"
210 data-property-type="object"#end>
211 ## This must match the id generated by the $doc.display() method below.
212 #set ($propertyId = "acl-$property.name")
213 <label#if ($editing) for="$escapetool.xml($propertyId)"#end>
214 $escapetool.xml($property.translatedPrettyName)
215 </label>
216 ## Support for specifying a translation key as hint in the property definition.
217 <span class="xHint">$!escapetool.xml($services.localization.render($property.hint))</span>
218 </dt>
219 #set ($displayOutput = $doc.display($property.name, 'edit'))
220 <dd>#stripHTMLMacro($displayOutput)</dd>
221 #end
Agnease 3.55 222 #end
223 #if (!$xclass.properties || $xclass.properties.size() == 0)
224 ## Keep the empty definition term in order to have valid HTML.
225 <dt></dt>
226 <dd>$escapetool.xml($services.localization.render('xclass.defaultObjectSheet.noProperties'))</dd>
227 #end
228 </dl>
229 </div>
230 #end
Agnease 1.2 231 {{/velocity}}