Last modified by Agnease on 2026/05/25 12:55

From version 1.1
edited by Agnease
on 2026/05/12 12:47
Change comment: There is no comment for this version
To version 7.6
edited by Agnease
on 2026/05/25 12:55
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -xwiki-development-integrations
1 +XWiki Development and Integrations
Content
... ... @@ -1,0 +1,269 @@
1 +{{velocity}}
2 +#set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 +{{html clean="false"}}
4 + ## PAGE HEADER
5 + <section class="hero hero-centered service-hero" aria-labelledby="hero-title">
6 + <div class="container hero-inner">
7 + <div class="hero-kicker">
8 + <i class="fa fa-cogs" aria-hidden="true"></i>
9 + XWiki development and integrations
10 + </div>
11 + <h1 id="hero-title">Custom XWiki applications, workflows and integrations</h1>
12 + <p class="lead">
13 + Extend XWiki beyond documentation with custom applications, structured data, workflows,
14 + dashboards, automation and integrations adapted to your organization.
15 + </p>
16 + <div class="hero-actions">
17 + <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Discuss a project</a>
18 + <a class="btn btn-secondary" href="#development-process">See the development approach</a>
19 + </div>
20 + </div>
21 + </section>
22 +
23 + ## 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 +
53 + <section aria-labelledby="why-development-title">
54 + <div class="container">
55 + <h2 id="why-development-title">When XWiki needs to fit your business</h2>
56 + <p class="section-intro">
57 + XWiki is flexible enough to become much more than a documentation system. With the right structure,
58 + custom applications and integrations, it can support internal processes that would otherwise be handled
59 + through spreadsheets, scattered documents, manual approvals or disconnected tools.
60 + </p>
61 + <div class="pathways">
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
78 + </div>
79 + </div>
80 + </section>
81 +
82 + ## 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 +
109 + <section class="services" aria-labelledby="development-needs-title">
110 + <div class="container">
111 + <h2 id="development-needs-title">Common development needs</h2>
112 + <p class="section-intro">
113 + Custom XWiki development can range from small improvements to full business applications built on top of
114 + the platform. The focus is to keep the implementation useful, maintainable and aligned with XWiki conventions.
115 + This can also include AI-assisted knowledge access, where selected XWiki content is synchronized with external
116 + AI tools for question answering and discovery.
117 + </p>
118 + <div class="services-grid">
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>
124 +
125 + <div class="service-body">
126 + <h4>$entry.title</h4>
127 + <p>$entry.content</p>
128 + </div>
129 + </article>
130 + #end
131 + </div>
132 + </div>
133 + </section>
134 +
135 + ## 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 + }])
152 + <section id="development-process" class="split-section" aria-labelledby="process-title">
153 + <div class="container">
154 + <div class="split-grid">
155 + <div class="split-copy">
156 + <h2 id="process-title">A practical development approach</h2>
157 + <p>
158 + XWiki development works best when the solution fits the platform instead of fighting it. The goal is
159 + to build features that are useful for business users while remaining understandable, maintainable and
160 + compatible with future upgrades.
161 + </p>
162 + <p>
163 + Development can start with a small improvement, a prototype or a full application. The important part is
164 + to clarify the business process, model the information correctly and choose the right technical level:
165 + configuration, scripting, extension development, external integration or AI-assisted knowledge access.
166 + </p>
167 + </div>
168 + <ol class="process-list">
169 + #foreach ($entry in $developmentProcessItems)
170 + <li>
171 + <strong>$entry.title</strong>
172 + $entry.content
173 + </li>
174 + #end
175 + </ol>
176 + </div>
177 + </div>
178 + </section>
179 +
180 + ## 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 + }])
198 + <section aria-labelledby="examples-title">
199 + <div class="container">
200 + <h2 id="examples-title">Example solutions</h2>
201 + <p class="section-intro">
202 + The same XWiki foundation can support different internal tools, depending on how your organization manages
203 + knowledge, documents, processes and collaboration.
204 + </p>
205 + <div class="widgets">
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
215 + </div>
216 + </div>
217 + </section>
218 +
219 + ## 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 +
232 + <section class="resource-strip" aria-labelledby="related-title">
233 + <div class="container">
234 + <h2 id="related-title">Related XWiki services</h2>
235 +
236 + <p class="section-intro">
237 + Development work often connects with support, upgrades, authentication and long-term maintainability.
238 + </p>
239 +
240 + <div class="resource-grid">
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
248 + </div>
249 + </div>
250 + </section>
251 +
252 + ## CTA
253 + <section class="cta-section" aria-labelledby="cta-title">
254 + <div class="container">
255 + <div class="cta-panel">
256 + <h2 id="cta-title">Need to build something in XWiki?</h2>
257 +
258 + <p>
259 + Send a short description of the process, workflow, integration or application you want to create.
260 + A few details about users, data and expected outcomes are enough to start the conversation.
261 + </p>
262 +
263 + <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Discuss a project</a>
264 + </div>
265 + </div>
266 + </section>
267 +
268 +{{/html}}
269 +{{/velocity}}
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