<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:o =
"urn:schemas-microsoft-com:office:office" xmlns:w =
"urn:schemas-microsoft-com:office:word"><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META content=Word.Document name=ProgId>
<META content="MSHTML 6.00.2800.1170" name=GENERATOR>
<META content="Microsoft Word 10" name=Originator><LINK
href="cid:filelist.xml@01C36640.EBDE7270" rel=File-List><!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:DoNotRelyOnCSS/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:SpellingState>Clean</w:SpellingState>
<w:GrammarState>Clean</w:GrammarState>
<w:DocumentKind>DocumentEmail</w:DocumentKind>
<w:HyphenationZone>21</w:HyphenationZone>
<w:EnvelopeVis/>
<w:DrawingGridHorizontalSpacing>2,85 pt</w:DrawingGridHorizontalSpacing>
<w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]-->
<STYLE>@font-face {
        font-family: Wingdings;
}
@page Section1 {size: 595.3pt 841.9pt; margin: 70.85pt 70.85pt 70.85pt 70.85pt; mso-header-margin: 35.45pt; mso-footer-margin: 42.55pt; mso-paper-source: 0; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; mso-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; mso-ansi-language: EN-US
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; mso-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; mso-ansi-language: EN-US
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; mso-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"; mso-ansi-language: EN-US
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline; text-underline: single
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline; text-underline: single
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline; text-underline: single
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline; text-underline: single
}
SPAN.EpostStil17 {
        COLOR: windowtext; FONT-FAMILY: Arial; mso-style-type: personal-compose; mso-style-noshow: yes; mso-ansi-font-size: 10.0pt; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial
}
SPAN.SpellE {
        mso-style-name: ""; mso-spl-e: yes
}
SPAN.GramE {
        mso-style-name: ""; mso-gram-e: yes
}
DIV.Section1 {
        page: Section1
}
</STYLE>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
        {mso-style-name:"Vanlig tabell";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-parent:"";
        mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
        mso-para-margin:0cm;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman";}
</style>
<![endif]--></HEAD>
<BODY lang=NO-BOK style="tab-interval: 35.4pt" vLink=purple link=blue>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=078250410-19082003>Hi
<FONT face=Tahoma color=#000000>Børge,</FONT></SPAN></FONT></DIV>
<DIV><FONT face=Tahoma color=#000000 size=2><SPAN
class=078250410-19082003></SPAN></FONT> </DIV>
<DIV><FONT face=Tahoma color=#000000 size=2><SPAN class=078250410-19082003>I'm
new to Zope myself, but I have had some experience of this with a custom
application that I wrote. The users are able to customise certain aspects of my
application then the preferences are stored in a MySql database. When the user
logs in, the application checks their user id and password but also reads
in their preferences. These are used to apply style sheets and other various
bits of customisation.</SPAN></FONT></DIV>
<DIV><FONT face=Tahoma color=#000000 size=2><SPAN
class=078250410-19082003></SPAN></FONT> </DIV>
<DIV><FONT face=Tahoma color=#000000 size=2><SPAN class=078250410-19082003>If
Zope supports cascading style sheets this may be the way to go.
</SPAN></FONT></DIV>
<DIV><FONT face=Tahoma color=#000000 size=2><SPAN
class=078250410-19082003></SPAN></FONT> </DIV>
<DIV><FONT face=Tahoma color=#000000 size=2><SPAN
class=078250410-19082003>HTH</SPAN></FONT></DIV>
<DIV><FONT face=Tahoma color=#000000 size=2><SPAN
class=078250410-19082003></SPAN></FONT> </DIV>
<DIV><FONT face=Tahoma color=#000000 size=2><SPAN
class=078250410-19082003>Stephen Slack</SPAN></FONT></DIV>
<DIV><FONT face=Tahoma color=#000000 size=2><SPAN
class=078250410-19082003>Senior System Developer</SPAN></FONT></DIV>
<DIV><FONT face=Tahoma color=#000000 size=2><SPAN
class=078250410-19082003>Allvac (UK) Ltd</SPAN></FONT></DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma
size=2>-----Original Message-----<BR><B>From:</B> Børge Kjeldstad
[mailto:borge.kjeldstad@whiteflower.no]<BR><B>Sent:</B> 19 August 2003
09:59<BR><B>To:</B> zope@zope.org<BR><B>Subject:</B> [Zope] How to personalise
a website?<BR><BR></FONT></DIV>
<DIV class=Section1>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Hello!<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I want to personalize a website.
That is; I have a welcome page<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><SPAN class=GramE><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">with</SPAN></FONT></SPAN><FONT
face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> some links on, say link A, B and
C. If a guest presses link B<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I want that to affect the design
of all the later pages that this guest sees.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">However, if the guest returns to
the welcome page and presses link C,<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I want all the following pages
that this guest sees, to have some other look<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">(<SPAN class=GramE>the</SPAN> “C
look”).<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I am not so good at programming in
python so I guess my easiest shot will<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><SPAN class=GramE><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">be</SPAN></FONT></SPAN><FONT
face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> to use cookies (please correct me
if I am wrong</SPAN></FONT><FONT face=Wingdings size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Wingdings; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-char-type: symbol; mso-symbol-font-family: Wingdings"><SPAN
style="mso-char-type: symbol; mso-symbol-font-family: Wingdings">J</SPAN></SPAN></FONT><FONT
face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">). Now, I found
some<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><SPAN class=GramE><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">example</SPAN></FONT></SPAN><FONT
face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> in the Zope book. If the guest
chooses link B I could set a cookie<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><SPAN class=GramE><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">using</SPAN></FONT></SPAN><FONT
face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> the following
statement:<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN
style="mso-spacerun: yes"> </SPAN><<SPAN
class=SpellE>dtml</SPAN>-call <SPAN class=SpellE>expr</SPAN>="<SPAN
class=SpellE><SPAN class=GramE>RESPONSE.setCookie</SPAN></SPAN><SPAN
class=GramE>(</SPAN>'<SPAN
class=SpellE>guest_B</SPAN>')"><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
<P class=MsoNormal><SPAN class=GramE><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">and</SPAN></FONT></SPAN><FONT
face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> then later for the page design,
use some “if” statement like this:<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN
style="mso-spacerun: yes"> </SPAN><if <SPAN
class=SpellE>request.cookies.has_<SPAN class=GramE>key</SPAN></SPAN><SPAN
class=GramE>(</SPAN>'<SPAN
class=SpellE>guest_B</SPAN>'><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">(Please correct me if the program
lines here are wrong</SPAN></FONT><FONT face=Wingdings size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Wingdings; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-char-type: symbol; mso-symbol-font-family: Wingdings"><SPAN
style="mso-char-type: symbol; mso-symbol-font-family: Wingdings">J</SPAN></SPAN></FONT><FONT
face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">, I am really not
sure<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><SPAN class=GramE><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">about</SPAN></FONT></SPAN><FONT
face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> how to use the apostrophe ‘ sign
in these statements)<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">But if the guest now goes back to
the welcome page and chooses link C<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><SPAN class=GramE><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">he</SPAN></FONT></SPAN><FONT
face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> or she will still have the “<SPAN
class=SpellE>guest_B</SPAN>” cookie. My question is
then:<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">How do I erase the “<SPAN
class=SpellE>guest_B</SPAN>” cookie?<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Now, I am also slightly aware of
that there is some parameter option in<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><SPAN class=GramE><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">the</SPAN></FONT></SPAN><FONT
face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> “<SPAN
class=SpellE>setCookie</SPAN>” statement. That is: I could maybe have a <SPAN
class=SpellE>setCookie</SPAN> statement<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><SPAN class=GramE><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">that</SPAN></FONT></SPAN><FONT
face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> went like
this:<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN
style="mso-spacerun: yes"> </SPAN><<SPAN
class=SpellE>dtml</SPAN>-call <SPAN class=SpellE>expr</SPAN>="<SPAN
class=SpellE><SPAN class=GramE>RESPONSE.setCookie</SPAN></SPAN><SPAN
class=GramE>(</SPAN>'guest', ‘B’)"><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
<P class=MsoNormal><SPAN class=GramE><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">and</SPAN></FONT></SPAN><FONT
face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> then use or change the parameter
to the cookie “guest” My second<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><SPAN class=GramE><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">question</SPAN></FONT></SPAN><FONT
face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> is hence; if this would be a
better solution than trying to erase<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><SPAN class=GramE><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">the</SPAN></FONT></SPAN><FONT
face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> cookie as previously
described.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Thank you very
much!<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Børge
Kjeldstad<o:p></o:p></SPAN></FONT></P></DIV></BLOCKQUOTE></BODY></HTML>