Changes for page XWiki Development and Integrations
Last modified by Agnease on 2026/05/25 12:55
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Objects (0 modified, 1 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki Development and Integrations | Custom Applications and Workflows1 +XWiki Development and Integrations - Content
-
... ... @@ -1,7 +1,6 @@ 1 1 {{velocity}} 2 2 #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) 3 3 {{html clean="false"}} 4 - 5 5 ## PAGE HEADER 6 6 <section class="hero hero-centered service-hero" aria-labelledby="hero-title"> 7 7 <div class="container hero-inner"> ... ... @@ -9,19 +9,11 @@ 9 9 <i class="fa fa-cogs" aria-hidden="true"></i> 10 10 XWiki development and integrations 11 11 </div> 12 - 13 13 <h1 id="hero-title">Custom XWiki applications, workflows and integrations</h1> 14 - 15 15 <p class="lead"> 16 - Extend XWiki beyond documentation with custom applications, structured data, workflows, dashboards,17 - automation and integrations adapted to your organization. 13 + Extend XWiki beyond documentation with custom applications, structured data, workflows, 14 + dashboards, automation and integrations adapted to your organization. 18 18 </p> 19 - 20 - <p class="hero-support"> 21 - We help organizations turn XWiki into a practical business platform for knowledge management, 22 - procedures, approvals, internal tools, reporting and connected processes. 23 - </p> 24 - 25 25 <div class="hero-actions"> 26 26 <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Discuss a project</a> 27 27 <a class="btn btn-secondary" href="#development-process">See the development approach</a> ... ... @@ -30,70 +30,94 @@ 30 30 </section> 31 31 32 32 ## WHY CUSTOM DEVELOPMENT 24 + #set ($developmentReasonItems = [{ 25 + 'title': 'Structure your information', 26 + 'icon': 'database', 27 + 'content': 'Use XWiki classes, forms, templates and metadata to organize business information in a maintainable way.', 28 + 'items': [ 29 + 'Custom data models', 30 + 'Structured forms and templates', 31 + 'Metadata-driven pages and views' 32 + ] 33 + },{ 34 + 'title': 'Automate workflows', 35 + 'icon': 'random', 36 + 'content': 'Support approvals, reviews, notifications, status changes and controlled document lifecycles directly in XWiki.', 37 + 'items': [ 38 + 'Review and approval workflows', 39 + 'Role-based actions and permissions', 40 + 'Notifications and task queues' 41 + ] 42 + },{ 43 + 'title': 'Connect external systems', 44 + 'icon': 'plug', 45 + 'content': 'Integrate XWiki with authentication systems, APIs, AI tools, internal services and external platforms.', 46 + 'items': [ 47 + 'REST API integrations', 48 + 'SSO, LDAP and identity systems', 49 + 'AI-assisted search and knowledge access' 50 + ] 51 + }]) 52 + 33 33 <section aria-labelledby="why-development-title"> 34 34 <div class="container"> 35 35 <h2 id="why-development-title">When XWiki needs to fit your business</h2> 36 - 37 37 <p class="section-intro"> 38 38 XWiki is flexible enough to become much more than a documentation system. With the right structure, 39 39 custom applications and integrations, it can support internal processes that would otherwise be handled 40 40 through spreadsheets, scattered documents, manual approvals or disconnected tools. 41 41 </p> 42 - 43 43 <div class="pathways"> 44 - <article class="pathway-card"> 45 - <div class="pathway-icon"> 46 - <i class="fa fa-database" aria-hidden="true"></i> 47 - </div> 48 - <h3>Structure your information</h3> 49 - <p> 50 - Use XWiki classes, forms, templates and metadata to organize business information in a maintainable way. 51 - </p> 52 - <ul> 53 - <li>Custom data models</li> 54 - <li>Structured forms and templates</li> 55 - <li>Metadata-driven pages and views</li> 56 - </ul> 57 - </article> 58 - 59 - <article class="pathway-card"> 60 - <div class="pathway-icon"> 61 - <i class="fa fa-random" aria-hidden="true"></i> 62 - </div> 63 - <h3>Automate workflows</h3> 64 - <p> 65 - Support approvals, reviews, notifications, status changes and controlled document lifecycles directly in XWiki. 66 - </p> 67 - <ul> 68 - <li>Review and approval workflows</li> 69 - <li>Role-based actions and permissions</li> 70 - <li>Notifications and task queues</li> 71 - </ul> 72 - </article> 73 - 74 - <article class="pathway-card"> 75 - <div class="pathway-icon"> 76 - <i class="fa fa-plug" aria-hidden="true"></i> 77 - </div> 78 - <h3>Connect external systems</h3> 79 - <p> 80 - Integrate XWiki with authentication systems, APIs, AI tools, internal services and external platforms. 81 - </p> 82 - <ul> 83 - <li>REST API integrations</li> 84 - <li>SSO, LDAP and identity systems</li> 85 - <li>AI-assisted search and knowledge access</li> 86 - </ul> 87 - </article> 62 + #foreach ($entry in $developmentReasonItems) 63 + <article class="pathway-card"> 64 + <div class="card-heading"> 65 + <div class="pathway-icon"> 66 + <i class="fa fa-$entry.icon" aria-hidden="true"></i> 67 + </div> 68 + <h3>$entry.title</h3> 69 + </div> 70 + <p>$entry.content</p> 71 + <ul> 72 + #foreach ($item in $entry.items) 73 + <li>$item</li> 74 + #end 75 + </ul> 76 + </article> 77 + #end 88 88 </div> 89 89 </div> 90 90 </section> 91 91 92 92 ## COMMON DEVELOPMENT NEEDS 83 + #set ($developmentNeedItems = [{ 84 + 'title': 'Custom XWiki applications', 85 + 'icon': 'window-restore', 86 + 'content': 'Business-specific applications using XWiki classes, sheets, templates, UI extensions, scripts and components.' 87 + },{ 88 + 'title': 'Workflows and approvals', 89 + 'icon': 'check-square-o', 90 + 'content': 'Review, approval, publishing, document control and status-based processes adapted to your internal rules.' 91 + },{ 92 + 'title': 'Dashboards and structured views', 93 + 'icon': 'table', 94 + 'content': 'LiveData views, filters, reports, queues and dashboards that make structured XWiki information easier to use.' 95 + },{ 96 + 'title': 'PDF export and document outputs', 97 + 'icon': 'file-pdf-o', 98 + 'content': 'Custom export templates, generated documents, controlled output formats and PDF-related workflow features.' 99 + },{ 100 + 'title': 'External and AI integrations', 101 + 'icon': 'plug', 102 + 'content': 'Integration with REST APIs, authentication systems, internal services, automation tools, AI assistants or third-party platforms.' 103 + },{ 104 + 'title': 'Macros, components and extensions', 105 + 'icon': 'code', 106 + 'content': 'Custom macros, Java components, Velocity scripts, UI extensions and packaged XWiki extensions.' 107 + }]) 108 + 93 93 <section class="services" aria-labelledby="development-needs-title"> 94 94 <div class="container"> 95 95 <h2 id="development-needs-title">Common development needs</h2> 96 - 97 97 <p class="section-intro"> 98 98 Custom XWiki development can range from small improvements to full business applications built on top of 99 99 the platform. The focus is to keep the implementation useful, maintainable and aligned with XWiki conventions. ... ... @@ -100,97 +100,50 @@ 100 100 This can also include AI-assisted knowledge access, where selected XWiki content is synchronized with external 101 101 AI tools for question answering and discovery. 102 102 </p> 103 - 104 104 <div class="services-grid"> 105 - <article class="service"> 106 - <div class="service-icon" aria-hidden="true"> 107 - <i class="fa fa-window-restore"></i> 108 - </div> 109 - <div class="service-body"> 110 - <h4>Custom XWiki applications</h4> 111 - <p> 112 - Business-specific applications using XWiki classes, sheets, templates, UI extensions, scripts and components. 113 - </p> 114 - </div> 115 - </article> 119 + #foreach ($entry in $developmentNeedItems) 120 + <article class="service"> 121 + <div class="service-icon" aria-hidden="true"> 122 + <i class="fa fa-$entry.icon"></i> 123 + </div> 116 116 117 - <article class="service"> 118 - <div class="service-icon" aria-hidden="true"> 119 - <i class="fa fa-check-square-o"></i> 120 - </div> 121 - <div class="service-body"> 122 - <h4>Workflows and approvals</h4> 123 - <p> 124 - Review, approval, publishing, document control and status-based processes adapted to your internal rules. 125 - </p> 126 - </div> 127 - </article> 128 - 129 - <article class="service"> 130 - <div class="service-icon" aria-hidden="true"> 131 - <i class="fa fa-table"></i> 132 - </div> 133 - <div class="service-body"> 134 - <h4>Dashboards and structured views</h4> 135 - <p> 136 - LiveData views, filters, reports, queues and dashboards that make structured XWiki information easier to use. 137 - </p> 138 - </div> 139 - </article> 140 - 141 - <article class="service"> 142 - <div class="service-icon" aria-hidden="true"> 143 - <i class="fa fa-file-pdf-o"></i> 144 - </div> 145 - <div class="service-body"> 146 - <h4>PDF export and document outputs</h4> 147 - <p> 148 - Custom export templates, generated documents, controlled output formats and PDF-related workflow features. 149 - </p> 150 - </div> 151 - </article> 152 - 153 - <article class="service"> 154 - <div class="service-icon" aria-hidden="true"> 155 - <i class="fa fa-plug"></i> 156 - </div> 157 - <div class="service-body"> 158 - <h4>External and AI integrations</h4> 159 - <p> 160 - Integration with REST APIs, authentication systems, internal services, automation tools, 161 - AI assistants or third-party platforms. 162 - </p> 163 - </div> 164 - </article> 165 - 166 - <article class="service"> 167 - <div class="service-icon" aria-hidden="true"> 168 - <i class="fa fa-code"></i> 169 - </div> 170 - <div class="service-body"> 171 - <h4>Macros, components and extensions</h4> 172 - <p> 173 - Custom macros, Java components, Velocity scripts, UI extensions and packaged XWiki extensions. 174 - </p> 175 - </div> 176 - </article> 125 + <div class="service-body"> 126 + <h4>$entry.title</h4> 127 + <p>$entry.content</p> 128 + </div> 129 + </article> 130 + #end 177 177 </div> 178 178 </div> 179 179 </section> 180 180 181 181 ## DEVELOPMENT APPROACH 136 + #set ($developmentProcessItems = [{ 137 + 'title': 'Understand the business process', 138 + 'content': 'Clarify users, roles, data, statuses, permissions, outputs, notifications and expected decisions.' 139 + },{ 140 + 'title': 'Design the XWiki model', 141 + 'content': 'Define the right structure using pages, spaces, XClasses, templates, sheets, rights and views.' 142 + },{ 143 + 'title': 'Choose the implementation level', 144 + 'content': 'Decide whether the feature should be built with configuration, scripting, Java components or a packaged extension.' 145 + },{ 146 + 'title': 'Build and validate iteratively', 147 + 'content': 'Implement the feature in manageable steps and validate it with real usage scenarios.' 148 + },{ 149 + 'title': 'Document and prepare for maintenance', 150 + 'content': 'Leave clear notes about configuration, custom code, assumptions and future improvement areas.' 151 + }]) 182 182 <section id="development-process" class="split-section" aria-labelledby="process-title"> 183 183 <div class="container"> 184 184 <div class="split-grid"> 185 185 <div class="split-copy"> 186 186 <h2 id="process-title">A practical development approach</h2> 187 - 188 188 <p> 189 189 XWiki development works best when the solution fits the platform instead of fighting it. The goal is 190 190 to build features that are useful for business users while remaining understandable, maintainable and 191 191 compatible with future upgrades. 192 192 </p> 193 - 194 194 <p> 195 195 Development can start with a small improvement, a prototype or a full application. The important part is 196 196 to clarify the business process, model the information correctly and choose the right technical level: ... ... @@ -197,28 +197,13 @@ 197 197 configuration, scripting, extension development, external integration or AI-assisted knowledge access. 198 198 </p> 199 199 </div> 200 - 201 201 <ol class="process-list"> 202 - <li> 203 - <strong>Understand the business process</strong> 204 - Clarify users, roles, data, statuses, permissions, outputs, notifications and expected decisions. 205 - </li> 206 - <li> 207 - <strong>Design the XWiki model</strong> 208 - Define the right structure using pages, spaces, XClasses, templates, sheets, rights and views. 209 - </li> 210 - <li> 211 - <strong>Choose the implementation level</strong> 212 - Decide whether the feature should be built with configuration, scripting, Java components or a packaged extension. 213 - </li> 214 - <li> 215 - <strong>Build and validate iteratively</strong> 216 - Implement the feature in manageable steps and validate it with real usage scenarios. 217 - </li> 218 - <li> 219 - <strong>Document and prepare for maintenance</strong> 220 - Leave clear notes about configuration, custom code, assumptions and future improvement areas. 221 - </li> 169 + #foreach ($entry in $developmentProcessItems) 170 + <li> 171 + <strong>$entry.title</strong> 172 + $entry.content 173 + </li> 174 + #end 222 222 </ol> 223 223 </div> 224 224 </div> ... ... @@ -225,61 +225,57 @@ 225 225 </section> 226 226 227 227 ## EXAMPLE SOLUTIONS 181 + #set ($developmentExampleItems = [{ 182 + 'title': 'SOP and document control', 183 + 'icon': 'file-text-o', 184 + 'content': 'Controlled documents with review, approval, publishing, revision tracking, PDF export and lifecycle management.' 185 + },{ 186 + 'title': 'Internal workflow applications', 187 + 'icon': 'tasks', 188 + 'content': 'Lightweight business applications for requests, approvals, registers, task queues and process tracking.' 189 + },{ 190 + 'title': 'Knowledge base structures', 191 + 'icon': 'sitemap', 192 + 'content': 'Templates, metadata, taxonomies, related articles and navigation structures for large knowledge bases.' 193 + },{ 194 + 'title': 'AI-assisted knowledge access', 195 + 'icon': 'comments-o', 196 + 'content': 'Integrations that feed selected XWiki content into AI knowledge tools, helping users ask questions and retrieve relevant information while XWiki remains the maintained source of truth.' 197 + }]) 228 228 <section aria-labelledby="examples-title"> 229 229 <div class="container"> 230 230 <h2 id="examples-title">Example solutions</h2> 231 - 232 232 <p class="section-intro"> 233 233 The same XWiki foundation can support different internal tools, depending on how your organization manages 234 234 knowledge, documents, processes and collaboration. 235 235 </p> 236 - 237 237 <div class="widgets"> 238 - <article class="widget"> 239 - <div class="icon" aria-hidden="true"> 240 - <i class="fa fa-file-text-o"></i> 241 - <h4>SOP and document control</h4> 242 - </div> 243 - <p> 244 - Controlled documents with review, approval, publishing, revision tracking, PDF export and lifecycle management. 245 - </p> 246 - </article> 247 - 248 - <article class="widget"> 249 - <div class="icon" aria-hidden="true"> 250 - <i class="fa fa-tasks"></i> 251 - <h4>Internal workflow applications</h4> 252 - </div> 253 - <p> 254 - Lightweight business applications for requests, approvals, registers, task queues and process tracking. 255 - </p> 256 - </article> 257 - 258 - <article class="widget"> 259 - <div class="icon" aria-hidden="true"> 260 - <i class="fa fa-sitemap"></i> 261 - <h4>Knowledge base structures</h4> 262 - </div> 263 - <p> 264 - Templates, metadata, taxonomies, related articles and navigation structures for large knowledge bases. 265 - </p> 266 - </article> 267 - 268 - <article class="widget"> 269 - <div class="icon" aria-hidden="true"> 270 - <i class="fa fa-comments-o"></i> 271 - <h4>AI-assisted knowledge access</h4> 272 - </div> 273 - <p> 274 - Integrations that feed selected XWiki content into AI knowledge tools, helping users ask questions 275 - and retrieve relevant information while XWiki remains the maintained source of truth. 276 - </p> 277 - </article> 206 + #foreach ($entry in $developmentExampleItems) 207 + <article class="widget"> 208 + <div class="icon" aria-hidden="true"> 209 + <i class="fa fa-$entry.icon"></i> 210 + <h4>$entry.title</h4> 211 + </div> 212 + <p>$entry.content</p> 213 + </article> 214 + #end 278 278 </div> 279 279 </div> 280 280 </section> 281 281 282 282 ## RELATED SERVICES 220 + #set ($relatedDevelopmentServiceItems = [{ 221 + 'title': 'XWiki Support & Maintenance', 222 + 'url': 'services.xwiki-maintenance-support', 223 + 'content': 'Ongoing technical care for production environments, including troubleshooting, maintenance planning and recovery support.', 224 + 'linkLabel': 'View support services' 225 + },{ 226 + 'title': 'XWiki Upgrade Services', 227 + 'url': 'services.xwiki-upgrades', 228 + 'content': 'Safe LTS upgrades with staging validation, compatibility checks, rollback planning and post-upgrade verification.', 229 + 'linkLabel': 'View upgrade services' 230 + }]) 231 + 283 283 <section class="resource-strip" aria-labelledby="related-title"> 284 284 <div class="container"> 285 285 <h2 id="related-title">Related XWiki services</h2> ... ... @@ -289,21 +289,13 @@ 289 289 </p> 290 290 291 291 <div class="resource-grid"> 292 - <article class="resource-card"> 293 - <h4>XWiki Support & Maintenance</h4> 294 - <p> 295 - Ongoing technical care for production environments, including troubleshooting, maintenance planning and recovery support. 296 - </p> 297 - <a href="$xwiki.getURL('services.xwiki-maintenance-support')">View support services</a> 298 - </article> 299 - 300 - <article class="resource-card"> 301 - <h4>XWiki Upgrade Services</h4> 302 - <p> 303 - Safe LTS upgrades with staging validation, compatibility checks, rollback planning and post-upgrade verification. 304 - </p> 305 - <a href="$xwiki.getURL('services.xwiki-upgrades')">View upgrade services</a> 306 - </article> 241 + #foreach ($entry in $relatedDevelopmentServiceItems) 242 + <article class="resource-card"> 243 + <h4>$entry.title</h4> 244 + <p>$entry.content</p> 245 + <a href="$xwiki.getURL($entry.url)">$entry.linkLabel</a> 246 + </article> 247 + #end 307 307 </div> 308 308 </div> 309 309 </section>
- Agnease.Code.SEODetailsClass[0]
-
- metaDescription
-
... ... @@ -1,0 +1,1 @@ 1 +Custom XWiki development services for applications, workflows, dashboards, macros, automation, APIs, integrations and maintainable platform extensions. - metaTitle
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki Custom Development and Integrations | Agnease