• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Seminar Copernica Developer
 

Seminar Copernica Developer

on

  • 2,079 views

Developer training Copernica Marketing Software

Developer training Copernica Marketing Software

Statistics

Views

Total Views
2,079
Views on SlideShare
2,079
Embed Views
0

Actions

Likes
1
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Seminar Copernica Developer Seminar Copernica Developer Presentation Transcript

    • Developer training Copernica Marketing Software Woensdag 13 mei 2009 Emiel Bruijntjes
      • Onderwerpen
      • Ontwikkelen van HTML templates
      • Personaliseren
      • Inladen en vormgeven van externe content in nieuwsbrieven
      • Aanroepen van de POM SOAP API
      • 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
    • Loop in een template [loop name=”voorbeeld”] <div> <b>Deze code wordt herhaald</b> </div> [/loop]
    • Geneste loops [loop name=”voorbeeld”] <div> <b>[text name=”tekst”]</b> </div> [/loop]
    • Onhandige loops <table> [loop name=”voorbeeld”] <tr> <td>[text name=”tekst”]</td> </tr> [/loop] </table>
    • Hoe dit beter kan [loop name=”x” begin=”<table>” end=”</table>”] <tr> <td>[text name=”tekst”]</td> </tr> [/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
    • 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 deed 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;/></b></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?
      • Next: brrl