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