Deployed 2f13e501 to 6.0 with MkDocs 1.4.3 and mike 1.1.2
[GitHub/WoltLab/woltlab.github.io.git] / 6.0 / package / package-xml / index.html
CommitLineData
9aa5da67
WG
1
2<!doctype html>
3<html lang="en" class="no-js">
4 <head>
5
6 <meta charset="utf-8">
7 <meta name="viewport" content="width=device-width,initial-scale=1">
8
9
10
11 <link rel="canonical" href="https://docs.woltlab.com/6.0/package/package-xml/">
12
e02609d6
WG
13
14 <link rel="prev" href="../../javascript/code-snippets/">
15
16
17 <link rel="next" href="../pip/">
18
9aa5da67 19 <link rel="icon" href="../../assets/default.favicon.ico">
9d185e89 20 <meta name="generator" content="mkdocs-1.4.3, mkdocs-material-9.1.15">
9aa5da67
WG
21
22
23
24 <title>package.xml - WoltLab Suite Documentation</title>
25
26
27
9d185e89 28 <link rel="stylesheet" href="../../assets/stylesheets/main.26e3688c.min.css">
9aa5da67
WG
29
30
9d185e89 31 <link rel="stylesheet" href="../../assets/stylesheets/palette.ecc896b0.min.css">
9aa5da67
WG
32
33
7f9945cf 34
9aa5da67
WG
35
36
37
38
39
40
41 <link rel="stylesheet" href="../../stylesheets/extra.css">
42
a06fd3b1 43 <script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
9aa5da67
WG
44
45
46
47
48
7f9945cf 49
9aa5da67
WG
50 </head>
51
52
53
54
55
56
57
94fa7b1e 58 <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="teal" data-md-color-accent="indigo">
9aa5da67
WG
59
60
61
62 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
63 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
64 <label class="md-overlay" for="__drawer"></label>
65 <div data-md-component="skip">
66
67
68 <a href="#packagexml" class="md-skip">
69 Skip to content
70 </a>
71
72 </div>
73 <div data-md-component="announce">
74
75 <aside class="md-banner">
76 <div class="md-banner__inner md-grid md-typeset">
77
a06fd3b1 78
9aa5da67
WG
79 <a href="https://www.woltlab.com">Back to <strong>woltlab.com</strong></a>
80
81 </div>
a06fd3b1 82
9aa5da67
WG
83 </aside>
84
85 </div>
86
6f2e8f13 87 <div data-md-color-scheme="default" data-md-component="outdated" hidden>
a06fd3b1 88
9aa5da67
WG
89 </div>
90
91
92
93
781975eb
WG
94
95
96<header class="md-header md-header--shadow" data-md-component="header">
9aa5da67
WG
97 <nav class="md-header__inner md-grid" aria-label="Header">
98 <a href="../.." title="WoltLab Suite Documentation" class="md-header__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
99
100 <img src="../../assets/logo.png" alt="logo">
101
102 </a>
103 <label class="md-header__button md-icon" for="__drawer">
104 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
105 </label>
106 <div class="md-header__title" data-md-component="header-title">
107 <div class="md-header__ellipsis">
108 <div class="md-header__topic">
109 <span class="md-ellipsis">
110 WoltLab Suite Documentation
111 </span>
112 </div>
113 <div class="md-header__topic" data-md-component="header-topic">
114 <span class="md-ellipsis">
115
116 package.xml
117
118 </span>
119 </div>
120 </div>
121 </div>
122
94fa7b1e
WG
123
124
9aa5da67
WG
125
126
127 <label class="md-header__button md-icon" for="__search">
128 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
129 </label>
130 <div class="md-search" data-md-component="search" role="dialog">
131 <label class="md-search__overlay" for="__search"></label>
132 <div class="md-search__inner" role="search">
133 <form class="md-search__form" name="search">
134 <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
135 <label class="md-search__icon md-icon" for="__search">
136 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
137 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
138 </label>
139 <nav class="md-search__options" aria-label="Search">
140
7f9945cf 141 <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
9aa5da67
WG
142 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
143 </button>
144 </nav>
145
146 </form>
147 <div class="md-search__output">
148 <div class="md-search__scrollwrap" data-md-scrollfix>
149 <div class="md-search-result" data-md-component="search-result">
150 <div class="md-search-result__meta">
151 Initializing search
152 </div>
7b2c751c 153 <ol class="md-search-result__list" role="presentation"></ol>
9aa5da67
WG
154 </div>
155 </div>
156 </div>
157 </div>
158</div>
159
160
161 <div class="md-header__source">
162 <a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
163 <div class="md-source__icon md-icon">
164
94fa7b1e 165 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
9aa5da67
WG
166 </div>
167 <div class="md-source__repository">
168 GitHub
169 </div>
170</a>
171 </div>
172
173 </nav>
174
175</header>
176
177 <div class="md-container" data-md-component="container">
178
179
180
181
182
183
184 <main class="md-main" data-md-component="main">
185 <div class="md-main__inner md-grid">
186
187
188
189 <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
190 <div class="md-sidebar__scrollwrap">
191 <div class="md-sidebar__inner">
192
193
194
195<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
196 <label class="md-nav__title" for="__drawer">
197 <a href="../.." title="WoltLab Suite Documentation" class="md-nav__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
198
199 <img src="../../assets/logo.png" alt="logo">
200
201 </a>
202 WoltLab Suite Documentation
203 </label>
204
205 <div class="md-nav__source">
206 <a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
207 <div class="md-source__icon md-icon">
208
94fa7b1e 209 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
9aa5da67
WG
210 </div>
211 <div class="md-source__repository">
212 GitHub
213 </div>
214</a>
215 </div>
216
217 <ul class="md-nav__list" data-md-scrollfix>
218
219
220
221
222
223
224
225
226 <li class="md-nav__item">
227 <a href="../../getting-started/" class="md-nav__link">
228 Getting Started
229 </a>
230 </li>
231
232
233
234
235
236
237
238
239
240
241
242 <li class="md-nav__item md-nav__item--nested">
243
244
9aa5da67
WG
245
246
51b70eee 247 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
e02609d6 248
9aa5da67
WG
249
250
51b70eee 251 <label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
9aa5da67
WG
252 PHP API
253 <span class="md-nav__icon md-icon"></span>
254 </label>
255
51b70eee 256 <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
9aa5da67
WG
257 <label class="md-nav__title" for="__nav_2">
258 <span class="md-nav__icon md-icon"></span>
259 PHP API
260 </label>
261 <ul class="md-nav__list" data-md-scrollfix>
262
263
264
265
266
267
268 <li class="md-nav__item">
269 <a href="../../php/pages/" class="md-nav__link">
270 Pages
271 </a>
272 </li>
273
274
275
276
277
278
279
280
281
282 <li class="md-nav__item">
283 <a href="../../php/database-objects/" class="md-nav__link">
284 Database Objects
285 </a>
286 </li>
287
288
289
290
291
292
293
294
295
296 <li class="md-nav__item">
297 <a href="../../php/database-access/" class="md-nav__link">
298 Database Access
299 </a>
300 </li>
301
302
303
304
305
306
307
308
309
310 <li class="md-nav__item">
311 <a href="../../php/exceptions/" class="md-nav__link">
312 Exceptions
313 </a>
314 </li>
315
316
317
318
319
320
321
322
323
324
325 <li class="md-nav__item md-nav__item--nested">
326
327
9aa5da67
WG
328
329
51b70eee 330 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5" >
e02609d6 331
9aa5da67
WG
332
333
51b70eee 334 <label class="md-nav__link" for="__nav_2_5" id="__nav_2_5_label" tabindex="0">
9aa5da67
WG
335 API
336 <span class="md-nav__icon md-icon"></span>
337 </label>
338
51b70eee 339 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_5_label" aria-expanded="false">
9aa5da67
WG
340 <label class="md-nav__title" for="__nav_2_5">
341 <span class="md-nav__icon md-icon"></span>
342 API
343 </label>
344 <ul class="md-nav__list" data-md-scrollfix>
345
346
347
348
349
350
351
352 <li class="md-nav__item md-nav__item--nested">
353
354
9aa5da67
WG
355
356
51b70eee 357 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5_1" >
9aa5da67
WG
358
359
e02609d6 360
51b70eee 361 <label class="md-nav__link" for="__nav_2_5_1" id="__nav_2_5_1_label" tabindex="0">
9aa5da67
WG
362 Caches
363 <span class="md-nav__icon md-icon"></span>
364 </label>
365
51b70eee 366 <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_5_1_label" aria-expanded="false">
9aa5da67
WG
367 <label class="md-nav__title" for="__nav_2_5_1">
368 <span class="md-nav__icon md-icon"></span>
369 Caches
370 </label>
371 <ul class="md-nav__list" data-md-scrollfix>
372
373
374
375
376
377
378 <li class="md-nav__item">
379 <a href="../../php/api/caches/" class="md-nav__link">
380 Overview
381 </a>
382 </li>
383
384
385
386
387
388
389
390
391
392 <li class="md-nav__item">
393 <a href="../../php/api/caches_persistent-caches/" class="md-nav__link">
394 Persistent Caches
395 </a>
396 </li>
397
398
399
400
401
402
403
404
405
406 <li class="md-nav__item">
407 <a href="../../php/api/caches_runtime-caches/" class="md-nav__link">
408 Runtime Caches
409 </a>
410 </li>
411
412
413
414
415 </ul>
416 </nav>
417 </li>
418
419
420
421
422
423
424
425
426
427 <li class="md-nav__item">
428 <a href="../../php/api/comments/" class="md-nav__link">
429 Comments
430 </a>
431 </li>
432
433
434
435
436
437
438
439
440
441 <li class="md-nav__item">
442 <a href="../../php/api/cronjobs/" class="md-nav__link">
443 Cronjobs
444 </a>
445 </li>
446
447
448
449
450
451
452
453
454
455 <li class="md-nav__item">
456 <a href="../../php/api/events/" class="md-nav__link">
457 Events
458 </a>
459 </li>
460
461
462
463
464
465
466
467
468
469
470 <li class="md-nav__item md-nav__item--nested">
471
472
9aa5da67
WG
473
474
51b70eee 475 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5_5" >
e02609d6 476
9aa5da67
WG
477
478
51b70eee 479 <label class="md-nav__link" for="__nav_2_5_5" id="__nav_2_5_5_label" tabindex="0">
9aa5da67
WG
480 Form Builder
481 <span class="md-nav__icon md-icon"></span>
482 </label>
483
51b70eee 484 <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_5_5_label" aria-expanded="false">
9aa5da67
WG
485 <label class="md-nav__title" for="__nav_2_5_5">
486 <span class="md-nav__icon md-icon"></span>
487 Form Builder
488 </label>
489 <ul class="md-nav__list" data-md-scrollfix>
490
491
492
493
494
495
496 <li class="md-nav__item">
497 <a href="../../php/api/form_builder/overview/" class="md-nav__link">
498 Overview
499 </a>
500 </li>
501
502
503
504
505
506
507
508
509
510 <li class="md-nav__item">
511 <a href="../../php/api/form_builder/structure/" class="md-nav__link">
512 Structure
513 </a>
514 </li>
515
516
517
518
519
520
521
522
523
524 <li class="md-nav__item">
525 <a href="../../php/api/form_builder/form_fields/" class="md-nav__link">
526 Fields
527 </a>
528 </li>
529
530
531
532
533
534
535
536
537
538 <li class="md-nav__item">
539 <a href="../../php/api/form_builder/validation_data/" class="md-nav__link">
540 Validation and Data
541 </a>
542 </li>
543
544
545
546
547
548
549
550
551
552 <li class="md-nav__item">
553 <a href="../../php/api/form_builder/dependencies/" class="md-nav__link">
554 Dependencies
555 </a>
556 </li>
557
558
559
560
561 </ul>
562 </nav>
563 </li>
564
565
566
567
568
569
570
571
572
573 <li class="md-nav__item">
574 <a href="../../php/api/package_installation_plugins/" class="md-nav__link">
575 Package Installation Plugins
576 </a>
577 </li>
578
579
580
581
582
583
584
585
586
587 <li class="md-nav__item">
588 <a href="../../php/api/user_activity_points/" class="md-nav__link">
589 User Activity Points
590 </a>
591 </li>
592
593
594
595
596
597
598
599
600
601 <li class="md-nav__item">
602 <a href="../../php/api/user_notifications/" class="md-nav__link">
603 User Notifications
604 </a>
605 </li>
606
607
608
609
610
611
612
613
614
615 <li class="md-nav__item">
616 <a href="../../php/api/sitemaps/" class="md-nav__link">
617 Sitemaps
618 </a>
619 </li>
620
621
622
623
624 </ul>
625 </nav>
626 </li>
627
628
629
630
631
632
633
634
635
636 <li class="md-nav__item">
637 <a href="../../php/code-style/" class="md-nav__link">
638 Code Style
639 </a>
640 </li>
641
642
643
644
645
646
647
648
649
650 <li class="md-nav__item">
651 <a href="../../php/apps/" class="md-nav__link">
652 Apps
653 </a>
654 </li>
655
656
657
658
659
660
661
662
663
664 <li class="md-nav__item">
665 <a href="../../php/gdpr/" class="md-nav__link">
666 GDPR
667 </a>
668 </li>
669
670
671
672
673 </ul>
674 </nav>
675 </li>
676
677
678
679
680
681
682
683
684
685
686
687 <li class="md-nav__item md-nav__item--nested">
688
689
9aa5da67
WG
690
691
51b70eee 692 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
e02609d6 693
9aa5da67
WG
694
695
51b70eee 696 <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
9aa5da67
WG
697 Languages, Templates & CSS
698 <span class="md-nav__icon md-icon"></span>
699 </label>
700
51b70eee 701 <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
9aa5da67
WG
702 <label class="md-nav__title" for="__nav_3">
703 <span class="md-nav__icon md-icon"></span>
704 Languages, Templates & CSS
705 </label>
706 <ul class="md-nav__list" data-md-scrollfix>
707
708
709
710
711
712
713 <li class="md-nav__item">
714 <a href="../../view/languages/" class="md-nav__link">
715 Languages
716 </a>
717 </li>
718
719
720
721
722
723
724
725
726
727 <li class="md-nav__item">
728 <a href="../../view/templates/" class="md-nav__link">
729 Templates
730 </a>
731 </li>
732
733
734
735
736
737
738
739
740
3c22ac76
WG
741 <li class="md-nav__item">
742 <a href="../../view/template-modifiers/" class="md-nav__link">
743 Template Modifiers
744 </a>
745 </li>
746
747
748
749
750
751
752
753
754
9aa5da67
WG
755 <li class="md-nav__item">
756 <a href="../../view/template-plugins/" class="md-nav__link">
757 Template Plugins
758 </a>
759 </li>
760
761
762
763
764
765
766
767
768
769 <li class="md-nav__item">
770 <a href="../../view/css/" class="md-nav__link">
771 CSS
772 </a>
773 </li>
774
775
776
777
778 </ul>
779 </nav>
780 </li>
781
782
783
784
785
786
787
788
789
790
791
792 <li class="md-nav__item md-nav__item--nested">
793
794
9aa5da67
WG
795
796
51b70eee 797 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
9aa5da67
WG
798
799
e02609d6 800
51b70eee 801 <label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
9aa5da67
WG
802 TypeScript and JavaScript API
803 <span class="md-nav__icon md-icon"></span>
804 </label>
805
51b70eee 806 <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
9aa5da67
WG
807 <label class="md-nav__title" for="__nav_4">
808 <span class="md-nav__icon md-icon"></span>
809 TypeScript and JavaScript API
810 </label>
811 <ul class="md-nav__list" data-md-scrollfix>
812
813
814
815
816
817
818 <li class="md-nav__item">
819 <a href="../../javascript/general-usage/" class="md-nav__link">
820 General Usage
821 </a>
822 </li>
823
824
825
826
827
828
829
830
831
832 <li class="md-nav__item">
833 <a href="../../javascript/typescript/" class="md-nav__link">
834 TypeScript
835 </a>
836 </li>
837
838
839
840
841
842
843
844
845
846
847 <li class="md-nav__item md-nav__item--nested">
848
849
9aa5da67
WG
850
851
51b70eee 852 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3" >
e02609d6 853
9aa5da67
WG
854
855
51b70eee 856 <label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
9f399714
WG
857 Components
858 <span class="md-nav__icon md-icon"></span>
859 </label>
860
51b70eee 861 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
9f399714
WG
862 <label class="md-nav__title" for="__nav_4_3">
863 <span class="md-nav__icon md-icon"></span>
864 Components
865 </label>
866 <ul class="md-nav__list" data-md-scrollfix>
867
868
869
870
871
872
873 <li class="md-nav__item">
874 <a href="../../javascript/components_confirmation/" class="md-nav__link">
875 Confirmation
876 </a>
877 </li>
878
879
880
881
882
883
884
885
886
887 <li class="md-nav__item">
888 <a href="../../javascript/components_dialog/" class="md-nav__link">
889 Dialog
890 </a>
891 </li>
892
893
894
895
f2d0508c
WG
896
897
898
899
900
816a45a9
WG
901 <li class="md-nav__item">
902 <a href="../../javascript/components_google_maps/" class="md-nav__link">
903 Google Maps
904 </a>
905 </li>
906
907
908
909
910
911
912
913
914
f2d0508c
WG
915 <li class="md-nav__item">
916 <a href="../../javascript/components_pagination/" class="md-nav__link">
917 Pagination
918 </a>
919 </li>
920
921
922
923
9f399714
WG
924 </ul>
925 </nav>
926 </li>
927
928
929
930
931
932
933
934
935
936
937 <li class="md-nav__item md-nav__item--nested">
938
939
9f399714
WG
940
941
51b70eee 942 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4" >
9f399714
WG
943
944
e02609d6 945
51b70eee 946 <label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
9aa5da67
WG
947 New API
948 <span class="md-nav__icon md-icon"></span>
949 </label>
950
51b70eee 951 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
9f399714 952 <label class="md-nav__title" for="__nav_4_4">
9aa5da67
WG
953 <span class="md-nav__icon md-icon"></span>
954 New API
955 </label>
956 <ul class="md-nav__list" data-md-scrollfix>
957
958
959
960
961
962
963 <li class="md-nav__item">
964 <a href="../../javascript/new-api_writing-a-module/" class="md-nav__link">
965 Writing a module
966 </a>
967 </li>
968
969
970
971
972
973
974
975
976
9aa5da67
WG
977 <li class="md-nav__item">
978 <a href="../../javascript/new-api_core/" class="md-nav__link">
979 Core Functions
980 </a>
981 </li>
982
983
984
985
986
987
988
989
990
991 <li class="md-nav__item">
992 <a href="../../javascript/new-api_dom/" class="md-nav__link">
993 DOM
994 </a>
995 </li>
996
997
998
999
1000
1001
1002
1003
1004
1005 <li class="md-nav__item">
1006 <a href="../../javascript/new-api_events/" class="md-nav__link">
1007 Event Handling
1008 </a>
1009 </li>
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019 <li class="md-nav__item">
1020 <a href="../../javascript/new-api_ajax/" class="md-nav__link">
1021 Ajax
1022 </a>
1023 </li>
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033 <li class="md-nav__item">
1034 <a href="../../javascript/new-api_dialogs/" class="md-nav__link">
1035 Dialogs
1036 </a>
1037 </li>
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047 <li class="md-nav__item">
1048 <a href="../../javascript/new-api_browser/" class="md-nav__link">
1049 Browser and Screen Sizes
1050 </a>
1051 </li>
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061 <li class="md-nav__item">
1062 <a href="../../javascript/new-api_ui/" class="md-nav__link">
1063 User Interface
1064 </a>
1065 </li>
1066
1067
1068
1069
1070 </ul>
1071 </nav>
1072 </li>
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082 <li class="md-nav__item">
1083 <a href="../../javascript/legacy-api/" class="md-nav__link">
1084 Legacy API
1085 </a>
1086 </li>
1087
1088
1089
1090
1091
1092
1093
1094
1095
9aa5da67
WG
1096 <li class="md-nav__item">
1097 <a href="../../javascript/code-snippets/" class="md-nav__link">
1098 Code Snippets
1099 </a>
1100 </li>
1101
1102
1103
1104
1105 </ul>
1106 </nav>
1107 </li>
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
1122
1123
9aa5da67
WG
1124
1125
51b70eee 1126 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
e02609d6 1127
9aa5da67
WG
1128
1129
51b70eee 1130 <label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
9aa5da67
WG
1131 Package Components
1132 <span class="md-nav__icon md-icon"></span>
1133 </label>
1134
51b70eee 1135 <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
9aa5da67
WG
1136 <label class="md-nav__title" for="__nav_5">
1137 <span class="md-nav__icon md-icon"></span>
1138 Package Components
1139 </label>
1140 <ul class="md-nav__list" data-md-scrollfix>
1141
1142
1143
1144
1145
1146
1147
1148
1149 <li class="md-nav__item md-nav__item--active">
1150
51b70eee 1151 <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
9aa5da67
WG
1152
1153
1154
1155
1156
1157 <label class="md-nav__link md-nav__link--active" for="__toc">
1158 package.xml
1159 <span class="md-nav__icon md-icon"></span>
1160 </label>
1161
1162 <a href="./" class="md-nav__link md-nav__link--active">
1163 package.xml
1164 </a>
1165
1166
1167
1168<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1169
1170
1171
1172
1173
1174
1175 <label class="md-nav__title" for="__toc">
1176 <span class="md-nav__icon md-icon"></span>
1177 Table of contents
1178 </label>
1179 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1180
1181 <li class="md-nav__item">
1182 <a href="#example" class="md-nav__link">
1183 Example
1184 </a>
1185
1186</li>
1187
1188 <li class="md-nav__item">
1189 <a href="#elements" class="md-nav__link">
1190 Elements
1191 </a>
1192
1193 <nav class="md-nav" aria-label="Elements">
1194 <ul class="md-nav__list">
1195
1196 <li class="md-nav__item">
1197 <a href="#package" class="md-nav__link">
1198 &lt;package&gt;
1199 </a>
1200
1201</li>
1202
1203 <li class="md-nav__item">
1204 <a href="#packageinformation" class="md-nav__link">
1205 &lt;packageinformation&gt;
1206 </a>
1207
9d185e89 1208 <nav class="md-nav" aria-label="<packageinformation>">
9aa5da67
WG
1209 <ul class="md-nav__list">
1210
1211 <li class="md-nav__item">
1212 <a href="#packagename" class="md-nav__link">
1213 &lt;packagename&gt;
1214 </a>
1215
1216</li>
1217
1218 <li class="md-nav__item">
1219 <a href="#packagedescription" class="md-nav__link">
1220 &lt;packagedescription&gt;
1221 </a>
1222
1223</li>
1224
1225 <li class="md-nav__item">
1226 <a href="#version" class="md-nav__link">
1227 &lt;version&gt;
1228 </a>
1229
1230</li>
1231
1232 <li class="md-nav__item">
1233 <a href="#date" class="md-nav__link">
1234 &lt;date&gt;
1235 </a>
1236
ec154389
WG
1237</li>
1238
1239 <li class="md-nav__item">
1240 <a href="#packageurl" class="md-nav__link">
1241 &lt;packageurl&gt;
1242 </a>
1243
1244</li>
1245
1246 <li class="md-nav__item">
1247 <a href="#license" class="md-nav__link">
1248 &lt;license&gt;
1249 </a>
1250
9aa5da67
WG
1251</li>
1252
1253 </ul>
1254 </nav>
1255
1256</li>
1257
1258 <li class="md-nav__item">
1259 <a href="#authorinformation" class="md-nav__link">
1260 &lt;authorinformation&gt;
1261 </a>
1262
9d185e89 1263 <nav class="md-nav" aria-label="<authorinformation>">
9aa5da67
WG
1264 <ul class="md-nav__list">
1265
1266 <li class="md-nav__item">
1267 <a href="#author" class="md-nav__link">
1268 &lt;author&gt;
1269 </a>
1270
1271</li>
1272
1273 <li class="md-nav__item">
1274 <a href="#authorurl" class="md-nav__link">
1275 &lt;authorurl&gt;
1276 </a>
1277
1278</li>
1279
1280 </ul>
1281 </nav>
1282
1283</li>
1284
1285 <li class="md-nav__item">
1286 <a href="#requiredpackages" class="md-nav__link">
1287 &lt;requiredpackages&gt;
1288 </a>
1289
9d185e89 1290 <nav class="md-nav" aria-label="<requiredpackages>">
9aa5da67
WG
1291 <ul class="md-nav__list">
1292
1293 <li class="md-nav__item">
1294 <a href="#requiredpackage" class="md-nav__link">
1295 &lt;requiredpackage&gt;
1296 </a>
1297
1298</li>
1299
1300 </ul>
1301 </nav>
1302
1303</li>
1304
1305 <li class="md-nav__item">
1306 <a href="#optionalpackage" class="md-nav__link">
1307 &lt;optionalpackage&gt;
1308 </a>
1309
9d185e89 1310 <nav class="md-nav" aria-label="<optionalpackage>">
9aa5da67
WG
1311 <ul class="md-nav__list">
1312
1313 <li class="md-nav__item">
1314 <a href="#optionalpackage_1" class="md-nav__link">
1315 &lt;optionalpackage&gt;
1316 </a>
1317
1318</li>
1319
1320 </ul>
1321 </nav>
1322
1323</li>
1324
1325 <li class="md-nav__item">
1326 <a href="#excludedpackages" class="md-nav__link">
1327 &lt;excludedpackages&gt;
1328 </a>
1329
9d185e89 1330 <nav class="md-nav" aria-label="<excludedpackages>">
9aa5da67
WG
1331 <ul class="md-nav__list">
1332
1333 <li class="md-nav__item">
1334 <a href="#excludedpackage" class="md-nav__link">
1335 &lt;excludedpackage&gt;
1336 </a>
1337
1338</li>
1339
1340 </ul>
1341 </nav>
1342
9aa5da67
WG
1343</li>
1344
1345 <li class="md-nav__item">
1346 <a href="#instructions" class="md-nav__link">
1347 &lt;instructions&gt;
1348 </a>
1349
9d185e89 1350 <nav class="md-nav" aria-label="<instructions>">
9aa5da67
WG
1351 <ul class="md-nav__list">
1352
1353 <li class="md-nav__item">
1354 <a href="#instructions-typeinstall" class="md-nav__link">
1355 &lt;instructions type="install"&gt;
1356 </a>
1357
1358</li>
1359
1360 <li class="md-nav__item">
1361 <a href="#instructions-typeupdate-fromversion" class="md-nav__link">
1362 &lt;instructions type="update" fromversion="…"&gt;
1363 </a>
1364
1365</li>
1366
1367 <li class="md-nav__item">
1368 <a href="#instruction" class="md-nav__link">
1369 &lt;instruction&gt;
1370 </a>
1371
1372</li>
1373
1374 <li class="md-nav__item">
1375 <a href="#void" class="md-nav__link">
1376 &lt;void/&gt;
1377 </a>
1378
1379</li>
1380
1381 </ul>
1382 </nav>
1383
1384</li>
1385
1386 </ul>
1387 </nav>
1388
1389</li>
1390
1391 </ul>
1392
1393</nav>
1394
1395 </li>
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406 <li class="md-nav__item md-nav__item--nested">
1407
1408
9aa5da67
WG
1409
1410
51b70eee 1411 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_2" >
9aa5da67
WG
1412
1413
e02609d6 1414
51b70eee 1415 <label class="md-nav__link" for="__nav_5_2" id="__nav_5_2_label" tabindex="0">
9aa5da67
WG
1416 PIPs
1417 <span class="md-nav__icon md-icon"></span>
1418 </label>
1419
51b70eee 1420 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_2_label" aria-expanded="false">
9aa5da67
WG
1421 <label class="md-nav__title" for="__nav_5_2">
1422 <span class="md-nav__icon md-icon"></span>
1423 PIPs
1424 </label>
1425 <ul class="md-nav__list" data-md-scrollfix>
1426
1427
1428
1429
1430
1431
1432 <li class="md-nav__item">
1433 <a href="../pip/" class="md-nav__link">
1434 Overview
1435 </a>
1436 </li>
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446 <li class="md-nav__item">
1447 <a href="../pip/acl-option/" class="md-nav__link">
1448 aclOption
1449 </a>
1450 </li>
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460 <li class="md-nav__item">
1461 <a href="../pip/acp-menu/" class="md-nav__link">
1462 acpMenu
1463 </a>
1464 </li>
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474 <li class="md-nav__item">
1475 <a href="../pip/acp-search-provider/" class="md-nav__link">
1476 acpSearchProvider
1477 </a>
1478 </li>
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488 <li class="md-nav__item">
1489 <a href="../pip/acp-template/" class="md-nav__link">
1490 acpTemplate
1491 </a>
1492 </li>
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502 <li class="md-nav__item">
1503 <a href="../pip/acp-template-delete/" class="md-nav__link">
1504 acpTemplateDelete
1505 </a>
1506 </li>
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516 <li class="md-nav__item">
1517 <a href="../pip/bbcode/" class="md-nav__link">
1518 bbcode
1519 </a>
1520 </li>
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530 <li class="md-nav__item">
1531 <a href="../pip/box/" class="md-nav__link">
1532 box
1533 </a>
1534 </li>
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544 <li class="md-nav__item">
1545 <a href="../pip/clipboard-action/" class="md-nav__link">
1546 clipboardAction
1547 </a>
1548 </li>
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558 <li class="md-nav__item">
1559 <a href="../pip/core-object/" class="md-nav__link">
1560 coreObject
1561 </a>
1562 </li>
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572 <li class="md-nav__item">
1573 <a href="../pip/cronjob/" class="md-nav__link">
1574 cronjob
1575 </a>
1576 </li>
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586 <li class="md-nav__item">
1587 <a href="../pip/database/" class="md-nav__link">
1588 database
1589 </a>
1590 </li>
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600 <li class="md-nav__item">
1601 <a href="../pip/event-listener/" class="md-nav__link">
1602 eventListener
1603 </a>
1604 </li>
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614 <li class="md-nav__item">
1615 <a href="../pip/file/" class="md-nav__link">
1616 file
1617 </a>
1618 </li>
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628 <li class="md-nav__item">
1629 <a href="../pip/file-delete/" class="md-nav__link">
1630 fileDelete
1631 </a>
1632 </li>
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642 <li class="md-nav__item">
1643 <a href="../pip/language/" class="md-nav__link">
1644 language
1645 </a>
1646 </li>
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656 <li class="md-nav__item">
1657 <a href="../pip/media-provider/" class="md-nav__link">
1658 mediaProvider
1659 </a>
1660 </li>
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670 <li class="md-nav__item">
1671 <a href="../pip/menu/" class="md-nav__link">
1672 menu
1673 </a>
1674 </li>
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684 <li class="md-nav__item">
1685 <a href="../pip/menu-item/" class="md-nav__link">
1686 menuItem
1687 </a>
1688 </li>
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698 <li class="md-nav__item">
1699 <a href="../pip/object-type/" class="md-nav__link">
1700 objectType
1701 </a>
1702 </li>
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712 <li class="md-nav__item">
1713 <a href="../pip/object-type-definition/" class="md-nav__link">
1714 objectTypeDefinition
1715 </a>
1716 </li>
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726 <li class="md-nav__item">
1727 <a href="../pip/option/" class="md-nav__link">
1728 option
1729 </a>
1730 </li>
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740 <li class="md-nav__item">
1741 <a href="../pip/page/" class="md-nav__link">
1742 page
1743 </a>
1744 </li>
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754 <li class="md-nav__item">
1755 <a href="../pip/pip/" class="md-nav__link">
1756 pip
1757 </a>
1758 </li>
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768 <li class="md-nav__item">
1769 <a href="../pip/script/" class="md-nav__link">
1770 script
1771 </a>
1772 </li>
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782 <li class="md-nav__item">
1783 <a href="../pip/smiley/" class="md-nav__link">
1784 smiley
1785 </a>
1786 </li>
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796 <li class="md-nav__item">
1797 <a href="../pip/sql/" class="md-nav__link">
1798 sql
1799 </a>
1800 </li>
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810 <li class="md-nav__item">
1811 <a href="../pip/style/" class="md-nav__link">
1812 style
1813 </a>
1814 </li>
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824 <li class="md-nav__item">
1825 <a href="../pip/template/" class="md-nav__link">
1826 template
1827 </a>
1828 </li>
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838 <li class="md-nav__item">
1839 <a href="../pip/template-delete/" class="md-nav__link">
1840 templateDelete
1841 </a>
1842 </li>
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852 <li class="md-nav__item">
1853 <a href="../pip/template-listener/" class="md-nav__link">
1854 templateListener
1855 </a>
1856 </li>
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866 <li class="md-nav__item">
1867 <a href="../pip/user-group-option/" class="md-nav__link">
1868 userGroupOption
1869 </a>
1870 </li>
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880 <li class="md-nav__item">
1881 <a href="../pip/user-menu/" class="md-nav__link">
1882 userMenu
1883 </a>
1884 </li>
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894 <li class="md-nav__item">
1895 <a href="../pip/user-notification-event/" class="md-nav__link">
1896 userNotificationEvent
1897 </a>
1898 </li>
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908 <li class="md-nav__item">
1909 <a href="../pip/user-option/" class="md-nav__link">
1910 userOption
1911 </a>
1912 </li>
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922 <li class="md-nav__item">
1923 <a href="../pip/user-profile-menu/" class="md-nav__link">
1924 userProfileMenu
1925 </a>
1926 </li>
1927
1928
1929
1930
1931 </ul>
1932 </nav>
1933 </li>
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943 <li class="md-nav__item">
1944 <a href="../database-php-api/" class="md-nav__link">
1945 Database PHP API
1946 </a>
1947 </li>
1948
1949
1950
1951
1952 </ul>
1953 </nav>
1954 </li>
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966 <li class="md-nav__item md-nav__item--nested">
1967
1968
9aa5da67
WG
1969
1970
51b70eee 1971 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
e02609d6 1972
9aa5da67
WG
1973
1974
51b70eee 1975 <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
9aa5da67
WG
1976 Migration
1977 <span class="md-nav__icon md-icon"></span>
1978 </label>
1979
51b70eee 1980 <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
9aa5da67
WG
1981 <label class="md-nav__title" for="__nav_6">
1982 <span class="md-nav__icon md-icon"></span>
1983 Migration
1984 </label>
1985 <ul class="md-nav__list" data-md-scrollfix>
1986
1987
1988
1989
1990
1991
1992
1993 <li class="md-nav__item md-nav__item--nested">
1994
1995
9aa5da67
WG
1996
1997
51b70eee 1998 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_1" >
e02609d6 1999
9aa5da67
WG
2000
2001
51b70eee 2002 <label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
9aa5da67
WG
2003 From WoltLab Suite 5.5
2004 <span class="md-nav__icon md-icon"></span>
2005 </label>
2006
51b70eee 2007 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
9aa5da67
WG
2008 <label class="md-nav__title" for="__nav_6_1">
2009 <span class="md-nav__icon md-icon"></span>
2010 From WoltLab Suite 5.5
2011 </label>
2012 <ul class="md-nav__list" data-md-scrollfix>
2013
2014
2015
2016
2017
2018
2019 <li class="md-nav__item">
2020 <a href="../../migration/wsc55/php/" class="md-nav__link">
2021 PHP API
2022 </a>
2023 </li>
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033 <li class="md-nav__item">
2034 <a href="../../migration/wsc55/javascript/" class="md-nav__link">
2035 TypeScript and JavaScript
2036 </a>
2037 </li>
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047 <li class="md-nav__item">
2048 <a href="../../migration/wsc55/templates/" class="md-nav__link">
2049 Templates
2050 </a>
2051 </li>
2052
2053
2054
2055
2056
2057
2058
2059
2060
024038ef
WG
2061 <li class="md-nav__item">
2062 <a href="../../migration/wsc55/icons/" class="md-nav__link">
2063 Icons
2064 </a>
2065 </li>
2066
2067
2068
2069
2070
2071
2072
2073
2074
6d611e8a
WG
2075 <li class="md-nav__item">
2076 <a href="../../migration/wsc55/dialogs/" class="md-nav__link">
2077 Dialogs
2078 </a>
2079 </li>
2080
2081
2082
2083
2084
2085
2086
2087
2088
9aa5da67
WG
2089 <li class="md-nav__item">
2090 <a href="../../migration/wsc55/libraries/" class="md-nav__link">
2091 Third Party Libraries
2092 </a>
2093 </li>
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103 <li class="md-nav__item">
2104 <a href="../../migration/wsc55/deprecations_removals/" class="md-nav__link">
2105 Deprecations and Removals
2106 </a>
2107 </li>
2108
2109
2110
2111
2112 </ul>
2113 </nav>
2114 </li>
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125 <li class="md-nav__item md-nav__item--nested">
2126
2127
9aa5da67
WG
2128
2129
51b70eee 2130 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2" >
9aa5da67
WG
2131
2132
e02609d6 2133
51b70eee 2134 <label class="md-nav__link" for="__nav_6_2" id="__nav_6_2_label" tabindex="0">
9aa5da67
WG
2135 From WoltLab Suite 5.4
2136 <span class="md-nav__icon md-icon"></span>
2137 </label>
2138
51b70eee 2139 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_2_label" aria-expanded="false">
9aa5da67
WG
2140 <label class="md-nav__title" for="__nav_6_2">
2141 <span class="md-nav__icon md-icon"></span>
2142 From WoltLab Suite 5.4
2143 </label>
2144 <ul class="md-nav__list" data-md-scrollfix>
2145
2146
2147
2148
2149
2150
2151 <li class="md-nav__item">
2152 <a href="../../migration/wsc54/php/" class="md-nav__link">
2153 PHP API
2154 </a>
2155 </li>
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165 <li class="md-nav__item">
2166 <a href="../../migration/wsc54/javascript/" class="md-nav__link">
2167 TypeScript and JavaScript
2168 </a>
2169 </li>
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179 <li class="md-nav__item">
2180 <a href="../../migration/wsc54/templates/" class="md-nav__link">
2181 Templates
2182 </a>
2183 </li>
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193 <li class="md-nav__item">
2194 <a href="../../migration/wsc54/libraries/" class="md-nav__link">
2195 Third Party Libraries
2196 </a>
2197 </li>
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207 <li class="md-nav__item">
2208 <a href="../../migration/wsc54/deprecations_removals/" class="md-nav__link">
2209 Deprecations and Removals
2210 </a>
2211 </li>
2212
2213
2214
2215
2216 </ul>
2217 </nav>
2218 </li>
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229 <li class="md-nav__item md-nav__item--nested">
2230
2231
9aa5da67
WG
2232
2233
51b70eee 2234 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_3" >
e02609d6 2235
9aa5da67
WG
2236
2237
51b70eee 2238 <label class="md-nav__link" for="__nav_6_3" id="__nav_6_3_label" tabindex="0">
9aa5da67
WG
2239 From WoltLab Suite 5.3
2240 <span class="md-nav__icon md-icon"></span>
2241 </label>
2242
51b70eee 2243 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_3_label" aria-expanded="false">
9aa5da67
WG
2244 <label class="md-nav__title" for="__nav_6_3">
2245 <span class="md-nav__icon md-icon"></span>
2246 From WoltLab Suite 5.3
2247 </label>
2248 <ul class="md-nav__list" data-md-scrollfix>
2249
2250
2251
2252
2253
2254
2255 <li class="md-nav__item">
2256 <a href="../../migration/wsc53/php/" class="md-nav__link">
2257 PHP API
2258 </a>
2259 </li>
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269 <li class="md-nav__item">
2270 <a href="../../migration/wsc53/session/" class="md-nav__link">
2271 Session Handling and Authentication
2272 </a>
2273 </li>
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283 <li class="md-nav__item">
2284 <a href="../../migration/wsc53/javascript/" class="md-nav__link">
2285 TypeScript and JavaScript
2286 </a>
2287 </li>
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297 <li class="md-nav__item">
2298 <a href="../../migration/wsc53/templates/" class="md-nav__link">
2299 Templates
2300 </a>
2301 </li>
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311 <li class="md-nav__item">
2312 <a href="../../migration/wsc53/libraries/" class="md-nav__link">
2313 Third Party Libraries
2314 </a>
2315 </li>
2316
2317
2318
2319
2320 </ul>
2321 </nav>
2322 </li>
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333 <li class="md-nav__item md-nav__item--nested">
2334
2335
9aa5da67
WG
2336
2337
51b70eee 2338 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_4" >
e02609d6 2339
9aa5da67
WG
2340
2341
51b70eee 2342 <label class="md-nav__link" for="__nav_6_4" id="__nav_6_4_label" tabindex="0">
9aa5da67
WG
2343 From WoltLab Suite 5.2
2344 <span class="md-nav__icon md-icon"></span>
2345 </label>
2346
51b70eee 2347 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_4_label" aria-expanded="false">
9aa5da67
WG
2348 <label class="md-nav__title" for="__nav_6_4">
2349 <span class="md-nav__icon md-icon"></span>
2350 From WoltLab Suite 5.2
2351 </label>
2352 <ul class="md-nav__list" data-md-scrollfix>
2353
2354
2355
2356
2357
2358
2359 <li class="md-nav__item">
2360 <a href="../../migration/wsc52/php/" class="md-nav__link">
2361 PHP API
2362 </a>
2363 </li>
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373 <li class="md-nav__item">
2374 <a href="../../migration/wsc52/templates/" class="md-nav__link">
2375 Templates and Languages
2376 </a>
2377 </li>
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387 <li class="md-nav__item">
2388 <a href="../../migration/wsc52/libraries/" class="md-nav__link">
2389 Third Party Libraries
2390 </a>
2391 </li>
2392
2393
2394
2395
2396 </ul>
2397 </nav>
2398 </li>
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409 <li class="md-nav__item md-nav__item--nested">
2410
2411
9aa5da67
WG
2412
2413
51b70eee 2414 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_5" >
9aa5da67
WG
2415
2416
e02609d6 2417
51b70eee 2418 <label class="md-nav__link" for="__nav_6_5" id="__nav_6_5_label" tabindex="0">
9aa5da67
WG
2419 From WoltLab Suite 3.1
2420 <span class="md-nav__icon md-icon"></span>
2421 </label>
2422
51b70eee 2423 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_5_label" aria-expanded="false">
9aa5da67
WG
2424 <label class="md-nav__title" for="__nav_6_5">
2425 <span class="md-nav__icon md-icon"></span>
2426 From WoltLab Suite 3.1
2427 </label>
2428 <ul class="md-nav__list" data-md-scrollfix>
2429
2430
2431
2432
2433
2434
2435 <li class="md-nav__item">
2436 <a href="../../migration/wsc31/php/" class="md-nav__link">
2437 PHP API
2438 </a>
2439 </li>
2440
2441
2442
2443
2444 </ul>
2445 </nav>
2446 </li>
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457 <li class="md-nav__item md-nav__item--nested">
2458
2459
9aa5da67
WG
2460
2461
51b70eee 2462 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_6" >
e02609d6 2463
9aa5da67
WG
2464
2465
51b70eee 2466 <label class="md-nav__link" for="__nav_6_6" id="__nav_6_6_label" tabindex="0">
9aa5da67
WG
2467 From WoltLab Suite 3.0
2468 <span class="md-nav__icon md-icon"></span>
2469 </label>
2470
51b70eee 2471 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_6_label" aria-expanded="false">
9aa5da67
WG
2472 <label class="md-nav__title" for="__nav_6_6">
2473 <span class="md-nav__icon md-icon"></span>
2474 From WoltLab Suite 3.0
2475 </label>
2476 <ul class="md-nav__list" data-md-scrollfix>
2477
2478
2479
2480
2481
2482
2483 <li class="md-nav__item">
2484 <a href="../../migration/wsc30/php/" class="md-nav__link">
2485 PHP API
2486 </a>
2487 </li>
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497 <li class="md-nav__item">
2498 <a href="../../migration/wsc30/javascript/" class="md-nav__link">
2499 JavaScript API
2500 </a>
2501 </li>
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511 <li class="md-nav__item">
2512 <a href="../../migration/wsc30/templates/" class="md-nav__link">
2513 Templates
2514 </a>
2515 </li>
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525 <li class="md-nav__item">
2526 <a href="../../migration/wsc30/css/" class="md-nav__link">
2527 CSS
2528 </a>
2529 </li>
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539 <li class="md-nav__item">
2540 <a href="../../migration/wsc30/package/" class="md-nav__link">
2541 Package Components
2542 </a>
2543 </li>
2544
2545
2546
2547
2548 </ul>
2549 </nav>
2550 </li>
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561 <li class="md-nav__item md-nav__item--nested">
2562
2563
9aa5da67
WG
2564
2565
51b70eee 2566 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_7" >
e02609d6 2567
9aa5da67
WG
2568
2569
51b70eee 2570 <label class="md-nav__link" for="__nav_6_7" id="__nav_6_7_label" tabindex="0">
9aa5da67
WG
2571 From WCF 2.1
2572 <span class="md-nav__icon md-icon"></span>
2573 </label>
2574
51b70eee 2575 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_7_label" aria-expanded="false">
9aa5da67
WG
2576 <label class="md-nav__title" for="__nav_6_7">
2577 <span class="md-nav__icon md-icon"></span>
2578 From WCF 2.1
2579 </label>
2580 <ul class="md-nav__list" data-md-scrollfix>
2581
2582
2583
2584
2585
2586
2587 <li class="md-nav__item">
2588 <a href="../../migration/wcf21/php/" class="md-nav__link">
2589 PHP API
2590 </a>
2591 </li>
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601 <li class="md-nav__item">
2602 <a href="../../migration/wcf21/templates/" class="md-nav__link">
2603 Templates
2604 </a>
2605 </li>
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615 <li class="md-nav__item">
2616 <a href="../../migration/wcf21/css/" class="md-nav__link">
2617 CSS
2618 </a>
2619 </li>
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629 <li class="md-nav__item">
2630 <a href="../../migration/wcf21/package/" class="md-nav__link">
2631 Package Components
2632 </a>
2633 </li>
2634
2635
2636
2637
2638 </ul>
2639 </nav>
2640 </li>
2641
2642
2643
2644
2645 </ul>
2646 </nav>
2647 </li>
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659 <li class="md-nav__item md-nav__item--nested">
2660
2661
9aa5da67
WG
2662
2663
51b70eee 2664 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
9aa5da67
WG
2665
2666
e02609d6 2667
51b70eee 2668 <label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
9aa5da67
WG
2669 Tutorials
2670 <span class="md-nav__icon md-icon"></span>
2671 </label>
2672
51b70eee 2673 <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
9aa5da67
WG
2674 <label class="md-nav__title" for="__nav_7">
2675 <span class="md-nav__icon md-icon"></span>
2676 Tutorials
2677 </label>
2678 <ul class="md-nav__list" data-md-scrollfix>
2679
2680
2681
2682
2683
2684
2685
2686 <li class="md-nav__item md-nav__item--nested">
2687
2688
9aa5da67
WG
2689
2690
51b70eee 2691 <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7_1" >
e02609d6 2692
9aa5da67
WG
2693
2694
51b70eee 2695 <label class="md-nav__link" for="__nav_7_1" id="__nav_7_1_label" tabindex="0">
9aa5da67
WG
2696 Tutorial Series
2697 <span class="md-nav__icon md-icon"></span>
2698 </label>
2699
51b70eee 2700 <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_7_1_label" aria-expanded="false">
9aa5da67
WG
2701 <label class="md-nav__title" for="__nav_7_1">
2702 <span class="md-nav__icon md-icon"></span>
2703 Tutorial Series
2704 </label>
2705 <ul class="md-nav__list" data-md-scrollfix>
2706
2707
2708
2709
2710
2711
2712 <li class="md-nav__item">
2713 <a href="../../tutorial/series/overview/" class="md-nav__link">
2714 Overview
2715 </a>
2716 </li>
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726 <li class="md-nav__item">
2727 <a href="../../tutorial/series/part_1/" class="md-nav__link">
2728 Part 1
2729 </a>
2730 </li>
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740 <li class="md-nav__item">
2741 <a href="../../tutorial/series/part_2/" class="md-nav__link">
2742 Part 2
2743 </a>
2744 </li>
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754 <li class="md-nav__item">
2755 <a href="../../tutorial/series/part_3/" class="md-nav__link">
2756 Part 3
2757 </a>
2758 </li>
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768 <li class="md-nav__item">
2769 <a href="../../tutorial/series/part_4/" class="md-nav__link">
2770 Part 4
2771 </a>
2772 </li>
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782 <li class="md-nav__item">
2783 <a href="../../tutorial/series/part_5/" class="md-nav__link">
2784 Part 5
2785 </a>
2786 </li>
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796 <li class="md-nav__item">
2797 <a href="../../tutorial/series/part_6/" class="md-nav__link">
2798 Part 6
2799 </a>
2800 </li>
2801
2802
2803
2804
2805 </ul>
2806 </nav>
2807 </li>
2808
2809
2810
2811
2812 </ul>
2813 </nav>
2814 </li>
2815
2816
2817
2818 </ul>
2819</nav>
2820 </div>
2821 </div>
2822 </div>
2823
2824
2825
2826 <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
2827 <div class="md-sidebar__scrollwrap">
2828 <div class="md-sidebar__inner">
2829
2830
2831<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2832
2833
2834
2835
2836
2837
2838 <label class="md-nav__title" for="__toc">
2839 <span class="md-nav__icon md-icon"></span>
2840 Table of contents
2841 </label>
2842 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
2843
2844 <li class="md-nav__item">
2845 <a href="#example" class="md-nav__link">
2846 Example
2847 </a>
2848
2849</li>
2850
2851 <li class="md-nav__item">
2852 <a href="#elements" class="md-nav__link">
2853 Elements
2854 </a>
2855
2856 <nav class="md-nav" aria-label="Elements">
2857 <ul class="md-nav__list">
2858
2859 <li class="md-nav__item">
2860 <a href="#package" class="md-nav__link">
2861 &lt;package&gt;
2862 </a>
2863
2864</li>
2865
2866 <li class="md-nav__item">
2867 <a href="#packageinformation" class="md-nav__link">
2868 &lt;packageinformation&gt;
2869 </a>
2870
9d185e89 2871 <nav class="md-nav" aria-label="<packageinformation>">
9aa5da67
WG
2872 <ul class="md-nav__list">
2873
2874 <li class="md-nav__item">
2875 <a href="#packagename" class="md-nav__link">
2876 &lt;packagename&gt;
2877 </a>
2878
2879</li>
2880
2881 <li class="md-nav__item">
2882 <a href="#packagedescription" class="md-nav__link">
2883 &lt;packagedescription&gt;
2884 </a>
2885
2886</li>
2887
2888 <li class="md-nav__item">
2889 <a href="#version" class="md-nav__link">
2890 &lt;version&gt;
2891 </a>
2892
2893</li>
2894
2895 <li class="md-nav__item">
2896 <a href="#date" class="md-nav__link">
2897 &lt;date&gt;
2898 </a>
2899
ec154389
WG
2900</li>
2901
2902 <li class="md-nav__item">
2903 <a href="#packageurl" class="md-nav__link">
2904 &lt;packageurl&gt;
2905 </a>
2906
2907</li>
2908
2909 <li class="md-nav__item">
2910 <a href="#license" class="md-nav__link">
2911 &lt;license&gt;
2912 </a>
2913
9aa5da67
WG
2914</li>
2915
2916 </ul>
2917 </nav>
2918
2919</li>
2920
2921 <li class="md-nav__item">
2922 <a href="#authorinformation" class="md-nav__link">
2923 &lt;authorinformation&gt;
2924 </a>
2925
9d185e89 2926 <nav class="md-nav" aria-label="<authorinformation>">
9aa5da67
WG
2927 <ul class="md-nav__list">
2928
2929 <li class="md-nav__item">
2930 <a href="#author" class="md-nav__link">
2931 &lt;author&gt;
2932 </a>
2933
2934</li>
2935
2936 <li class="md-nav__item">
2937 <a href="#authorurl" class="md-nav__link">
2938 &lt;authorurl&gt;
2939 </a>
2940
2941</li>
2942
2943 </ul>
2944 </nav>
2945
2946</li>
2947
2948 <li class="md-nav__item">
2949 <a href="#requiredpackages" class="md-nav__link">
2950 &lt;requiredpackages&gt;
2951 </a>
2952
9d185e89 2953 <nav class="md-nav" aria-label="<requiredpackages>">
9aa5da67
WG
2954 <ul class="md-nav__list">
2955
2956 <li class="md-nav__item">
2957 <a href="#requiredpackage" class="md-nav__link">
2958 &lt;requiredpackage&gt;
2959 </a>
2960
2961</li>
2962
2963 </ul>
2964 </nav>
2965
2966</li>
2967
2968 <li class="md-nav__item">
2969 <a href="#optionalpackage" class="md-nav__link">
2970 &lt;optionalpackage&gt;
2971 </a>
2972
9d185e89 2973 <nav class="md-nav" aria-label="<optionalpackage>">
9aa5da67
WG
2974 <ul class="md-nav__list">
2975
2976 <li class="md-nav__item">
2977 <a href="#optionalpackage_1" class="md-nav__link">
2978 &lt;optionalpackage&gt;
2979 </a>
2980
2981</li>
2982
2983 </ul>
2984 </nav>
2985
2986</li>
2987
2988 <li class="md-nav__item">
2989 <a href="#excludedpackages" class="md-nav__link">
2990 &lt;excludedpackages&gt;
2991 </a>
2992
9d185e89 2993 <nav class="md-nav" aria-label="<excludedpackages>">
9aa5da67
WG
2994 <ul class="md-nav__list">
2995
2996 <li class="md-nav__item">
2997 <a href="#excludedpackage" class="md-nav__link">
2998 &lt;excludedpackage&gt;
2999 </a>
3000
3001</li>
3002
3003 </ul>
3004 </nav>
3005
9aa5da67
WG
3006</li>
3007
3008 <li class="md-nav__item">
3009 <a href="#instructions" class="md-nav__link">
3010 &lt;instructions&gt;
3011 </a>
3012
9d185e89 3013 <nav class="md-nav" aria-label="<instructions>">
9aa5da67
WG
3014 <ul class="md-nav__list">
3015
3016 <li class="md-nav__item">
3017 <a href="#instructions-typeinstall" class="md-nav__link">
3018 &lt;instructions type="install"&gt;
3019 </a>
3020
3021</li>
3022
3023 <li class="md-nav__item">
3024 <a href="#instructions-typeupdate-fromversion" class="md-nav__link">
3025 &lt;instructions type="update" fromversion="…"&gt;
3026 </a>
3027
3028</li>
3029
3030 <li class="md-nav__item">
3031 <a href="#instruction" class="md-nav__link">
3032 &lt;instruction&gt;
3033 </a>
3034
3035</li>
3036
3037 <li class="md-nav__item">
3038 <a href="#void" class="md-nav__link">
3039 &lt;void/&gt;
3040 </a>
3041
3042</li>
3043
3044 </ul>
3045 </nav>
3046
3047</li>
3048
3049 </ul>
3050 </nav>
3051
3052</li>
3053
3054 </ul>
3055
3056</nav>
3057 </div>
3058 </div>
3059 </div>
3060
3061
7f9945cf
WG
3062
3063 <div class="md-content" data-md-component="content">
3064 <article class="md-content__inner md-typeset">
9aa5da67 3065
7f9945cf
WG
3066
3067
e02609d6
WG
3068
3069
3070
9aa5da67 3071
9aa5da67
WG
3072<h1 id="packagexml">package.xml<a class="headerlink" href="#packagexml" title="Permanent link">#</a></h1>
3073<p>The <code>package.xml</code> is the core component of every package.
3074It provides the meta data (e.g. package name, description, author) and the instruction set for a new installation and/or updating from a previous version.</p>
3075<h2 id="example">Example<a class="headerlink" href="#example" title="Permanent link">#</a></h2>
3076<div class="highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">package.xml <a class="codeBoxTitleGitHubLink" href="https://github.com/WoltLab/docs.woltlab.com/tree/6.0/snippets/package/package.xml" title="View on GitHub"><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8v2m9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1 0 1.71-1.39 3.1-3.1 3.1h-4V17h4a5 5 0 0 0 5-5 5 5 0 0 0-5-5Z"/></svg></span></a></span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
3077<span class="normal"> 2</span>
3078<span class="normal"> 3</span>
3079<span class="normal"> 4</span>
3080<span class="normal"> 5</span>
3081<span class="normal"> 6</span>
3082<span class="normal"> 7</span>
3083<span class="normal"> 8</span>
3084<span class="normal"> 9</span>
3085<span class="normal">10</span>
3086<span class="normal">11</span>
3087<span class="normal">12</span>
3088<span class="normal">13</span>
3089<span class="normal">14</span>
3090<span class="normal">15</span>
3091<span class="normal">16</span>
3092<span class="normal">17</span>
3093<span class="normal">18</span>
3094<span class="normal">19</span>
3095<span class="normal">20</span>
3096<span class="normal">21</span>
3097<span class="normal">22</span>
3098<span class="normal">23</span>
3099<span class="normal">24</span>
3100<span class="normal">25</span>
3101<span class="normal">26</span>
3102<span class="normal">27</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
c708394c
WG
3103<span class="nt">&lt;package</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;com.example.package&quot;</span><span class="w"> </span><span class="na">xmlns=</span><span class="s">&quot;http://www.woltlab.com&quot;</span><span class="w"> </span><span class="na">xmlns:xsi=</span><span class="s">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span><span class="w"> </span><span class="na">xsi:schemaLocation=</span><span class="s">&quot;http://www.woltlab.com http://www.woltlab.com/XSD/2019/package.xsd&quot;</span><span class="nt">&gt;</span>
3104<span class="w"> </span><span class="nt">&lt;packageinformation&gt;</span>
3105<span class="w"> </span><span class="nt">&lt;packagename&gt;</span>Simple<span class="w"> </span>Package<span class="nt">&lt;/packagename&gt;</span>
3106<span class="w"> </span><span class="nt">&lt;packagedescription&gt;</span>A<span class="w"> </span>simple<span class="w"> </span>package<span class="w"> </span>to<span class="w"> </span>demonstrate<span class="w"> </span>the<span class="w"> </span>package<span class="w"> </span>system<span class="w"> </span>of<span class="w"> </span>WoltLab<span class="w"> </span>Suite<span class="w"> </span>Core<span class="nt">&lt;/packagedescription&gt;</span>
3107<span class="w"> </span><span class="nt">&lt;version&gt;</span>1.0.0<span class="nt">&lt;/version&gt;</span>
3108<span class="w"> </span><span class="nt">&lt;date&gt;</span>2022-01-17<span class="nt">&lt;/date&gt;</span>
3109<span class="w"> </span><span class="nt">&lt;/packageinformation&gt;</span>
3110
3111<span class="w"> </span><span class="nt">&lt;authorinformation&gt;</span>
3112<span class="w"> </span><span class="nt">&lt;author&gt;</span>YOUR<span class="w"> </span>NAME<span class="nt">&lt;/author&gt;</span>
3113<span class="w"> </span><span class="nt">&lt;authorurl&gt;</span>http://www.example.com<span class="nt">&lt;/authorurl&gt;</span>
3114<span class="w"> </span><span class="nt">&lt;/authorinformation&gt;</span>
3115
3116<span class="w"> </span><span class="nt">&lt;requiredpackages&gt;</span>
3117<span class="w"> </span><span class="nt">&lt;requiredpackage</span><span class="w"> </span><span class="na">minversion=</span><span class="s">&quot;5.4.10&quot;</span><span class="nt">&gt;</span>com.woltlab.wcf<span class="nt">&lt;/requiredpackage&gt;</span>
3118<span class="w"> </span><span class="nt">&lt;/requiredpackages&gt;</span>
3119
3120<span class="w"> </span><span class="nt">&lt;excludedpackages&gt;</span>
3121<span class="w"> </span><span class="nt">&lt;excludedpackage</span><span class="w"> </span><span class="na">version=</span><span class="s">&quot;6.0.0 Alpha 1&quot;</span><span class="nt">&gt;</span>com.woltlab.wcf<span class="nt">&lt;/excludedpackage&gt;</span>
3122<span class="w"> </span><span class="nt">&lt;/excludedpackages&gt;</span>
3123
3124<span class="w"> </span><span class="nt">&lt;instructions</span><span class="w"> </span><span class="na">type=</span><span class="s">&quot;install&quot;</span><span class="nt">&gt;</span>
3125<span class="w"> </span><span class="nt">&lt;instruction</span><span class="w"> </span><span class="na">type=</span><span class="s">&quot;file&quot;</span><span class="w"> </span><span class="nt">/&gt;</span>
3126<span class="w"> </span><span class="nt">&lt;instruction</span><span class="w"> </span><span class="na">type=</span><span class="s">&quot;template&quot;</span><span class="nt">&gt;</span>templates.tar<span class="nt">&lt;/instruction&gt;</span>
3127<span class="w"> </span><span class="nt">&lt;/instructions&gt;</span>
9aa5da67
WG
3128<span class="nt">&lt;/package&gt;</span>
3129</code></pre></div></td></tr></table></div>
3130<h2 id="elements">Elements<a class="headerlink" href="#elements" title="Permanent link">#</a></h2>
3131<h3 id="package"><code>&lt;package&gt;</code><a class="headerlink" href="#package" title="Permanent link">#</a></h3>
3132<p>The root node of every <code>package.xml</code> it contains the reference to the namespace and the location of the XML Schema Definition (XSD).</p>
3133<p>The attribute <code>name</code> is the most important part, it holds the unique package identifier and is mandatory.
3134It is based upon your domain name and the package name of your choice.</p>
3135<p>For example WoltLab Suite Forum (formerly know an WoltLab Burning Board and usually abbreviated as <code>wbb</code>) is created by WoltLab which owns the domain <code>woltlab.com</code>.
3136The resulting package identifier is <code>com.woltlab.wbb</code> (<code>&lt;tld&gt;.&lt;domain&gt;.&lt;packageName&gt;</code>).</p>
3137<h3 id="packageinformation"><code>&lt;packageinformation&gt;</code><a class="headerlink" href="#packageinformation" title="Permanent link">#</a></h3>
3138<p>Holds the entire meta data of the package.</p>
3139<h4 id="packagename"><code>&lt;packagename&gt;</code><a class="headerlink" href="#packagename" title="Permanent link">#</a></h4>
3140<p>This is the actual package name displayed to the end user, this can be anything you want, try to keep it short.
ec154389 3141It supports the attribute <code>language</code> which allows you to provide the package name in different languages, please be aware that if it is not present, <code>en</code> (English) is assumed:</p>
9aa5da67
WG
3142<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
3143<span class="normal">2</span>
3144<span class="normal">3</span>
3145<span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nt">&lt;packageinformation&gt;</span>
c708394c 3146<span class="w"> </span><span class="nt">&lt;packagename&gt;</span>Simple<span class="w"> </span>Package<span class="nt">&lt;/packagename&gt;</span>
ec154389 3147<span class="w"> </span><span class="nt">&lt;packagename</span><span class="w"> </span><span class="na">language=</span><span class="s">&quot;de&quot;</span><span class="nt">&gt;</span>Einfaches<span class="w"> </span>Paket<span class="nt">&lt;/packagename&gt;</span>
9aa5da67
WG
3148<span class="nt">&lt;/packageinformation&gt;</span>
3149</code></pre></div></td></tr></table></div>
3150<h4 id="packagedescription"><code>&lt;packagedescription&gt;</code><a class="headerlink" href="#packagedescription" title="Permanent link">#</a></h4>
3151<p>Brief summary of the package, use it to explain what it does since the package name might not always be clear enough.
ec154389 3152The attribute <code>language</code> can also be used here, please reference to <a href="#packageName"><code>&lt;packagename&gt;</code></a> for details.</p>
9aa5da67
WG
3153<h4 id="version"><code>&lt;version&gt;</code><a class="headerlink" href="#version" title="Permanent link">#</a></h4>
3154<p>The package's version number, this is a string consisting of three numbers separated with a dot and optionally followed by a keyword (must be followed with another number).</p>
3155<p>The possible keywords are:</p>
3156<ul>
3157<li>Alpha/dev (both is regarded to be the same)</li>
3158<li>Beta</li>
3159<li>RC (release candidate)</li>
9aa5da67
WG
3160</ul>
3161<p>Valid examples:</p>
3162<ul>
3163<li>1.0.0</li>
3164<li>1.12.13 Alpha 19</li>
9aa5da67
WG
3165</ul>
3166<p>Invalid examples:</p>
3167<ul>
3168<li>1.0.0 Beta (keyword Beta must be followed by a number)</li>
26bf8ce9 3169<li>2.0 RC 3 (version number must consist of 3 blocks of numbers)</li>
9aa5da67
WG
3170<li>1.2.3 dev 4.5 (4.5 is not an integer, 4 or 5 would be valid but not the fraction)</li>
3171</ul>
3172<h4 id="date"><code>&lt;date&gt;</code><a class="headerlink" href="#date" title="Permanent link">#</a></h4>
3173<p>Must be a valid <a href="http://en.wikipedia.org/wiki/ISO_8601">ISO 8601</a> date, e.g. <code>2013-12-27</code>.</p>
ec154389
WG
3174<h4 id="packageurl"><code>&lt;packageurl&gt;</code><a class="headerlink" href="#packageurl" title="Permanent link">#</a></h4>
3175<blockquote>
3176<p>(optional)</p>
3177</blockquote>
3178<p>URL to the package website that provides detailed information about the package.</p>
3179<h4 id="license"><code>&lt;license&gt;</code><a class="headerlink" href="#license" title="Permanent link">#</a></h4>
3180<blockquote>
3181<p>(optional)</p>
3182</blockquote>
3183<p>Name of a generic license type or URL to a custom license.
3184The attribute <code>language</code> can also be used here, please reference to <a href="#packageName"><code>&lt;packagename&gt;</code></a> for details.</p>
9aa5da67
WG
3185<h3 id="authorinformation"><code>&lt;authorinformation&gt;</code><a class="headerlink" href="#authorinformation" title="Permanent link">#</a></h3>
3186<p>Holds meta data regarding the package's author.</p>
3187<h4 id="author"><code>&lt;author&gt;</code><a class="headerlink" href="#author" title="Permanent link">#</a></h4>
3188<p>Can be anything you want.</p>
3189<h4 id="authorurl"><code>&lt;authorurl&gt;</code><a class="headerlink" href="#authorurl" title="Permanent link">#</a></h4>
3190<blockquote>
3191<p>(optional)</p>
3192</blockquote>
3193<p>URL to the author's website.</p>
3194<h3 id="requiredpackages"><code>&lt;requiredpackages&gt;</code><a class="headerlink" href="#requiredpackages" title="Permanent link">#</a></h3>
3195<p>A list of packages including their version required for this package to work.</p>
3196<h4 id="requiredpackage"><code>&lt;requiredpackage&gt;</code><a class="headerlink" href="#requiredpackage" title="Permanent link">#</a></h4>
3197<p>Example:</p>
c708394c 3198<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nt">&lt;requiredpackage</span><span class="w"> </span><span class="na">minversion=</span><span class="s">&quot;2.7.5&quot;</span><span class="w"> </span><span class="na">file=</span><span class="s">&quot;requirements/com.example.foo.tar&quot;</span><span class="nt">&gt;</span>com.example.foo<span class="nt">&lt;/requiredpackage&gt;</span>
9aa5da67
WG
3199</code></pre></div></td></tr></table></div>
3200<p>The attribute <code>minversion</code> must be a valid version number as described in <a href="#version"><code>&lt;version&gt;</code></a>.
3201The <code>file</code> attribute is optional and specifies the location of the required package's archive relative to the <code>package.xml</code>.</p>
3202<h3 id="optionalpackage"><code>&lt;optionalpackage&gt;</code><a class="headerlink" href="#optionalpackage" title="Permanent link">#</a></h3>
3203<p>A list of optional packages which can be selected by the user at the very end of the installation process.</p>
3204<h4 id="optionalpackage_1"><code>&lt;optionalpackage&gt;</code><a class="headerlink" href="#optionalpackage_1" title="Permanent link">#</a></h4>
3205<p>Example:</p>
c708394c 3206<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nt">&lt;optionalpackage</span><span class="w"> </span><span class="na">file=</span><span class="s">&quot;optionals/com.example.bar.tar&quot;</span><span class="nt">&gt;</span>com.example.bar<span class="nt">&lt;/optionalpackage&gt;</span>
9aa5da67
WG
3207</code></pre></div></td></tr></table></div>
3208<p>The <code>file</code> attribute specifies the location of the optional package's archive relative to the <code>package.xml</code>.</p>
3209<h3 id="excludedpackages"><code>&lt;excludedpackages&gt;</code><a class="headerlink" href="#excludedpackages" title="Permanent link">#</a></h3>
3210<p>List of packages which conflict with this package. It is not possible to install it if any of the specified packages is installed. In return you cannot install an excluded package if this package is installed.</p>
3211<h4 id="excludedpackage"><code>&lt;excludedpackage&gt;</code><a class="headerlink" href="#excludedpackage" title="Permanent link">#</a></h4>
3212<p>Example:</p>
c708394c 3213<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nt">&lt;excludedpackage</span><span class="w"> </span><span class="na">version=</span><span class="s">&quot;7.0.0 Alpha 1&quot;</span><span class="nt">&gt;</span>com.woltlab.wcf<span class="nt">&lt;/excludedpackage&gt;</span>
9aa5da67 3214</code></pre></div></td></tr></table></div>
038ed632 3215<p>The attribute <code>version</code> must be a valid version number as described in the <a href="#version">\&lt;version></a> section. In the example above it will be impossible to install this package in WoltLab Suite Core 7.0.0 Alpha 1 or higher.</p>
9aa5da67
WG
3216<h3 id="instructions"><code>&lt;instructions&gt;</code><a class="headerlink" href="#instructions" title="Permanent link">#</a></h3>
3217<p>List of instructions to be executed upon install or update. The order is important, the topmost <code>&lt;instruction&gt;</code> will be executed first.</p>
3218<h4 id="instructions-typeinstall"><code>&lt;instructions type="install"&gt;</code><a class="headerlink" href="#instructions-typeinstall" title="Permanent link">#</a></h4>
3219<p>List of instructions for a new installation of this package.</p>
3220<h4 id="instructions-typeupdate-fromversion"><code>&lt;instructions type="update" fromversion="…"&gt;</code><a class="headerlink" href="#instructions-typeupdate-fromversion" title="Permanent link">#</a></h4>
3221<p>The attribute <code>fromversion</code> must be a valid version number as described in the <a href="#version">\&lt;version></a> section and specifies a possible update from that very version to the package's version.</p>
3222<div class="admonition warning">
3223<p class="admonition-title">The installation process will pick exactly one update instruction, ignoring everything else. Please read the explanation below!</p>
3224</div>
3225<p>Example:</p>
3226<ul>
3227<li>Installed version: <code>1.0.0</code></li>
3228<li>Package version: <code>1.0.2</code></li>
3229</ul>
3230<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
3231<span class="normal">2</span>
3232<span class="normal">3</span>
3233<span class="normal">4</span>
3234<span class="normal">5</span>
c708394c
WG
3235<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nt">&lt;instructions</span><span class="w"> </span><span class="na">type=</span><span class="s">&quot;update&quot;</span><span class="w"> </span><span class="na">fromversion=</span><span class="s">&quot;1.0.0&quot;</span><span class="nt">&gt;</span>
3236<span class="w"> </span><span class="cm">&lt;!-- … --&gt;</span>
9aa5da67 3237<span class="nt">&lt;/instructions&gt;</span>
c708394c
WG
3238<span class="nt">&lt;instructions</span><span class="w"> </span><span class="na">type=</span><span class="s">&quot;update&quot;</span><span class="w"> </span><span class="na">fromversion=</span><span class="s">&quot;1.0.1&quot;</span><span class="nt">&gt;</span>
3239<span class="w"> </span><span class="cm">&lt;!-- … --&gt;</span>
9aa5da67
WG
3240<span class="nt">&lt;/instructions&gt;</span>
3241</code></pre></div></td></tr></table></div>
3242<p>In this example WoltLab Suite Core will pick the first update block since it allows an update from <code>1.0.0 -&gt; 1.0.2</code>.
3243The other block is not considered, since the currently installed version is <code>1.0.0</code>. After applying the update block (<code>fromversion="1.0.0"</code>), the version now reads <code>1.0.2</code>.</p>
3244<h4 id="instruction"><code>&lt;instruction&gt;</code><a class="headerlink" href="#instruction" title="Permanent link">#</a></h4>
3245<p>Example:</p>
c708394c 3246<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nt">&lt;instruction</span><span class="w"> </span><span class="na">type=</span><span class="s">&quot;objectTypeDefinition&quot;</span><span class="nt">&gt;</span>objectTypeDefinition.xml<span class="nt">&lt;/instruction&gt;</span>
9aa5da67
WG
3247</code></pre></div></td></tr></table></div>
3248<p>The attribute <code>type</code> specifies the instruction type which is used to determine the package installation plugin (PIP) invoked to handle its value.
3249The value must be a valid file relative to the location of <code>package.xml</code>.
3250Many PIPs provide default file names which are used if no value is given:</p>
c708394c 3251<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nt">&lt;instruction</span><span class="w"> </span><span class="na">type=</span><span class="s">&quot;objectTypeDefinition&quot;</span><span class="w"> </span><span class="nt">/&gt;</span>
9aa5da67
WG
3252</code></pre></div></td></tr></table></div>
3253<p>There is a <a href="../pip/">list of all default PIPs</a> available.</p>
3254<div class="admonition warning">
3255<p class="admonition-title">Both the <code>type</code>-attribute and the element value are case-sensitive. Windows does not care if the file is called <code>objecttypedefinition.xml</code> but was referenced as <code>objectTypeDefinition.xml</code>, but both Linux and Mac systems will be unable to find the file.</p>
3256</div>
3257<p>In addition to the <code>type</code> attribute, an optional <code>run</code> attribute (with <code>standalone</code> as the only valid value) is supported which forces the installation to execute this PIP in an isolated request, allowing a single, resource-heavy PIP to execute without encountering restrictions such as PHP’s <code>memory_limit</code> or <code>max_execution_time</code>:</p>
c708394c 3258<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nt">&lt;instruction</span><span class="w"> </span><span class="na">type=</span><span class="s">&quot;file&quot;</span><span class="w"> </span><span class="na">run=</span><span class="s">&quot;standalone&quot;</span><span class="w"> </span><span class="nt">/&gt;</span>
9aa5da67
WG
3259</code></pre></div></td></tr></table></div>
3260<h4 id="void"><code>&lt;void/&gt;</code><a class="headerlink" href="#void" title="Permanent link">#</a></h4>
3261<p>Sometimes a package update should only adjust the metadata of the package, for example, an optional package was added.
3262However, WoltLab Suite Core requires that the list of <code>&lt;instructions&gt;</code> is non-empty.
3263Instead of using a dummy <code>&lt;instruction&gt;</code> that idempotently updates some PIP, the <code>&lt;void/&gt;</code> tag can be used for this use-case.</p>
3264<p>Using the <code>&lt;void/&gt;</code> tag is only valid for <code>&lt;instructions type="update"&gt;</code> and must not be accompanied by other <code>&lt;instruction&gt;</code> tags.</p>
3265<p>Example:</p>
3266<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
3267<span class="normal">2</span>
c708394c
WG
3268<span class="normal">3</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nt">&lt;instructions</span><span class="w"> </span><span class="na">type=</span><span class="s">&quot;update&quot;</span><span class="w"> </span><span class="na">fromversion=</span><span class="s">&quot;1.0.0&quot;</span><span class="nt">&gt;</span>
3269<span class="w"> </span><span class="nt">&lt;void/&gt;</span>
9aa5da67
WG
3270<span class="nt">&lt;/instructions&gt;</span>
3271</code></pre></div></td></tr></table></div>
3272
3273 <hr>
3274<div class="md-source-file">
3275 <small>
3276
3277 Last update:
ec154389 3278 2023-03-14
9aa5da67
WG
3279
3280 </small>
3281</div>
3282
a06fd3b1
WG
3283
3284
3285
7f9945cf
WG
3286
3287
3288 </article>
3289 </div>
3290
3291
9aa5da67
WG
3292 </div>
3293
3294 </main>
3295
3296 <footer class="md-footer">
3297
9aa5da67
WG
3298 <div class="md-footer-meta md-typeset">
3299 <div class="md-footer-meta__inner md-grid">
3300 <div class="md-copyright">
3301
3302 <div class="md-copyright__highlight">
3303 Copyright © 2020 WoltLab GmbH
3304 </div>
3305
3306
3307 Made with
3308 <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
3309 Material for MkDocs
3310 </a>
3311
3312</div>
3313
3314 <div class="md-copyright">
3315 <a href="https://www.woltlab.com/legal-notice/">Legal Notice</a>
3316 <a href="https://www.woltlab.com/privacy-policy/">Privacy Policy</a>
3317</div>
3318
3319 </div>
3320 </div>
3321</footer>
3322
3323 </div>
3324 <div class="md-dialog" data-md-component="dialog">
3325 <div class="md-dialog__inner md-typeset"></div>
3326 </div>
a06fd3b1 3327
6f2e8f13 3328 <script id="__config" type="application/json">{"base": "../..", "features": ["navigation.tracking"], "search": "../../assets/javascripts/workers/search.208ed371.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
9aa5da67
WG
3329
3330
ea01e590 3331 <script src="../../assets/javascripts/bundle.b4d07000.min.js"></script>
9aa5da67
WG
3332
3333
3334 </body>
3335</html>