D2 les 04

Nieuwsbrieven

Een nieuwsbrief behoort tot de noodzakelijke tools van een moderne website. Drupal heeft er eentje die bijna een monopolie positie inneemt: Simplenews. We gaan in 2 stappen werken. Eerst gaan we de nieuwsbrieven laten werken en daarna gaan we de opmaak (templates) voor  de nieuwsbrieven aanpakken.

Installeren…

 

Neem er ook Mime Mail bij. Voor tekst heb je enkel SMTP nodig (Simple Mail Transport Protocol), maar voor audio, video,  afbeeldingen, programma’s,…  heb je MIME mail nodig (Multi-Purpose Internet Mail Extensions)

Je hebt ook nog Mail system nodig:

Installeer ook de vertalingen. Zoveel plezanter...

Dit overzicht krijg je bij de modules.

Simplenews rules heb je niet nodig.

Ga eens kijken naar de instellingen van Simplenews. Er zijn 3 tabbladen...

Ik vul een e-mail adres in dat ik nog later ga aanmaken.(hier werk ik met Xammp. Van op een server neem je gewoon een ander adres)

Maak ook dat er HTML als formaat staat, anders hebben je mails geen opmaak.

Zet ook bij de andere modules de juiste instellingen:

Ook de manier van verzenden is van belang. Cron komt van chronometer en is een soort taak die op bepaalde tijdstippen wordt uitgevoerd. Dit is bvb nodig om niet alle mails tegelijkertijd te verzenden. Dit zou de mailserver overbelasten. Cron zorgt voor pauzes.

Je ziet dat we cron gebruiken om de mails te verzenden. Test niewsbrieven worden wel onmiddellijk verzonden. De andere wachten op een cron! Voer die desnoods manueel uit.

Nu beginnen we met een nieuwe categorie te maken. We noemen ze kortingen.

Tijdens het instellen kan je de mogelijkheid bepalen hoe een gebruiker kan inschrijven:

Nu krijg je dit te zien… Kortingen werd als categorie aangemaakt.

Via inhoud toevoegen => Simplenews maak je een test nieuwsbrief aan.

We zenden dit naar ons als test.

Als je een echte hosting gebruikt dan kan je de ingesprongen informatie overslaan.

Soms krijg je dit. Dit komt omdat de afzender niet gelinkt is met een domeinnaam. Daarom is het beter om bvb info@drupalisfun.com als afzender te gebruiken.

Als je werkt met Xampp wordt dit naar de map mailoutput in de root gezonden.

Het resultaat in txt formaat. Dit is teleurstellend,  maar we werken op Xampp en dan nog de portable versie. Die heeft geen Mailserver zoal Mercury. Straks gaan we daar een mouw aanpassen…

 

Bij inhoud kan je de status van de nieuwsbrieven volgen.

We kunnen ook een view toevoegen om de nieuwsbrieven te tonen op de site.

Voeg desnoods een veld bij, zodanig dat je de inhoud ook ziet..

Het resultaat:

We kunnen ook een blok  maken om in te schrijven voor de nieuwsbrief.  Bij de blokken staat het aangemaakt maar niet actief. Plaats het blok waar je wil.

Je kunt voor alle brieven laten inschrijven of enkel per categorie:

Maak dat dit enkel getoond wordt bij het type nieuwsbrieven…

Bij de rechten van de gebruikers zie kan je iedereen laten inloggen…

Het resultaat als blok in de zijbalk:

En als deel van de inhoud… Een blok kan je in Drupal ook aan de inhoud toevoegen.

Je kunt ook inschrijven op één categorie. Je kiest simpelweg het blok dat automatisch werd aangemaakt:

Als je wilt inloggen (nadat je de rechten hebt ingesteld.), krijg je een bevestigingsmail:

Je krijgt een link om op te klikken.

De vertalingen kunnen ook aangepast worden. De beschrijving kies je zelf. (Hier laat ik ze weg) Daarna ga ik naar het bestandje subscription.inc en ik vervang de Engelstalige knopinfo.

In dit bestand kan je de resterende termen vertalen:

Het resultaat:

