Copernica Marketing Software - Presentatie Copernica Developers training

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Copernica Marketing Software - Presentatie Copernica Developers training - Presentation Transcript

    1. Developer training Copernica Marketing Software Dinsdag 10 november 2009 Emiel Bruijntjes
      • Onderwerpen
      • Ontwikkelen van HTML templates
      • Personaliseren
      • Inladen en vormgeven van externe content in nieuwsbrieven
      • Aanroepen van de POM SOAP API
      • Expressies en condities
      • HTML Templates
      • Copernica kent geen HTML beperkingen ...
      • … maar e-mailprogramma's wel!
      • Een paar HTML adviezen
      • Gebruik eenvoudige HTML (versie 1.0)
      • Layout met tabllen
      • Vermijd achtergronden
      • Geen floating of gepositioneerde images
      • Geen onbekende lettertypes
      • Geen style blocks, geen externe stylesheets
      • Tip: omzetten van style blokken
      • <style>
      • div {
      • font-weight: bold;
      • }
      • </style>
      • <div style=”font-weight: bold;”>abc</div>
      • <b>abc</b>
      • Afbeeldingen en bestanden
      • <img src=”bestand.gif”>
      • <script src=”voorbeeld.js”></script>
      • <link rel=”stylesheet” type=”text/css” href=”style.css”/>
      • Ruimte reserveren voor content
      • [text name=”naam_van_blok”]
      • [image name=”naam_van_blok”]
      • [loop name=”naam_van_blok”]...[/loop]
      • Punten van aandacht
      • Gebruik unieke namen voor de blokken
      • Gebruik [ldelim] en [rdelim] voor [ en ]
      • De blokken kennen verschillende attributen
    2. Loop in een template [loop name=”voorbeeld”] <div> <b>Deze code wordt herhaald</b> </div> [/loop]
    3. Geneste loops [loop name=”voorbeeld”] <div> <b>[text name=”tekst”]</b> </div> [/loop]
    4. Onhandige loops <table> [loop name=”voorbeeld”] <tr> <td>[text name=”tekst”]</td> </tr> [/loop] </table>
    5. Hoe dit beter kan [loop name=”x” begin=”<table>” end=”</table>”] <tr> <td>[text name=”tekst”]</td> </tr> [/loop]
      • Bizarre truc
      • <a href=“[text name=link]”>Hier komt een link</a>
      • Hoe kan dit beter?
      • <a href=“{$property.linkurl}”>{property.linktext}</a>
      • Een teller van loops
      • [$loop. naam_van_loop.naam_van_subloop. iteration]
      • [loop name=myloop]
      • <a href=“{$property.link[$loop.myloop.iteration]}”>…</a>
      • [/loop]
      • Einde HTML
      • Zijn er vragen?
      • (stripverhaal volgt)
      • De moraal
      • … vertrouw nooit de input van een gebruiker
      • Personaliseren
      • Beste {$voornaam}
      • Welkom op ons seminar!
      • Personaliseren
      • Beste {$voornaam|escape}
      • Welkom op ons seminar!
      • Personaliseren - modifiers
      • {$var|escape} vervang HTML code door entities: < -> &lt;
      • {$var|nl2br} vervang regeleindes door <br/>
      • {$var|strip_tags} verwijder HTML tags
      • {$var|date_format} toon een datum op een nette wijze
      • {$var|truncate} kort een variabele in
      • {$var|trim} verwijder whitespace
      • Meerdere modifiers: {$var|trim|truncate:40|escape}
      • Gegevens uit andere database
      • Beste {$voornaam|escape}
      • Het adres van het dichtsbijzijnde filiaal is
      • {$filiaaladres|escape}
      • {$filiaalplaats|escape}
      • Gegevens uit andere database
      • Beste {$voornaam|escape}
      • Het adres van het dichtsbijzijnde filiaal is
      • {loadprofile from=Filialen postcode=$filaalcode assign=filiaal}
      • {$filiaal.adres|escape}
      • {$filiaal.plaats|escape}
      • Einde personaliseren
      • Zijn er vragen?
      • Inladen van externe content
      • HTML code
      • RSS/Atom feeds
      • Allerlei andere bestanden en content in XML formaat
      • Inladen van HTML code
      • {fetch url=http://www.example.com}
      • Let op
      • Afbeeldingen, scripts en stylesheets worden niet meegenomen
      • De content is niet gepersonaliseerd
      • Personaliseren in eigen content
      • Gebruik een gepersonaliseerde URL
      • {fetch url=http://www.x.nl/voornaam=$voornaam}
      • (let op belasting voor de webserver)
      • Inladen van XML code
      • Bijvoorbeeld RSS of ATOM feeds
      • Ook enquêtes en webforms van Copernica
      • Alle andere mogelijke XML input
    6. Wat is XML? <persoon> <voornaam>Simon</voornaam> <achternaam>De Vries</achternaam> </persoon> <persoon> <voornaam>Sara</voornaam> <achternaam>Bergman</achternaam> </persoon>
      • Invoegen van XML
      • {loadfeed feed=http://www.voorbeeld.com}
      • Copernica downloadt de feed (+cache)
      • Detecteert type (Atom, RSS)
      • Converteert feed naar HTML
      • Plaatst dit in mailing of website
      • Omzetten van XML naar HTML
      • De omzetregels zijn gedefinieerd in XSLT
      • Copernica gebruikt standaard XSLT's voor RSS en ATOM feeds, surveys en webforms
      • Voorbeeld feed
      • <nieuws>
      • <artikel>
      • <titel>Dit is de titel van een bericht</titel>
      • <datum>2009-05-13</datum>
      • <body>
      • Hier komt het volledige artikel
      • </body>
      • </artikel>
      • <artikel>
      • </artikel>
      • </nieuws>
      • Voorbeeld XSLT
      • <xsl:template match=&quot;/&quot;>
      • <h2>Nieuws</h2>
      • <xsl:for-each select=&quot;nieuws/artikel&quot;>
      • <div><b><xsl:value-of select=&quot;titel&quot;/></b></div>
      • <div><xsl:value-of select=&quot;body&quot;/></div>
      • </xsl:for-each>
      • </xsl:template>
      • Meer informatie: www.w3schools.com
      • Een eigen XSLT toepassen
      • {loadfeed feed=&quot;…&quot; xslt=&quot;naam/adres&quot;}
      • {survey name=&quot;…&quot; xslt=&quot;naam/adres&quot;}
      • {webform name=&quot;…&quot; xslt=&quot;naam/adres&quot;}
      • De standaard XSLT's
      • Output zonder opmaak:
      • <div class=&quot;x&quot;>…</div>
      • <div class=&quot;y&quot;>…</div>
      • … zodat je met een stylesheet opmaak kunt veranderen!
      • Stylesheets met Copernica
      • Bestaat uit onderdelen:
        • Algemeen;
        • Rss;
        • Atom;
        • Survey;
        • Webform;
      • Stylesheets met Copernica
      • Het uiteindelijke <style> … </style> wordt uitgebreid met de benodigde settings
      • Overigens <style> blokken kunnen worden omgezet naar style=&quot;…&quot; attributen
      • Mailings
      • Standaard template
      • Content wordt automatisch ingelezen
      • Standaard XSLT
      • Standaard style
      • FOCUS OP CONTENT!
      • Einde externe content
      • Zijn er vragen?
      • (Rebus volgt)
      • POM SOAP API
      • Applicatie is gelaagd opgebouwd:
        • Database
        • Object model
        • User interface
      • Het object model is via SOAP toegankelijk
      • Voorbeelden
      • In online documentatie zijn voorbeeldscripts in PHP, C# en Java beschikbaar
      • Objecten en methodes
      • Elke methode heeft de vorm Classname_methodename
        • Database_retrieve
        • EmailingDocument_createEmailing
        • PdfTemplate_createDocument
      • Elke methode krijgt in ieder geval een ID parameter mee
      • Het ID is uniek voor dit object binnen het account
      • Speciale methodes
      • Classname_retrieve: alle properties van een object opvragen
      • Classname_update: properties van een object bijwerken
      • Classname_remove: object verwijderen
      • Let op: verplicht een ID meegeven om object te identificeren!
      • Wat als je het ID niet weet?
      • Pom is opgebouwd als boomstructuur:
        • Account
          • Templates
            • Documenten
          • Databases
            • Velden
            • Interesses
            • Profielen
            • Collecties
              • Collectievelden
              • Subprofielen
      • Object zoeken op basis van naam
      • Dit is niet erg voor top-level objecten
      • Anders kun je opvragen vanuit de parent:
        • EmailingTemplate_document
          • Meegeven: ID van de template
          • Meegeven: naam van het document
          • Retourneert: gegevens en ID van het document
      • Gereduceerde objecten
      • Classname_retrieve retourneert alle properties,
      • Alle overige methodes retourneren standaard een beperkt aantal properties (naam + ID)
      • Als de parameter 'allproperties' wordt meegegeven, dan wel volledige objecten
      • Meerdere objecten
      • Indien een methode meerdere objecten teruggeeft, kan de output worden gelimiteerd met parameters 'start'en 'length'
      • Documentatie
      • In de online documentatie worden alle methodes toegelicht
      • Copernica voegt op basis van gebruikerservaringen nieuwe methodes toe
      • Einde POM SOAP API
      • Zijn er nog vragen?
      • Condities en expressies
      • Op basis van SpiderMonkey (JavaScript engine van Firefox)
      • Te gebruiken bij blokken in HTML documenten, en bij opvolgacties
      • Condities moeten naar ‘true’ of ‘false’ evalueren
      • De beschikbare variabelen zijn gelijk aan de personalisatievariabelen
      • Condities bij blokken
      • Bij tekstblokken kon dit ook al met smarty: {if $woonplaats == ‘amsterdam’}
      • In loopblokken en imageblokken kun je geen Smarty gebruiken, …
      • maar wel condities!
      • Imageblok alleen bij bepaalde woonplaats ? Woonplaats == ‘amsterdam’
      • Loopblok dynamisch aantal iteraties geven? Geslacht == ‘man’ ? 5 : 4
      • Condities bij opvolgacties
      • Probleem: opvolgactie wordt ingeroosterd voor over een week, maar in de tussentijd meldt iemand zich af!
      • Oplossing: aan de opvolgactie kan een conditie worden gekoppeld.
    SlideShare Zeitgeist 2009

    + CopernicaCopernica Nominate

    custom

    77 views, 0 favs, 2 embeds more stats

    Presentatie Fundamentals training tijdens het Coper more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 77
      • 69 on SlideShare
      • 8 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds
    • 7 views on https://www.copernica.com
    • 1 views on http://clayton.copernica.nl

    more

    All embeds
    • 7 views on https://www.copernica.com
    • 1 views on http://clayton.copernica.nl

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories