Deployed e2e043e to 5.4 with MkDocs 1.1.2 and mike 0.5.5
[GitHub/WoltLab/woltlab.github.io.git] / latest / package / pip / index.html
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
12 <link rel="shortcut icon" href="../../assets/default.favicon.ico">
13 <meta name="generator" content="mkdocs-1.1.2, mkdocs-material-7.0.5">
14
15
16
17 <title>Overview - WoltLab Suite Documentation</title>
18
19
20
21 <link rel="stylesheet" href="../../assets/stylesheets/main.77f3fd56.min.css">
22
23
24 <link rel="stylesheet" href="../../assets/stylesheets/palette.7fa14f5b.min.css">
25
26
27
28 <meta name="theme-color" content="#009485">
29
30
31
32
33
34
35
36
37
38 <link rel="stylesheet" href="../../stylesheets/extra.css">
39
40
41
42
43
44 </head>
45
46
47
48
49
50
51
52 <body dir="ltr" data-md-color-scheme="" data-md-color-primary="teal" data-md-color-accent="">
53
54
55
56 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
57 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
58 <label class="md-overlay" for="__drawer"></label>
59 <div data-md-component="skip">
60
61
62 <a href="#package-installation-plugins" class="md-skip">
63 Skip to content
64 </a>
65
66 </div>
67 <div data-md-component="announce">
68
69 <aside class="md-announce">
70 <div class="md-announce__inner md-grid md-typeset">
71
72 <a href="https://www.woltlab.com">Back to <strong>woltlab.com</strong></a>
73
74 </div>
75 </aside>
76
77 </div>
78
79
80
81 <header class="md-header" data-md-component="header">
82 <nav class="md-header__inner md-grid" aria-label="Header">
83 <a href="../.." title="WoltLab Suite Documentation" class="md-header__button md-logo" aria-label="WoltLab Suite Documentation">
84
85 <img src="../../assets/logo.png" alt="logo">
86
87 </a>
88 <label class="md-header__button md-icon" for="__drawer">
89 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
90 </label>
91 <div class="md-header__title" data-md-component="header-title">
92 <div class="md-header__ellipsis">
93 <div class="md-header__topic">
94 <span class="md-ellipsis">
95 WoltLab Suite Documentation
96 </span>
97 </div>
98 <div class="md-header__topic" data-md-component="header-topic">
99 <span class="md-ellipsis">
100
101 Overview
102
103 </span>
104 </div>
105 </div>
106 </div>
107 <div class="md-header__options">
108
109 </div>
110
111 <label class="md-header__button md-icon" for="__search">
112 <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>
113 </label>
114
115 <div class="md-search" data-md-component="search" role="dialog">
116 <label class="md-search__overlay" for="__search"></label>
117 <div class="md-search__inner" role="search">
118 <form class="md-search__form" name="search">
119 <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" data-md-state="active" required>
120 <label class="md-search__icon md-icon" for="__search">
121 <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>
122 <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>
123 </label>
124 <button type="reset" class="md-search__icon md-icon" aria-label="Clear" tabindex="-1">
125 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41L17.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>
126 </button>
127 </form>
128 <div class="md-search__output">
129 <div class="md-search__scrollwrap" data-md-scrollfix>
130 <div class="md-search-result" data-md-component="search-result">
131 <div class="md-search-result__meta">
132 Initializing search
133 </div>
134 <ol class="md-search-result__list"></ol>
135 </div>
136 </div>
137 </div>
138 </div>
139 </div>
140
141
142 </nav>
143 </header>
144
145 <div class="md-container" data-md-component="container">
146
147
148
149
150 <main class="md-main" data-md-component="main">
151 <div class="md-main__inner md-grid">
152
153
154
155 <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
156 <div class="md-sidebar__scrollwrap">
157 <div class="md-sidebar__inner">
158
159
160
161
162
163 <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
164 <label class="md-nav__title" for="__drawer">
165 <a href="../.." title="WoltLab Suite Documentation" class="md-nav__button md-logo" aria-label="WoltLab Suite Documentation">
166
167 <img src="../../assets/logo.png" alt="logo">
168
169 </a>
170 WoltLab Suite Documentation
171 </label>
172
173 <ul class="md-nav__list" data-md-scrollfix>
174
175
176
177
178
179
180
181
182 <li class="md-nav__item">
183 <a href="../../getting-started/" class="md-nav__link">
184 Getting Started
185 </a>
186 </li>
187
188
189
190
191
192
193
194
195
196
197
198 <li class="md-nav__item md-nav__item--nested">
199
200
201 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2" type="checkbox" id="__nav_2" >
202
203 <label class="md-nav__link" for="__nav_2">
204 PHP API
205 <span class="md-nav__icon md-icon"></span>
206 </label>
207 <nav class="md-nav" aria-label="PHP API" data-md-level="1">
208 <label class="md-nav__title" for="__nav_2">
209 <span class="md-nav__icon md-icon"></span>
210 PHP API
211 </label>
212 <ul class="md-nav__list" data-md-scrollfix>
213
214
215
216
217
218 <li class="md-nav__item">
219 <a href="../../php/pages/" class="md-nav__link">
220 Pages
221 </a>
222 </li>
223
224
225
226
227
228
229
230 <li class="md-nav__item">
231 <a href="../../php/database-objects/" class="md-nav__link">
232 Database Objects
233 </a>
234 </li>
235
236
237
238
239
240
241
242 <li class="md-nav__item">
243 <a href="../../php/database-access/" class="md-nav__link">
244 Database Access
245 </a>
246 </li>
247
248
249
250
251
252
253
254 <li class="md-nav__item">
255 <a href="../../php/exceptions/" class="md-nav__link">
256 Exceptions
257 </a>
258 </li>
259
260
261
262
263
264
265
266
267 <li class="md-nav__item md-nav__item--nested">
268
269
270 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5" type="checkbox" id="__nav_2_5" >
271
272 <label class="md-nav__link" for="__nav_2_5">
273 API
274 <span class="md-nav__icon md-icon"></span>
275 </label>
276 <nav class="md-nav" aria-label="API" data-md-level="2">
277 <label class="md-nav__title" for="__nav_2_5">
278 <span class="md-nav__icon md-icon"></span>
279 API
280 </label>
281 <ul class="md-nav__list" data-md-scrollfix>
282
283
284
285
286
287 <li class="md-nav__item">
288 <a href="../../php/api/caches/" class="md-nav__link">
289 Caches
290 </a>
291 </li>
292
293
294
295
296
297
298
299 <li class="md-nav__item">
300 <a href="../../php/api/comments/" class="md-nav__link">
301 Comments
302 </a>
303 </li>
304
305
306
307
308
309
310
311 <li class="md-nav__item">
312 <a href="../../php/api/cronjobs/" class="md-nav__link">
313 Cronjobs
314 </a>
315 </li>
316
317
318
319
320
321
322
323 <li class="md-nav__item">
324 <a href="../../php/api/events/" class="md-nav__link">
325 Events
326 </a>
327 </li>
328
329
330
331
332
333
334
335
336 <li class="md-nav__item md-nav__item--nested">
337
338
339 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5_5" type="checkbox" id="__nav_2_5_5" >
340
341 <label class="md-nav__link" for="__nav_2_5_5">
342 Form Builder
343 <span class="md-nav__icon md-icon"></span>
344 </label>
345 <nav class="md-nav" aria-label="Form Builder" data-md-level="3">
346 <label class="md-nav__title" for="__nav_2_5_5">
347 <span class="md-nav__icon md-icon"></span>
348 Form Builder
349 </label>
350 <ul class="md-nav__list" data-md-scrollfix>
351
352
353
354
355
356 <li class="md-nav__item">
357 <a href="../../php/api/form_builder/overview/" class="md-nav__link">
358 Overview
359 </a>
360 </li>
361
362
363
364
365
366
367
368 <li class="md-nav__item">
369 <a href="../../php/api/form_builder/structure/" class="md-nav__link">
370 Structure
371 </a>
372 </li>
373
374
375
376
377
378
379
380 <li class="md-nav__item">
381 <a href="../../php/api/form_builder/form_fields/" class="md-nav__link">
382 Fields
383 </a>
384 </li>
385
386
387
388
389
390
391
392 <li class="md-nav__item">
393 <a href="../../php/api/form_builder/validation_data/" class="md-nav__link">
394 Validation and Data
395 </a>
396 </li>
397
398
399
400
401
402
403
404 <li class="md-nav__item">
405 <a href="../../php/api/form_builder/dependencies/" class="md-nav__link">
406 Dependencies
407 </a>
408 </li>
409
410
411
412 </ul>
413 </nav>
414 </li>
415
416
417
418
419
420
421
422 <li class="md-nav__item">
423 <a href="../../php/api/package_installation_plugins/" class="md-nav__link">
424 Package Installation Plugins
425 </a>
426 </li>
427
428
429
430
431
432
433
434 <li class="md-nav__item">
435 <a href="../../php/api/user_activity_points/" class="md-nav__link">
436 User Activity Points
437 </a>
438 </li>
439
440
441
442
443
444
445
446 <li class="md-nav__item">
447 <a href="../../php/api/user_notifications/" class="md-nav__link">
448 User Notifications
449 </a>
450 </li>
451
452
453
454
455
456
457
458 <li class="md-nav__item">
459 <a href="../../php/api/sitemaps/" class="md-nav__link">
460 Sitemaps
461 </a>
462 </li>
463
464
465
466 </ul>
467 </nav>
468 </li>
469
470
471
472
473
474
475
476 <li class="md-nav__item">
477 <a href="../../php/code-style/" class="md-nav__link">
478 Code Style
479 </a>
480 </li>
481
482
483
484
485
486
487
488 <li class="md-nav__item">
489 <a href="../../php/apps/" class="md-nav__link">
490 Apps
491 </a>
492 </li>
493
494
495
496
497
498
499
500 <li class="md-nav__item">
501 <a href="../../php/gdpr/" class="md-nav__link">
502 GDPR
503 </a>
504 </li>
505
506
507
508 </ul>
509 </nav>
510 </li>
511
512
513
514
515
516
517
518
519
520
521
522 <li class="md-nav__item md-nav__item--nested">
523
524
525 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
526
527 <label class="md-nav__link" for="__nav_3">
528 Languages, Templates & CSS
529 <span class="md-nav__icon md-icon"></span>
530 </label>
531 <nav class="md-nav" aria-label="Languages, Templates & CSS" data-md-level="1">
532 <label class="md-nav__title" for="__nav_3">
533 <span class="md-nav__icon md-icon"></span>
534 Languages, Templates & CSS
535 </label>
536 <ul class="md-nav__list" data-md-scrollfix>
537
538
539
540
541
542 <li class="md-nav__item">
543 <a href="../../view/languages/" class="md-nav__link">
544 Languages
545 </a>
546 </li>
547
548
549
550
551
552
553
554 <li class="md-nav__item">
555 <a href="../../view/templates/" class="md-nav__link">
556 Templates
557 </a>
558 </li>
559
560
561
562
563
564
565
566 <li class="md-nav__item">
567 <a href="../../view/css/" class="md-nav__link">
568 CSS
569 </a>
570 </li>
571
572
573
574 </ul>
575 </nav>
576 </li>
577
578
579
580
581
582
583
584
585
586
587
588 <li class="md-nav__item md-nav__item--nested">
589
590
591 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
592
593 <label class="md-nav__link" for="__nav_4">
594 JavaScript API
595 <span class="md-nav__icon md-icon"></span>
596 </label>
597 <nav class="md-nav" aria-label="JavaScript API" data-md-level="1">
598 <label class="md-nav__title" for="__nav_4">
599 <span class="md-nav__icon md-icon"></span>
600 JavaScript API
601 </label>
602 <ul class="md-nav__list" data-md-scrollfix>
603
604
605
606
607
608 <li class="md-nav__item">
609 <a href="../../javascript/general-usage/" class="md-nav__link">
610 General Usage
611 </a>
612 </li>
613
614
615
616
617
618
619
620
621 <li class="md-nav__item md-nav__item--nested">
622
623
624 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_2" type="checkbox" id="__nav_4_2" >
625
626 <label class="md-nav__link" for="__nav_4_2">
627 New API
628 <span class="md-nav__icon md-icon"></span>
629 </label>
630 <nav class="md-nav" aria-label="New API" data-md-level="2">
631 <label class="md-nav__title" for="__nav_4_2">
632 <span class="md-nav__icon md-icon"></span>
633 New API
634 </label>
635 <ul class="md-nav__list" data-md-scrollfix>
636
637
638
639
640
641 <li class="md-nav__item">
642 <a href="../../javascript/new-api_writing-a-module/" class="md-nav__link">
643 Writing a module
644 </a>
645 </li>
646
647
648
649
650
651
652
653 <li class="md-nav__item">
654 <a href="../../javascript/new-api_data-structures/" class="md-nav__link">
655 Data Structures
656 </a>
657 </li>
658
659
660
661
662
663
664
665 <li class="md-nav__item">
666 <a href="../../javascript/new-api_core/" class="md-nav__link">
667 Core Functions
668 </a>
669 </li>
670
671
672
673
674
675
676
677 <li class="md-nav__item">
678 <a href="../../javascript/new-api_dom/" class="md-nav__link">
679 DOM
680 </a>
681 </li>
682
683
684
685
686
687
688
689 <li class="md-nav__item">
690 <a href="../../javascript/new-api_events/" class="md-nav__link">
691 Event Handling
692 </a>
693 </li>
694
695
696
697
698
699
700
701 <li class="md-nav__item">
702 <a href="../../javascript/new-api_ajax/" class="md-nav__link">
703 Ajax
704 </a>
705 </li>
706
707
708
709
710
711
712
713 <li class="md-nav__item">
714 <a href="../../javascript/new-api_dialogs/" class="md-nav__link">
715 Dialogs
716 </a>
717 </li>
718
719
720
721
722
723
724
725 <li class="md-nav__item">
726 <a href="../../javascript/new-api_browser/" class="md-nav__link">
727 Browser and Screen Sizes
728 </a>
729 </li>
730
731
732
733
734
735
736
737 <li class="md-nav__item">
738 <a href="../../javascript/new-api_ui/" class="md-nav__link">
739 User Interface
740 </a>
741 </li>
742
743
744
745 </ul>
746 </nav>
747 </li>
748
749
750
751
752
753
754
755 <li class="md-nav__item">
756 <a href="../../javascript/legacy-api/" class="md-nav__link">
757 Legacy API
758 </a>
759 </li>
760
761
762
763
764
765
766
767 <li class="md-nav__item">
768 <a href="../../javascript/helper-functions/" class="md-nav__link">
769 Helper Functions
770 </a>
771 </li>
772
773
774
775
776
777
778
779 <li class="md-nav__item">
780 <a href="../../javascript/code-snippets/" class="md-nav__link">
781 Code Snippets
782 </a>
783 </li>
784
785
786
787 </ul>
788 </nav>
789 </li>
790
791
792
793
794
795
796
797
798
799
800
801
802
803 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
804
805
806 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" checked>
807
808 <label class="md-nav__link" for="__nav_5">
809 Package Components
810 <span class="md-nav__icon md-icon"></span>
811 </label>
812 <nav class="md-nav" aria-label="Package Components" data-md-level="1">
813 <label class="md-nav__title" for="__nav_5">
814 <span class="md-nav__icon md-icon"></span>
815 Package Components
816 </label>
817 <ul class="md-nav__list" data-md-scrollfix>
818
819
820
821
822
823 <li class="md-nav__item">
824 <a href="../package-xml/" class="md-nav__link">
825 package.xml
826 </a>
827 </li>
828
829
830
831
832
833
834
835
836
837
838 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
839
840
841 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5_2" type="checkbox" id="__nav_5_2" checked>
842
843 <label class="md-nav__link" for="__nav_5_2">
844 PIPs
845 <span class="md-nav__icon md-icon"></span>
846 </label>
847 <nav class="md-nav" aria-label="PIPs" data-md-level="2">
848 <label class="md-nav__title" for="__nav_5_2">
849 <span class="md-nav__icon md-icon"></span>
850 PIPs
851 </label>
852 <ul class="md-nav__list" data-md-scrollfix>
853
854
855
856
857
858
859
860 <li class="md-nav__item md-nav__item--active">
861
862 <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
863
864
865
866
867 <label class="md-nav__link md-nav__link--active" for="__toc">
868 Overview
869 <span class="md-nav__icon md-icon"></span>
870 </label>
871
872 <a href="./" class="md-nav__link md-nav__link--active">
873 Overview
874 </a>
875
876
877 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
878
879
880
881
882
883 <label class="md-nav__title" for="__toc">
884 <span class="md-nav__icon md-icon"></span>
885 Table of contents
886 </label>
887 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
888
889 <li class="md-nav__item">
890 <a href="#built-in-pips" class="md-nav__link">
891 Built-In PIPs
892 </a>
893
894 </li>
895
896 </ul>
897
898 </nav>
899
900 </li>
901
902
903
904
905
906
907
908 <li class="md-nav__item">
909 <a href="acl-option/" class="md-nav__link">
910 aclOption
911 </a>
912 </li>
913
914
915
916
917
918
919
920 <li class="md-nav__item">
921 <a href="acp-menu/" class="md-nav__link">
922 acpMenu
923 </a>
924 </li>
925
926
927
928
929
930
931
932 <li class="md-nav__item">
933 <a href="acp-search-provider/" class="md-nav__link">
934 acpSearchProvider
935 </a>
936 </li>
937
938
939
940
941
942
943
944 <li class="md-nav__item">
945 <a href="acp-template/" class="md-nav__link">
946 acpTemplate
947 </a>
948 </li>
949
950
951
952
953
954
955
956 <li class="md-nav__item">
957 <a href="bbcode/" class="md-nav__link">
958 bbcode
959 </a>
960 </li>
961
962
963
964
965
966
967
968 <li class="md-nav__item">
969 <a href="box/" class="md-nav__link">
970 box
971 </a>
972 </li>
973
974
975
976
977
978
979
980 <li class="md-nav__item">
981 <a href="clipboard-action/" class="md-nav__link">
982 clipboardAction
983 </a>
984 </li>
985
986
987
988
989
990
991
992 <li class="md-nav__item">
993 <a href="core-object/" class="md-nav__link">
994 coreObject
995 </a>
996 </li>
997
998
999
1000
1001
1002
1003
1004 <li class="md-nav__item">
1005 <a href="cronjob/" class="md-nav__link">
1006 cronjob
1007 </a>
1008 </li>
1009
1010
1011
1012
1013
1014
1015
1016 <li class="md-nav__item">
1017 <a href="event-listener/" class="md-nav__link">
1018 eventListener
1019 </a>
1020 </li>
1021
1022
1023
1024
1025
1026
1027
1028 <li class="md-nav__item">
1029 <a href="file/" class="md-nav__link">
1030 file
1031 </a>
1032 </li>
1033
1034
1035
1036
1037
1038
1039
1040 <li class="md-nav__item">
1041 <a href="language/" class="md-nav__link">
1042 language
1043 </a>
1044 </li>
1045
1046
1047
1048
1049
1050
1051
1052 <li class="md-nav__item">
1053 <a href="media-provider/" class="md-nav__link">
1054 mediaProvider
1055 </a>
1056 </li>
1057
1058
1059
1060
1061
1062
1063
1064 <li class="md-nav__item">
1065 <a href="menu/" class="md-nav__link">
1066 menu
1067 </a>
1068 </li>
1069
1070
1071
1072
1073
1074
1075
1076 <li class="md-nav__item">
1077 <a href="menu-item/" class="md-nav__link">
1078 menuItem
1079 </a>
1080 </li>
1081
1082
1083
1084
1085
1086
1087
1088 <li class="md-nav__item">
1089 <a href="object-type/" class="md-nav__link">
1090 objectType
1091 </a>
1092 </li>
1093
1094
1095
1096
1097
1098
1099
1100 <li class="md-nav__item">
1101 <a href="object-type-definition/" class="md-nav__link">
1102 objectTypeDefinition
1103 </a>
1104 </li>
1105
1106
1107
1108
1109
1110
1111
1112 <li class="md-nav__item">
1113 <a href="option/" class="md-nav__link">
1114 option
1115 </a>
1116 </li>
1117
1118
1119
1120
1121
1122
1123
1124 <li class="md-nav__item">
1125 <a href="page/" class="md-nav__link">
1126 page
1127 </a>
1128 </li>
1129
1130
1131
1132
1133
1134
1135
1136 <li class="md-nav__item">
1137 <a href="pip/" class="md-nav__link">
1138 pip
1139 </a>
1140 </li>
1141
1142
1143
1144
1145
1146
1147
1148 <li class="md-nav__item">
1149 <a href="script/" class="md-nav__link">
1150 script
1151 </a>
1152 </li>
1153
1154
1155
1156
1157
1158
1159
1160 <li class="md-nav__item">
1161 <a href="smiley/" class="md-nav__link">
1162 smiley
1163 </a>
1164 </li>
1165
1166
1167
1168
1169
1170
1171
1172 <li class="md-nav__item">
1173 <a href="sql/" class="md-nav__link">
1174 sql
1175 </a>
1176 </li>
1177
1178
1179
1180
1181
1182
1183
1184 <li class="md-nav__item">
1185 <a href="style/" class="md-nav__link">
1186 style
1187 </a>
1188 </li>
1189
1190
1191
1192
1193
1194
1195
1196 <li class="md-nav__item">
1197 <a href="template/" class="md-nav__link">
1198 template
1199 </a>
1200 </li>
1201
1202
1203
1204
1205
1206
1207
1208 <li class="md-nav__item">
1209 <a href="template-listener/" class="md-nav__link">
1210 templateListener
1211 </a>
1212 </li>
1213
1214
1215
1216
1217
1218
1219
1220 <li class="md-nav__item">
1221 <a href="user-group-option/" class="md-nav__link">
1222 userGroupOption
1223 </a>
1224 </li>
1225
1226
1227
1228
1229
1230
1231
1232 <li class="md-nav__item">
1233 <a href="user-menu/" class="md-nav__link">
1234 userMenu
1235 </a>
1236 </li>
1237
1238
1239
1240
1241
1242
1243
1244 <li class="md-nav__item">
1245 <a href="user-notification-event/" class="md-nav__link">
1246 userNotificationEvent
1247 </a>
1248 </li>
1249
1250
1251
1252
1253
1254
1255
1256 <li class="md-nav__item">
1257 <a href="user-option/" class="md-nav__link">
1258 userOption
1259 </a>
1260 </li>
1261
1262
1263
1264
1265
1266
1267
1268 <li class="md-nav__item">
1269 <a href="user-profile-menu/" class="md-nav__link">
1270 userProfileMenu
1271 </a>
1272 </li>
1273
1274
1275
1276 </ul>
1277 </nav>
1278 </li>
1279
1280
1281
1282
1283
1284
1285
1286 <li class="md-nav__item">
1287 <a href="../database-php-api/" class="md-nav__link">
1288 Database PHP API
1289 </a>
1290 </li>
1291
1292
1293
1294 </ul>
1295 </nav>
1296 </li>
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308 <li class="md-nav__item md-nav__item--nested">
1309
1310
1311 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
1312
1313 <label class="md-nav__link" for="__nav_6">
1314 Migration
1315 <span class="md-nav__icon md-icon"></span>
1316 </label>
1317 <nav class="md-nav" aria-label="Migration" data-md-level="1">
1318 <label class="md-nav__title" for="__nav_6">
1319 <span class="md-nav__icon md-icon"></span>
1320 Migration
1321 </label>
1322 <ul class="md-nav__list" data-md-scrollfix>
1323
1324
1325
1326
1327
1328
1329 <li class="md-nav__item md-nav__item--nested">
1330
1331
1332 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_1" type="checkbox" id="__nav_6_1" >
1333
1334 <label class="md-nav__link" for="__nav_6_1">
1335 Migrating from WSC 5.3
1336 <span class="md-nav__icon md-icon"></span>
1337 </label>
1338 <nav class="md-nav" aria-label="Migrating from WSC 5.3" data-md-level="2">
1339 <label class="md-nav__title" for="__nav_6_1">
1340 <span class="md-nav__icon md-icon"></span>
1341 Migrating from WSC 5.3
1342 </label>
1343 <ul class="md-nav__list" data-md-scrollfix>
1344
1345
1346
1347
1348
1349 <li class="md-nav__item">
1350 <a href="../../migration/wsc53/php/" class="md-nav__link">
1351 PHP API
1352 </a>
1353 </li>
1354
1355
1356
1357
1358
1359
1360
1361 <li class="md-nav__item">
1362 <a href="../../migration/wsc53/session/" class="md-nav__link">
1363 Session Handling and Authentication
1364 </a>
1365 </li>
1366
1367
1368
1369
1370
1371
1372
1373 <li class="md-nav__item">
1374 <a href="../../migration/wsc53/javascript/" class="md-nav__link">
1375 JavaScript
1376 </a>
1377 </li>
1378
1379
1380
1381
1382
1383
1384
1385 <li class="md-nav__item">
1386 <a href="../../migration/wsc53/templates/" class="md-nav__link">
1387 Templates
1388 </a>
1389 </li>
1390
1391
1392
1393
1394
1395
1396
1397 <li class="md-nav__item">
1398 <a href="../../migration/wsc53/libraries/" class="md-nav__link">
1399 Third Party Libraries
1400 </a>
1401 </li>
1402
1403
1404
1405 </ul>
1406 </nav>
1407 </li>
1408
1409
1410
1411
1412
1413
1414
1415
1416 <li class="md-nav__item md-nav__item--nested">
1417
1418
1419 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_2" type="checkbox" id="__nav_6_2" >
1420
1421 <label class="md-nav__link" for="__nav_6_2">
1422 Migrating from WSC 5.2
1423 <span class="md-nav__icon md-icon"></span>
1424 </label>
1425 <nav class="md-nav" aria-label="Migrating from WSC 5.2" data-md-level="2">
1426 <label class="md-nav__title" for="__nav_6_2">
1427 <span class="md-nav__icon md-icon"></span>
1428 Migrating from WSC 5.2
1429 </label>
1430 <ul class="md-nav__list" data-md-scrollfix>
1431
1432
1433
1434
1435
1436 <li class="md-nav__item">
1437 <a href="../../migration/wsc52/php/" class="md-nav__link">
1438 PHP API
1439 </a>
1440 </li>
1441
1442
1443
1444
1445
1446
1447
1448 <li class="md-nav__item">
1449 <a href="../../migration/wsc52/templates/" class="md-nav__link">
1450 Templates and Languages
1451 </a>
1452 </li>
1453
1454
1455
1456
1457
1458
1459
1460 <li class="md-nav__item">
1461 <a href="../../migration/wsc52/libraries/" class="md-nav__link">
1462 Third Party Libraries
1463 </a>
1464 </li>
1465
1466
1467
1468 </ul>
1469 </nav>
1470 </li>
1471
1472
1473
1474
1475
1476
1477
1478
1479 <li class="md-nav__item md-nav__item--nested">
1480
1481
1482 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_3" type="checkbox" id="__nav_6_3" >
1483
1484 <label class="md-nav__link" for="__nav_6_3">
1485 Migrating from WSC 3.1
1486 <span class="md-nav__icon md-icon"></span>
1487 </label>
1488 <nav class="md-nav" aria-label="Migrating from WSC 3.1" data-md-level="2">
1489 <label class="md-nav__title" for="__nav_6_3">
1490 <span class="md-nav__icon md-icon"></span>
1491 Migrating from WSC 3.1
1492 </label>
1493 <ul class="md-nav__list" data-md-scrollfix>
1494
1495
1496
1497
1498
1499 <li class="md-nav__item">
1500 <a href="../../migration/wsc31/php/" class="md-nav__link">
1501 PHP API
1502 </a>
1503 </li>
1504
1505
1506
1507 </ul>
1508 </nav>
1509 </li>
1510
1511
1512
1513
1514
1515
1516
1517
1518 <li class="md-nav__item md-nav__item--nested">
1519
1520
1521 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_4" type="checkbox" id="__nav_6_4" >
1522
1523 <label class="md-nav__link" for="__nav_6_4">
1524 Migrating from WSC 3.0
1525 <span class="md-nav__icon md-icon"></span>
1526 </label>
1527 <nav class="md-nav" aria-label="Migrating from WSC 3.0" data-md-level="2">
1528 <label class="md-nav__title" for="__nav_6_4">
1529 <span class="md-nav__icon md-icon"></span>
1530 Migrating from WSC 3.0
1531 </label>
1532 <ul class="md-nav__list" data-md-scrollfix>
1533
1534
1535
1536
1537
1538 <li class="md-nav__item">
1539 <a href="../../migration/wsc30/php/" class="md-nav__link">
1540 PHP API
1541 </a>
1542 </li>
1543
1544
1545
1546
1547
1548
1549
1550 <li class="md-nav__item">
1551 <a href="../../migration/wsc30/javascript/" class="md-nav__link">
1552 JavaScript API
1553 </a>
1554 </li>
1555
1556
1557
1558
1559
1560
1561
1562 <li class="md-nav__item">
1563 <a href="../../migration/wsc30/templates/" class="md-nav__link">
1564 Templates
1565 </a>
1566 </li>
1567
1568
1569
1570
1571
1572
1573
1574 <li class="md-nav__item">
1575 <a href="../../migration/wsc30/css/" class="md-nav__link">
1576 CSS
1577 </a>
1578 </li>
1579
1580
1581
1582
1583
1584
1585
1586 <li class="md-nav__item">
1587 <a href="../../migration/wsc30/package/" class="md-nav__link">
1588 Package Components
1589 </a>
1590 </li>
1591
1592
1593
1594 </ul>
1595 </nav>
1596 </li>
1597
1598
1599
1600
1601
1602
1603
1604
1605 <li class="md-nav__item md-nav__item--nested">
1606
1607
1608 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_5" type="checkbox" id="__nav_6_5" >
1609
1610 <label class="md-nav__link" for="__nav_6_5">
1611 Migrating from WCF 2.1
1612 <span class="md-nav__icon md-icon"></span>
1613 </label>
1614 <nav class="md-nav" aria-label="Migrating from WCF 2.1" data-md-level="2">
1615 <label class="md-nav__title" for="__nav_6_5">
1616 <span class="md-nav__icon md-icon"></span>
1617 Migrating from WCF 2.1
1618 </label>
1619 <ul class="md-nav__list" data-md-scrollfix>
1620
1621
1622
1623
1624
1625 <li class="md-nav__item">
1626 <a href="../../migration/wcf21/php/" class="md-nav__link">
1627 PHP API
1628 </a>
1629 </li>
1630
1631
1632
1633
1634
1635
1636
1637 <li class="md-nav__item">
1638 <a href="../../migration/wcf21/templates/" class="md-nav__link">
1639 Templates
1640 </a>
1641 </li>
1642
1643
1644
1645
1646
1647
1648
1649 <li class="md-nav__item">
1650 <a href="../../migration/wcf21/css/" class="md-nav__link">
1651 CSS
1652 </a>
1653 </li>
1654
1655
1656
1657
1658
1659
1660
1661 <li class="md-nav__item">
1662 <a href="../../migration/wcf21/package/" class="md-nav__link">
1663 Package Components
1664 </a>
1665 </li>
1666
1667
1668
1669 </ul>
1670 </nav>
1671 </li>
1672
1673
1674
1675 </ul>
1676 </nav>
1677 </li>
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689 <li class="md-nav__item md-nav__item--nested">
1690
1691
1692 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
1693
1694 <label class="md-nav__link" for="__nav_7">
1695 Tutorials
1696 <span class="md-nav__icon md-icon"></span>
1697 </label>
1698 <nav class="md-nav" aria-label="Tutorials" data-md-level="1">
1699 <label class="md-nav__title" for="__nav_7">
1700 <span class="md-nav__icon md-icon"></span>
1701 Tutorials
1702 </label>
1703 <ul class="md-nav__list" data-md-scrollfix>
1704
1705
1706
1707
1708
1709
1710 <li class="md-nav__item md-nav__item--nested">
1711
1712
1713 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7_1" type="checkbox" id="__nav_7_1" >
1714
1715 <label class="md-nav__link" for="__nav_7_1">
1716 Tutorial Series
1717 <span class="md-nav__icon md-icon"></span>
1718 </label>
1719 <nav class="md-nav" aria-label="Tutorial Series" data-md-level="2">
1720 <label class="md-nav__title" for="__nav_7_1">
1721 <span class="md-nav__icon md-icon"></span>
1722 Tutorial Series
1723 </label>
1724 <ul class="md-nav__list" data-md-scrollfix>
1725
1726
1727
1728
1729
1730 <li class="md-nav__item">
1731 <a href="../../tutorial/series/overview/" class="md-nav__link">
1732 Overview
1733 </a>
1734 </li>
1735
1736
1737
1738
1739
1740
1741
1742 <li class="md-nav__item">
1743 <a href="../../tutorial/series/part_1/" class="md-nav__link">
1744 Part 1
1745 </a>
1746 </li>
1747
1748
1749
1750
1751
1752
1753
1754 <li class="md-nav__item">
1755 <a href="../../tutorial/series/part_2/" class="md-nav__link">
1756 Part 2
1757 </a>
1758 </li>
1759
1760
1761
1762
1763
1764
1765
1766 <li class="md-nav__item">
1767 <a href="../../tutorial/series/part_3/" class="md-nav__link">
1768 Part 3
1769 </a>
1770 </li>
1771
1772
1773
1774 </ul>
1775 </nav>
1776 </li>
1777
1778
1779
1780 </ul>
1781 </nav>
1782 </li>
1783
1784
1785
1786 </ul>
1787 </nav>
1788 </div>
1789 </div>
1790 </div>
1791
1792
1793
1794 <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
1795 <div class="md-sidebar__scrollwrap">
1796 <div class="md-sidebar__inner">
1797
1798 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1799
1800
1801
1802
1803
1804 <label class="md-nav__title" for="__toc">
1805 <span class="md-nav__icon md-icon"></span>
1806 Table of contents
1807 </label>
1808 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1809
1810 <li class="md-nav__item">
1811 <a href="#built-in-pips" class="md-nav__link">
1812 Built-In PIPs
1813 </a>
1814
1815 </li>
1816
1817 </ul>
1818
1819 </nav>
1820 </div>
1821 </div>
1822 </div>
1823
1824
1825 <div class="md-content" data-md-component="content">
1826 <article class="md-content__inner md-typeset">
1827
1828
1829
1830 <h1 id="package-installation-plugins">Package Installation Plugins<a class="headerlink" href="#package-installation-plugins" title="Permanent link">#</a></h1>
1831 <p>Package Installation Plugins (PIPs) are interfaces to deploy and edit content as well as components.</p>
1832 <div class="admonition info">
1833 <p class="admonition-title">For XML-based PIPs: <code>&lt;![CDATA[]]&gt;</code> must be used for language items and page contents. In all other cases it may only be used when necessary.</p>
1834 </div>
1835 <h2 id="built-in-pips">Built-In PIPs<a class="headerlink" href="#built-in-pips" title="Permanent link">#</a></h2>
1836 <table>
1837 <thead>
1838 <tr>
1839 <th>Name</th>
1840 <th>Description</th>
1841 </tr>
1842 </thead>
1843 <tbody>
1844 <tr>
1845 <td><a href="acl-option/">aclOption</a></td>
1846 <td>Customizable permissions for individual objects</td>
1847 </tr>
1848 <tr>
1849 <td><a href="acp-menu/">acpMenu</a></td>
1850 <td>Admin panel menu categories and items</td>
1851 </tr>
1852 <tr>
1853 <td><a href="acp-search-provider/">acpSearchProvider</a></td>
1854 <td>Data provider for the admin panel search</td>
1855 </tr>
1856 <tr>
1857 <td><a href="acp-template/">acpTemplate</a></td>
1858 <td>Admin panel templates</td>
1859 </tr>
1860 <tr>
1861 <td><a href="bbcode/">bbcode</a></td>
1862 <td>BBCodes for rich message formatting</td>
1863 </tr>
1864 <tr>
1865 <td><a href="box/">box</a></td>
1866 <td>Boxes that can be placed anywhere on a page</td>
1867 </tr>
1868 <tr>
1869 <td><a href="clipboard-action/">clipboardAction</a></td>
1870 <td>Perform bulk operations on marked objects</td>
1871 </tr>
1872 <tr>
1873 <td><a href="core-object/">coreObject</a></td>
1874 <td>Access Singletons from within the template</td>
1875 </tr>
1876 <tr>
1877 <td><a href="cronjob/">cronjob</a></td>
1878 <td>Periodically execute code with customizable intervals</td>
1879 </tr>
1880 <tr>
1881 <td><a href="database/">database</a></td>
1882 <td>Updates the database layout using <a href="../database-php-api/">the PHP API</a></td>
1883 </tr>
1884 <tr>
1885 <td><a href="event-listener/">eventListener</a></td>
1886 <td>Register listeners for the event system</td>
1887 </tr>
1888 <tr>
1889 <td><a href="file/">file</a></td>
1890 <td>Deploy any type of files with the exception of templates</td>
1891 </tr>
1892 <tr>
1893 <td><a href="language/">language</a></td>
1894 <td>Language items</td>
1895 </tr>
1896 <tr>
1897 <td><a href="media-provider/">mediaProvider</a></td>
1898 <td>Detect and convert links to media providers</td>
1899 </tr>
1900 <tr>
1901 <td><a href="menu/">menu</a></td>
1902 <td>Side-wide and custom per-page menus</td>
1903 </tr>
1904 <tr>
1905 <td><a href="menu-item/">menuItem</a></td>
1906 <td>Menu items for menus created through the menu PIP</td>
1907 </tr>
1908 <tr>
1909 <td><a href="object-type/">objectType</a></td>
1910 <td>Flexible type registry based on definitions</td>
1911 </tr>
1912 <tr>
1913 <td><a href="object-type-definition/">objectTypeDefinition</a></td>
1914 <td>Groups objects and classes by functionality</td>
1915 </tr>
1916 <tr>
1917 <td><a href="option/">option</a></td>
1918 <td>Side-wide configuration options</td>
1919 </tr>
1920 <tr>
1921 <td><a href="page/">page</a></td>
1922 <td>Register page controllers and text-based pages</td>
1923 </tr>
1924 <tr>
1925 <td><a href="pip/">pip</a></td>
1926 <td>Package Installation Plugins</td>
1927 </tr>
1928 <tr>
1929 <td><a href="script/">script</a></td>
1930 <td>Execute arbitrary PHP code during installation, update and uninstallation</td>
1931 </tr>
1932 <tr>
1933 <td><a href="smiley/">smiley</a></td>
1934 <td>Smileys</td>
1935 </tr>
1936 <tr>
1937 <td><a href="sql/">sql</a></td>
1938 <td>Execute SQL instructions using a MySQL-flavored syntax (also see <a href="../database-php-api/">database PHP API</a>)</td>
1939 </tr>
1940 <tr>
1941 <td><a href="style/">style</a></td>
1942 <td>Style</td>
1943 </tr>
1944 <tr>
1945 <td><a href="template/">template</a></td>
1946 <td>Frontend templates</td>
1947 </tr>
1948 <tr>
1949 <td><a href="template-listener/">templateListener</a></td>
1950 <td>Embed template code into templates without altering the original</td>
1951 </tr>
1952 <tr>
1953 <td><a href="user-group-option/">userGroupOption</a></td>
1954 <td>Permissions for user groups</td>
1955 </tr>
1956 <tr>
1957 <td><a href="user-menu/">userMenu</a></td>
1958 <td>User menu categories and items</td>
1959 </tr>
1960 <tr>
1961 <td><a href="user-notification-event/">userNotificationEvent</a></td>
1962 <td>Events of the user notification system</td>
1963 </tr>
1964 <tr>
1965 <td><a href="user-option/">userOption</a></td>
1966 <td>User settings</td>
1967 </tr>
1968 <tr>
1969 <td><a href="user-profile-menu/">userProfileMenu</a></td>
1970 <td>User profile tabs</td>
1971 </tr>
1972 </tbody>
1973 </table>
1974
1975
1976
1977
1978
1979
1980
1981 </article>
1982 </div>
1983 </div>
1984 </main>
1985
1986
1987 <footer class="md-footer">
1988
1989 <nav class="md-footer__inner md-grid" aria-label="Footer">
1990
1991 <a href="../package-xml/" class="md-footer__link md-footer__link--prev" rel="prev">
1992 <div class="md-footer__button md-icon">
1993 <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>
1994 </div>
1995 <div class="md-footer__title">
1996 <div class="md-ellipsis">
1997 <span class="md-footer__direction">
1998 Previous
1999 </span>
2000 package.xml
2001 </div>
2002 </div>
2003 </a>
2004
2005
2006 <a href="acl-option/" class="md-footer__link md-footer__link--next" rel="next">
2007 <div class="md-footer__title">
2008 <div class="md-ellipsis">
2009 <span class="md-footer__direction">
2010 Next
2011 </span>
2012 aclOption
2013 </div>
2014 </div>
2015 <div class="md-footer__button md-icon">
2016 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
2017 </div>
2018 </a>
2019
2020 </nav>
2021
2022 <div class="md-footer-meta md-typeset">
2023 <div class="md-footer-meta__inner md-grid">
2024 <div class="md-footer-copyright">
2025
2026 <div class="md-footer-copyright__highlight">
2027 Copyright © 2020 WoltLab GmbH
2028 </div>
2029
2030 Made with
2031 <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2032 Material for MkDocs
2033 </a>
2034
2035 </div>
2036 <div class="md-footer-copyright">
2037 <a href="https://www.woltlab.com/legal-notice/">Legal Notice</a>
2038 <a href="https://www.woltlab.com/privacy-policy/">Privacy Policy</a>
2039 </div>
2040 </div>
2041 </div>
2042 </footer>
2043
2044 </div>
2045 <div class="md-dialog" data-md-component="dialog">
2046 <div class="md-dialog__inner md-typeset"></div>
2047 </div>
2048 <script id="__config" type="application/json">{"base": "../..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing"}, "search": "../../assets/javascripts/workers/search.fb4a9340.min.js", "version": {"provider": "mike"}}</script>
2049
2050
2051 <script src="../../assets/javascripts/bundle.5cf3e710.min.js"></script>
2052
2053
2054 </body>
2055 </html>