TRIPOLIS DIALOGUE
Dialogue Handleiding Content Module Technisch
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 2
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Inhoudsopgave TRIPOLIS DIALOGUE ..................................................................................................... 5 Documentatie Content Module Technisch ....................................................................... 5 INLEIDING ...................................................................................................................... 6 In dit document .......................................................................................................... 6 De content module ..................................................................................................... 6 Het gebruik van templates.......................................................................................... 6 Freemarker template engine. ..................................................................................... 6 Tripolis Dialogue Object Properties ............................................................................ 7 Tripolis Dialogue merge fases. ................................................................................... 9 NIEUWSBRIEF TEMPLATE: INFORMATIE VERZAMELEN ..........................................13 Nieuwsbrief begrippen ..............................................................................................13 Nieuwsbrief template inventarisatie ...........................................................................13 Secties bepalen. .......................................................................................................14 Artikel types bepalen. ................................................................................................14 Artikel velden bepalen. ..............................................................................................15 NIEUWSBRIEF TEMPLATE: INFORMATIE INVOEREN ................................................19 Stappenplan ..............................................................................................................19 Nieuwsbrief type aanmaken. .....................................................................................20 Artikel types aanmaken. ............................................................................................21 Artikel velden aanmaken ...........................................................................................21 Nieuwsbrief secties aanmaken. .................................................................................22 Nieuwsbrief secties op basis van een RSS feed .......................................................22 Nieuwsbrief template aanmaken. ..............................................................................24 Artikel templates aanmaken. .....................................................................................25 INTRODUCTIE FREEMARKER......................................................................................26 Wat is Freemarker?...................................................................................................26 Freemarker toegepast ...............................................................................................27 VOORBEELD NIEUWSBRIEF ........................................................................................37 Voorbeeld nieuwsbrief template met artikel template ................................................37 Schematische verdeling nieuwsbrief .........................................................................37 Gegevens invoeren in Tripolis Dialogue: ...................................................................38 Nieuwbrief template aanmaken. ................................................................................38 Artikel template aanmaken ........................................................................................40 Een Inhoudsopgave binnen de nieuwsbrief ...............................................................41 Testen en verzenden ................................................................................................42 TRIPOLIS WEBFORMS .................................................................................................43 Aanmeld/ Wijzigings/ Afmeld Procedure....................................................................43 Voorbereiding aanmaken Tripolis Webforms. ............................................................43 Aanmaken Subscriber en unsubscriber groepen .......................................................44 Aanmaken procedure definitie...................................................................................44 Custom direct mails...................................................................................................48 Custom webform links ...............................................................................................49 Dialogue handleiding / technisch Content
versie 11/09/09
pagina 3
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch TELL A FRIEND VOOR GEBRUIK IN NIEUWSBRIEVEN. .............................................50 Wat is een Tell a friend .............................................................................................50 Implementatie Tell a friend ........................................................................................51 TAF webformulier ......................................................................................................51 Voorbeeld TAF webformulier .....................................................................................52 TAF Template ...........................................................................................................52 TELL A FRIEND PREVIEW ............................................................................................54 LAATSTE MAILINGSNAPSHOT OPHALEN ...................................................................55 HTML E-MAIL GUIDELINES. .........................................................................................58 Technische guidelines...............................................................................................58 Design/ Deliverability guidelines ................................................................................58 Recommendations / Tips ..........................................................................................59 Gebruik CSS in email ................................................................................................59 Handige links: ...........................................................................................................60
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 4
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
TRIPOLIS DIALOGUE Documentatie Content Module Technisch
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 5
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
INLEIDING In dit document Een nieuwsbrief is de samenkomst van artikel content met de artikel templates, artikelen met de nieuwsbrief template en de nieuwsbrief template met contact data. Hoe dit proces in zijn werk gaat en hoe u dit implementeert wordt in dit document belicht. We laten u aan de hand van enkele voorbeelden kennis maken met het ontwikkelen van nieuwsbrief templates in Tripolis Dialogue.
De content module De content module biedt de mogelijkheid om zowel e-mails als sms op te maken en te versturen. Wij maken voor de communicatie per e-mail onderscheid in direct e-mails en nieuwsbrieven. Een nieuwsbrief bestaat uit één of meer artikelen welke zijn ondergebracht in één of meerdere secties. Door middel van het gebruik van templates kunt u de basis van de template vast leggen en de dynamische inhoud, middels artikelen toevoegen. Bij een direct mail kunt u direct de HTML en tekst broncode invoeren om een e-mail te versturen, deze methode wordt vaak gebruikt voor unieke eenmalige uitingen of voor transactionele e-mail, denk hierbij aan aanmeld- / afmeldbevestiging e-mail. Wij zullen ons in dit document vooral richten op het ontwikkelen van nieuwsbrieven.
Het gebruik van templates. Bij het frequent publiceren van een nieuwsbrief kan het wenselijk zijn de opmaak van de nieuwsbrief vast te leggen en periodiek de content te vernieuwen. Het gebruik van templates stelt de gebruiker in staat content en opmaak functioneel te scheiden. Zodoende hoeft u slechts artikelen in te voeren. Het is ook mogelijk de artikelen door middel van een RSS feed te laten vullen. Een RSS feed is content in een op XML gebaseerd formaat welke ten behoeven van het delen van deze content wordt aangeboden.
Freemarker template engine. Om onderdelen van de nieuwsbrief dynamisch te maken maakt Tripolis Dialogue gebruik van de opensource template engine ‘Freemarker’ (versie 2.3.9) (http://www.freemarker.org). Freemarker is een scripting taal die het onder andere mogelijk maakt uw nieuwsbrief conditioneel op te bouwen.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 6
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Tripolis Dialogue Object Properties Met Freemarker is het mogelijk verschillende objecten binnen Tripolis Dialogue te benaderen. Zo is het onder andere mogelijk het onderwerp van een nieuwsbrief, de naam of positie van het artikel of de naam van de sectie middels Freemarker te benaderen. Hieronder vindt u een overzicht van de verschillende properties:
newsletter properties ${newsletterdefinition.label} = label van de nieuwsbrief type. ${newsletter.subject} = onderwerp van de nieuwsbrief.
section properties ${section.label} = label van de sectie. ${section.name} = naam van de sectie. ${section.id} = uniek id van de sectie. ${section.articles} = alle artikelen van de sectie.
article properties ${article.label} = label van het artikel. ${article.id} = uniek id van het artikel. ${article.modifiedDate} = datum waarop het artikel voor het laatst is gewijzigd. ${article.section} = sectie naam van het artikel (niet het section object). ${article.position} = De positie van het artikel binnen een sectie. ${article.fields} = Alle veldnamen met hun veldwaardes van het artikel. ${article.content} = De inhoud van het artikel (gebasseerd op de beschikbare nieuwbrief artikel template).
mailjob properties ${mail.job.id} = Encrypted id van de mailjob. ${mail.job.subject} = Subject van de mailjob. ${mail.job.fromName} = De from name gebruikt in de mailjob. ${mail.job.fromAddress} = Het from e-mailadres gebruikt in de mailjob. ${mail.job.sourceName} = De groep waarnaar verzonden is of vanuit welke campagne. ${mail.job.contentName} = De naam van de nieuwsbrief editie of directmail.
contact properties Alle profielvelden in de contact database zijn op te vragen voor gebruik in nieuwsbrieven of directmails. Bijvoorbeeld ${contact.firstname}, ${contact.lastname} of ${contact.companyname}.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 7
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch Het versleutelde contact Id kunt u opvragen middels ${contact.encryptedContactId}. Dit contact Id wordt bijvoorbeeld gebruikt bij de communicatie met de Tripolis Dialogue webservice.
Beschikbaarheid object properties Niet alle objecteigenschappen zijn op elk moment beschikbaar. Dit heeft te maken met de verschillende Freemarker merge fases binnen Tripolis Dialogue.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 8
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Tripolis Dialogue merge fases. Een nieuwsbrief in Tripolis Dialogue wordt in verschillende stappen samengesteld voor verzending. Deze verschillende stappen worden ook wel merge fases genoemd. Bij het versturen van een Direct mail vind er slechts één merge fase plaats. Dit is de fase waarbij de mailsnapshot en de contactdata samenkomen. Bij het ontwikkelen van nieuwsbrief templates in Tripolis Dialogue is het belangrijk om te weten welke merge fases er zijn en welke data op welk moment in het proces beschikbaar is.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 9
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
De article properties zijn beschikbaar in de article template (merge fase 1).
De newsletter- en section properties zijn in de nieuwsbrief template (merge fase 2) beschikbaar.
De mailjob properties zijn in de article en nieuwsbrief template (merge fase 1 en 2) beschikbaar, sommige properties krijgen pas een waarde in merge fase 3.
De contact properties zijn pas beschikbaar in merge fase 3.
Fase 1:
De content van de artikelen wordt met de bijbehorende artikel template samengevoegd.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 10
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Fase 2: Vervolgens worden deze artikelen samengevoegd met de nieuwsbrief template en is er een mail snapshot ontstaan.
De contact data is pas in de 3de merge fase beschikbaar, wanneer u deze data in merge fase 1 of fase 2 probeert op te vragen zal dit resulteren in een foutmelding. Om Freemarker code tijdelijk van de merge uit te sluiten kunt u het noparse statement gebruiken, dit zorgt er voor dat deze Freemarker code pas in merge fase 3 wordt uitgevoerd. Het noparse statement zorgt ervoor dat de code pas in merge fase 3 wordt uitgevoerd. <#noparse> Deze code wordt in merge fase 3 uitgevoerd: ${contact.email} #noparse>
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 11
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Fase 3: Contact data wordt in de mail snapshot ge-merged, alvorens de individuele e-mails voor online weergave en verzending gereed worden gemaakt.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 12
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
NIEUWSBRIEF TEMPLATE: INFORMATIE VERZAMELEN
Nieuwsbrief begrippen Bij het maken van een nieuwsbrief template dient u het ontwerp te verdelen in één of meer secties. Deze kunt u beschouwen als plaatshouders voor de artikelen. Denk hierbij aan een sectie voor de nieuwsartikelen en een sectie voor de advertenties. Artikelen kunnen naar wens in een willekeurige sectie geplaatst worden. Voor de te plaatsten artikelen moeten er artikel types worden aangemaakt, zo kunt u een artikel van het artikel type ‘advertentie’ of ‘nieuws’ hebben. Elk artikel type bestaat uit één of meer artikel velden. Zo kunt u voor een artikel type ‘nieuws’ bijvoorbeeld de artikel velden ‘title’, ‘body’, ‘link’, ‘image’ aanmaken.
Nieuwsbrief template inventarisatie Alvorens een nieuwsbrief template aan te maken in Tripolis Dialogue is het verstandig eerst de benodigde informatie te verzamelen en een ruwe schets te maken van de opbouw van de nieuwsbrief. We raden aan het ontwerp voor de nieuwsbrief uit te printen en te bepalen welke secties er moeten worden aangemaakt, welke artikel types en welke artikel velden hiervoor moeten worden gedefinieerd.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 13
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Secties bepalen. Onderdelen van een nieuwsbrief, waarbij de gebruiker in de gelegenheid moet zijn om deze per nieuwsbrief aan te passen, worden ondergebracht in secties. Denk hierbij aan aparte secties voor nieuws-, achtergrond- of advertentie- artikelen. Ook kunt u aparte secties aanmaken aan de hand van waar de artikelen worden geplaatst. Zo kunt u een linkerkolom en een rechterkolom sectie aanmaken. Aan de hand van in welke sectie een artikel wordt geplaatst kan de weergave van het artikel worden bepaald. Zo kan hetzelfde artikel anders worden weergegeven als u het artikel van de linkerkolom sectie verplaatst naar de rechterkolom sectie. Het artikel zelf behoort dan niet te worden aangepast.
Artikel types bepalen. Bij het bepalen van artikel types stelt u vast wat voor artikelen er in de nieuwsbrief dienen te worden geplaatst. De artikel velden worden bij het aanmaken van een nieuwsbrief editie gevuld met content door de redacteuren. Meestal kunt u dezelfde artikel types voor verschillende onderdelen van de nieuwsbrief gebruiken. Het is zodoende mogelijk één artikel type aan te maken voor artikelen die in verschillende secties van verschillende nieuwsbrieven worden geplaatst. Zo kunt u bijvoorbeeld een artikel type ‘nieuws’ aanmaken en deze voor verschillende nieuwsrubrieken gebruiken. Het is daarom niet nodig om voor elke nieuwsrubriek een nieuw artikel type aan te maken. Binnen dezelfde workspace zijn artikel types ook beschikbaar voor gebruik in andere nieuwsbrieven. Dialogue handleiding / technisch Content
versie 11/09/09
pagina 14
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Artikel velden bepalen. Een artikel type bestaat uit één of meerdere artikel velden. Bepaal welke artikel velden er dienen te worden aangemaakt om de artikelen te kunnen vullen. Denk hierbij aan aparte artikel velden voor plaatjes, titels, links, etc.
De volgende artikel velden zijn beschikbaar:
text field
text area
RTF text area
URL
Image
Color
De keuze van de artikel velden houdt verband met de eigenschap van dit veld. Het RTF text area veld geeft de eindgebruiker de mogelijk de opmaak van de tekst aan te passen. Wilt u controle houden over de opmaak van de nieuwsbrief gebruik dan het text area veld over het RTF text area veld.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 15
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch •
Text field
Een text field kan gebruikt worden om een kleine hoeveelheid tekst in te voeren. Denk hierbij bijvoorbeeld aan de titel van een nieuwsartikel.
•
Textarea
Een textarea kan gebruikt worden voor het invoeren van meerdere regels tekst. De gebruiker heeft dan niet de mogelijkheid om van de ingevoerde tekst de opmaak aan te passen. Tevens is het mogelijk om contact data direct in de textarea te mergen.
•
RTF Textarea
Bij een RTF textarea geeft u de gebruiker de mogelijkheid om de ingevoerde tekst op te maken, ook kunnen er onder andere hyperlinks en afbeeldingen worden toegevoegd.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 16
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch •
URL
Een URL veld geeft de gebruiker de mogelijkheid om een url in te voeren, er wordt daarbij tevens gecontroleerd of de URL juist is ingevoerd.
•
Image
Het image veld geeft de mogelijkheid een afbeelding vanuit de media repository toe te voegen aan een artikel. Het image veld heeft verschillende eigenschappen die u later kan opvragen; dit zijn:
URL (locatie naar het bestand)
Height
Width
Title
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 17
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch •
Color
Het color veld geeft de gebruiker de mogelijkheid middels een kleuren palet een kleurkeuze te maken. De kleur wordt vervolgens als hexadecimale waarde opgeslagen.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 18
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
NIEUWSBRIEF TEMPLATE: INFORMATIE INVOEREN Naam en label. Tijdens het aanmaken van de verschillende elementen in Tripolis Dialogue wordt u gevraagd voor deze elementen een label in te voeren. Uit dit label wordt vervolgens een naam gegenereerd. U kunt deze naam naar wens wijzigen. Bij de verwijzing naar de verschillende elementen in uw template, of bij een soap call naar de API dient u altijd de naam te gebruiken. Het is aan te raden gebruik te maken van logische en uniforme benamingen. Een label voor de html template van een nieuwsartikel zou bijvoorbeeld “nieuws artikel html template” kunnen zijn, Tripolis genereert hier dan de volgende naam uit: “nieuwsartikelhtmltemplate”.
Stappenplan Bij het invoeren van de gegevens in Tripolis Dialogue kunt u het onderstaande stappenplan aan houden.
1. Nieuwsbrief type aanmaken. 2. Artikel types aanmaken. 3. Artikel velden aanmaken 4. Nieuwsbrief secties aanmaken. 5. Nieuwsbrief templates aanmaken (HTML en text). 6. Artikel templates aanmaken.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 19
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Nieuwsbrief type aanmaken. Hier bepaalt u nieuwsbrieftype eigenschappen zoals de standaard afzendernaam/ -email en eventueel het standaard onderwerp van de nieuwsbrief op.
Het is tevens mogelijk bestaande nieuwsbrief types te kopiëren. Veelal wordt er gevalideerd of de versturende mailserver (Tripolis) gemachtigd is om namens het opgegeven from adres e-mail te versturen (validatie op basis van SenderID). Middels een aanpassing in het dns van het domein van de afzender kunt u Tripolis autoriseren. SenderID is een authenticatie methode op basis van de header from adres (zichtbaar in de inbox van de ontvanger). SPF (Sender Policy Framework) is een authenticatie methode op basis van het envelope from adres (niet direct zichtbaar in inbox van de ontvangbaar). Alle e-mails verstuurd door Tripolis valideren op basis van SPF. Neem voor meer informatie over SenderID en SPF contact op met Tripolis support.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 20
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Artikel types aanmaken. Hier bepaalt u de namen van de artikel types zoals ‘nieuws_artikel’ of ‘advertentie’.
Artikel velden aanmaken Hier bepaalt u de namen en eigenschappen van de artikel velden. De volgende veld types zijn beschikbaar:
Text field
Text area
RTF text area
URL, Image
Color.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 21
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch Nieuwsbrief secties aanmaken. Hier bepaalt u de namen van de verschillende secties zoals ‘linker kolom’ of ‘advertenties’.
U kunt hier tevens een standaard artikel type opgeven. Wanneer u nieuwe artikelen aanmaakt voor deze sectie dan wordt standaard dit type gebruikt.
Nieuwsbrief secties op basis van een RSS feed Het is tevens mogelijk een sectie te laten vullen met artikelen gegenereerd uit de items in een RSS feed. De artikelen worden bij het aanmaken van een nieuwe nieuwsbrief editie in Tripolis Dialogue aangemaakt. Deze artikelen kunnen net als reguliere artikelen bewerkt worden en binnen een workspace tussen verschillende nieuwsbrieven worden uitgewisseld. De volgende stappen dienen te worden uitgevoerd: -
Een nieuwe sectie aanmaken, de url van de RSS en/of ATOM feed opgeven. Een artikel template maken gebasseerd op het automatisch aangemaakte artikel type “feed article type”. Een verwijzing naar deze sectie in de newsletter HTML template opnemen.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 22
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch Vul een label en naam in, u hoeft geen standaard artikel type op te geven (het artikel type wordt automatisch gegenereerd). Vul een RSS url in en geef optioneel aan hoeveel items er dienen te worden opgehaald. Zet RSS active aan, zolang RSS active niet aangevinkt staat worden er geen artikelen aangemaakt.
Bij het aanmaken van een RSS sectie wordt er door Tripolis Dialogue een feed artikel type aangemaakt (feed article type) met de bijbehorende velden.
Deze velden kunt u in uw artikel template, gebasseerd op het feed artikel type eenvoudig opvragen middels ${veldnaam}, bijvoorbeeld ${description} of ${title}. Vergeet niet de rss sectie op te vragen in de nieuwsbrief HTML template middels het @getarticles of @getsection statement.
Tripolis Dialogue ondersteunt de RSS 2.0 en ATOM standaarden voor XML feeds. Dialogue handleiding / technisch Content
versie 11/09/09
pagina 23
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Nieuwsbrief template aanmaken. Hier voert u de code in voor de nieuwsbrief met verwijzingen naar secties. Deze secties kunnen dan later gevuld worden met artikelen. Voer deze stap voor zowel de tekst als HTML versie van de nieuwsbrief template uit.
Een sectie met bijbehorende artikelen wordt middels onderstaande code opgehaald: <@getsection name="article"> <#list section.articles as article> ${article.content} #list> @getsection>
‘name’ is de verwijzing naar de eerder aangemaakte sectie. Herhaal dit stuk code voor de verschillende secties. U kunt ook de verkorte code gebruiken om de artikelen van de sectie ‘article’ weer te geven: <@getarticles sectionname="article" />
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 24
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Artikel templates aanmaken. Artikelen welke in een sectie worden geplaatst moeten per artikel type ook een artikel template hebben. In deze artikel template kunt u de weergave van een artikel type bepalen.
Verschillende artikel velden van een artikel type kunnen middels ${veldnaam} worden opgehaald. Het is tevens mogelijk om voor de verschillende artikel types een tekst versie van de artikel templates aan te maken.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 25
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
INTRODUCTIE FREEMARKER. Wat is Freemarker? Freemarker is een template engine die in Tripolis Dialogue kan worden gebruikt voor het personaliseren en conditioneren van weer te geven data. Zo is het mogelijk om afhankelijk van contactdata in de contact database de inhoud van een e-mail aan te passen. Personalisatie toegepast op basis van geslacht. <#if contact.geslacht = “M”>
Beste heer ${contact.lastname!}
#if> <#if contact.geslacht = “F”>
Beste mevrouw ${contact.lastname!}
#if>
Zo kunt u op basis van geslacht, leeftijd, interesses de inhoud van de nieuwsbrief dynamisch maken. Ook is het mogelijk om condities toe te passen op de plaatsing van de artikelen. Conditionele lay-out op basis van sectie. <#if article.section = “left”>
${title}
#if> <#if article.section = “right”>
${title}
#if>
U kan aangeven hoe een artikel er uit moet komen te zien wanneer deze bijvoorbeeld aan de linker- of aan de rechterzijde van de nieuwsbrief wordt geplaatst. Freemarker is een zeer uitgebreide template scripting taal, in dit document laten wij u kennis maken met slechts een kleine selectie van de mogelijkheden. Aan de hand van voorbeelden zullen we een aantal freemarker toepassingen laten zien. Voor een volledige naslag verwijzen wij u naar de online freemarker handleiding: http://freemarker.org/docs/
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 26
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Freemarker toegepast Gebruik van contactdatabase velden De waarde van een variabele in Freemarker kan worden opgevraagd door middel van de code ${variabele}. Beste heer ${contact.lastname}
Alle contact data kan worden opgevraagd middels: ${contact.contactdataveld}, waarbij ‘contactdataveld’ de naam is van een contactveld (profielveld) uit de contactdatabase. Bij het mergen van de data door Freemarker, kijkt Freemarker of de variabele en de bijbehorende waarde beschikbaar is. Stelt u zich voor dat u voor de contacten in uw contact database een optioneel in te vullen veld met de naam “geslacht” gebruikt. Nu kan het zijn dat voor een aantal van uw contacten deze data onbekend is. Wanneer u in uw code deze gegevens opvraagt d.m.v ${contact.geslacht} zal Freemarker voor deze personen de data niet kunnen vinden en de merge en verzending van de email afbreken. Om te voorkomen dat de verzending stopt heeft u de mogelijheid om bij het opvragen van de waarde aan te geven of deze verplicht is voor het mergen. U doet dit door een uitroepteken te plaatsen achter de naam van de variabele, bijvoorbeeld: ${contact.geslacht!}. Nu zal Freemarker bij het niet vinden van een veldwaarde een spatie plaatsen en de verzending voortzetten. Is er geen achternaam bekend, dan loopt de mailing gewoon door. Beste heer ${contact.lastname!}
Wanneer bepaalde gegevens niet voor alle contacten bekend zijn, dan is het ook mogelijkheid om bij het ontbreken van een waarde een standaard waarde mee te geven. Is de aanhef niet bekend, dan wordt “heer/mevrouw” weergegeven. Beste ${contact.salutation!”heer/mevrouw”} ${contact.lastname?cap first}
Bovenstaand voorbeeld resulteert voor een contact met de achternaam “jansen” waarvan de aanhef niet bekend is in: Beste heer/mevrouw Jansen Door de toevoeging van ?cap_first wordt de eerste letter van de waarde van contact.lastname omgezet in een hoofdletter. Dialogue handleiding / technisch Content
versie 11/09/09
pagina 27
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Toekennen van een waarde aan een variabele Het toekennen van waardes in Freemarker kan op verschillende manieren:
<#assign variabele=waarde>
of <#assign variabele=waarde variabele2=waarde2 variabeleX=waardeX>
of <#assign variabele> waarde van variabele #assign>
De waarde kunt u dan later opvragen met ${variabele}.
Nagaan of een variabele een waarde heeft Om te kijken of er voor een contact een waarde is opgegeven voor een bepaald veld in de contact database, kunt u in Freemarker de volgende code gebruiken: U hoeft geen uitroepteken te plaatsen, omdat de waarde al wordt gecontroleerd met ?has_content. <#if contact.muzieksmaak?has_content> De nieuwste ${contact.muzieksmaak} cd’s zijn bij ons te bestellen. #if>
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 28
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Variabele types • String Voor de opslag van tekst. • Int Numerieke waardes. Tripolis maakt gebruik van 32bit Integer waardes. Waardes behoren tussen de -2.147.483.648 en de +2.147.483.647 te liggen. • Boolean Voor het gebruik van True or False waardes. • Decimal Numerieke waardes, waar cijfers achter de komma mogelijk moeten zijn. (Bijvoorbeeld voor het opslaan van financiële data). • Date Datum veld. Notatie: yyyy-mm-dd • Datetime Datum en tijd veld. Notatie: yyyy-mm-dd hh:mm:ss • Picklist Key-value veld. In een picklist kunt u een aantal vaste keuzes opnemen en daar een label voor definiëren. Bijvoorbeeld: M = heer, F = mevrouw, N = heer/mevrouw. • Email Email veld. Standaardveld voor het opslaan van email adressen. Door gebruik te maken van dit type worden ook de e-mailadressen die in dit veldtype worden opgeslagen gecontroleerd op de juiste notatie. • Mobile Veld voor het opslaan van mobiele nummers. Dit veld is verplicht voor het gebruik van communicatie via sms.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 29
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Conditionele statements <#if dit is waar> voer dit uit <#elseif dit is waar> voer dit uit <#else> voer dit uit als bovenstaande condities beiden niet waar zijn. #if> Een voorbeeld van het bekende if/else statement in Freemarker. <#if contact.gender = "m">
Beste heer ${contact.lastname!}
<#elseif contact.gender = "f">
Beste mevrouw ${contact.lastname!}
<#else>
Beste heer/mevrouw ${contact.lastname!}
#if>
Key – value pairs Het kan voorkomen dat de waardes in de database voor de lezer niet duidelijk zijn. Zo kan het voorkomen dat u in de database bij het veld contact.geslacht de waardes “m”, “f”, “n” (male, female, not set) heeft ingevoerd. Om dergelijke waardes om te bouwen naar een leesbare variant kan er gebruik worden gemaakt Key-value pairs: Key-value pairs zijn een snelle oplossing voor het omzetten van database waardes. <#assign categories = {"f":"mevrouw", "m":"heer", "n":"heer/mevrouw"}> Beste ${categories[contact.geslacht]!"heer/mevrouw"} ${contact.lastname}
Dit geeft bijvoorbeeld bij een veldwaarde “n” voor het veld contact.geslacht voor een contact met de achternaam “Jansen” als resultaat: Beste Heer/Mevrouw Jansen
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 30
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Switch statement Wellicht kan het handig zijn om op basis van een aantal gevallen verschillende output te genereren. U kunt dan gebruik maken van het switch statement. Deze genereert aan de hand van een aantal mogelijke uitkomsten (cases) de output. Een switch statement kan overzichterlijker zijn dan het gebruik van een if/else statement. <#switch contact.geslacht> <#case "M">
Geachte heer ${contact.firstname} ${contact.lastname}
<#case "F"> Geachte mevrouw ${contact.firstname} ${contact.lastname}
<#default> Geachte heer/mevrouw ${contact.firstname} ${contact.lastname}
#switch>
List statement Het list statement kan worden gebruikt om door een lijst van waardes te lopen. Zo kunt u bijvoorbeeld een rij opstellen van alle waardes binnen deze lijst.
<#assign alleWaardes = ["Aap","Noot","Mies"]> <#list alleWaardes as waarde> - ${waarde}
#list>
De bovenstaande code zal resulteren in: Aap Noot Mies
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 31
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Afbeeldingen Bij het gebruik van het artikel veld van het type ‘Image’ zijn verschillende Afbeeldingseigenschappen die middels Freemarker benaderbaar zijn. Zo is het bijvoorbeeld mogelijk om de hoogte en breedte, of de titel van een afbeelding op te halen. De eigenschappen van een veld met de naam ‘newsimg’ van het type ‘Image’ is vanuit Freemarker op de volgende manier benaderbaar: ${newsimg.url} = link naar externe locatie van afbeelding. ${newsimg.title} = titel van de afbeelding. ${newsimg.height} = hoogte van de afbeelding. ${newsimg.width} = breedte van de afbeelding. De verschillende eigenschapen van een afbeelding kunnen worden opgehaald.
Datum en tijd Bij gebruik van de datum en tijd binnen een nieuwsbrief kan het object ‘currentdate’ gebruikt worden. ${currentdate.date} = huidige datum ${currentdate.time} = huidige tijd ${currentdate.datetime} = huidige datum en tijd (31-dec-2008 12:51:01)
Een volledig overzicht van de Freemarker datum/tijd weergave mogelijkheden vindt u op: http://freemarker.org/docs/ref_builtins_date.html
Wordwrap U kunt de woorden na een opgegeven aantal karakters op een nieuwe regel laten beginnen met de wrap functie: Begin na 50 karakters een nieuwe regel voor de waardes in het ‘body’ veld. ${body?wrap(50)}
Dit werkt alleen in de text versie van de e-mail omdat in HTML deze linebreaks worden genegeerd.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 32
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Online viewer link In Tripolis Dialogue kunt u een online viewer link toevoegen aan een mailing. Deze stelt de ontvanger in staat de mailing als html pagina te bekijken, personalisatie wordt hierbij meegenomen. Een online viewer link voor de html versie kunt u toevoegen middels onderstaande code.
Is deze mail niet goed leesbaar, klik dan [view_online=hier] voor de online versie.
Voor de tekst versie kunt u de volgende code gebruiken:
[view_online=]
U kunt ook gebruik maken van de custom online viewer link: http://public.tripolis.com/preview?contactId=${contact.contactId}&jobId=${contact.job Id}
Op de html pagina komt ook de link te staan naar de online versie. Om dit te voorkomen kunt u een conditie toepassen op de online viewer link. Deze conditie kijkt of het om een online weergave gaat en laat in dat geval de online viewer link weg. Laat de online viewer link alleen in de e-mail zien: <#if !onlineViewer> Is deze mail niet goed leesbaar, klik dan [view_online=hier] voor de online versie. #if>
Het ophalen van de sectie data In de nieuwsbrief template kunt u met het getsection statement de data behorende bij een secite ophalen. Zo kan u middels het list statement deze data onder elkaar weergeven. Onderstaand voorbeeld haald de data van de sectie met de naam ‘news’ op Door middel van het @getsection statement kunt u de data van een sectie ophalen. <@getsection name="news"> <#list section.articles as article> ${article.content} #list> @getsection> Dialogue handleiding / technisch Content
versie 11/09/09
pagina 33
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Door vervolgens gebruik te maken van het list statement loopt u door de bijbehorende artikelen heen en worden deze onder elkaar weergegeven. ${article.content} is het resultaat van de merge van de artikel content en de bijbehorende artikel template.
Ophalen artikelen en onder elkaar weergeven Om de artikelen behorende bij een sectie onder elkaar weer te geven kan het getarticles statement worden gebruikt in combinatie met de sectionname parameter met de naam van sectie. Haal de artikelen van de sectie ‘news’ op en geef deze onder elkaar weer. <@getarticles sectionname="news” />
Uitlezen van externe XML feed Binnen Tripolis Dialogue is het mogelijk om een XML feed in te laden. Hier kan u de functie: xmlImporter(url) voor gebruiken. Deze maakt de XML data beschikbaar voor gebruik in de templates. Sample XML file with bingo numbers
2 5 1 8
12 15 11 18
<second_serie> 22 25 21
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 34
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Door deze data aan een variabele toe te kennen en vervolgens het list statement te gebruiken, wordt het mogelijk de “parent” en “child” nodes te benaderen. Het uitlezen van een XML feed gebruikt worden om artikelen te vullen met content. <#assign feed = xmlImporter("http://vedm.net/abcpress/bingo_test.xml")> Showing first serie:
<#list feed.bingo_numbers.first_serie.row as row> <#list row.number as number> ${number} #list> #list>
Showing second serie:
<#list feed.bingo_numbers.second_serie.row as row> <#list row.number as number> ${number} #list> #list> De bovenstaande code zal resulteren in twee rijen van nummers:
Showing first serie: 2 5 1 8 12 15 11 18 Showing second serie: 22 25 21 28
Uitlezen externe HTML WebImporter(url) kan gebruikt worden om externe content op te halen en direct in de nieuwsbrief te gebruiken. De webImporter haalt de data op en slaat dit op in een string. Deze kunt u vervolgens in uw nieuwsbrief gebruiken. Dit kan bijvoorbeeld handig zijn wanneer u de inhoud door een externe partij laat opmaken, deze hebben dan geen toegang tot Tripolis Dialogue nodig. Externe content ophalen en weergeven <#assign webcontent = webImporter("http://www.externepartij.nl/intro.html"> ${webcontent}
Contact overslaan gedurende mailing Bij het personaliseren van content kan het voorkomen dat er voor een specifiek contact geen of onvoldoende content is. Middels het gebruik van het skipContact statement kunt u er voor zorgen dat er in deze situatie geen mail naar dit contact wordt verstuurd.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 35
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Met ${skipContact(“reden van overslaan”} wordt de mailing voor dit contact overgeslagen en wordt de reden die is opgegeven opgeslagen. Zo kunt u verschillende condities aangeven waarbij een mailing naar een contact wordt overgeslagen. Wanneer er geen content is voor de ‘personalfeed’ sla dan de mailing voor dit contact over. <#if !personalfeed?has_content> ${skipContact("no content available")} #if>
De reden wordt meegenomen in de rapportage:
Freemarker in Direct Mails met de WYSIWYG editor Het gebruik van Freemarker code in combinatie met de WYSIWYG editor vraagt een aanpassing in de code. De WYSIWYG editor probeert namelijk de “<” en “>” tekens en het dubbele aanhalingsteken om te zetten naar html entities. Dit zorgt er vervolgens voor dat uw freemarker code onbruikbaar is. Om dit te voorkomen kan u “[“ en “]” in plaats van “<” en “>” gebruiken. Ook dient u dan enkele aanhalingstekens te gebruiken. Wanneer u gebruik maakt van deze methode dient u dit in uw code aan te geven door [#ftl] helemaal bovenin als eerste tekst in de code te plaatsen, hiermee geeft u aan dat u Freemarker Template Language gaat gebruiken.
[#ftl] [#assign size = ‘large’] ${size}
In plaats van: <#assign size = "large"> ${size}
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 36
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch VOORBEELD NIEUWSBRIEF
Voorbeeld nieuwsbrief template met artikel template Aan de hand van een voorbeeld laten we u zien hoe het template systeem in Dialogue werkt. Als voorbeeld nemen we een zeer eenvoudige nieuwsbrief. Deze bestaat uit een ‘header’ met de titel van de nieuwsbrief en een gepersonaliseerde aanhef, een artikel sectie waarin onder elkaar de verschillende artikelen worden getoond en een ‘footer’.
Schematische verdeling nieuwsbrief Zoals aangegeven (in de kleuren blauw, rood en groen) de verdeling van de schillende elementen. Zo kunt u eenvoudig zien welke sectie(s), welke artikel types en welke artikel velden er moeten worden aangemaakt.
In bovenstaand voorbeeld gaan we uit van de volgende elementen: •
Één sectie met de naam: “news”.
•
Één artikel type met de naam: “news_article”.
•
Vier artikel velden met de namen: “title”, “body”, “image”, “url”.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 37
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Gegevens invoeren in Tripolis Dialogue: • Sectie • Artikel type • Artikel velden. Maak voor deze nieuwsbrief een nieuwsbrief type aan om vervolgens de sectie, het artikel type en de artikel velden aan te maken. Voor een uitgebreide uitleg hoe u dit in Dialogue doet verwijzen wij u naar de Tripolis Dialogue gebruikershandleiding.
Nieuwbrief template aanmaken. Wanneer u het bovenstaande heeft uitgevoerd bent u klaar om de templates te gaan maken. Allereest zorgt u ervoor dat u de volledige nieuwsbrief in valide HTML code klaar heeft staan. Het is dan een kwestie van het vervangen van de dynamische delen van de HTML code voor Freemarker code om de template gereed te maken. U behoort ook een tekst versie van de nieuwsbrief template aan te maken. Voor deze nieuwsbrief geldt (enigszins versimpeld) de volgende HTML code voor de HTML nieuwsbrief template:
Voorbeeld van de nieuwsbrief html template op de volgende pagina.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 38
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> My first basic newsletter header |
Hi <#noparse>${contact.firstname!} ${contact.lastname!}#noparse>, |
<@getsection name="news"> <#list section.articles as article> ${article.content} #list> @getsection> |
Footer |
Zoals in het eerste dikgedrukte stukje code te zien is worden de contact data variabelen binnen ‘noparse’ tags gezet. Dit wordt gedaan omdat de contact data pas bij de laatste merge fase beschikbaar is. (zie hoofdstuk “Freemarker merge fases”). Het tweede dikgedrukte stuk code geeft aan dat voor de sectie met de naam “news” alle artikelen onder elkaar moeten worden weergegeven. U loopt dan door alle artikelen heen die zijn toegewezen aan de sectie “news”. HTML in emails is vanwege de beperkte ondersteuning van HTML door de verschillende e-mail clients verschillend van de HTML die voor websites gebruikt kan worden. Dialogue handleiding / technisch Content
versie 11/09/09
pagina 39
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Artikel template aanmaken In de nieuwsbrief HTML template wordt er verwezen naar de sectie “news” en de bijbehorende artikelen. Deze artikelen zijn van het artikel type “news_article”. Voor dit artikel type dient u ook een template aan te maken. Deze artikel template bepaalt de weergave van een artikel. Zo kan u aangeven hoe de verschillende artikel velden (title, body, image, url) dienen te worden weergegeven. Een voorbeeld van zo’n artikel template gebaseerd op de voorbeeld nieuwsbrief ziet er als volgt uit: De artikel template bepaalt de weergave van een artikel. ${title!} | <#if image?has_content> #if> |
${body!} |
lees meer |
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 40
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Een Inhoudsopgave binnen de nieuwsbrief Wanneer er een groot aantal artikelen binnen een nieuwsbrief worden gepubliceerd kan het wenselijk zijn, de nieuwsbrief te voorzien van een inhoudsopgave. De inhoudsgave is middels Freemarker dynamisch op te bouwen aan de hand van de artikelen die voor een sectie beschikbaar zijn. In het kort wordt de titel van elk artikel opgehaald en deze worden onder elkaar weergegeven. Een link in de vorm van een anchor zorgt er vervolgens voor dat de inhoudsopgave doorlinkt naar de juiste artikelen. Voor het maken van een inhoudsopgave kan het getindex statement gebruikt worden. Het getindex statement houdt ook rekening met de eventuele artikelcondities, die bij de artikeleigenschappen zijn ingesteld. Er wordt geen rekening gehouden met condities welke door u zelf in de artikel template zijn gedefinieerd. Maak een inhoudsopgave van de artikelen in de secties ‘leftcolumn’ en ‘rightcolumn’. <@getindex sectionname="leftcolumn rightcolumn"> ${article.fields.title} @getindex>
In bovenstaand voorbeeld wordt door middel van de sectie naam en de positie van het artikel binnen deze sectie een unieke referentie gemaakt. Hier kunt u vervolgens in de artikel template een anchor voor aanmaken. Verwijzing aanmaken voor gebruik in combinatie met inhoudsopgave ${title}
Sommige e-mail clients ondersteunen het gebruik van anchors niet (volledig). De web emailclient SquirrelMail vervangt bijvoorbeeld de verwijzingen naar de artikelen voor een verwijzing naar een externe afbeelding: blank.gif.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 41
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Testen en verzenden Alvorens de uiteindelijke mailing te versturen is het belangrijk uitvoerig te testen. We raden aan bij verschillende webmail aanbieders een e-mail account aan te maken en binnen Tripolis Dialogue voor deze e-mail accounts een test groep aan te maken.
In e-mail ben je beperkt in het gebruik van CSS en wordt het gebruik van xhtml afgeraden.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 42
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch TRIPOLIS WEBFORMS Aanmeld/ Wijzigings/ Afmeld Procedure. Door naar de procedure URL een email adres door te sturen wordt de inschrijfprocedure in gang gezet. Wanneer Tripolis Dialogue het e-mail adres heeft ontvangen wordt er naar het opgegeven e-mail adres een e-mail gestuurd met het verzoek de inschrijving te bevestigen. Na het klikken op de bevestigingslink in de e-mail komt het contact op een landingspagina terecht waar ten minste de verplichte velden (zoals ze ook in de contactdatabase staan) dienen te worden ingevuld. Nadat het contact de gegevens heeft doorgestuurd wordt er een bedank e-mail verzonden met de bevestiging van de registratie waarna het contact wordt lid gemaakt van de de opgegeven subscribersgroep. Na het afmelden krijgt het contact de status unconfirmed en indien er een unsubscribers groep is opgegeven wordt het contact in deze groep geplaatst. Is er geen unsubscribers groep opgegeven, dan wordt het contact alleen uit de subscriber groep gehaald. Het contact blijft dan wel in de contactdatabase aanwezig. Er is tevens U kunt een wijzigings link opnemen om het contact gedurende zijn aanmelding de mogelijkheid te bieden zijn gegevens te wijzigen. De gebruiker komt na het klikken op de wijzigings link op een wijzigingspagina terecht, waarbij zijn contactgegevens zoals bekend in de contactdatabase worden getoond. Van de wijziging van de gegevens ontvangt het contact geen bevestigingse-mail.
Voorbereiding aanmaken Tripolis Webforms. Voordat u een procedure definitie aanmaakt dient u eerst een directmail type in uw workspace hebben staan, dit type bepaalt onder andere het from adres en de from name van de procedure e-mails.
De bevestiging- en bedank e-mails kunt u vervolgens op dit type baseren.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 43
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Aanmaken Subscriber en unsubscriber groepen Ook heeft u een subscriber group (group type: static of subscriber) nodig waar de subscribers aan kunnen worden toegevoegd. Een unsubscriber group (group type: static) is niet verplicht.
Aanmaken procedure definitie
U kunt een procedure aanmaken door onder setup, uit het dropdown menu content te selecteren en de gewenste workspace te selecteren, kies vervolgens voor New onder procedure definition in het menu boven aan de pagina.
Geef een label en een naam voor de procedure op, seleteer het e-mail veld (dit is het contactveld waar heen ge-emailt dient te worden) en geef de gewenste taal op.
Geef op aan welke groep de subscribers dienen te worden toegevoegd en welke direct email type gebruikt kan worden voor het e-mailen.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 44
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Voor de verschillende fases binnen de aanmeld/ wijzig/ afmeld flow kan er een e-mail en url naar een vervolgpagina worden opgegeven. De directmails die worden gebruikt dienen op een bepaalde manier te zijn opgemaakt, lees meer hierover onder het kopje ‘Custom direct mails’. Wanneer u (nog) geen direct mails voor dit doeleinde heeft aangemaakt, kan u gebruik maken van de Default e-mails die door Tripolis Dialogue worden gestuurd.
Onder het kopje Unsubscribe kan u opgeven of de contacten verplaatst dienen te worden naar een afmeldgroep of dat de contacten uit de contact database verwijderen moeten worden. Ook hier kunt u een url naar vervolg pagina opgegeven, deze wordt getoond nadat het contact zich heeft uitgeschreven.
U heeft de mogelijkheid om een referentie naar een externe stylesheet op te geven. Hiermee kunt u de verschillende pagina’s van een persoonlijke tint voorzien. Tevens kunt u een url opgeven naar een afbeelding. Deze afbeelding wordt standaard rechtsboven getoond, maar kan middels de stylesheet een op andere locatie worden weergegeven.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 45
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch Standaard weergave Tripolis Dialogue webforms:
Weergave Tripolis Dialogue webforms met custom stylesheet met de optie Display field groups aan, deze field groups worden afgeleid uit de contact dababase setup:
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 46
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Formuliervelden selecteren
Door het tabblad fields te selecteren kunt u opgeven welke optionele velden u wilt opnemen in het registratieformulier, tevens worden de verplichte velden getoond.
Nadat u alle benodigde gegevens heeft opgeslagen krijgt u onderaan de pagina een procedure URL te zien. Wanneer u naar deze URL een e-mail adres stuurt, middels een parameter genaamd email wordt de procedure in gang gezet. U kunt de email parameter zowel via een POST als via een GET doorgegeven. http://public.tripolis.com/forms/gP3trkbLuGPD_+d+DKbkBA/+HSYj9cbMuUnsV9DH+wZr A/webforms.html .
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 47
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Custom direct mails U kunt binnen Tripolis Dialogue Direct mails aanmaken die kunnen worden gebruikt in de aanmeldings flow. Deze e-mails dienen de juiste special links te bevatten.
Om een special link voor een procedure in te voegen klikt u op het ‘Insert special link’ icoontje. Selecteer webforms als ‘Type of link’, selecteer de procedure definitie en kies vervolgens welke procedure link u wilt invoegen (confirm / change / unsubscribe / subscribe). Omdat er bij het versturen van de confirm mail geen contactdata voor dit contact is opgeslagen is het niet mogelijk om een onlineviewer link op te nemen in de e-mail. Ook kunnen er om deze reden geen clicks worden rapporteerd. Voor de confirm e-mail geldt dat zowel in de HTML als de tekst versie de confirm special link moet zijn opgenomen: Voorbeeld van een confirm special link: [webforms=Confirm;CONFIRM=+HSYj9cbMuUnsV9DH+wZrA] Voor de final mail geldt dat zowel in de HTML als de tekst versie de change special link moet zijn opgenomen. Voorbeeld van een change special link: [webforms=Change profile;CHANGE=+HSYj9cbMuUnsV9DH+wZrA] Let op: Zijn de verplichte special links niet aanwezig in de direct e-mails, dan wordt er een standaard bevestiging en/of final mail verstuurd, zodat de procedure blijft werken. Voorbeeld van een standaard bevestigings e-mail:
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 48
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Custom webform links U kunt ook gebruik maken van de custom webform links als vervanging voor de special links, indien u bijvoorbeeld de links van een eigen stijl wilt voorzien. subscribe http://public.tripolis.com/forms/gP3trkbLuGPD_+d+DKbkBA/+HSYj9cbMuUnsV9DH+wZr A/webforms.html?email=${contact.email} change http://public.tripolis.com/forms/gP3trkbLuGPD_+d+DKbkBA/+HSYj9cbMuUnsV9DH+wZr A/form.html?contactId=${contact.encryptedContactId} unsubscribe http://public.tripolis.com/forms/gP3trkbLuGPD_+d+DKbkBA/+HSYj9cbMuUnsV9DH+wZr A/webforms.html?act=unsubscribe&contactId=${contact.encryptedContactId}
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 49
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch TELL A FRIEND VOOR GEBRUIK IN NIEUWSBRIEVEN. Wat is een Tell a friend Tell a friend is de benaming voor de mogelijkheid om één of meer bekenden op de hoogte te brengen van de door u verkregen informatie. In Tripolis Dialogue wordt een standaard oplossing voor het doorsturen van een door een contact ontvangen e-mail aangeboden. Middels een link in een nieuwsbrief kan een contact worden doorgestuurd naar een TAF formulier. Het contact kan vervolgens de gegevens van een of meer bekende opgeven waarna de nieuwsbrief, gebasseerd op een TAF template, wordt doorgestuurd naar de bekende van het contact. De contactpersoon welke de Tell a friend (TAF) doorstuurd wordt sender genoemd. De ontvanger wordt vervolgens het contact genoemd. Voor gebruik in een nieuwsbrief is een TAF special link beschikbaar gesteld. [tell_a_friend=tell a friend;href= http://www.uwTAFwebform.com/taf/index.php] Custom TAF link: http://www.uwTAFwebform.com?contactId=${contact.encryptedContactId}&jobId=${conta ct.encryptedJobId}
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 50
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Implementatie Tell a friend Voor het gebruik van de tell a friend functionaliteit zijn de aanwezigheid van een TAF HTML en tekst template verplicht. De TAF template bepaalt hoe de contactpersonen de TAF versie van de nieuwsbrief ontvangen. Door het gebruik van een TAF template heeft u de mogelijkheid om de TAF versie van de nieuwsbrief een ander uiterlijk te geven en onderdelen die niet van toepassing zijn weg te laten. Denk hierbij bijvoorbeeld aan de uitschrijf link en onlineviewer. Er is geen online view van de TAF versie van de nieuwsbrief beschikbaar, dit is omdat een online versie op een later moment ook beschikbaar moet zijn, de gegevens van het TAF contact zijn dat alleen bij verzending van de e-mail. In de TAF link in uw nieuwsbrief verwijst u door naar een TAF webformulier. Dit webformulier stuurt de juiste parameters door naar Tripolis Dialogue, waarna de TAF email(s) verstuurd worden.
TAF webformulier Het webformulier wordt door u zelf gehost en moet aan de volgende eisen voldoen: Het formulier moet een POST uitvoeren naar: http://public.tripolis.com/taf , hier moeten de volgende parameters heen gestuurd worden: cId: Het contactId; op te vragen door de contactId GET parameter op te halen. mId: Het jobId; op te vragen door de jobId GET parameter op te halen. retUrl: De return URL; nadat het TAF formulier is verstuurd wordt het contact doorgestuurd naar deze URL. Optioneel: subject: Het subject van de TAF versie van de nieuwsbrief. Indien deze niet wordt meegestuurd wordt het standaard subject van de nieuwsbrief gebruikt. pN: Persoonlijk bericht; Hier kan een persoonlijk bericht worden meegestuurd wat namens de verzender in de TAF template kan worden ge-merged. Dit veld is in de TAF template opvraagbaar middels: ${sender.message} De profielvelden: Het is mogelijk elk contactdatabase veld in het webformulier aan te bieden. Als naam wordt dan de naam van het contactdatabase veld gebruikt, gevolgd door een underscore en een getal beginnend bij 1 voor het eerste TAF contact en 2 voor het tweede taf contact. Bijvoorbeeld: email_1, email_2, email_3 voor het opgeven van de email adressen voor 3 TAF contacten.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 51
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Voorbeeld TAF webformulier Zoals in onderstaand voorbeeld is te zien wordt hier de mogelijkheid geboden de nieuwsbrief door te sturen naar één of twee contacten. In dit voorbeeld wordt middels PHP de parameters contactId en jobId opgehaald.
TAF Template Voor het gebruik van de TAF functionaliteit is een HTML en tekst TAF template verplicht. In de TAF templates heeft u de mogelijkheid om gebruik te maken van het sender object. Het sender object bevat de informatie van het contact welke de TAF heeft geinitieerd. U heeft de beschikking over alle contactvelden welke voor deze sender bekend. Ook kunt u de persoonlijke boodschap meesturen middels ${sender.message}, indien het veld pN in het TAF formulier is opgegeven. Dialogue handleiding / technisch Content
versie 11/09/09
pagina 52
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch Ook is het mogelijk om de velden die zijn opgegeven in het TAF formulier mee te mergen in de mail. Deze velden worden als contact object beschikbaar gesteld. Wanneer bijvoorbeeld de voornaam is meegestuurd kan deze worden opgevraagd middels ${contact.firstname}. Zo kan u bijvoorbeeld de code: “Hoi ${contact.firstname!} deze e-mail is namens ${sender.firstname!} naar u toe gestuurd” opnemen in uw TAF template.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 53
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
TELL A FRIEND PREVIEW Om de verzender van de TAF de mogelijkheid te geven zijn te versturen bericht in te zien voor verzending, is er een TAF Preview servlet beschikbaar. Met de benodigde parameters kunt u een preview van de e-mail tonen. De locatie van de TAF Preview webservlet is: http://public.tripolis.com/tafPreview De volgende parameters behoort u mee te geven: Het contactId van de verzender, parameter naam: cId Merge veld in e-mail: ${contact.encryptedContactId} Het mailjobId van de e-mail, parameter naam: mId Merge veld in e-mail: ${contact.encryptedJobId} Een of meer profielvelden, parameter formaat: veldnaam_1 Optioneel kunt u de volgende parameters meegeven: Het persoonlijke bericht dat door de verzender is opgegeven, parameter naam: pN Welk van de opgegeven contacten gebruikt moet worden voor de preview, wanneer er meerdere TAF contacten worden opgegeven, parameter naam: tn (getal) Voorbeeld url http://public.tripolis.com/tafPreview?cId=Mjg1NjAwNTGMdCDprzC_oXSJhXQCYQWP& mId=MTM5NzUyNjSMdCDprzC_oRpaAAO2LvZr&email_1=support@tripolis.com&firstna [email protected]&firstname_2=Dialogue&pN=graag%20breng %20ik%20je%20op%20de%20hoogte&tn=1
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 54
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch LAATSTE MAILINGSNAPSHOT OPHALEN Tripolis Dialogue heeft een webservlet welke het mogelijk maakt middels de juiste parameters de laatste ‘snapshot’ van een e-mail op te halen en weer te geven in uw browser. Een mailingsnaphost kan worden opgehaald op basis van een groep of op basis van een e-mail type. Bij het gebruik van de groep parameter wordt de laatste snapshot, welke naar deze groep is verstuurd, opgehaald. Maakt u gebruik van de e-mail type parameter dan wordt de laatste snapshot, welke middels dit e-mail type is verstuurd, opgehaald. De url van de webservlet is: http://public.tripolis.com/lastmailingsnapshot De volgende parameters behoort u door te sturen: mt: mailing type (newsletter of email). scId: encrypted contact Id voor een voorbeeld weergave. En afhankelijk van of de snapshot op basis van de group of het e-mail type moet worden opgehaald het dId (encrypted Id van het e-mail type) of gId (encrypted Id van een contact groep). Encrypted Id van het e-mail type (dId): De dId parameter, het encrypted Id van het e-mail type is terug te vinden in Tripolis Dialogue door onder instellingen/ setup uit het dropdown te kiezen voor Content en binnen de workspace op de naam van het e-mail type te klikken:
Vervolgens ziet u in de adresbalk van uw browser het encrypted Id van het e-mail type:
Encrypted Id van een contactgroep (gId): Dialogue handleiding / technisch Content
versie 11/09/09
pagina 55
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch De gId parameter, het encrypted Id van een contactgroep, kunt u terug vinden in de Contact Module van Tripolis Dialogue door een contactdatabase te selecteren en vervolgens te klikken op de gewenste groep.
In de adresbalk van uw browser verschijnt vervolgens het encrypted Id van de contactgroep:
Encrypted Id van een contact (scId): Wanneer we de mailingsnapshot aan de hand van een voorbeeld contact willen ophalen maken we een encryptedContactId meegeven in de scId paramenter. Deze vindt U door op een contact in de contactdatabase te klikken en de encryptedContactId uit de URL in de adresbalk van uw browser af te leiden:
Voorbeelden lastmailingsnapshot URL’s
Een voorbeeld op basis van een contactgroep: http://public.tripolis.com/lastmailingsnapshot?mt=newsletter&gId=NDY0MTE0NjTNQvgi9 dLTcw&scId=MjY5NDA5MjOMdCDprzC_oXSJhXQCYQWP
Een voorbeeld op basis van een e-mail type:
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 56
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch http://public.tripolis.com/lastmailingsnapshot?mt=newsletter&dId=NjQ5NjQ5NjTOMKHSu ZQHXw&scId=MjY5NDA5MjOMdCDprzC_oXSJhXQCYQWP
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 57
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
HTML E-MAIL GUIDELINES. Technische guidelines
Vermijd het gebruik van floats in css, deze worden zeer slecht ondersteund door de verschillende email clients.
Maak gebruik van genestelde tabellen voor de opmaak van de mail.
Zorg ervoor dat je voor alle afbeeldingen de alt, title, height, en width atributen gebruikt. Dit zorgt ervoor dat de layout er goed uit blijft zien wanneer de afbeeldingen door de e-mailclient niet worden weergegeven.
Gebruik alleen afbeeldingen van het type gif en jpg en gebruik de juiste compressie.
Geef altijd een doctype en contenttype op: <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Design/ Deliverability guidelines
Neem bovenaan de nieuwsbrief altijd een link op naar de webversie van de e-mail.
Vermijd het gebruik van plaatjes voor belangrijke content zoals koppen, links en ‘call’s for action’.
Positioneer de belangrijkste/ meest aantrekkelijke content bovenaan en bij voorkeur aan de linkerkant.
Vraag ontvangers om het from-adres toe te voegen aan hun safesenderlist/adresboek/buddy-list.
Zorg ervoor dat alle links voorzien zijn van een target=”_blank” atribuut, zodat de pagina bij webmailclients niet in de mailomgeving van de gebruiker wordt ge-opend.
Zorg ervoor dat de afmeldlink minstens zo gemakkelijk te vinden is als de “report spam” knop.
Comprimeer de afbeeldingen op de juiste manier (goede kwaliteit en kleine bestandsgrootte).
Zorg dat de server waar de plaatjes van de mailing staan de serverload voor het ophalen van de plaatjes aan kan.
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 58
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch
Recommendations / Tips
Test je ontwerp in de preview pane, fullscreen, met plaatjes aan/ uit en in verschillende e-mailclients.
Gebruik css spaarzaam, beperk het gebruik van css tot het stylen van achtergrondkleur, lettertypes, etc.
Gebruik CSS in email De onderstaande CSS eigenschappen worden door de meest gangbare e-mailclients ondersteund.
color
font-size
font-style
font-weight
text-align
text-decoration
background-color
border
font-family
font-variant
letter-spacing
line-height
padding
table-layout
text-indent
text-transform
Kijk voor een volledig overzicht van de ondersteuning van CSS door de verschillende emailclients op: http://www.campaignmonitor.com/css/
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 59
Tripolis Solutions / Academy Dialogue Handleiding Content Module Technisch Handige links: Premailer: preflight for HTML e-mail: Vul hier de url naar de online versie van de mailing in, om deze te testen op ondersteuning van de verschillende css eigenschappen. http://code.dunae.ca/premailer.web/ Sol Design: Convert CSS Styles to Inline for Emails Converteerd CSS in de style tag van de head van de html, naar inline styles voor gebruik in e-mail. http://www.soldesignco.com/dev-csstoinline.php
Dialogue handleiding / technisch Content
versie 11/09/09
pagina 60