[Zope-CMF] view_source on dogbowl?

Steve Spicklemire steve@spvi.com
Tue, 31 Jul 2001 23:26:58 -0500


--Apple-Mail-357671760-1
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	format=flowed;
	charset=us-ascii

Hi Tres,

	Thanks for taking the time to do this! However, I'm getting 
"invalid export header". Is there anything special a person needs in 
their setup to import this?

thanks!
-steve

On Tuesday, July 31, 2001, at 10:12 PM, Tres Seaver wrote:

> Steve Spicklemire wrote:
>
>> Hi (D/Z)C folk,
>> How hard would it be to add 'view_source' to the dogbowl, like 
>> Zope.org? That might help newbies see how things are done...
>
> Hmm, I guess that might be helpful;  the problem is that most of
>
> the content is just that:  content, not code, so there is no "source"
> view available (except STX, of course:)  CMF doesn't use DTMLMethods /
> DTMLDocuments for content, as the main Zope site does (but not for 
> long!)
>
>
> The volume of "real" customizations to the CMF 1.1 skins is pretty
> small, so you could browse the CMFDefault/skins directories for
> most of it.  I'm attaching an export containing the current
> customizations:
>
>   - common.zexp has the contents of the "shared" customization
>     (shared across all skins)
>
> The 'localattr' ExternalMethod checks whether a folder has a
> given name "locally":
>
>   def localattr( self, name ):
>       """
>           Does self have 'name' w/o acquisition?
>       """
>       return hasattr( self.aq_base, name )
>
> Tres.
> -- ===============================================================
> Tres Seaver                                tseaver@zope.com
> Zope Corporation      "Zope Dealers"       http://www.zope.com
<Attachment missing>
--Apple-Mail-357671760-1
Content-Type: multipart/mixed;
	boundary=Apple-Mail-325392713-2


--Apple-Mail-325392713-2
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=us-ascii;
	format=flowed

Hi Tres,

	Thanks for taking the time to do this! However, I'm getting 
"invalid export header". Is there anything special a person needs in 
their setup to import this?

thanks!
-steve

On Tuesday, July 31, 2001, at 10:12 PM, Tres Seaver wrote:

> Steve Spicklemire wrote:
>
>> Hi (D/Z)C folk,
>> How hard would it be to add 'view_source' to the dogbowl, like 
>> Zope.org? That might help newbies see how things are done...
>
> Hmm, I guess that might be helpful;  the problem is that most of
>
> the content is just that:  content, not code, so there is no "source"
> view available (except STX, of course:)  CMF doesn't use DTMLMethods /
> DTMLDocuments for content, as the main Zope site does (but not for 
> long!)
>
>
> The volume of "real" customizations to the CMF 1.1 skins is pretty
> small, so you could browse the CMFDefault/skins directories for
> most of it.  I'm attaching an export containing the current
> customizations:
>
>   - common.zexp has the contents of the "shared" customization
>     (shared across all skins)
>
> The 'localattr' ExternalMethod checks whether a folder has a
> given name "locally":
>
>   def localattr( self, name ):
>       """
>           Does self have 'name' w/o acquisition?
>       """
>       return hasattr( self.aq_base, name )
>
> Tres.
> -- ===============================================================
> Tres Seaver                                tseaver@zope.com
> Zope Corporation      "Zope Dealers"       http://www.zope.com

--Apple-Mail-325392713-2
Content-Disposition: attachment;
	filename="common.zexp"
Content-Type: application/octet-stream;
	name="common.zexp";
	x-unix-mode=0666
Content-Transfer-Encoding: quoted-printable

