root/trunk/projects/feeder/war/docs/header.jsp

Revision 2408 (checked in by bleibson, 4 years ago)

Initializes "feeder" app which is beginning life as a proper subset of the "webclient" app.

Line 
1 <%@ page contentType="text/xml;charset=UTF-8" language="java" %>
2 <%@ taglib uri='struts-bean' prefix='bean' %>
3 <%@ taglib uri='struts-logic' prefix='logic' %>
4 <%@ taglib uri='struts-genurl' prefix='genurl' %>
5 <%@ taglib uri='bedework' prefix='bw' %>
6 <%
7 try {
8 %>
9
10 <bedework>
11   <bean:define id="bwconfig" name="calForm" property="config" toScope="session" />
12
13   <now><%-- The actual date right "now" - this may not be the same as currentdate --%>
14     <bean:define id="fmtnow" name="calForm" property="today.formatted" />
15     <date><bean:write name="fmtnow" property="date"/></date><%--
16       Value: YYYYMMDD --%>
17     <longdate><bean:write name="fmtnow" property="longDateString"/></longdate><%--
18       Value (example): February 8, 2004 - long representation of the date --%>
19     <shortdate><bean:write name="fmtnow" property="dateString"/></shortdate><%--
20       Value (example): 2/8/04 - short representation of the date --%>
21     <time><bean:write name="fmtnow" property="timeString"/></time><%--
22       Value (example): 10:15 PM --%>
23     <twodigithour24><bean:write name="fmtnow" property="twoDigitHour24"/></twodigithour24>
24     <utc><bean:write name="calForm" property="today.utcDate" /></utc>
25     <bw:emitText name="calForm" property="defaultTzid" />
26   </now>
27   <bean:define id="ctView" name="calForm" property="curTimeView"/>
28   <currentdate><%-- The current user-selected date --%>
29     <date><bean:write name="ctView" property="curDayFmt.dateDigits"/></date><%--
30       Value: yyyymmdd - date value --%>
31     <longdate><bean:write name="ctView"
32                           property="curDayFmt.fullDateString"/></longdate><%--
33       Value (example): Wednesday, February 11, 2004 --%>
34     <shortdate><bean:write name="ctView" property="curDayFmt.shortDateString"/></shortdate><%--
35       Value (example): 2/8/04 - short representation of the date --%>
36     <monthname><bean:write name="ctView" property="curDayFmt.monthName"/></monthname><%--
37       Value (example): January - full month name --%>
38   </currentdate>
39   <firstday><%-- The first date appearing in the currently selected time period --%>
40     <date><bean:write name="ctView" property="firstDayFmt.dateDigits"/></date><%--
41       Value: yyyymmdd - date value --%>
42     <longdate><bean:write name="ctView"
43                           property="firstDayFmt.fullDateString"/></longdate><%--
44       Value (example): Wednesday, February 11, 2004 --%>
45     <shortdate><bean:write name="ctView" property="firstDayFmt.shortDateString"/></shortdate><%--
46       Value (example): 2/8/04 - short representation of the date --%>
47     <monthname><bean:write name="ctView" property="firstDayFmt.monthName"/></monthname><%--
48       Value (example): January - full month name --%>
49   </firstday>
50   <lastday><%-- The last date appearing in the currently selected time period --%>
51     <date><bean:write name="ctView" property="lastDayFmt.dateDigits"/></date><%--
52       Value: yyyymmdd - date value --%>
53     <longdate><bean:write name="ctView"
54                           property="lastDayFmt.fullDateString"/></longdate><%--
55       Value (example): Wednesday, February 11, 2004 --%>
56     <shortdate><bean:write name="ctView" property="lastDayFmt.shortDateString"/></shortdate><%--
57       Value (example): 2/8/04 - short representation of the date --%>
58     <monthname><bean:write name="ctView" property="lastDayFmt.monthName"/></monthname><%--
59       Value (example): January - full month name --%>
60   </lastday>
61   <previousdate><bean:write name="ctView" property="prevDate"/></previousdate><%--
62     Value: YYYYMMDD - The previous "firstdate" in the selected time period  --%>
63   <nextdate><bean:write name="ctView" property="nextDate"/></nextdate><%--
64     Value: YYYYMMDD - The next "firstdate" in the selected time period --%>
65   <periodname><bean:write name="ctView" property="periodName"/></periodname><%--
66     Values: Day, Week, Month, Year - The current time period name.   --%>
67   <multiday><bean:write name="ctView" property="multiDay"/></multiday><%--
68     Values: true, false - Flag if we are viewing multiple days --%>
69   <bw:emitText name="calForm" property="hour24" /><%--
70     Values: true, false - Flag if we are using 24 hour time --%>
71
72   <publicview><bean:write name="calForm" property="publicView" /></publicview><%--
73     Values: true, false - Flag if we are in the guest (public) view  --%>
74   <guest><bean:write name="calForm" property="guest" /></guest><%--
75     Value: true, false - Flag if we are a guest --%>
76   <logic:equal name="calForm" property="guest" value="false">
77     <userid><bean:write name="calForm" property="currentUser" /></userid><%--
78       Value: string - Userid of non-guest user --%>
79       <logic:iterate id="group" name="calForm" property="userVO.groups" >
80         <memberOf><bean:write name="group" property="principalRef" /></memberOf>
81       </logic:iterate>
82   </logic:equal>
83
84   <logic:iterate id="msg" name="calForm" property="msg.msgList">
85     <message>
86       <id><bean:write name="msg" property="msgId" /></id>
87       <logic:iterate id="param" name="msg" property="params" >
88         <param><bean:write name="param" /></param>
89       </logic:iterate>
90     </message>
91   </logic:iterate>
92
93   <logic:iterate id="errBean" name="calForm" property="err.msgList">
94     <error>
95       <id><bean:write name="errBean" property="msgId" /></id>
96       <logic:iterate id="param" name="errBean" property="params" >
97         <param><bean:write name="param" /></param>
98       </logic:iterate>
99     </error>
100   </logic:iterate>
101
102   <approot><bean:write name="calForm" property="presentationState.appRoot"/></approot><%--
103         Value: URI - the location of web resources used by the code to find the
104         XSLT files.  This element is defined prior to build in
105         ../../../../clones/democal.properties
106         as pubevents.app.root and personal.app.root. Note that references to
107         html web resources such as images are set in the xsl stylesheets. --%>
108   <urlprefix><bean:write name="calForm" property="urlPrefix"/></urlprefix><%--
109         Value: URI - this is prefix of the calendar application.
110         e.g. http://localhost:8080/cal
111         Use this value to prefix calls to the application actions in your XSLT.
112         e.g. <a href="{$urlPrefix}/eventView.do?guid=...">View Event</a> --%>
113   <urlpattern><genurl:rewrite action="DUMMYACTION.DO" /></urlpattern>
114
115   <%-- URLs of other Bedework web clients --%>
116   <personaluri><bean:write name="calForm" property="globalProperty(personalCalendarUri)"/></personaluri>
117   <publicuri><bean:write name="calForm" property="globalProperty(publicCalendarUri)"/></publicuri>
118   <adminuri><bean:write name="calForm" property="globalProperty(publicAdminUri)"/></adminuri>
119   <bean:define id="personalUri"><bean:write name="calForm" property="globalProperty(personalCalendarUri)"/></bean:define>
120
121   <urlPrefixes>
122     <%-- Use URL prefixes when writing hyperlinks; these use the "genurl"
123        struts tag to correctly build up application links within the
124        container. "b=de" in the query string of each prefix has no meaning to
125        the application and is not processed: it ensures that if we need to
126        append the query string, we can always begin with an ampersand. --%>
127
128     <%-- Public and personal client URLs --%>
129     <setup><bw:rewrite actionURL="true" action="setup.do?b=de"/></setup>
130
131     <main>
132       <initialise><genurl:rewrite forward="initialise"/></initialise>
133       <setSelection><bw:rewrite actionURL="true" page="/main/setSelection.do?b=de"/></setSelection>
134       <setViewPeriod><bw:rewrite actionURL="true" page="/main/setViewPeriod.do?b=de"/></setViewPeriod>
135       <listEvents><bw:rewrite actionURL="true" page="/main/listEvents.do?b=de"/></listEvents>
136       <showPage><bw:rewrite actionURL="true" page="/main/showPage.do?b=de"/></showPage>
137     </main>
138
139     <event>
140       <eventMore><genurl:rewrite forward="eventMore"/></eventMore>
141       <eventView><bw:rewrite actionURL="true" page="/event/eventView.do?b=de"/></eventView>
142       <addEventRef><bw:rewrite actionURL="true" page="/event/addEventRef.do?b=de"/></addEventRef>
143     </event>
144
145     <calendar>
146       <fetchPublicCalendars><bw:rewrite actionURL="true" page="/calendar/fetchPublicCalendars.do?b=de"/></fetchPublicCalendars>
147       <fetchCalendars><bw:rewrite actionURL="true" page="/calendar/fetchCalendars.do?b=de"/></fetchCalendars>
148       <fetchForExport><bw:rewrite actionURL="true" page="/calendar/fetchForExport.do?b=de"/></fetchForExport>
149     </calendar>
150
151     <search>
152       <search><bw:rewrite renderURL="true" page="/search/search.rdo?b=de"/></search>
153       <next><bw:rewrite actionURL="true" page="/search/next.do?b=de"/></next>
154     </search>
155
156     <misc>
157       <export><bw:rewrite resourceURL="true" page="/misc/export.gdo?b=de"/></export>
158     </misc>
159
160     <mail>
161       <mailEvent><bw:rewrite actionURL="true" page="/mail/mailEvent.do?b=de"/></mailEvent>
162     </mail>
163
164     <stats>
165       <stats><bw:rewrite actionURL="true" page="/stats/stats.do?b=de"/></stats>
166     </stats>
167
168     <%-- Begin Duke additions --%>
169     <groups>
170       <logic:iterate id="adminGroup" name="calForm" property="adminGroupsInfo" >
171         <group>
172           <eventOwner><bean:write name="adminGroup" property="ownerHref" /></eventOwner>
173           <name><bean:write name="adminGroup" property="account" /></name>
174           <description><bean:write name="adminGroup" property="description" /></description>
175           <logic:iterate id="ancestorGroup" name="adminGroup" property="groups" >
176             <memberof>
177               <name><bean:write name="ancestorGroup" property="account" /></name>
178             </memberof>
179           </logic:iterate>
180         </group>
181       </logic:iterate>
182     </groups>
183     <%-- End Duke additions --%>
184
185     <%-- The following URLs are used only in the personal client --%>
186     <%-- ======================================================= --%>
187     <logic:equal name="calForm" property="guest" value="false">
188       <event>
189         <initEvent><bw:rewrite actionURL="true" page="/event/initEvent.do?b=de"/></initEvent>
190         <addEvent><bw:rewrite actionURL="true" page="/event/addEvent.do?b=de"/></addEvent>
191         <attendeesForEvent><genurl:link page="/event/attendeesForEvent.do?b=de"/></attendeesForEvent>
192         <showAttendeesForEvent><genurl:link page="/event/showAttendeesForEvent.rdo?b=de"/></showAttendeesForEvent>
193         <initMeeting><bw:rewrite actionURL="true" page="/event/initMeeting.do?b=de"/></initMeeting>
194         <editEvent><bw:rewrite actionURL="true" page="/event/editEvent.do?b=de"/></editEvent>
195         <gotoEditEvent><bw:rewrite actionURL="true" page="/event/gotoEditEvent.do?b=de"/></gotoEditEvent>
196         <updateEvent><bw:rewrite actionURL="true" page="/event/updateEvent.do?b=de"/></updateEvent>
197         <delEvent><bw:rewrite actionURL="true" page="/event/delEvent.do?b=de"/></delEvent>
198         <delInboxEvent><bw:rewrite actionURL="true" page="/event/delInboxEvent.do?b=de"/></delInboxEvent>
199         <showAccess><genurl:link page="/event/showAccess.rdo?b=de"/></showAccess>
200         <addEventRefComplete><genurl:link page="/event/addEventRefComplete.do?b=de"/></addEventRefComplete>
201         <selectCalForEvent><genurl:link page="/event/selectCalForEvent.gdo?b=de"/></selectCalForEvent>
202       </event>
203
204       <schedule>
205         <showInbox><genurl:link page="/schedule/showInbox.rdo?b=de"/></showInbox>
206         <showOutbox><genurl:link page="/schedule/showOutbox.rdo?b=de"/></showOutbox>
207         <initAttendeeRespond><genurl:link page="/schedule/initAttendeeRespond.do?b=de"/></initAttendeeRespond>
208         <attendeeRespond><genurl:link page="/schedule/attendeeRespond.do?b=de"/></attendeeRespond>
209         <initAttendeeReply><genurl:link page="/schedule/initAttendeeReply.do?b=de"/></initAttendeeReply>
210         <initAttendeeUpdate><genurl:link page="/schedule/initAttendeeUpdate.do?b=de"/></initAttendeeUpdate>
211         <processAttendeeReply><genurl:link page="/schedule/processAttendeeReply.do?b=de"/></processAttendeeReply>
212         <processRefresh><genurl:link page="/schedule/processRefresh.do?b=de"/></processRefresh>
213         <refresh><genurl:link page="/schedule/refresh.do?b=de"/></refresh>
214       </schedule>
215
216       <freeBusy>
217         <fetch><genurl:link page="/freeBusy/getFreeBusy.do?b=de"/></fetch>
218       </freeBusy>
219
220       <calendar>
221         <fetch><genurl:link page="/calendar/showUpdateList.rdo?b=de"/></fetch>
222         <fetchDescriptions><genurl:link page="/calendar/showDescriptionList.rdo?b=de"/></fetchDescriptions>
223         <initAdd><genurl:link page="/calendar/initAdd.do?b=de"/></initAdd>
224         <delete><genurl:link page="/calendar/delete.do?b=de"/></delete>
225         <fetchForDisplay><genurl:link page="/calendar/fetchForDisplay.do?b=de"/></fetchForDisplay>
226         <fetchForUpdate><genurl:link page="/calendar/fetchForUpdate.do?b=de"/></fetchForUpdate>
227         <update><genurl:link page="/calendar/update.do?b=de"/></update>
228         <listForExport><genurl:link page="/calendar/listForExport.rdo?b=de"/></listForExport>
229         <setPropsInGrid><bw:rewrite actionURL="true" page="/calendar/setPropsInGrid.do?b=de"/></setPropsInGrid>
230         <setPropsInList><bw:rewrite actionURL="true" page="/calendar/setPropsInList.do?b=de"/></setPropsInList>
231       </calendar>
232
233       <category>
234         <initAdd><genurl:link page="/category/initAdd.do?b=de"/></initAdd>
235         <initUpdate><genurl:link page="/category/initUpdate.do?b=de"/></initUpdate>
236         <fetchForUpdate><genurl:link page="/category/fetchForUpdate.do?b=de"/></fetchForUpdate>
237         <update><genurl:link page="/category/update.do?b=de"/></update>
238         <delete><genurl:link page="/category/delete.do?b=de"/></delete>
239       </category>
240
241       <location>
242         <initAdd><genurl:link page="/location/initAdd.do?b=de"/></initAdd>
243         <initUpdate><genurl:link page="/location/initUpdate.do?b=de"/></initUpdate>
244         <fetchForUpdate><genurl:link page="/location/fetchForUpdate.do?b=de"/></fetchForUpdate>
245         <update><genurl:link page="/location/update.do?b=de"/></update>
246         <delete><genurl:link page="/location/delete.do?b=de"/></delete>
247       </location>
248
249       <prefs>
250         <fetchForUpdate><genurl:link page="/prefs/fetchForUpdate.do?b=de"/></fetchForUpdate>
251         <update><genurl:link page="/prefs/update.do?b=de"/></update>
252         <fetchSchedulingForUpdate><genurl:link page="/prefs/fetchSchedulingForUpdate.do?b=de"/></fetchSchedulingForUpdate>
253         <updateSchedulingPrefs><genurl:link page="/prefs/updateSchedulingPrefs.do?b=de"/></updateSchedulingPrefs>
254       </prefs>
255
256       <misc>
257         <upload><genurl:link page="/misc/upload.do?b=de"/></upload>
258         <initUpload><genurl:link page="/misc/initUpload.rdo?b=de"/></initUpload>
259       </misc>
260
261       <alarm>
262         <initEventAlarm><bw:rewrite actionURL="true" page="/alarm/initEventAlarm.do?b=de"/></initEventAlarm>
263         <setAlarm><bw:rewrite actionURL="true" page="/alarm/setAlarm.do?b=de"/></setAlarm>
264       </alarm>
265
266     </logic:equal>
267   </urlPrefixes>
268
269   <confirmationid><bean:write name="calForm" property="confirmationId"/></confirmationid><%--
270         Value: String - a 16 character random string used to allow users to confirm
271         additions to thier private calendar.  DEPRECATED. --%>
272
273   <logic:iterate id="appvar" name="calForm" property="appVars">
274     <appvar><%--
275         Application variables can be set arbitrarily by the stylesheet designer.
276         Use an "appvar" by adding setappvar=key(value) to the query string of
277         a URL.  This feature is useful for setting up state during a user's session.
278         e.g. <a href="{$urlPrefix}/eventView.do?guid=...&setappvar=currentTab(event)">View Event</a>
279         To change the value of an appvar, call the same key with a different value.
280         e.g. <a href="{$urlPrefix}/setup.do?setappvar=currentTab(home)">Return Home</a>
281         If appvars exist, they will be output in the following form:  --%>
282       <key><bean:write name="appvar" property="key" /></key>
283       <value><bean:write name="appvar" property="value" /></value>
284
285       <logic:equal name="appvar" property="key" value="summaryMode"><%--
286         This is a special use of the appvar feature.  Normally, we don't return
287         all details about events except when we display a single event (to keep the
288         XML lighter).  To return all event details in an events listing, append a
289         query string with setappvar=summaryMode(details).  Turn the detailed view
290         off with setappvar=summaryMode(summary).--%>
291         <logic:equal name="appvar" property="value" value="details">
292           <bean:define id="detailView" value="true" toScope="request"/><%--
293             Send this bean to the request scope so we can test for it on the page
294             that builds the calendar tree (main.jsp) --%>
295         </logic:equal>
296       </logic:equal>
297     </appvar>
298   </logic:iterate>
299
300   <%-- Inbox state
301   <inboxState>
302     <logic:present name="calForm" property="inBoxInfoRefreshed" >
303       <bean:define id="inBoxInfo" name="calForm" property="inBoxInfoRefreshed" />
304       <bw:emitText name="inBoxInfo" property="changed" />
305       <bw:emitText name="inBoxInfo" property="numActive" />
306       <bw:emitText name="inBoxInfo" property="numProcessed" />
307
308         <logic:present name="inBoxInfo" property="events" >
309           <messages>
310             <logic:iterate id="msg" name="inBoxInfo" property="events" >
311               <message>
312                 <bean:define id="inEv" name="msg" property="event" />
313                 <logic:equal name="inEv" property="scheduleState" value="1" >
314                   <logic:present name="inEv" property="xproperties" >
315                     <logic:iterate id="xprop" name="inEv" property="xproperties" >
316                       <logic:equal name="xprop" property="name"
317                                    value="X-BEDEWORK-SCHED-PATH">
318                         <bw:emitText name="xprop" property="value"
319                                      tagName="schedulingCollection" />
320                       </logic:equal>
321                       <logic:equal name="xprop" property="name"
322                                    value="X-BEDEWORK-SCHED-NEW">
323                         <new-meeting />
324                       </logic:equal>
325                       <logic:equal name="xprop" property="name"
326                                    value="X-BEDEWORK-SCHED-RESCHED">
327                         <rescheduled-meeting />
328                       </logic:equal>
329                     </logic:iterate>
330                   </logic:present>
331                   <logic:equal name="inEv" property="organizerSchedulingObject" value="true" >
332                     <organizerSchedulingObject />
333                   </logic:equal>
334                   <logic:equal name="inEv" property="attendeeSchedulingObject" value="true" >
335                     <attendeeSchedulingObject />
336                   </logic:equal>
337                 </logic:equal>
338               </message>
339             </logic:iterate>
340           </messages>
341         </logic:present>
342     </logic:present>
343   </inboxState>--%>
344
345   <%-- Outbox state
346   <outboxState>
347     <logic:present name="calForm" property="outBoxInfo" >
348       <bean:define id="outBoxInfo" name="calForm" property="outBoxInfo" />
349       <bw:emitText name="outBoxInfo" property="changed" />
350       <bw:emitText name="outBoxInfo" property="numActive" />
351       <bw:emitText name="outBoxInfo" property="numProcessed" />
352     </logic:present>
353   </outboxState>--%>
354
355   <schedulingMessages>
356     <logic:present name="calForm" property="inBoxInfoRefreshed" >
357       <bean:define id="boxInfoForMessages" name="calForm" property="inBoxInfoRefreshed" />
358       <%@include file="/docs/schedule/schedMessages.jsp"%>
359     </logic:present>
360   </schedulingMessages>
361
362   <selectionState><%--
363     What type of information have we selected to display?  Used to
364     branch between different templates in the xsl based on user selections. --%>
365     <selectionType><bean:write name="calForm" property="selectionType"/></selectionType><%--
366         Value: view,search,collections,filter
367         Used to branch into different presentation depending on the type of
368         output we expect --%>
369     <collection>
370       <logic:present name="calForm" property="clientState.currentCollection" >
371         <name><bean:write name="calForm" property="clientState.currentCollection.name"/></name>
372         <path><bean:write name="calForm" property="clientState.currentCollection.path"/></path>
373       </logic:present>
374       <logic:present name="calForm" property="clientState.virtualPath" >
375         <virtualpath><bean:write name="calForm" property="clientState.virtualPath"/></virtualpath>
376       </logic:present>
377     </collection>
378     <view>
379       <logic:present name="calForm" property="clientState.currentView" >
380         <name><bean:write name="calForm" property="clientState.currentView.name"/></name><%--
381           Value: string - Name of selected view for display --%>
382       </logic:present>
383     </view>
384     <filter></filter> <%-- unimplemented --%>
385   </selectionState>
386
387   <%-- List of views for menuing --%>
388   <views>
389     <logic:present name="calForm" property="views">
390       <logic:iterate id="view" name="calForm" property="views" >
391         <view>
392           <name><bean:write name="view" property="name"/></name>
393         </view>
394       </logic:iterate>
395     </logic:present>
396   </views>
397
398   <%-- List of categories for menuing --%>
399   <categories>
400     <logic:iterate id="category" name="calForm" property="categories">
401       <category>
402         <keyword><bean:write name="category" property="word.value"/></keyword>
403         <creator><bean:write name="category" property="creatorHref"/></creator>
404         <id><bean:write name="category" property="id" /></id>
405       </category>
406     </logic:iterate>
407   </categories>
408
409   <%-- List of filters for menuing --%>
410   <filters>
411     <logic:present name="calForm" property="filters">
412       <logic:iterate id="filter" name="calForm" property="filters" >
413         <filter>
414           <name><bean:write name="filter" property="name"/></name>
415         </filter>
416       </logic:iterate>
417     </logic:present>
418   </filters>
419
420   <%-- System parameters --%>
421   <syspars>
422     <logic:present name="calForm" property="dirInfo" >
423       <bean:define id="dir" name="calForm" property="dirInfo" />
424       <bw:emitText name="dir" property="userPrincipalRoot" />
425       <bw:emitText name="dir" property="groupPrincipalRoot" />
426       <bw:emitText name="dir" property="ticketPrincipalRoot" />
427       <bw:emitText name="dir" property="resourcePrincipalRoot" />
428       <bw:emitText name="dir" property="hostPrincipalRoot" />
429       <bw:emitText name="dir" property="venuePrincipalRoot" />
430     </logic:present>
431   </syspars>
432
433 <%-- ****************************************************************
434       the following code should not be produced in the public client
435      **************************************************************** --%>
436   <logic:equal name="calForm" property="guest" value="false">
437     <myCalendars>
438       <jsp:include page="/docs/calendar/emitCalendars.jsp"/>
439     </myCalendars>
440
441     <myPreferences>
442     </myPreferences>
443   </logic:equal>
444
445 <%
446 } catch (Throwable t) {
447   t.printStackTrace();
448 }
449 %>
450
Note: See TracBrowser for help on using the browser.