Je kunt nu dit blok toekennen aan pagina's om deze al dan niet te laten verschijnen. Een inhoudstype zou gaan ware het niet dat een view daarmee geen rekening houdt. Toewijzen aan pagina's (bvb nieuwsbrieven/*) lukt wel. De view zou dan nieuwsbrieven heten, elke nieuwsbrief moet dan een URL hebben zoals nieuwsbrieven/brief1... De URL moet dus een pad hebben met nieuwsbrieven in.

Als je een echte hosting gebruikt dan kan je de ingesprongen informatie overslaan.

Bij gebruik van het formulier om in te schrijven, (Opgepast, als je ingelogd bent zie je iets anders !) wordt er hier een bevestigingsmail verzonden naar ons mailmapje.(omdat we mat Xampp lite werken) Kopieer en plak de code in je browser om te activeren.

Je krijgt nog een bevestiging:

In de database kan je nu controleren of de gebruiker er inderdaad staat en geactviveerd werd.

Als je nu de nieuwsbrief effectief verzendt naar de ingeschreven leden, dan zal hij deze verzenden met een tussenpauze. Even geduld dus. Hij is ‘pending’ tot het bericht komt dat het ‘send’ is.

Via inhoud zien we nu de nieuwe status:

OK. De eerste stap werd gezet. We hebben een nieuwsbriefsysteem dat werkt, maar de opmaak trekt nog op niets.. Als we met opmaak willen werken en bvb templates voor de nieuwsbriefwillen maken, dan moeten we ook afstappen van dit .txt bestandje dat wordt aangemaakt in plaats van een echte mail te krijgen.

Als je een echte hosting gebruikt dan kan je de ingesprongen informatie overslaan.

We werken nu lokaal met Xampp portable light zonder Mercury. Hadden we de full Xampp geïnstalleerd, dan was dit reeds aanwezig, maar deze full versie is echter niet zo compatibel met USB sticks.  Wat nu volgt is dus een systeem aanmaken dat toelaat om zonder internet mails te zenden en ontvangen zonder internet!  Daarvoor hebben we een lokale server nodig (Mercury) en een lokaal mailprogramma (bvb outlook express of thunderbird)

We beginnen met Mercury. We gaan de map die bij de full versie voorkomt (zit in de unzip) nu aanbrengen in onze portable versie.

Ga nu in de root de xampp-control aanpassen dat Mercury op 1 staat (actief)

In de map van Mercury, kijk je op de verwijzing naar het juiste station verwijst. Hier heb ik alle C: vervangen naar F: met de vervangtool..

Nu zou je Mercury moeten kunnen activeren in de Xampp:

Als je klikt op admin in het xampp paneel krijg je schrikwekkend veel dialoogvensters. Blijf rustig. De meesten staan goed.  Om te kunnen mailen gaan we eerst een mail account aanmaken. Ik gebruik hier mijn naam, natuurlijk.

Je krijgt hierdoor automatisch een mailadres dirk@localhost (zonder.be of .com!).

Bij de admin van Apache vind je bij php.ini de mailfunctie die je moet wijzigen. De SMTP en de poort moet worden geactiveerd én de mogelijkheid om naar de map te schrijven moet worden gedeactiveerd. 2 zaken wijzigen dus.

Vanaf nu gaan de mails niet meer naar de mailoutput map maar naar een mailprogramma dat daarvoor wordt ingesteld. Daarvoor gaan we nu Thunderbird installeren. Een simpel mailprogrammaatje. Installeer het vanuit internet.

We vinken alles af, want we willen onze standaard mailprogramma als standaard houden.

We voegen nu in Thunderbird onze account toe. Klik op ‘Dit overslaan en mijn bestaand e-mail adres gebruiken’.

 

Vul de gegevens in als volgt: (je ziet een waarschuwing omdat dit geen ‘normaal’ mail adres is). Outlook pikt zo’n adressen trouwens niet en daarvoor moet je dan een alias gebruiken.

Zend eens een berichtje naar jezelf (verzeker je eerst dat je xampp Mercury aanstaat!)

Het werkt toch wel zeker.. ;-)

Ook mails vanuit de admin van Mercury moeten nu hier toekomen. We zenden van hieruit ook nog een mail om alles te testen.

Laat een mail van de e-mail administrator naar jou komen:

Denk nu niet dat je naar een extern adres kunt mailen van hieruit. Dit gaat enkel als je de SMTP gegevens van een hosting kunt gebruiken. Als je dit kunt, dan moet je per definitie geen Xampp gebruiken en geen Mercury, vind ik! Wij gebruiken dus onze mails enkel lokaal, zoals het hoort met Xampp.

Tijd om een template te maken voor onze nieuwsbrieven… Nu is Drupal daar niet bepaald gebruiksvriendelijk in.. De template ontwerpen (is veel gezegd want ze moeten nog gevuld worden met je opmaak) vind je hier:

Kopieer ze naar de map van je thema waar je mee werkt. Hier heb ik 2 van de bestanden gebruikt.

Maak ook dat je een thema aanduidt. Laten staan op 'huidige' werkte bij mij niet...

Open het nu bodybestand met bvb Notepad++ en schrijf iets als test. De afbeelding moet je wel het volledig pad geven vanaf de http... (Troekmetdedoif… Maak een ontwerp zoals voor een artikel en plak de code in de template.) Kan je deze code verklaren?

in de footer het ik wat gefooterd...

Test nu uit:

Het resultaat.

Je kunt nu nieuwsbrieven versturen en opmaken. Toegegeven het is wel directe opmaak... Niet Drupal achtig... Normaal moet je een apart mail.css bestand bij je thema leggen en van daaruit werken...'t zal al gaan zekers.....

Kalenders

In dit gedeelte gaan we de populaire modules Calendar en Event Calendar installeren en gebruiken. Deze modules maken gebruik van een andere kleine module Date, die er voor zorgt dat je data kunt kiezen via een mini kalendertje.  Laat ons die eerst installeren, mocht dit nog niet gebeurd zijn...

We vinken alles aan wat standaard mogelijk is:

Daarna installeren we Calendar (geeft een view in kalendervorm).

Tenslotte gaan we het ons gemakkelijk maken door nog de Event Calendar er bovenop te installeren. Deze laatste module zorgt er voor dat je een kalender krijgt waarop je kunt klikken en rechtstreeks gebeurtenissen invullen op een bepaald moment. Daarvoor gaat dit programma een inhoudstype en een view aanmaken. Het éne om de gebeurtenissen op te slaan en de andere om ze weer te geven .

We vinken alles aan:

Je kunt ook de kleuren instellen in deze voorstelling om bvb een verlofperiode een andere kleur te geven dan een geplande activiteit. Je vind het bij instellingen van de kalender. Je kunt per inhoudstype een kleur kiezen. Je kunt ook een taxonomieterm toevoegen aan het inhoudstype Calendar Event. Maak daarvoor een woordenlijst aan en vul ze met enkele termen. Voeg daarna dit veld toe aan je view. Je kiest uiteindelijk een kleur op basis van de taxonomieterm....

We zien nu dat er een inhoudstype werd aangemaakt met de naam Event Calendar.

We voegen inhoud toe:

Als je inhoud hebt toegevoegd kan je dit bekijken via een, door de module, aangemaakte view. Er werd ook een menulink aangemaakt voor deze view. Opgelet! Standaard zit ze in de het navigatiemenu.

Een mogelijke activiteit, verspreid over een aantal dagen:

De Event Calendar module is constant aan wijzigingen toe. Je kunt dus soms bugs zien, die nog niet werden weggewerkt. In afwachting van een beter versie heb ik bvb een wijziging in de code doorgevoerd, die een storende foutmelding wegwerkte.In de laatste stabiele versie is deze bug weggewerkt, maar ik laat het nog eventjes staan...

Zet deze lijnen als commentaar. Je kan soms nog zo'n zaken tegenkomen. In alle fora wordt er aan gewerkt....

Als je als admin (of iemand met rechten om inhoud voor dit inhoudstype toe te voegen) klikt op de kalender dan springt er een popup op. Je krijgt hier dezelfde input mogelijkheden als bij het normale toevoegen van inhoud.

Dit geeft onmiddellijk resultaat:

Bij klikken krijgt een bezoeker de inhoud te zien, ook als popup:

Als je dit systeem met medewerkers wil delen, moet je zeker de rechten goed zetten:

Als er medewerkers inhoud aanmaken via de kalender kan je daarvan verwittigd worden. Je krijgt dan een standaard mail, wie er wat gedaan heeft..

Laat ons eens de interessante view bekijken. Merk ook op dat er een blok wordt aangemaakt en upcoming zal een filter hebben voor de events die nog volgen. We kijken eens hoe dat werkt...

Bij de paginering kan je positie bepalen van het label.

Bij 'upcoming' staat de filter zo. Goed om weten. Je kunt zo alle views filteren naar een bepaalde datum.

Het blokje 'upcoming'. EDIT verschijnt enkel voor personen met edit rechten. Andere gebruikers zien een mooie opsomming.

Bij het blok hebben ze een minikalender ingesteld. Dit geeft enkel een kalendertje met de dagen weer.

Een voorbeeld van het blokje.

Er is hier ook een mooi voorbeeld van contextuele filtering. Je kunt in de URL jaar/maand (maar dan in cijfers inputten om te filteren).

Bij de instellingen:

Test maar eens uit: (let op de schrijfwijze van de datum!)

Tenslotte gaan we nog een module bespreken die 'Calender Tooltips' heet. Het zorgt voor een tekstballonnetje bij de miniatuurweergaven van de kalender.

We installeren de module.

en we zien dat het afhankelijk is van Beauty tips. Iets wat ik kan gebruiken...

We vinken aan:

Bij de instellingen zien we hoe we de tips kunnen laten verschijnen:

We kunnen gebruik maken van vooraf geprogrammeerde stijlen:

Maar je kunt ook een eigen stijl maken:

Dit komt zo in de lijst te staan.

Je ziet ook in een voorbeeldje wat je hebt ingesteld.

Je eigen stijl staat nu bij de keuzemogelijkheden:

Zo, we hebben kennis gemaakt met de Drupal kalender modules...