ZEXP=00=00=00=00=00=02=FA=00=00=00=00=00=00=00=05c((U=1DProducts.CMFCore.P=
ortalFolderq=01U=0C=
PortalFolderq=02tq=03Nt.}q=04(U=14standard_html_headerq=05(U=08=00=00=00=00=
=00=03=AB=8Eq=06(U=0EOFS.DTMLMethodq=07U=0ADTMLMethodq=08ttQU=02idq=09=
U=06commonq=0AU=12__ac_local_roles__q=0B}q=0CU=07tseaverq=0D=
]q=0EU=05Ownerq=0FasU=0Alogin_formq=10(U=08=00=00=00=00=00=02=F5=FCq=11(h=07=
U=0ADTMLMethodq=12ttQU=08_objectsq=13(}q=14(U=09meta_typeq=15U=0FExternal=20=
Methodq=16h=09U=09localattrq=17u}q=18(h=15U=0BDTML=20Methodq=19h=09=
U=10standard_top_barq=1Au}q=1B(h=15h=19h=09U=0Alogin_formq=1Cu}q=1D(h=15h=19=
h=09U=08news_boxq=1Eu}q=1F(h=15h=19h=09U=0Brecent_newsq=20u}q!(U=09=
meta_typeq"U=0FScript=20(Python)q#U=02idq$U=0Bbreadcrumbsq%u}q&(U=09=
meta_typeq'U=0BDTML=20Methodq(U=02idq)U=14standard_html_headerq*u}q+(U=09=
meta_typeq,U=0BDTML=20Methodq-U=02idq.U=0Aindex_htmlq/u}q0(U=09=
meta_typeq1U=0BDTML=20Methodq2U=02idq3U=06searchq4u}q5(U=09meta_typeq6U=0B=
DTML=20Methodq7U=02idq8U=06reviewq9u}q:(U=09meta_typeq;U=0FScript=20=
(Python)q<U=02idq=3DU=0CpublishItemsq>u}q?(U=09meta_typeq@U=0FScript=20=
(Python)qAU=02idqBU=0BrejectItemsqCu}qD(U=09meta_typeqEU=0BDTML=20=
MethodqFU=02idqGU=0Bsearch_formqHuthH(U=08=00=00=00=00=00=04=18=CDqI(h=07U=
=0ADTMLMethodqJttQh=1E(U=08=00=00=00=00=00=02=F5=FEqK(h=07U=0A=
DTMLMethodqLttQh=20(U=08=00=00=00=00=00=02=F5=FFqM(h=07U=0A=
DTMLMethodqNttQh>(U=08=00=00=00=00=00=04=14dqO(U#Products.PythonScripts.Py=
thonScriptqPU=0CPythonScriptqQttQU=0Aindex_htmlqR(U=08=00=00=00=00=00=03=F5=
=AFqS(h=07U=0ADTMLMethodqTttQhC(U=08=00=00=00=00=00=04=13=FEqU(hPU=0C=
PythonScriptqVttQh9(U=08=00=00=00=00=00=04=13=F3qW(h=07U=0A=
DTMLMethodqXttQh%(U=08=00=00=00=00=00=03=ABGqY(hPU=0C=
PythonScriptqZttQU=05titleq[U=00h=17(U=08=00=00=00=00=00=02=F5=FAq\(U&Prod=
ucts.ExternalMethod.ExternalMethodq]U=0EExternalMethodq^ttQU=06searchq_(U=08=
=00=00=00=00=00=03=F6zq`(h=07U=0ADTMLMethodqattQh=1A(U=08=00=00=00=00=00=02=
=F5=FBqb(h=07U=0ADTMLMethodqcttQu.=00=00=00=00=00=03=AB=8E=00=00=00=00=00=00=
=08=18((U=0EOFS.DTMLMethodq=01U=0A=
DTMLMethodq=02tq=03Nt.}q=04(U=12__ac_local_roles__q=05}q=06U=07tseaverq=07=
]q=08U=05Ownerq=09asU=08__name__q=0AU=14standard_html_headerq=0BU=05titleq=
=0CU=00U=07globalsq=0D}q=0EU=06_ownerq=0F(]q=10U=09=
acl_usersq=11ah=07tq=12U=03rawq=13T@=07=00=00<dtml-if=20=
"_.hasattr(this(),'isEffective')=20and=20not=20isEffective(=20ZopeTime()=20=
)">=0A<dtml-unless=20"portal_membership.checkPermission('Request=20=
review',this())=0A=20=20=20=20=20=20=20=20=20=20=20or=20=
portal_membership.checkPermission('Review=20portal=20content',this())">=0A=
<dtml-var=20"RESPONSE.unauthorized()">=0A</dtml-unless>=0A</dtml-if>=0A=
<html>=0A=20<head>=20=20=0A=20=20<title><dtml-with=20=
portal_properties>&dtml-title;</dtml-with=0A=20=20><dtml-if=20=
name=3D"Title">:=20&dtml-Title;</dtml-if></title>=0A=20=20<dtml-var=20=
css_inline_or_link>=0A=20=20<dtml-if=20relative_to_content>=0A=20=20=20=
<base=20href=3D"&dtml-absolute_url;"=20/>=0A=20=20</dtml-if>=0A=20=
</head>=0A<body>=0A<dtml-var=20standard_top_bar>=0A=0A<table=20=
width=3D"100%"=20border=3D"0"=20cellpadding=3D"0"=20cellspacing=3D"0">=0A=
=20=20<tr>=0A=20=20=20<!--=20Vertical=20whitespace=20-->=0A=20=20=20<td=20=
colspan=3D"4"><br=20/></td>=0A=20=20</tr>=0A=0A=20=20<tr=20valign=3D"top">=
=0A=20=20=20<td=20class=3D"SideBar"=20width=3D"15%"=20align=3D"left"=20=
valign=3D"top">=0A=20=20=20=20<dtml-comment>=20=20Menu=20is=20now=20in=20=
top=20bar.=0A=20=20=20=20<dtml-var=20menu>=20<br=20/>=0A=20=20=20=20=
</dtml-comment>=0A=20=20=20=20<dtml-var=20actions_box>=0A=20=20=20</td>=0A=
=0A=20=20=20<!--=20Horizontal=20whitespace=20-->=0A=20=20=20<td=20=
width=3D"1%">&nbsp;</td>=0A=0A=20=20=20<td=20class=3D"Desktop"=20=
colspan=3D"2"=20width=3D"84%"=20valign=3D"top">=0A=0A=20=20=20<dtml-if=20=
"not=20portal_membership.isAnonymousUser()=20and=0A=20=20=20=20=20=20=20=20=
=20=20=20=20=20not=20=
_.hasattr(portal_membership.getAuthenticatedMember(),=0A=20=20=20=20=20=20=
=20=20=20=20=20=20=20'getMemberId')">=0A=20=20=20<div=20=
class=3D"AuthWarning">=0A=20=20=20=20<table>=0A=20=20=20=20=20<tr=20=
class=3D"Host">=0A=20=20=20=20=20=20<td>=20Warning!=20</td>=0A=20=20=20=20=
=20<tr>=0A=20=20=20=20=20=20<td>=20You=20are=20presently=20logged=20in=20=
as=20a=20user=20from=20outside=0A=20=20=20=20=20=20=20=20=20=20=20this=20=
portal.=20=20Many=20parts=20of=20the=20portal=20will=20not=20work!=0A=20=20=
=20=20=20=20=20=20=20=20=20You=20may=20have=20to=20shut=20down=20and=20=
relaunch=20your=20browser=20to=0A=20=20=20=20=20=20=20=20=20=20=20log=20=
out,=20depending=20on=20how=20you=20originally=20logged=20in.=0A=20=20=20=
=20=20=20</td>=0A=20=20=20=20=20</tr>=0A=20=20=20=20</table>=0A=20=20=20=
</div>=0A=20=20=20</dtml-if>=0A=0A=20=20=20<dtml-if=20=
portal_status_message>=0A=20=20=20=20<p=20=
class=3D"DesktopStatusBar">&dtml-portal_status_message;</p>=0A=20=20=20=
</dtml-if>=0A=0A=20=20=20<dtml-if=20localHeader>=0A=20=20=20=20<dtml-var=20=
localHeader>=0A=20=20=20</dtml-if>=0A=0A=20=20=20<dtml-var=20=
breadcrumbs>q=14U=05_varsq=15}q=16u.=00=00=00=00=00=02=F5=FC=00=00=00=00=00=
=00=06=81((U=0EOFS.DTMLMethodq=01U=0A=
DTMLMethodq=02tq=03Nt.}q=04(U=05titleq=05U=00U=03rawq=06T=D7=05=00=00<dtml=
-var=20standard_html_header>=0A=0A<h1=20class=3D"DesktopTitle">=0A=20Log=20=
in=0A</h1>=0A=0A<form=20action=3D"&dtml.url-logged_in;"=20method=3D"post">=
=0A=0A<!--=20******=20Enable=20the=20automatic=20redirect=20*****=20-->=0A=
<dtml-if=20name=3D"came_from">=0A=20=20<input=20type=3D"hidden"=20=
name=3D"came_from"=20value=3D"&dtml-came_from;">=0A</dtml-if>=0A<!--=20=
******=20Enable=20the=20automatic=20redirect=20*****=20-->=0A=0A<table=20=
class=3D"FormLayout">=0A<tr>=0A=20=20<td=20align=3D"left"=20=
valign=3D"top">=0A=20=20<strong>Name</strong>=0A=20=20</td>=0A=20=20<td=20=
align=3D"left"=20valign=3D"top">=0A=20=20<input=20type=3D"TEXT"=20=
name=3D"__ac_name"=20size=3D"20"=0A=20=20=20value=3D"<dtml-var=20=
"REQUEST.get('__ac_name',=20'')">">=0A=20=20</td>=0A</tr>=0A<tr>=0A=20=20=
<td=20align=3D"left"=20valign=3D"top">=0A=20=20<strong>Password</strong>=0A=
=20=20</td>=0A=20=20<td=20align=3D"left"=20valign=3D"top">=0A=20=20=
<input=20type=3D"PASSWORD"=20name=3D"__ac_password"=20size=3D"20">=0A=20=20=
</td>=0A</tr>=0A=0A<tr=20valign=3D"top"=20align=3D"left">=0A<td></td>=0A=
<td><input=20type=3D"checkbox"=20name=3D"__ac_persistent"=20value=3D"1"=20=
checked>=0ARemember=20my=20name.=0A</td></tr>=0A=0A<tr>=0A=20=20<td=20=
align=3D"left"=20valign=3D"top">=0A=20=20</td>=0A=20=20<td=20=
align=3D"left"=20valign=3D"top">=0A=20=20<input=20type=3D"submit"=20=
name=3D"submit"=20value=3D"=20Login=20">=0A=20=20</td>=0A</tr>=0A=0A=
</table>=0A</form>=0A=0A<p><a=20href=3D"&dtml.url-mail_password_form;">I=20=
forgot=20my=20password!</a></p>=0A=0A<p>=0AHaving=20trouble=20logging=20=
in?=20Make=20sure=20to=20enable=20cookies=20in=20your=20web=20browser.=0A=
</p>=0A=0A<p>Don't=20forget=20to=20logout=20or=20exit=20your=20browser=20=
when=20you're=20done.=0A</p>=0A=0A<p>=0ASetting=20the=20'Remember=20my=20=
name'=20option=20will=20set=20a=20cookie=20with=20your=20username,=0Aso=20=
that=20when=20you=20next=20log=20in,=20your=20user=20name=20will=20=
already=20be=20filled=20in=20for=20you.=0A</p>=0A=0A<dtml-var=20=
standard_html_footer>=0Aq=07U=12__ac_local_roles__q=08}q=09U=04jensq=0A=
]q=0BU=05Ownerq=0CasU=07globalsq=0D}q=0EU=08__name__q=0FU=0A=
login_formq=10U=05_varsq=11}q=12u.=00=00=00=00=00=04=18=CD=00=00=00=00=00=00=
=0F@((U=0EOFS.DTMLMethodq=01U=0A=
DTMLMethodq=02tq=03Nt.}q=04(U=12__ac_local_roles__q=05}q=06U=04zopeq=07]q=08=
U=05Ownerq=09asU=08__name__q=0AU=0Bsearch_formq=0BU=05titleq=0C=
U=00U=07globalsq=0D}q=0EU=06_ownerq=0F(]q=10(U=03CMFq=11U=09=
acl_usersq=12eh=07tq=13U=03rawq=14Tl=0E=00=00Content-type:=20text/html=0A=
=0A<dtml-var=20standard_html_header>=0A=0A<div=20class=3D"Desktop">=0A=0A=
<h1>=20Search=20portal=20</h1>=0A=0A<form=20action=3D"search">=0A=0A=
<table=20class=3D"FormLayout">=0A=0A<dtml-if=20=
"portal_membership.checkPermission('Review=20portal=20content',=20=
this())">=0A=20<tr>=0A=20=20<th>=20Review=20Status=0A=20=20</th>=0A=20=20=
<td>=0A=20=20=20<select=20name=3D"review_state"=20size=3D"3"=20multiple>=0A=
=20=20=20=20<option>private</option>=0A=20=20=20=20=
<option>pending</option>=0A=20=20=20=20<option>published</option>=0A=20=20=
=20</select>=0A=20=20=20<dl=20class=3D"FieldHelp">=0A=20=20=20=20<dd>=20=
As=20a=20reviewer,=20you=20may=20search=20for=20items=20based=20on=20=
their=0A=20=20=20=20=20=20=20=20=20review=20state.=20=20If=20you=20wish=20=
to=20constrain=20results=20to=20items=0A=20=20=20=20=20=20=20=20=20in=20=
certain=20states,=20select=20them=20from=20this=20list.=0A=20=20=20=20=
</dd>=0A=20=20=20</dl>=0A=20=20</td>=0A=20</tr>=0A</dtml-if>=0A=20=0A=20=
<tr=20valign=3D"top">=0A=20=20<th>=20Full=20Text=0A=20=20</th>=0A=20=20=
<td>=0A=20=20=20=20<input=20name=3D"SearchableText"=20size=3D"40">=0A=20=20=
=20<dl=20class=3D"FieldHelp">=0A=20=20=20=20<dd>=20For=20a=20simple=20=
text=20search,=20enter=20your=20search=20term=0A=20=20=20=20=20=20=20=20=20=
here.=20=20Multiple=20words=20may=20be=20found=20by=20combining=0A=20=20=20=
=20=20=20=20=20=20them=20with=20<b>AND</b>=20and=20<b>OR</b>.=20=20This=20=
will=0A=20=20=20=20=20=20=20=20=20find=20text=20in=20items'=20contents,=20=
title=20and=0A=20=20=20=20=20=20=20=20=20description.=0A=20=20=20=20=
</dd>=0A=20=20=20</dl>=0A=20=20</td>=0A=20</tr>=0A=0A=20<tr>=0A=20=20=
<th>Title=0A=20=20</th>=0A=20=20<td>=0A=20=20=20<input=20name=3D"Title"=20=
size=3D"20">=0A=20=20</td>=0A=20</tr>=0A=0A=20<tr=20valign=3D"top">=0A=20=
=20<th>Subject</th>=0A=20=20<td>=0A=20=20=20<select=20=
name=3D"Subject:list"=20multiple=20size=3D"4">=0A=20=20=20=20<dtml-in=20=
expr=3D"portal_catalog.uniqueValuesFor(=20'Subject'=20)">=0A=20=20=20=20=20=
<option=20value=3D"&dtml-sequence-item;">=20&dtml-sequence-item;=20=
</option>=0A=20=20=20=20</dtml-in>=0A=20=20=20</select>=0A=20=20</td>=0A=20=
</tr>=0A=0A=20<tr>=0A=20=20<th>=20Description=0A=20=20</th>=0A=20=20<td>=0A=
=20=20=20<input=20name=3D"Description"=20size=3D"20">=0A=20=20=20<dl=20=
class=3D"FieldHelp">=0A=20=20=20=20<dd>=20You=20may=20also=20search=20=
the=20items'=20descriptions=20and=0A=20=20=20=20=20=20=20=20=20titles=20=
specifically.=20=20Multiple=20words=20may=20be=20found=0A=20=20=20=20=20=20=
=20=20=20by=20combining=20them=20with=20<b>AND</b>=20and=20<b>OR</b>.=0A=20=
=20=20=20</dd>=0A=20=20=20</dl>=0A=20=20</td>=0A=20</tr>=0A=0A=20<tr>=0A=20=
=20<th>=20Find=20new=20items=20since...=0A=20=20</th>=0A=20=20<td>=0A=20=20=
=20<select=20name=3D"created:date">=0A=20=20=20=20<dtml-if=20"not=20=
portal_membership.isAnonymousUser()">=0A=20=20=20=20<dtml-let=20=
member=3D"portal_membership.getAuthenticatedMember()"=0A=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20lastLogin=3D"member.last_login_time"=0A=20=20=20=20=
>=0A=20=20=20=20<option=20value=3D"&dtml-lastLogin;">=20=20=20=20=20Last=20=
login=20</option>=0A=20=20=20=20</dtml-let>=0A=20=20=20=20</dtml-if>=0A=20=
=20=20=20<dtml-let=20today=3D"ZopeTime().earliestTime()"=0A=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20yesterday=3D"(today-1).Date()"=0A=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20lastWeek=3D"(today-7).Date()"=0A=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20lastMth=3D"(today-31).Date()"=0A=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20ever=3D"'1970/01/01=2000:00:00=20GMT'"=0A=20=20=
=20=20>=0A=20=20=20=20<option=20value=3D"&dtml-yesterday;">=20=20=20=20=20=
Yesterday=20=20=20</option>=0A=20=20=20=20<option=20=
value=3D"&dtml-lastWeek;">=20=20=20=20=20=20Last=20week=20=20=20=
</option>=0A=20=20=20=20<option=20value=3D"&dtml-lastMth;">=20=20=20=20=20=
=20=20Last=20month=20=20</option>=0A=20=20=20=20<option=20=
value=3D"&dtml-ever;"=20selected>=20Ever=20=20=20=20=20=20=20=20=
</option>=0A=20=20=20=20</dtml-let>=0A=20=20=20</select>=0A=20=20=20=
<input=20type=3D"hidden"=20name=3D"created_usage"=20value=3D"range:min">=0A=
=20=20=20<dl=20class=3D"FieldHelp">=0A=20=20=20=20<dd>=20You=20may=20=
find=20only=20recent=20items=20by=20selecting=20a=20time-frame.=0A=20=20=20=
=20</dd>=0A=20=20=20</dl>=0A=20=20</td>=0A=20</tr>=0A=0A=20<tr>=0A=20=20=
<th>=20Item=20type=0A=20=20</th>=0A=20=20<td>=0A=20=20=20<select=20=
name=3D"Type:list"=20multiple=20size=3D"5">=0A=20=20=20=20<dtml-in=20=
expr=3D"portal_types.listContentTypes()">=0A=20=20=20=20=20=
<option><dtml-var=20sequence-item></option>=0A=20=20=20=20</dtml-in>=0A=20=
=20=20</select>=0A=0A=20=20=20<dl=20class=3D"FieldHelp">=0A=20=20=20=20=
<dd>=20You=20may=20limit=20your=20results=20to=20particular=20kinds=20of=0A=
=20=20=20=20=20=20=20=20=20items=20by=20selecting=20them=20above.=20=20=
To=20find=20all=20kinds=0A=20=20=20=20=20=20=20=20=20of=20items,=20do=20=
not=20select=20anything.=0A=20=20=20=20</dd>=0A=20=20=20</dl>=0A=20=20=
</td>=0A=20</tr>=0A=0A=20<tr>=0A=20=20<th>=20Creator=0A=20=20</th>=0A=20=20=
<td>=0A=20=20=20<input=20name=3D"Creator"=20size=3D"20">=0A=0A=20=20=20=
<dl=20class=3D"FieldHelp">=0A=20=20=20=20<dd>=20To=20find=20items=20by=20=
a=20particular=20user=20only,=20enter=0A=20=20=20=20=20=20=20=20=20their=20=
username=20above.=20=20Note=20that=20you=20must=20enter=0A=20=20=20=20=20=
=20=20=20=20their=20username=20<i>exactly</i>.=0A=20=20=20=20</dd>=0A=20=20=
=20</dl>=0A=20=20</td>=0A=20</tr>=0A=0A=20<tr>=0A=20=20<td><br></td>=0A=20=
=20<td>=0A=20=20=20=20<input=20type=3D"submit"=20value=3D"Search">=0A=20=20=
</td>=0A=20</tr>=0A</table>=0A</form>=0A=0A</div>=0A=0A<dtml-var=20=
standard_html_footer>=0A=0A=
q=15U=05_varsq=16}q=17u.=00=00=00=00=00=02=F5=FE=00=00=00=00=00=00=04=AC((=
U=0EOFS.DTMLMethodq=01U=0ADTMLMethodq=02tq=03Nt.}q=04(U=05titleq=05U=00U=03=
rawq=06T=01=04=00=00=20<table=20class=3D"NewsItems"=20cellspacing=3D"0"=20=
cellpadding=3D"0"=20border=3D"0"=20width=3D"100%">=0A=20=20<tr>=0A=20=20=20=
<td=20class=3D"NewsBorder"=20width=3D"1"=20rowspan=3D"15"=20=
bgcolor=3D"#6699CC">=0A=20=20=20=20<img=20src=3D"Images/spacer.gif"=20=
alt=3D"=20"=0A=20=20=20=20=20=20=20=20=20width=3D"1"=20height=3D"2"=20=
border=3D"0">=0A=20=20=20</td>=0A=20=20=20<td=20valign=3D"top"=20=
class=3D"NewsTitle"=20width=3D"100%">=0A=20=20=20=20=20<b>News</b>=0A=20=20=
=20</td>=0A=20=20</tr>=0A=0A=20=20<dtml-in=20=
"portal_catalog.searchResults(=20meta_type=3D'News=20Item'=0A=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20,=20sort_on=3D'created'=0A=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20,=20sort_order=3D'reverse'=0A=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20,=20review_state=3D'published'=0A=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20)"=20size=3D"10">=0A=20=20<tr=20=
class=3D"NewsItemRow">=0A=20=20=20<td=20valign=3D"top">=0A=20=20=20=20<a=20=
href=3D"<dtml-var=20"getURL()"=0A=20=20=20=20>">=20&dtml-Title;=20=
</a><br>=0A=20=20=20=20<dtml-var=20Date>=0A=20=20=20</td>=0A=20=20</tr>=0A=
=20=20<dtml-else>=0A=20=20<tr=20class=3D"NewsItemRow">=0A=20=20=20<td=20=
valign=3D"top">=0A=20=20=20=20=20No=20news=20is=20no=20news.=0A=20=20=20=
</td>=0A=20=20</tr>=0A=20=20</dtml-in>=0A=0A=20=20<tr=20=
class=3D"NewsItemRow">=0A=20=20=20<td>=0A=20=20=20=20=20<a=20=
href=3D"&dtml.url-recent_news;">More...</a>=0A=20=20=20</td>=0A=20=20=
</tr>=0A=0A=20</table>=0Aq=07U=12__ac_local_roles__q=08}q=09U=07tseaverq=0A=
]q=0BU=05Ownerq=0CasU=07globalsq=0D=
}q=0EU=08__name__q=0FU=08news_boxq=10U=05_varsq=11}q=12u.=00=00=00=00=00=02=
=F5=FF=00=00=00=00=00=00=06:((U=0EOFS.DTMLMethodq=01U=0A=
DTMLMethodq=02tq=03Nt.}q=04(U=05titleq=05U=00U=03rawq=06T=8D=05=00=00<dtml=
-var=20standard_html_header>=0A=0A<dtml-let=20=
newsitems=3D"portal_catalog.searchResults(meta_type=3D'News=20Item',=0A=20=
=20sort_on=3D'Date',=20sort_order=3D'reverse',=20=
review_state=3D'published')">=0A=0A<dtml-in=20newsitems=20size=3D"10"=20=
start=3D"batch_start"=20previous>=0A=20<p=20style=3D"Desktop">=0A=20<a=20=
href=3D"&dtml-URL;&dtml-sequence-query;batch_start=3D&dtml-previous-sequen=
ce-start-number;">=0A=20Next=20&dtml-previous-sequence-size;=20more=20=
recent=20articles=0A=20</a>=0A=20</p>=0A</dtml-in>=0A=0A<dtml-in=20=
newsitems=20size=3D"10"=20start=3D"batch_start">=0A=20<dtml-if=20=
sequence-start>=0A=20=20<table=20cellspacing=3D"0"=20border=3D"0"=20=
width=3D"90%">=0A=20</dtml-if>=0A=20<tr>=0A=20=20<td=20=
class=3D"NewsListing"=20align=3D"left"=20valign=3D"top">=0A=20=20=20<p=20=
class=3D"NewsHeadline"><a=20href=3D"<dtml-var=20"getURL()">">=0A=20=20=20=
=20&dtml-title;=0A=20=20=20</a><br><span=20class=3D"NewsByLine">By=20=
&dtml-Creator;</span>=0A=20=20=20</p>=0A=20=20</td>=0A=20=20<td=20=
class=3D"NewsListing"=20align=3D"right"=20valign=3D"top">=0A=20=20=20<p=20=
class=3D"NewsDateline">=0A=20=20=20=20<dtml-var=20Date>=0A=20=20=20</p>=0A=
=20=20</td>=0A=20</tr>=0A=20<tr>=0A=20=20<td=20colspan=3D"2">=0A=20=20=20=
<p=20class=3D"NewsLeadin">=0A=20=20=20=20&dtml-Description;=0A=20=20=20=
</p>=0A=20=20=20<p>&nbsp;</p>=0A=20=20</td>=0A=20</tr>=0A=20<dtml-if=20=
sequence-end>=0A=20=20</table>=0A=20</dtml-if>=0A<dtml-else>=0A=20<p=20=
class=3D"Desktop">=0A=20=20No=20news=20is=20good=20news!=0A=20</p>=0A=
</dtml-in>=0A=0A<dtml-in=20newsitems=20size=3D"10"=20start=3D"batch_start"=
=20next>=0A=20<p=20class=3D"Desktop">=0A=20<a=20=
href=3D"&dtml-URL;&dtml-sequence-query;batch_start=3D&dtml-next-sequence-s=
tart-number;">=0A=20Next=20&dtml-next-sequence-size;=20older=20articles=0A=
=20</a>=0A=20</p>=0A</dtml-in>=0A=0A</dtml-let>=0A=0A<dtml-var=20=
standard_html_footer>=0Aq=07U=12__ac_local_roles__q=08}q=09U=06andrewq=0A=
]q=0BU=05Ownerq=0CasU=07globalsq=0D}q=0EU=08__name__q=0FU=0B=
recent_newsq=10U=05_varsq=11}q=12u.=00=00=00=00=00=04=14d=00=00=00=00=00=00=
=06=20((U#Products.PythonScripts.PythonScriptq=01U=0C=
PythonScriptq=02tq=03Nt.}q=04(U=09=
func_codeq=05(cShared.DC.Scripts.Signature=0AFuncCode=0Aq=06oq=07}q=08(U=0B=
co_varnamesq=09(U=05itemsq=0AU=07commentq=0BU=07wf_toolq=0CU=04pathq=0D=
U=06objectq=0EU=0D$loop_watcherq=0FU=0B$read_guardq=10U=0C=
$write_guardq=11U=06$guardq=12tU=0Bco_argcountq=13K=02ubU=07_paramsq=14U=11=
items,=20comment=3D''q=15U=02idq=16U=0C=
publishItemsq=17U=12__ac_local_roles__q=18}q=19U=07tseaverq=1A]q=1BU=05Own=
erq=1CasU=02_tq=1D(h=17N(K=02K=09K=07K=03U=CEt=0C=00}=05=00|=05=00=83=00=00=
=01t=0D=
=00}=06=00t=0E=00}=07=00t=0F=00}=08=00=7F=01=00=7F=02=00|=06=00t=00=00=83=01=
=00i=01=00}=02=00=7F=03=00xQ=00|=00=00d=01=00=7F=03=00rD=00}=03=00=7F=04=00=
|=06=00t=00=00=83=01=00i=05=00|=03=00=83=01=00}=04=00=7F=05=00|=06=00|=02=00=
=83=01=00i=07=00|=04=00d=02=00d=03=00|=01=00=83=02=01=01|=05=00=83=00=00=01=
q@=00W=7F=07=00|=06=00|=06=00|=06=00t=00=00=83=01=00i=09=00=83=01=00d=04=00=
=19=83=01=00i=0A=00d=05=00|=06=00t=00=00=83=01=00i=0B=
=00=83=00=00d=06=00f=02=00=16=83=01=00=01d=00=00Sq=1E(NK=00U=07publishq=1F=
h=0BU=08RESPONSEq=20U=0C=
%s/review?%sq!U&portal_status_message=3DItems+published.q"tq#(U=07contextq=
$U=0Fportal_workflowq%h=0Ch=0Ah=0DU=12restrictedTraverseq&h=0EU=0B=
doActionForq'h=0BU=07REQUESTq(U=08redirectq)U=0A=
portal_urlq*h=0Fh=10h=11h=12tq+(h=0Ah=0Bh=0Ch=0Dh=0Eh=0Fh=10h=11h=12tq,U=0F=
Script=20(Python)q-h=17K=01U=0C=03=01=0C=01=0C=00=09=
=01=12=01=1D=02q.)t(U=00tq/}q0tq1U=05_bodyq2Ts=01=00=00wf_tool=20=3D=20=
context.portal_workflow=20#=20XXX=20getToolByName=0Afor=20path=20in=20=
items:=0A=20=20=20=20object=20=3D=20context.restrictedTraverse(=20path=20=
)=0A=20=20=20=20wf_tool.doActionFor(=20object,=20'publish',=20=
comment=3Dcomment=20)=0A=0Acontext.REQUEST[=20'RESPONSE'=20].redirect(=20=
'%s/review?%s'=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
%=20(=20context.portal_url()=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20,=20'portal_status_message=3DItems+published.'=0A=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20)=20)q3U=0B=
_bind_namesq4(cShared.DC.Scripts.Bindings=0ANameAssignments=0A=
q5oq6}q7U=06_asgnsq8}q9(U=0Ename_containerq:U=09containerq;U=0C=
name_subpathq<U=10traverse_subpathq=3DU=0Bname_m_selfq>U=06scriptq?U=0C=
name_contextq@U=07contextqAusbU=06_ownerqB(]qCU=09acl_usersqDah=1AtqEU=0C=
Python_magicqFU=04=99N=0D=0AqGU=0D=
func_defaultsqH(U=00tqIu.=00=00=00=00=00=03=F5=AF=00=00=00=00=00=00=08=98(=
(U=0EOFS.DTMLMethodq=01U=0A=
DTMLMethodq=02tq=03Nt.}q=04(U=12__ac_local_roles__q=05}q=06U=06jshellq=07]=
q=08U=05Ownerq=09asU=08__name__q=0AU=0Aindex_htmlq=0BU=05titleq=0C=
U=00U=07globalsq=0D}q=0EU=06_ownerq=0F(]q=10U=09=
acl_usersq=11aU=07tseaverq=12tq=13U=03rawq=14T=C2=07=00=00<dtml-var=20=
standard_html_header>=0A=0A<dtml-if=20"localattr(=20'local_html'=20)">=0A=
<!--=20localattr=20-->=0A<dtml-var=20local_html>=0A<dtml-else>=0A=0A=
<h2><dtml-var=20title_or_id></h2>=0A=0A<dtml-if=20Description>=0A=20=
<blockquote><dtml-var=20Description=20=
fmt=3D"structured-text"></blockquote>=0A</dtml-if=20Description>=0A=0A=
<dtml-let=20folder_url=3Dabsolute_url>=0A=0A<dtml-in=20=
expr=3D"objectValues(=20[=20'Document',=20'News=20Item',=20'Portal=20=
Image',=20'Portal=20File'=20]=20)"=0A=20=20=20=20=20=20=20=20=20=
skip_unauthorized>=0A<dtml-if=20sequence-start>=0A<h3>=20Documents,=20=
Images,=20and=20Files=20</h3>=0A=0A<ul>=0A</dtml-if>=0A=20<li>=20=0A=20=20=
<a=20href=3D"&dtml-absolute_url;"><img=20align=3D"middle"=20=
src=3D"&dtml-portal_url;/&dtml-getIcon;"=20alt=3D"&dtml-Type;"=20=
title=3D"&dtml-Type;"=20border=3D"0"></a>=0A=20=20<a=20=
href=3D"&dtml-absolute_url;">=20<dtml-var=20Title>=20</a>=0A=20<dtml-if=20=
name=3D"Description">=0A=20=20=20<blockquote><dtml-var=20Description=20=
fmt=3D"structured-text"></blockquote>=0A=20</dtml-if>=0A=20</li>=0A=
<dtml-if=20sequence-end>=0A</ul>=0A</dtml-if>=0A</dtml-in>=0A=0A<dtml-in=20=
expr=3D"objectValues(=20[=20'Link','Favorite'=20]=20)"=20=
skip_unauthorized>=0A<dtml-if=20sequence-start>=0A<h3>=20Links=20</h3>=0A=
=0A<ul>=0A</dtml-if>=0A=20<li>=20=0A=20=20<a=20=
href=3D"&dtml-absolute_url;"><img=20align=3D"middle"=20=
src=3D"&dtml-portal_url;/&dtml-getIcon;"=20alt=3D"&dtml-Type;"=20=
title=3D"&dtml-Type;"=20border=3D"0"></a>=0A=20=20<a=20=
href=3D"&dtml-getRemoteUrl;">=20&dtml-Title;=20</a>=0A=20=20<dtml-if=20=
name=3D"Description">=0A=20=20=20<blockquote><dtml-var=20Description=20=
fmt=3D"structured-text"></blockquote>=0A=20=20</dtml-if>=0A=20</li>=0A=
<dtml-if=20sequence-end>=0A</ul>=0A</dtml-if>=0A</dtml-in>=0A=0A<dtml-in=20=
expr=3D"objectValues(=20[=20'Folder',=20'Portal=20Folder'=20]=20)"=20=
skip_unauthorized>=0A<dtml-if=20sequence-start>=0A<h3>=20Folders=20</h3>=0A=
=0A<ul>=0A</dtml-if>=0A=20<li>=0A=20=20<a=20=
href=3D"&dtml-absolute_url;/"><img=20align=3D"middle"=20=
src=3D"&dtml-portal_url;/&dtml-getIcon;"=20alt=3D"&dtml-Type;"=20=
title=3D"&dtml-Type;"=20border=3D"0"></a>=0A=20=20<a=20=
href=3D"&dtml-absolute_url;/">=20<dtml-var=20Title>=20</a>=0A=20=20=
<dtml-if=20name=3D"Description">=0A=20=20=20<blockquote><dtml-var=20=
Description=20fmt=3D"structured-text"></blockquote>=0A=20=20</dtml-if>=0A=
=20</li>=0A<dtml-if=20sequence-end>=0A</ul>=0A</dtml-if>=0A</dtml-in>=0A=0A=
</dtml-let>=0A=0A</dtml-if>=0A=0A<dtml-var=20=
standard_html_footer>q=15U=05_varsq=16}q=17u.=00=00=00=00=00=04=13=FE=00=00=
=00=00=00=00=06t((U#Products.PythonScripts.PythonScriptq=01U=0C=
PythonScriptq=02tq=03Nt.}q=04(U=09=
func_codeq=05(cShared.DC.Scripts.Signature=0AFuncCode=0Aq=06oq=07}q=08(U=0B=
co_varnamesq=09(U=05itemsq=0AU=07commentq=0BU=07wf_toolq=0CU=04pathq=0D=
U=06objectq=0EU=0D$loop_watcherq=0FU=0B$read_guardq=10U=0C=
$write_guardq=11U=06$guardq=12tU=0Bco_argcountq=13K=02ubU=07_paramsq=14U=11=
items,=20comment=3D''q=15U=02idq=16U=0B=
rejectItemsq=17U=12__ac_local_roles__q=18}q=19U=07tseaverq=1A]q=1BU=05Owne=
rq=1CasU=02_tq=1D(h=17N(K=02K=09K=07K=03U=CEt=0C=00}=05=00|=05=00=83=00=00=
=01t=0D=
=00}=06=00t=0E=00}=07=00t=0F=00}=08=00=7F=01=00=7F=02=00|=06=00t=00=00=83=01=
=00i=01=00}=02=00=7F=03=00xQ=00|=00=00d=01=00=7F=03=00rD=00}=03=00=7F=04=00=
|=06=00t=00=00=83=01=00i=05=00|=03=00=83=01=00}=04=00=7F=05=00|=06=00|=02=00=
=83=01=00i=07=00|=04=00d=02=00d=03=00|=01=00=83=02=01=01|=05=00=83=00=00=01=
q@=00W=7F=07=00|=06=00|=06=00|=06=00t=00=00=83=01=00i=09=00=83=01=00d=04=00=
=19=83=01=00i=0A=00d=05=00|=06=00t=00=00=83=01=00i=0B=
=00=83=00=00d=06=00f=02=00=16=83=01=00=01d=00=00Sq=1E(NK=00U=06rejectq=1FU=
=07commentq=20U=08RESPONSEq!U=0C=
%s/review?%sq"U%portal_status_message=3DItems+rejected.q#tq$(U=07contextq%=
U=0Fportal_workflowq&U=07wf_toolq'U=05itemsq(U=04pathq)U=12restrictedTrave=
rseq*U=06objectq+U=0BdoActionForq,h=20U=07REQUESTq-U=08redirectq.U=0A=
portal_urlq/U=0D$loop_watcherq0U=0B$read_guardq1U=0C=
$write_guardq2U=06$guardq3tq4(h(h=20h'h)h+h0h1h2h3tq5U=0FScript=20=
(Python)q6h=17K=01U=0C=03=01=0C=01=0C=00=09=
=01=12=01=1D=02q7)t(U=00tq8}q9tq:U=05_bodyq;Tq=01=00=00wf_tool=20=3D=20=
context.portal_workflow=20#=20XXX=20getToolByName=0Afor=20path=20in=20=
items:=0A=20=20=20=20object=20=3D=20context.restrictedTraverse(=20path=20=
)=0A=20=20=20=20wf_tool.doActionFor(=20object,=20'reject',=20=
comment=3Dcomment=20)=0A=0Acontext.REQUEST[=20'RESPONSE'=20].redirect(=20=
'%s/review?%s'=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
%=20(=20context.portal_url()=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20,=20'portal_status_message=3DItems+rejected.'=0A=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20)=20)q<U=0B=
_bind_namesq=3D(cShared.DC.Scripts.Bindings=0ANameAssignments=0A=
q>oq?}q@U=06_asgnsqA}qB(U=0Ename_containerqCU=09containerqDU=0C=
name_subpathqEU=10traverse_subpathqFU=0Bname_m_selfqGU=06scriptqHU=0C=
name_contextqIU=07contextqJusbU=0Dfunc_defaultsqK(U=00tqLU=0C=
Python_magicqMU=04=99N=0D=0AqNU=06_ownerqO(]qPU=09=
acl_usersqQah=1AtqRu.=00=00=00=00=00=04=13=F3=00=00=00=00=00=00=09=
=99((U=0EOFS.DTMLMethodq=01U=0A=
DTMLMethodq=02tq=03Nt.}q=04(U=12__ac_local_roles__q=05}q=06U=07tseaverq=07=
]q=08U=05Ownerq=09asU=08__name__q=0AU=06reviewq=0BU=05titleq=0C=
U=00U=07globalsq=0D}q=0EU=06_ownerq=0F(]q=10U=09=
acl_usersq=11ah=07tq=12U=03rawq=13T=CF=08=00=00<dtml-var=20=
standard_html_header>=0A=0A<div=20class=3D"Desktop">=0A=0A<h1>=20Items=20=
pending=20review=20</h1>=0A=0A<dtml-let=20results=3D"portal_catalog(=20=
review_state=3D'pending'=20)">=0A=0A<p>Found=20<dtml-var=20=
expr=3D"_.len(results)"=20thousands_commas>=20=0Aitems<dtml-if=20=
name=3D"SearchableText">=20matching=20=
"&dtml-SearchableText;"</dtml-if>.</p>=0A=0A<dtml-in=20results=20=
size=3D"25"=20start=3D"batch_start">=0A=20<dtml-let=20objURL=3D"getURL()=20=
+=20'/view'"=0A=20=20=20=20=20=20=20=20=20=20=20=
objPath=3D"portal_catalog.getpath(=20data_record_id_=20)"=0A=20>=0A=0A=20=
<dtml-if=20sequence-start>=0A=0A<form=20action=3D"&dtml-portal_url;"=20=
method=3D"GET">=0A=0A<table=20class=3D"SearchResults">=0A=20<tr>=0A=20=20=
<td=20width=3D"16"><br></td>=0A=20=20<td=20width=3D"16"><br></td>=0A=20=20=
<th>=20Title=0A=20=20</th>=0A=20=20<th>=20Type=0A=20=20</th>=0A=20=20=
<th>=20Date=0A=20=20</th>=0A=20=20</tr>=0A=20</dtml-if>=0A=0A=20<tr>=0A=20=
=20<td>=0A=20=20=20<input=20type=3D"checkbox"=20name=3D"items:list"=0A=20=
=20=20=20=20=20=20=20=20=20value=3D"&dtml-objPath;">=0A=20=20</td>=0A=20=20=
<td>=0A=20=20=20<dtml-if=20getIcon>=0A=20=20=20<a=20=
href=3D"&dtml-objURL;"><img=0A=20=20=20=20=
src=3D"&dtml-portal_url;/&dtml-getIcon;"=20border=3D"0"=0A=20=20=20=20=
alt=3D"[&dtml.missing-Type;]"=0A=20=20=20=20=
title=3D"[&dtml.missing-Type;]"></a>=0A=20=20=20</dtml-if>=0A=20=20</td>=0A=
=20=20<td>=0A=20=20=20<a=20href=3D"&dtml-objURL;"><dtml-if=20=
name=3D"Title"><dtml-var=20name=3D"Title"=20size=3D"75"=20=
html_quote><dtml-else>(No=20title)</dtml-if></a>=0A=20=20</td>=0A=20=20=
<td>=0A=20=20=20=20&dtml.missing-Type;=0A=20=20</td>=0A=20=20<td>=0A=20=20=
=20&dtml-Date;=0A=20=20</td>=0A=20</tr>=0A=20<tr>=0A=20=20=
<td>&nbsp;</td>=0A=20=20<td=20colspan=3D"3"><em>=0A=20=20=20<dtml-if=20=
name=3D"Description"><dtml-var=20name=3D"Description"=0A=20=20=20=
missing=3D"(No=20description)"=20size=3D"100"=20html_quote>=0A=20=20=20=
<dtml-else>(No=20description)</dtml-if></em></td>=0A=20</tr>=0A=20=
<dtml-if=20sequence-end>=0A=20<tr>=0A=20=20<td><br></td>=0A=20=20=
<td><br></td>=0A=20=20<td>=0A=20=20=20<textarea=20name=3D"comment:text"=20=
rows=3D"3"=20cols=3D"65"></textarea>=0A=20=20=20<input=20type=3D"submit"=20=
name=3D"publishItems:method"=20value=3D"Publish">=0A=20=20=20<input=20=
type=3D"submit"=20name=3D"rejectItems:method"=20value=3D"Reject">=0A=20=20=
</td>=0A=20</tr>=0A=20=20=0A</table>=0A=0A</form>=0A=0A=20</dtml-if>=0A=20=
</dtml-let>=0A<dtml-else>=0A=20<p>=20There=20are=20no=20items=20matching=20=
your=20specified=20criteria.=20=20</p>=0A</dtml-in>=0A=0A<dtml-in=20=
results=20size=3D"25"=20start=3D"batch_start"=20next>=0A=20<dtml-let=20=
url=3DURL=0A=20=20=20=20=20=20=20=20=20=20=20sqry=3Dsequence-query=0A=20=20=
=20=20=20=20=20=20=20=20=20next=3Dnext-sequence-start-number=0A=20=20=20=20=
=20=20=20=20=20=20=20nextSize=3Dnext-sequence-size=0A=20=20=20=20=20=20=20=
=20=20=20=20nextURL=3D"'%s%sbatch_start=3D%s'=20%=20(url,sqry,next)"=0A=20=
>=0A=20=20<p>=20<a=20href=3D"&dtml-nextURL;">=20Next=20&dtml-nextSize;=20=
items=20</a>=20</p>=0A=20</dtml-let>=0A</dtml-in>=0A=0A</dtml-let>=0A=0A=
</div>=0A=0A<dtml-var=20standard_html_footer>=0A=
q=14U=05_varsq=15}q=16u.=00=00=00=00=00=03=ABG=00=00=00=00=00=00=08=B6((U#=
Products.PythonScripts.PythonScriptq=01U=0CPythonScriptq=02tq=03Nt.}q=04(U=
=09func_codeq=05(cShared.DC.Scripts.Signature=0AFuncCode=0Aq=06oq=07}q=08(=
U=0Bco_varnamesq=09(U=05splitq=0AU=04joinq=0BU=09url_quoteq=0CU=0A=
portal_urlq=0DU=04pathq=0EU=04Typeq=0FU=07patternq=10U=03urlq=11U=05stepsq=
=12U=0Bbreadcrumbsq=13U=04lastq=14U=04stepq=15U=0D$loop_watcherq=16U=0B=
$read_guardq=17U=0C$write_guardq=18U=06$guardq=19tq=1AU=0B=
co_argcountq=1BK=00ubU=07_paramsq=1CU=00U=02idq=1DU=0B=
breadcrumbsq=1EU=12__ac_local_roles__q=1F}q=20=
U=07tseaverq!]q"U=05Ownerq#asU=02_tq$(h=1EN(K=00K=10K=06K=03T=80=01=00=00t=
=14=00}=0C=00|=0C=00=83=00=00=01t=15=00}=0D=
=00t=16=00}=0E=00t=17=00}=0F=00=7F=01=00=7F=02=00k=00=00l=01=00l=02=00=01=7F=
=05=00k=03=00l=04=00=01=7F=06=00|=0D=00t=05=00=83=01=00i=06=00}=03=00=7F=08=
=00|=0D=00|=03=00=83=01=00i=07=00t=05=00=83=01=00}=04=00=7F=09=00|=04=00=0C=
o=0B=00=01=7F=0A=00d=01=00Sn=01=00=01=7F=0C=00t=09=00t=05=00d=02=00d=03=00=
=83=03=00}=05=00=7F=0D=00t=0B=
=00|=05=00=83=01=00o=10=00=01=7F=0E=00|=05=00=83=00=00}=05=00n=01=00=01=7F=
=11=00d=04=00}=06=00=7F=12=00|=03=00=83=00=00}=07=00=7F=13=00|=00=00|=04=00=
d=05=00=83=02=00}=08=00=7F=14=00g=00=00}=09=00=7F=15=00|=0D=
=00|=08=00=83=01=00i=10=00=83=00=00}=0A=00=7F=17=00xS=00|=08=00d=06=00=7F=17=
=00rF=00}=0B=00=7F=18=00d=07=00|=07=00|=02=00|=0B=00=83=01=00f=02=00=16}=07=
=00=7F=1A=00|=0D=00|=09=00=83=01=00i=13=00|=06=00|=07=00|=0B=00f=02=00=16=83=
=01=00=01|=0C=00=83=00=00=01q=FF=00W=7F=1B=00|=0D=00|=09=00=83=01=00i=13=00=
|=0A=00=83=01=00=01=7F=1D=00d=08=00|=05=00|=01=00|=09=
=00d=05=00=83=02=00f=02=00=16Sd=00=00Sq%(NU=00h=0FU=06Objectq&U#<a=20=
href=3D"%s/folder_contents">%s</a>q'U=01/K=00U=05%s/%sq(U=08%s=20at=20=
%sq)tq*(U=06stringq+h=0Ah=0BU=1FProducts.PythonScripts.standardq,h=0C=
U=07contextq-h=0D=
U=0EgetRelativeUrlq.h=0EU=07getattrq/h=0FU=08callableq0h=10h=11h=12h=13U=03=
popq1h=14h=15U=06appendq2h=16h=17h=18h=19tq3h=1AU=0FScript=20=
(Python)q4h=1EK=01U(=03=01=0D=03=0A=01=0C=02=12=01=0B=01=0B=02=15=01=10=01=
=10=03=09=01=0C=01=12=01=09=01=0F=02=0C=00=09=
=01=19=02=1E=01=10=02q5)tN}q6tq7U=05_bodyq8T=D1=02=00=00from=20string=20=
import=20split,join=0A#=20Might=20need=20a=20slight=20url=20quoting=20=
shuffle=20if=0A#=20getRelativeUrl=20starts=20url-quoting=20:-S=0Afrom=20=
Products.PythonScripts.standard=20import=20url_quote=0Aportal_url=20=3D=20=
context.portal_url=0A=0Apath=20=3D=20portal_url.getRelativeUrl(context)=0A=
if=20not=20path:=0A=20=20=20=20return=20''=0A=0AType=20=3D=20=
getattr(context,'Type','Object')=0Aif=20callable(Type):=0A=20=20=20=20=
Type=3DType()=0A=20=20=20=20=0A#=20Also=20assuming=20folderish=20=
content,=20fair=20enuff=20for=20now=20:-)=0Apattern=3D'<a=20=
href=3D"%s/folder_contents">%s</a>'=0Aurl=20=3D=20portal_url()=0Asteps=20=
=3D=20split(path,'/')=0Abreadcrumbs=20=3D=20[]=0Alast=20=3D=20=
steps.pop()=0A=0Afor=20step=20in=20steps:=0A=20=20=20=20url=20=3D=20=
'%s/%s'=20%=20(url,url_quote(step))=0A=20=20=20=20=0A=20=20=20=20=
breadcrumbs.append(pattern=20%=20(url,step))=0Abreadcrumbs.append(last)=0A=
=0Areturn=20'%s=20at=20%s'=20%=20(Type,join(breadcrumbs,'/'))q9U=0B=
_bind_namesq:(cShared.DC.Scripts.Bindings=0ANameAssignments=0A=
q;oq<}q=3DU=06_asgnsq>}q?(U=0Ename_containerq@U=09containerqAU=0C=
name_subpathqBU=10traverse_subpathqCU=0Bname_m_selfqDU=06scriptqEU=0C=
name_contextqFU=07contextqGusbU=05titleqHU3Returns=20linked=20=
breadcrumbs=20for=20the=20current=20locationqIU=06_ownerqJ(]qKU=09=
acl_usersqLah!tqMU=0CPython_magicqNU=04=99N=0D=0AqOU=0D=
func_defaultsqPNu.=00=00=00=00=00=02=F5=FA=00=00=00=00=00=00=01@((U&Produc=
ts.ExternalMethod.ExternalMethodq=01U=0EExternalMethodq=02tq=03Nt.}q=04(U=09=
func_codeq=05(cApp.Extensions=0AFuncCode=0Aq=06oq=07}q=08(U=0B=
co_varnamesq=09(U=04selfq=0AU=04nameq=0Btq=0CU=0Bco_argcountq=0D=
K=02ubU=02idq=0EU=09=
localattrq=0FU=12__ac_local_roles__q=10}q=11U=07tseaverq=12]q=13U=05Ownerq=
=14asU=05titleq=15U=00U=09_functionq=16U=09localattrq=17U=0D=
func_defaultsq=18NU=07_moduleq=19U=05utilsq=1Au.=00=00=00=00=00=03=F6z=00=00=
=00=00=00=00=07=7F((U=0EOFS.DTMLMethodq=01U=0A=
DTMLMethodq=02tq=03Nt.}q=04(U=12__ac_local_roles__q=05}q=06U=07tseaverq=07=
]q=08U=05Ownerq=09asU=08__name__q=0AU=06searchq=0BU=05titleq=0C=
U=00U=07globalsq=0D}q=0EU=06_ownerq=0F(]q=10U=09=
acl_usersq=11ah=07tq=12U=03rawq=13T=B5=06=00=00<dtml-var=20=
standard_html_header>=0A=0A<div=20class=3D"Desktop">=0A=0A<h1>=20Search=20=
Results=20</h1>=0A=0A<dtml-let=20results=3Dportal_catalog>=0A=0A<p>Found=20=
<dtml-var=20expr=3D"_.len(results)"=20thousands_commas>=20=0A=
items<dtml-if=20name=3D"SearchableText">=20matching=20=
"&dtml-SearchableText;"</dtml-if>.</p>=0A=0A<dtml-in=20results=20=
size=3D"25"=20start=3D"batch_start">=0A=20<dtml-let=20objURL=3D"getURL()=20=
+=20'/view'"=0A=20=20=20=20=20=20=20=20=20=20=20objIcon=3D"'%s/%s'=20%=20=
(=20portal_url(),=20icon=20)"=0A=20>=0A=0A=20<dtml-if=20sequence-start>=0A=
<table=20class=3D"SearchResults">=0A=20<tr>=0A=20=20<td=20=
width=3D"16"><br></td>=0A=20=20<th>=20Title=0A=20=20</th>=0A=20=20<th>=20=
Type=0A=20=20</th>=0A=20=20<th>=20Date=0A=20=20</th>=0A=20=20</tr>=0A=20=
</dtml-if>=0A=0A=20<tr>=0A=20=20<td>=0A=20=20=20<a=20=
href=3D"&dtml-objURL;"><img=20src=3D"&dtml-objIcon;"=20border=3D"0"=0A=20=
=20=20=20alt=3D"[&dtml.missing-Type;]"=0A=20=20=20=20=
title=3D"[&dtml.missing-Type;]"></a>=0A=20=20</td>=0A=20=20<td>=0A=20=20=20=
<a=20href=3D"&dtml-objURL;"><dtml-if=20name=3D"Title"><dtml-var=20=
name=3D"Title"=20size=3D"75"=20html_quote><dtml-else>(No=20=
title)</dtml-if></a>=0A=20=20</td>=0A=20=20<td>=0A=20=20=20=20=
&dtml.missing-Type;=0A=20=20</td>=0A=20=20<td>=0A=20=20=20&dtml-Date;=0A=20=
=20</td>=0A=20</tr>=0A=20<tr>=0A=20=20<td>&nbsp;</td>=0A=20=20<td=20=
colspan=3D"3"><em>=0A=20=20=20<dtml-if=20name=3D"Description"><dtml-var=20=
name=3D"Description"=0A=20=20=20missing=3D"(No=20description)"=20=
size=3D"100"=20html_quote>=0A=20=20=20<dtml-else>(No=20=
description)</dtml-if></em></td>=0A=20</tr>=0A=20<dtml-if=20=
sequence-end>=0A=20=20</table>=0A=20</dtml-if>=0A=20</dtml-let>=0A=
<dtml-else>=0A=20<p>=20There=20are=20no=20items=20matching=20your=20=
specified=20criteria.=20=20</p>=0A</dtml-in>=0A=0A<dtml-in=20results=20=
size=3D"25"=20start=3D"batch_start"=20next>=0A=20<dtml-let=20url=3DURL=0A=
=20=20=20=20=20=20=20=20=20=20=20sqry=3Dsequence-query=0A=20=20=20=20=20=20=
=20=20=20=20=20next=3Dnext-sequence-start-number=0A=20=20=20=20=20=20=20=20=
=20=20=20nextSize=3Dnext-sequence-size=0A=20=20=20=20=20=20=20=20=20=20=20=
nextURL=3D"'%s%sbatch_start=3D%s'=20%=20(url,sqry,next)"=0A=20>=0A=20=20=
<p>=20<a=20href=3D"&dtml-nextURL;">=20Next=20&dtml-nextSize;=20items=20=
</a>=20</p>=0A=20</dtml-let>=0A</dtml-in>=0A=0A</dtml-let>=0A=0A</div>=0A=
=0A<dtml-var=20standard_html_footer>=0A=
q=14U=05_varsq=15}q=16u.=00=00=00=00=00=02=F5=FB=00=00=00=00=00=00=07=B7((=
U=0EOFS.DTMLMethodq=01U=0A=
DTMLMethodq=02tq=03Nt.}q=04(U=05titleq=05U=00U=03rawq=06T=04=07=00=00<!--=20=
Top=20bar=20-->=0A<table=20width=3D"100%"=20border=3D"0"=20=
cellpadding=3D"0"=20cellspacing=3D"0">=0A=20<tr>=0A=20=20<td=20=
colspan=3D"3"=20witdth=3D"100%">=0A=0A=20=20=20<!--=20hack=20around=20=
netscape=204.x=20to=20ensure=20top=20table=20is=20solid=20black=20-->=0A=0A=
=20=20=20<table=20class=3D"Masthead"=20cellspacing=3D"0"=20=
cellpadding=3D"0"=20border=3D"0"=20width=3D"100%">=0A=0A=20=20=20=20<tr=20=
class=3D"Masthead">=0A=0A=20=20=20=20=20<td=20class=3D"PortalLogo"=20=
align=3D"left"=20valign=3D"top"=20width=3D"1%">=0A=20=20=20=20=20=20<a=20=
href=3D"&dtml-portal_url;"><img=20src=3D"Images/logo.png"=20alt=3D"Zope=20=
Logo"=20border=3D"0"=0A=20=20=20=20=20=20></a>=0A=20=20=20=20=20</td>=0A=0A=
=20=20=20=20=20<td=20class=3D"PortalTitle"=20width=3D"69%"=20=
align=3D"left"=20valign=3D"center">=0A=20=20=20=20=20=20<h1><dtml-with=20=
portal_properties>&dtml-title;</dtml-with=0A=20=20=20=20=20=20><dtml-if=20=
name=3D"Title">:=20&dtml-Title;</dtml-if></h1>=0A=20=20=20=20=20</td>=0A=0A=
=20=20=20=20=20<td=20align=3D"right"=20width=3D"30%"=20wrap=3D"no">=0A=20=
=20=20=20=20=20<form=20action=3D"&dtml-portal_url;/search">=0A=20=20=20=20=
=20=20=20<input=20name=3D"SearchableText"=20size=3D"16">=0A=20=20=20=20=20=
=20=20<input=20border=3D"0"=20type=3D"image"=20name=3D"go"=20=
src=3D"Images/go.gif">=20&nbsp;=0A=20=20=20=20=20=20</form>=0A=20=20=20=20=
=20</td>=0A=20=20=20=20</tr>=0A=0A=20=20=20=20<tr=20class=3D"NavBar">=0A=20=
=20=20=20=20<td=20align=3D"right"=20valign=3D"bottom"=20colspan=3D"3">=0A=
=20=20=20=20=20=20<a=20href=3D"&dtml-URL;?portal_skin=3DPrintable"=20=
target=3D"_new">printable=20page</a>&nbsp;=20|=20&nbsp;=0A=20=20=20=20=20=
=20<a=20href=3D"&dtml-portal_url;">home</a>&nbsp;=20|=20&nbsp;=0A=20=20=20=
=20=20=20<a=20=
href=3D"&dtml-portal_url;/calendar/calendar">calendar</a>&nbsp;=20|=20=
&nbsp;=0A=20=20=20=20=20=20<dtml-let=20=
member=3D"portal_membership.getAuthenticatedMember()"=0A=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=
listMembers=3D"portal_membership.checkPermission('List=20portal=20=
members',=20member)">=0A=20=20=20=20=20=20<dtml-if=20listMembers>=0A=20=20=
=20=20=20=20=20<a=20href=3D"&dtml-portal_url;/roster">members</a>&nbsp;=20=
|=20&nbsp;=0A=20=20=20=20=20=20</dtml-if>=0A=20=20=20=20=20=20=
</dtml-let>=0A=20=20=20=20=20=20<a=20=
href=3D"&dtml-portal_url;/recent_news">news</a>&nbsp;=20|=20&nbsp;=0A=20=20=
=20=20=20=20<a=20href=3D"&dtml-portal_url;/doc">docs</a>&nbsp;=20|=20=
&nbsp;=0A=20=20=20=20=20=20<a=20=
href=3D"&dtml-portal_url;/search_form">search</a>=0A=20=20=20=20=20</td>=0A=
=20=20=20=20</tr>=0A=0A=20=20=20</table>=0A=0A=20=20</td>=0A=20</tr>=0A=
</table>=0Aq=07U=12__ac_local_roles__q=08}q=09U=07tseaverq=0A]q=0B=
U=05Ownerq=0CasU=07globalsq=0D=
}q=0EU=08__name__q=0FU=10standard_top_barq=10U=05_varsq=11}q=12u.=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=

--Apple-Mail-325392713-2--

--Apple-Mail-357671760-1--