caterpillar 1.2.5 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,643 @@
1
+ <!--
2
+ This is the DTD for the Portlet Application parameters that are specific to
3
+ Liferay Portal.
4
+
5
+ <!DOCTYPE liferay-portlet-app PUBLIC
6
+ "-//Liferay//DTD Portlet Application 5.2.0//EN"
7
+ "http://www.liferay.com/dtd/liferay-portlet-app_5_2_0.dtd">
8
+ -->
9
+
10
+ <!--
11
+ The liferay-portlet-app element is the root of the deployment descriptor for
12
+ a Liferay portlet application.
13
+ -->
14
+ <!ELEMENT liferay-portlet-app (portlet*, role-mapper*, custom-user-attribute*)>
15
+
16
+ <!--
17
+ The portlet element contains the declarative data of a portlet.
18
+ -->
19
+ <!ELEMENT portlet (portlet-name, icon?, virtual-path?, struts-path?,
20
+ configuration-path?, configuration-action-class?, indexer-class?,
21
+ open-search-class?, scheduler-class?, portlet-url-class?,
22
+ friendly-url-mapper-class?, url-encoder-class?, portlet-data-handler-class?,
23
+ portlet-layout-listener-class?, poller-processor-class?,
24
+ pop-message-listener-class?, social-activity-interpreter-class?,
25
+ social-request-interpreter-class?, webdav-storage-token?, webdav-storage-class?,
26
+ control-panel-entry-category?, control-panel-entry-weight?,
27
+ control-panel-entry-class?, preferences-company-wide?,
28
+ preferences-unique-per-layout?, preferences-owned-by-group?,
29
+ use-default-template?, show-portlet-access-denied?, show-portlet-inactive?,
30
+ action-url-redirect?, restore-current-view?, maximize-edit?, maximize-help?,
31
+ pop-up-print?, layout-cacheable?, instanceable?, scopeable?,
32
+ user-principal-strategy?, private-request-attributes?,
33
+ private-session-attributes?, render-weight?, ajaxable?, header-portal-css*,
34
+ header-portlet-css*, header-portal-javascript*, header-portlet-javascript*,
35
+ footer-portal-css*, footer-portlet-css*, footer-portal-javascript*,
36
+ footer-portlet-javascript*, css-class-wrapper?, facebook-integration?,
37
+ add-default-resource?, system?, active?, include?)>
38
+
39
+ <!--
40
+ The portlet-name element contains the unique name of the portlet. This name must
41
+ match the portlet-name specified in portlet.xml.
42
+ -->
43
+ <!ELEMENT portlet-name (#PCDATA)>
44
+
45
+ <!--
46
+ The icon element specifies an image that represents the portlet.
47
+ -->
48
+ <!ELEMENT icon (#PCDATA)>
49
+
50
+ <!--
51
+ The virtual-path value sets the virtual path used to override the default
52
+ servlet context path.
53
+
54
+ For example, suppose your portlet is deployed to the servlet path
55
+ "/test-portlet". By default, the portal will return "/test-portlet" for the
56
+ servlet context path. You can override it by setting virtual-path to "/virtual"
57
+ and have the portal return "/virtual" for the servlet context path.
58
+
59
+ The default value is "" which means this is not used.
60
+ -->
61
+ <!ELEMENT virtual-path (#PCDATA)>
62
+
63
+ <!--
64
+ Supppose the struts-path value is "mail". This tells the portal that all
65
+ requests with the path mail/* are considered part of this portlet's scope. Users
66
+ who request paths that match mail/* will only be granted access if they also
67
+ have access to this portlet. This is true for both portlet requests and regular
68
+ servlet requests.
69
+ -->
70
+ <!ELEMENT struts-path (#PCDATA)>
71
+
72
+ <!--
73
+ The configuration-path value is no longer available. Use
74
+ configuration-action-class instead.
75
+ -->
76
+ <!ELEMENT configuration-path (#PCDATA)>
77
+
78
+ <!--
79
+ The configuration-action-class value must be a class that implements
80
+ com.liferay.portal.kernel.portlet.ConfigurationAction and is called to allow
81
+ users to configure the portlet at runtime.
82
+
83
+ See:
84
+
85
+ http://docs.liferay.com/portal/5.2/javadocs/portal-impl/com/liferay/portlet/messageboards/action/ConfigurationActionImpl.html
86
+ -->
87
+ <!ELEMENT configuration-action-class (#PCDATA)>
88
+
89
+ <!--
90
+ The indexer-class value must be a class that implements
91
+ com.liferay.portal.kernel.search.Indexer and is called to create or update a
92
+ search index for the portlet.
93
+
94
+ See:
95
+
96
+ http://docs.liferay.com/portal/5.2/javadocs/portal-impl/com/liferay/portlet/messageboards/util/Indexer.html
97
+ http://docs.liferay.com/portal/5.2/javadocs/portal-kernel/com/liferay/portal/kernel/search/Indexer.html
98
+ http://lucene.apache.org
99
+ -->
100
+ <!ELEMENT indexer-class (#PCDATA)>
101
+
102
+ <!--
103
+ The open-search-class value must be a class that implements
104
+ com.liferay.portal.kernel.search.OpenSearch and is called to get search results
105
+ in the OpenSearch 1.1 standard.
106
+
107
+ See:
108
+
109
+ http://docs.liferay.com/portal/5.2/javadocs/portal-impl/com/liferay/portlet/alfrescocontent/util/OpenSearch.html
110
+ http://docs.liferay.com/portal/5.2/javadocs/portal-kernel/com/liferay/portal/kernel/search/OpenSearch.html
111
+ http://www.opensearch.org
112
+ -->
113
+ <!ELEMENT open-search-class (#PCDATA)>
114
+
115
+ <!--
116
+ The scheduler-class value must be a class that implements
117
+ com.liferay.portal.kernel.job.Scheduler and is called to schedule jobs for this
118
+ portlet.
119
+
120
+ See:
121
+
122
+ http://docs.liferay.com/portal/5.2/javadocs/portal-impl/com/liferay/portlet/calendar/job/CalendarScheduler.html
123
+ http://docs.liferay.com/portal/5.2/javadocs/portal-kernel/com/liferay/portal/kernel/job/Scheduler.html
124
+ http://www.opensymphony.com/quartz
125
+ -->
126
+ <!ELEMENT scheduler-class (#PCDATA)>
127
+
128
+ <!--
129
+ The portlet-url-class value must be a class that extends
130
+ com.liferay.portlet.PortletURLImplWrapper. Set this class to override the
131
+ default portlet URL implementation.
132
+
133
+ See:
134
+
135
+ http://docs.liferay.com/portal/5.2/javadocs/portal-impl/com/liferay/portal/struts/StrutsActionPortletURL.html
136
+ -->
137
+ <!ELEMENT portlet-url-class (#PCDATA)>
138
+
139
+ <!--
140
+ The friendly-url-mapper-class value must be a class that implements
141
+ com.liferay.portal.kernel.portlet.FriendlyURLMapper. Use this if content inside
142
+ a portlet needs to have a friendly URL. See the Message Boards portlet for an
143
+ example of its uses.
144
+
145
+ See:
146
+
147
+ http://docs.liferay.com/portal/5.2/javadocs/portal-impl/com/liferay/portlet/messageboards/MBFriendlyURLMapper.html
148
+ http://docs.liferay.com/portal/5.2/javadocs/portal-kernel/com/liferay/portal/kernel/portlet/FriendlyURLMapper.html
149
+ -->
150
+ <!ELEMENT friendly-url-mapper-class (#PCDATA)>
151
+
152
+ <!--
153
+ The url-encoder-class value must be a class that implements
154
+ com.liferay.portal.kernel.servlet.URLEncoder. Use this to set a custom
155
+ URLEncoder that is used by the RenderResponse class to implement the encodeURL
156
+ method. This is useful if you need to add custom logic to rewrite URLs.
157
+ -->
158
+ <!ELEMENT url-encoder-class (#PCDATA)>
159
+
160
+ <!--
161
+ The portlet-data-handler-class value must be a class that implements
162
+ com.liferay.portal.kernel.lar.PortletDataHandler and is called when archiving
163
+ tasks are run.
164
+
165
+ See:
166
+
167
+ http://docs.liferay.com/portal/5.2/javadocs/portal-impl/com/liferay/portlet/journal/lar/PortletDataHandlerImpl.html
168
+ http://docs.liferay.com/portal/5.2/javadocs/portal-kernel/com/liferay/portal/kernel/lar/PortletDataHandler.html
169
+ -->
170
+ <!ELEMENT portlet-data-handler-class (#PCDATA)>
171
+
172
+ <!--
173
+ The portlet-layout-listener-class value must be a class that implements
174
+ com.liferay.portal.kernel.portlet.PortletLayoutListener and is called when a portlet
175
+ is added, moved, or removed from a layout.
176
+
177
+ See:
178
+
179
+ http://docs.liferay.com/portal/5.2/javadocs/portal-impl/com/liferay/portlet/journalcontent/JournalContentPortletLayoutListener.html
180
+ http://docs.liferay.com/portal/5.2/javadocs/portal-kernel/com/liferay/portal/kernel/portlet/PortletLayoutListener.html
181
+ -->
182
+ <!ELEMENT portlet-layout-listener-class (#PCDATA)>
183
+
184
+ <!--
185
+ The poller-processor-class value must be a class that implements
186
+ com.liferay.portal.kernel.poller.PollerProcessor and is triggered by the
187
+ JavaScript class Liferay.Poller. It allows a portlet to use polling to be
188
+ notified of data changes. See the Chat portlet for a real world implementation.
189
+
190
+ See:
191
+
192
+ http://docs.liferay.com/portal/5.2/javadocs/portal-kernel/com/liferay/portal/kernel/poller/PollerProcessor.html
193
+ -->
194
+ <!ELEMENT poller-processor-class (#PCDATA)>
195
+
196
+ <!--
197
+ The pop-message-listener-class value must be a class that implements
198
+ com.liferay.portal.kernel.pop.MessageListener and is called when processing
199
+ emails.
200
+
201
+ See:
202
+
203
+ http://docs.liferay.com/portal/5.2/javadocs/portal-impl/com/liferay/portlet/messageboards/pop/MessageListenerImpl.html
204
+ http://docs.liferay.com/portal/5.2/javadocs/portal-kernel/com/liferay/portal/kernel/pop/MessageListener.html
205
+ -->
206
+ <!ELEMENT pop-message-listener-class (#PCDATA)>
207
+
208
+ <!--
209
+ The social-activity-interpreter-class value must be a class that implements
210
+ com.liferay.portlet.social.model.SocialActivityInterpreter and is called to
211
+ interpret activities into friendly messages that are easily understandable by a
212
+ human being.
213
+
214
+ See:
215
+
216
+ http://docs.liferay.com/portal/5.2/javadocs/portal-impl/com/liferay/portlet/messageboards/social/MBActivityInterpreter.html
217
+ http://docs.liferay.com/portal/5.2/javadocs/portal-service/com/liferay/portlet/social/model/SocialActivityInterpreter.html
218
+ -->
219
+ <!ELEMENT social-activity-interpreter-class (#PCDATA)>
220
+
221
+ <!--
222
+ The social-request-interpreter-class value must be a class that implements
223
+ com.liferay.portlet.social.model.SocialRequestInterpreter and is called to
224
+ interpret requests into friendly messages that are easily understandable by a
225
+ human being.
226
+
227
+ See:
228
+
229
+ http://docs.liferay.com/portal/5.2/javadocs/portal-service/com/liferay/portlet/social/model/SocialRequestInterpreter.html
230
+ -->
231
+ <!ELEMENT social-request-interpreter-class (#PCDATA)>
232
+
233
+ <!--
234
+ The webdav-storage-token value is the WebDAV directory name for data managed by
235
+ this portlet.
236
+
237
+ See:
238
+
239
+ http://docs.liferay.com/portal/5.2/javadocs/portal-impl/com/liferay/portlet/documentlibrary/webdav/DLWebDAVStorageImpl.html
240
+ -->
241
+ <!ELEMENT webdav-storage-token (#PCDATA)>
242
+
243
+ <!--
244
+ The webdav-storage-class value must be a class that implements
245
+ com.liferay.portal.webdav.WebDAVStorage and allows data to be exposed via the
246
+ WebDAV protocol.
247
+
248
+ See:
249
+
250
+ http://docs.liferay.com/portal/5.2/javadocs/portal-impl/com/liferay/portlet/documentlibrary/webdav/DLWebDAVStorageImpl.html
251
+ -->
252
+ <!ELEMENT webdav-storage-class (#PCDATA)>
253
+
254
+ <!--
255
+ Set the control-panel-entry-category value to "my", "content", "portal" or
256
+ "server" to make this portlet available in the Control Panel under that
257
+ category.
258
+ -->
259
+ <!ELEMENT control-panel-entry-category (#PCDATA)>
260
+
261
+ <!--
262
+ Set the control-panel-entry-weight value to a double number to control the
263
+ position of the entry within its Control Panel category. Higher values mean
264
+ that the entry will appear lower in the Control Panel menu.
265
+ -->
266
+ <!ELEMENT control-panel-entry-weight (#PCDATA)>
267
+
268
+ <!--
269
+ The control-panel-entry-class value must be a class that implements
270
+ com.liferay.portlet.ControlPanelEntry and is called by the Control Panel to
271
+ decide whether the portlet should be shown to a specific user in a specific
272
+ context. The default value is set in portal.properties.
273
+
274
+ See:
275
+
276
+ http://docs.liferay.com/portal/5.2/javadocs/portal-service/com/liferay/portlet/ControlPanelEntry.html
277
+ -->
278
+ <!ELEMENT control-panel-entry-class (#PCDATA)>
279
+
280
+ <!--
281
+ Set the preferences-company-wide value to true if the preferences for the
282
+ portlet are across the entire company. Setting this value to true means
283
+ the value for preferences-unique-per-layout and preferences-owned-by-group are
284
+ not used. The default value is false.
285
+
286
+ For example, an administrator could set the preferences to an Announcements
287
+ portlet that would save a message in the portlet's preferences. This message
288
+ would then be used across all pages for that company. The portlet must not be
289
+ instanceable because instanceable portlets have uniquely generated portlet ids.
290
+
291
+ The default behavior of the bundled Announcements portlet sets the instanceable
292
+ value to true so that normal users cannot create company wide messages. A future
293
+ release would include permissions for the edit mode versus the view mode which
294
+ would allow an administrator to set the message while users would just view the
295
+ message.
296
+ -->
297
+ <!ELEMENT preferences-company-wide (#PCDATA)>
298
+
299
+ <!--
300
+ Set the preferences-unique-per-layout value to true if the preferences for the
301
+ portlet are unique across all pages. If set to false, the preferences for the
302
+ portlet are shared across all pages. The default value is true.
303
+
304
+ The preferences-unique-per-layout element is used in combination with the
305
+ preferences-owned-by-group element. See the comments for the
306
+ preferences-owned-by-group element for more information.
307
+ -->
308
+ <!ELEMENT preferences-unique-per-layout (#PCDATA)>
309
+
310
+ <!--
311
+ Set the preferences-owned-by-group value to true if the preferences for the
312
+ portlet are owned by the group when the portlet is shown in a group page. If
313
+ set to false, the preferences are owned by the user at all times. The default
314
+ value is true.
315
+
316
+ Suppose the Stocks portlet has preferences-unique-per-layout set to true and
317
+ preferences-owned-by-group set to false. Users can set a different list of
318
+ stocks for every personal page. Users can set a different list of stocks for
319
+ every community page.
320
+
321
+ Suppose the Stocks portlet has preferences-unique-per-layout set to false and
322
+ preferences-owned-by-group set to false. Users can set one list of stocks to be
323
+ shared across all personal pages. Users can set one list of stocks to be shared
324
+ across a community's set of pages.
325
+
326
+ Suppose the Stocks portlet has preferences-unique-per-layout set to true and
327
+ preferences-owned-by-group set to true. Users can set a different list of stocks
328
+ for every personal page. Administrators set the portlet preferences for users in
329
+ a community page. Administrators can set a different list of stocks for every
330
+ community page that are then shared by all users within a community.
331
+
332
+ Suppose the Stocks portlet has preferences-unique-per-layout set to false and
333
+ preferences-owned-by-group set to true. Users can set one list of stocks to be
334
+ shared across all personal pages. Administrators set the portlet preferences for
335
+ users in a community page. Administrators can set one list of stocks to be
336
+ shared by all users across a community's set of pages.
337
+ -->
338
+ <!ELEMENT preferences-owned-by-group (#PCDATA)>
339
+
340
+ <!--
341
+ Set the use-default-template value to true if the portlet uses the default
342
+ template to decorate and wrap content. Setting this to false allows the
343
+ developer to own and maintain the portlet's entire outputted content. The
344
+ default value is true.
345
+
346
+ The most common use of this is if you want the portlet to look different from
347
+ the other portlets or if you want the portlet to not have borders around the
348
+ outputted content.
349
+ -->
350
+ <!ELEMENT use-default-template (#PCDATA)>
351
+
352
+ <!--
353
+ Set the show-portlet-access-denied value to true if users are shown the portlet
354
+ with an access denied message if they do not have access to the portlet. If set
355
+ to false, users are never shown the portlet if they do not have access to the
356
+ portlet. The default value is set in portal.properties.
357
+
358
+ See:
359
+
360
+ http://www.liferay.com/page/guest/documentation/development/properties
361
+ -->
362
+ <!ELEMENT show-portlet-access-denied (#PCDATA)>
363
+
364
+ <!--
365
+ Set the show-portlet-inactive value to true if users are shown the portlet
366
+ with an inactive message if the portlet is inactive. If set to false, users are
367
+ never shown the portlet if the portlet is inactive. The default value is set in
368
+ portal.properties.
369
+
370
+ http://www.liferay.com/page/guest/documentation/development/properties
371
+ -->
372
+ <!ELEMENT show-portlet-inactive (#PCDATA)>
373
+
374
+ <!--
375
+ Set the action-url-redirect value to true if an action URL for this portlet
376
+ should cause an auto redirect. This helps prevent double submits. The default
377
+ value is false.
378
+ -->
379
+ <!ELEMENT action-url-redirect (#PCDATA)>
380
+
381
+ <!--
382
+ Set the restore-current-view value to true if the portlet restores to the
383
+ current view when toggling between maximized and normal states. If set to false,
384
+ the portlet will reset the current view when toggling between maximized and
385
+ normal states. The default value is true.
386
+ -->
387
+ <!ELEMENT restore-current-view (#PCDATA)>
388
+
389
+ <!--
390
+ Set the maximize-edit value to true if the portlet goes into the maximized state
391
+ when the user goes into the edit mode. This only affects the default portal
392
+ icons and not what may be programmatically set by the portlet developer.
393
+ The default value is false.
394
+ -->
395
+ <!ELEMENT maximize-edit (#PCDATA)>
396
+
397
+ <!--
398
+ Set the maximize-help value to true if the portlet goes into the maximized state
399
+ when the user goes into the help mode. This only affects the default portal
400
+ icons and not what may be programmatically set by the portlet developer.
401
+ The default value is false.
402
+ -->
403
+ <!ELEMENT maximize-help (#PCDATA)>
404
+
405
+ <!--
406
+ Set the pop-up-print value to true if the portlet goes into the pop up state
407
+ when the user goes into the print mode. This only affects the default portal
408
+ icons and not what may be programmatically set by the portlet developer.
409
+ The default value is true.
410
+ -->
411
+ <!ELEMENT pop-up-print (#PCDATA)>
412
+
413
+ <!--
414
+ Set the layout-cacheable flag to true if the data contained in this portlet can
415
+ will never change unless the layout or Journal portlet entry is changed.
416
+ -->
417
+ <!ELEMENT layout-cacheable (#PCDATA)>
418
+
419
+ <!--
420
+ Set the instanceable value to true if the portlet can appear multiple times on a
421
+ page. If set to false, the portlet can only appear once on a page. The default
422
+ value is false.
423
+ -->
424
+ <!ELEMENT instanceable (#PCDATA)>
425
+
426
+ <!--
427
+ If the scopeable is set to true, an administrator will be able to configure the
428
+ scope of the data of the portlet to either the current community (default),
429
+ the current layout, or the scope of any other layout of the community that
430
+ already exists. Portlets that want to support this must be programmed to obtain
431
+ the proper scope group id according to the configuration and scope their data
432
+ accordingly. The default is false.
433
+ -->
434
+ <!ELEMENT scopeable (#PCDATA)>
435
+
436
+ <!--
437
+ Set the user-principal-strategy value to either "userId" or "screenName".
438
+ Calling request.getRemoteUser() will normally return the user id. However, some
439
+ portlets may need the user principal returned to be screen name instead.
440
+ -->
441
+ <!ELEMENT user-principal-strategy (#PCDATA)>
442
+
443
+ <!--
444
+ Set the private-request-attributes value to true if the portlet does not share
445
+ request attributes with the portal or any other portlet. The default value is
446
+ true. The property "request.shared.attributes" in portal.properties specifies
447
+ which request attributes are shared even when the private-request-attributes
448
+ value is true.
449
+ -->
450
+ <!ELEMENT private-request-attributes (#PCDATA)>
451
+
452
+ <!--
453
+ Set the private-session-attributes value to true if the portlet does not share
454
+ session attributes with the portal. The default value is true. The property
455
+ "session.shared.attributes" in portal.properties specifies which session
456
+ attributes are shared even when the private-session-attributes value is true.
457
+ -->
458
+ <!ELEMENT private-session-attributes (#PCDATA)>
459
+
460
+ <!--
461
+ The default value of render-weight is 1. If set to a value less than 1, the
462
+ portlet is rendered in parallel. If set to a value of 1 or greater, then the
463
+ portlet is rendered serially. Portlets with a greater render weight have greater
464
+ priority and will be rendered before portlets with a lower render weight.
465
+
466
+ If the ajaxable value is set to false, then render-weight is always set to 1
467
+ if it is set to a value less than 1. This means ajaxable can override
468
+ render-weight if ajaxable is set to false.
469
+ -->
470
+ <!ELEMENT render-weight (#PCDATA)>
471
+
472
+ <!--
473
+ The default value of ajaxable is true. If set to false, then this portlet can
474
+ never be displayed via Ajax.
475
+ -->
476
+ <!ELEMENT ajaxable (#PCDATA)>
477
+
478
+ <!--
479
+ Set the path of CSS that will be referenced in the page's header relative to the
480
+ portal's context path.
481
+ -->
482
+ <!ELEMENT header-portal-css (#PCDATA)>
483
+
484
+ <!--
485
+ Set the path of CSS that will be referenced in the page's header relative to the
486
+ portlet's context path.
487
+ -->
488
+ <!ELEMENT header-portlet-css (#PCDATA)>
489
+
490
+ <!--
491
+ Set the path of JavaScript that will be referenced in the page's header relative
492
+ to the portal's context path.
493
+ -->
494
+ <!ELEMENT header-portal-javascript (#PCDATA)>
495
+
496
+ <!--
497
+ Set the path of JavaScript that will be referenced in the page's header relative
498
+ to the portlet's context path.
499
+ -->
500
+ <!ELEMENT header-portlet-javascript (#PCDATA)>
501
+
502
+ <!--
503
+ Set the path of CSS that will be referenced in the page's footer relative to the
504
+ portal's context path.
505
+ -->
506
+ <!ELEMENT footer-portal-css (#PCDATA)>
507
+
508
+ <!--
509
+ Set the path of CSS that will be referenced in the page's footer relative to the
510
+ portlet's context path.
511
+ -->
512
+ <!ELEMENT footer-portlet-css (#PCDATA)>
513
+
514
+ <!--
515
+ Set the path of JavaScript that will be referenced in the page's footer relative
516
+ to the portal's context path.
517
+ -->
518
+ <!ELEMENT footer-portal-javascript (#PCDATA)>
519
+
520
+ <!--
521
+ Set the path of JavaScript that will be referenced in the page's footer relative
522
+ to the portlet's context path.
523
+ -->
524
+ <!ELEMENT footer-portlet-javascript (#PCDATA)>
525
+
526
+ <!--
527
+ Set name of the CSS class that will be injected in the DIV that wraps this
528
+ portlet.
529
+ -->
530
+ <!ELEMENT css-class-wrapper (#PCDATA)>
531
+
532
+ <!--
533
+ Set the facebook-integration value to either "fbml" or "iframe". The default
534
+ value is "iframe" because IFrame integration will work without requiring any
535
+ changes to your code. See the Message Boards portlet for minor changes that were
536
+ made to make it FBML compliant. Note that the Liferay tag libraries already
537
+ output FBML automatically if a request is made by Facebook.
538
+ -->
539
+ <!ELEMENT facebook-integration (#PCDATA)>
540
+
541
+ <!--
542
+ If the add-default-resource value is set to false, and the portlet does not
543
+ belong to the page but has been dynamically added, then the user will see that
544
+ he does not have permissions to view the portlet. If the add-default-resource
545
+ value is set to true, the default portlet resources and permissions are added to
546
+ the page. The user can then view the portlet. Most portlets are harmless and can
547
+ benefit from this flexibility. However, to prevent security loop holes, the
548
+ default value is false.
549
+
550
+ The properties "portlet.add.default.resource.check.enabled" and
551
+ "portlet.add.default.resource.check.whitelist" in portal.properties allow
552
+ security checks to be configured around this behavior.
553
+ -->
554
+ <!ELEMENT add-default-resource (#PCDATA)>
555
+
556
+ <!--
557
+ Set the system value to true if the portlet is a system portlet that a user
558
+ cannot manually add to their page. The default value is false.
559
+ -->
560
+ <!ELEMENT system (#PCDATA)>
561
+
562
+ <!--
563
+ Set the active value to true if the portlet is active and available to users.
564
+ If set to false, the portlet will not be active or available to users. The
565
+ default value is true.
566
+
567
+ This value can be changed at runtime via the Admin portlet.
568
+ -->
569
+ <!ELEMENT active (#PCDATA)>
570
+
571
+ <!--
572
+ Set the include value to true to if the portlet is available to the portal. If
573
+ set to false, the portlet is not available to the portal. The default value is
574
+ true.
575
+
576
+ Portlets that are not included as part of the portal are never available to the
577
+ user to be made active or inactive. As far the user knows, the portlets do not
578
+ even exist in the system. This allows the Liferay developers to bundle a lot of
579
+ portlets in one core package, and yet allow custom deployments to turn on or off
580
+ individual portlets or sets of portlets. This follows the Siebel and Microsoft
581
+ model of bundling everything in one core package, but using XML configuration or
582
+ registry settings to turn on and off features or sets of features.
583
+
584
+ We do not recommend that custom deployers modify the core source by removing
585
+ specific portlets because this prevents an easy upgrade process in the future.
586
+ The best way to turn on and off portlets is to set the include element. The
587
+ advantage of this way of doing things is that it becomes very easy to deploy
588
+ Liferay. All features are available in one package. The disadvantage is that by
589
+ not utilizing all of the portlets, you are wasting disk space and may even take
590
+ a small but static memory footprint. However, we feel that the extra disk space
591
+ and memory usage is a cheap price to pay in order to provide an easy
592
+ installation and upgrade path.
593
+ -->
594
+ <!ELEMENT include (#PCDATA)>
595
+
596
+ <!--
597
+ The role-mapper contains two names specified by role-name and role-link. The
598
+ role-name value must be a role specified in portlet.xml. The role-link value
599
+ must be the name of a Liferay role that exists in the database. The role-mapper
600
+ element pairs up these two values to map roles from portlet.xml to roles in
601
+ the Liferay database.
602
+
603
+ This is needed because Liferay roles may contain spaces whereas roles in
604
+ portlet.xml cannot contain spaces. This also adds extra flexibility where the
605
+ portlet vendor does not need to have any knowledge about Liferay's roles.
606
+ -->
607
+ <!ELEMENT role-mapper (role-name, role-link)>
608
+
609
+ <!--
610
+ See the comments in role-mapper element.
611
+ -->
612
+ <!ELEMENT role-name (#PCDATA)>
613
+
614
+ <!--
615
+ See the comments in role-mapper element.
616
+ -->
617
+ <!ELEMENT role-link (#PCDATA)>
618
+
619
+ <!--
620
+ The custom-user-attribute contains a list of names that are retrieved using a
621
+ custom class that extends com.liferay.portlet.CustomUserAttributes.
622
+
623
+ Download the sample hot deployable portlet WAR named test.war. Look for the
624
+ class com.sample.strutsliferay.portlet.SampleUserAttributes to see how it
625
+ associates the custom user attribute "user.name.test" with the value
626
+ "Test Name". This class could be modified to read custom user attributes from
627
+ another datasource that may be a database, a LDAP server, or a web service.
628
+
629
+ See:
630
+
631
+ http://www.liferay.com/page/guest/documentation/development/hot_deploy
632
+ -->
633
+ <!ELEMENT custom-user-attribute (name+, custom-class)>
634
+
635
+ <!--
636
+ See the comments in custom-user-attribute element.
637
+ -->
638
+ <!ELEMENT name (#PCDATA)>
639
+
640
+ <!--
641
+ See the comments in custom-user-attribute element.
642
+ -->
643
+ <!ELEMENT custom-class (#PCDATA)>