Posts tonen met het label Tips. Alle posts tonen
Posts tonen met het label Tips. Alle posts tonen

zaterdag 1 november 2014

Drupal: Geheugenlimiet instellen

Het is bekend dat Drupal veel resources gebruikt. Daardoor kan het voorkomen dat je een foutmelding krijgt dat het Drupal-systeem te weinig geheugen ter beschikking heeft om alles vlot te kunnen verwerken.

Standaard staat de geheugenlimiet ingesteld op 128MB.

Gelukkig is er een manier om het beschikbare geheugen manueel aan te passen.

Open het tekstbestand .htaccess (dit bestand staat in de root-folder van je Drupal installatie).

Voeg volgende regels toe aan dit bestand:

# memorylimit
php_value memory_limit 160M

In bovenstaand voorbeeld wordt het beschikbare geheugen aangepast naar 160MB. Uiteraard kun je hier ook een ander getal plaatsen.

LET OP! Mogelijk kan je hosting-provider je op de vingers tikken wanneer je teveel geheugen reserveerd voor je Drupal-systeem. Wanneer je site in productie gaat, test deze dan opnieuw met de standaard-geheugenlimiet.

Sla het bestand op en leeg de cache van je Drupal-systeem.
(Beheer > Ontwikkeling > Prestaties)

In de Statusrapportage kun je nu je beschikbare geheugen kontroleren.
(Beheer > Rapportages)




zaterdag 22 februari 2014

Hoe standaard-afbeelding toevoegen tijdens het delen van je site op Facebook?

Laatst kreeg ik een opmerking, wanneer mijn site http://www.market-locator.com gedeeld wordt op Facebook er een logo of afbeelding ontbreekt naast de link.

Na wat zoekwerk kwam ik erachter dat je via 'Facebook' meta-tags bepaalde info kan toevoegen aan je site, en Facebook deze meta-tags gebruikt om gegevens bij de gedeelde link te plaatsen.

Om te testen hoe Facebook jou site 'scant' kun je de link ingeven op:

In onderstaande afbeelding zie je hoe Facebook de gegevens opneemt van mijn site.



Het is eigenlijk héél simpel!

1. Maak een afbeelding van max. 200 x 200 pixels.
2. Upload deze naar je site.
3. Plaats volgende meta-tag regel tussen de <head>-tags:
   <meta property="og:image" content="http://www.jouwsite.com/directory_van_je_afbeelding/afbeelding.png" />
4.Test je site nogmaals via: https://developers.facebook.com/tools/debug

Hier zie je het resultaat tijdens het delen van een link:



Het is ook mogelijk op éénvoudige wijze andere gegevens (beschrijving, title, ... ), op dezelfde manier toe te voegen vb:

<meta property="og:title" content="Titel van je site" />
<meta property="og:site_name" content="Site naam" />
...

Voor nog meer mogelijkheden, surf naar:

en klik op 3. Use proper Open Graph tags to drive distribution

Succes!!!

;-)





donderdag 3 oktober 2013

Drupal7:Form-id weergeven en overriden

Tijdens het coden in Drupal is het soms handig om de form-id te kennen, dit om bepaalde formulieren te overriden.
Uiteraard bestaat er een zeer goed module hiervoor, nl: Devel.

Maar het kan nog sneller...

1. Form-id weergeven



Zoals je in de afbeelding ziet, weet je onmiddelijk de form-id. In bovestaande afbeelding is de form-id: user_login .

Om deze melding te krijgen voeg je volgende code toe aan je /sites/all/themes/mijn_theme/template.php:


function MIJN_THEME_form_alter(&$form, &$form_state, $form_id) {
  // Show form_id
  drupal_set_message("Form ID is : " . $form_id);
}


Vergeet niet de naam MIJN_THEME te vervangen door de naam van je eigen theme, en na het opslaan van template.php de caches te legen!

Wanneer je nu op een pagina met formulier terecht komt staat nu de id van je formulier erbij.

Waarvoor kunnen we dit gebruiken? Als je formulier wil aanpassen naar je eigen wensen. Voorbeeld om een extra class-CSS toe te voegen aan je formulier.

In dit code-voorbeeld ontbreekt de class-tag:

<form method="post" action="login">


Mét class-tag:

<form class="test" method="post" action="login">


Ok, hieronder het verlossend antwoord...


2. Formulier overriden

Om bovenstaand code-voorbeeld op te lossen voegen we eenvoudigweg volgend stukje code toe aan je template.php.


function MIJN_THEME_form_alter(&$form, &$form_state, $form_id) {
  // Show form_id
    drupal_set_message("Form ID is : " . $form_id);
 // Node edit form
    if ($form_id == "user_login") {      $form['#attributes'] = array('class' => 'test');  
  }  
}


Klein woordje uitleg: De form-id wisten we al user_login.

Als (if) form-id = "user_login"{
 voeg dan volgend attribuut toe class="test"

Voila! That's it!

Op deze manier kun je alle formulieren aanpassen, door het toevoegen/aanpassen van elementen, attributen, enz...

Voor alle mogelijke aanpassingen van formulier-elementen kun je terecht op de Drupal API pagina.

Succes!






zaterdag 23 februari 2013

Drupal7: Tekst onzichtbaar maken voor ingelogde gebruiker.

Stel je wil de bezoeker aanmoedigen om zich te registreren op je site. Vb. met deze tekst:

Registreer je en voeg commentaar toe!

Uiteraard is het zinloos dat bovenstaande tekst nog zichtbaar is voor een ingelogde gebruiker.

Je kan dit zoals altijd in Drupal op verschillende manieren doen, vb. door het toevoegen van een blok en deze een gebruikersrol meegeven, maar onderstaande code-snippet kun je overal gebruiker op je site, vb. in Panels, modules, templates, Basic-page, ...
Enige voorwaarde als je de code in een blok, basic-page, artikel, ... gebruikt moet je de PHP-filter activeren in de Drupal core.

Hier de code-snippet:

<?php
global $user;
// Indien een anonieme gebruiker
if ($user->uid == 0) {
  // Toon tekst
  echo 'Registreer je en voeg commentaar toe!';
}
?>


Woordje uitleg...

Een anonieme gebruiker geeft altijd een uid (=User Id) die gelijk is aan nul!
Een ingelogde gebruiker geeft altijd een uid die groter is dan nul!

Dus bovenstaande code in mensentaal betekent:
Wanneer een NIET ingelogde bezoeker de site bezoekt heeft deze een uid die gelijk is aan nul en is de tekst zichtbaar.
Wanneer een bezoeker is ingelogd heeft deze een uid gekregen die groter is dan nul en is de tekst niet zichtbaar.

Je kunt er ook voor zorgen dat een stukje tekst (vb. je bent ingelogd!) enkel zichtbaar is voor een ingelogde gebruiker.


<?php

global $user;
// Indien een gebruiker is ingelogd
if ($user->uid > 0) {
  // Toon tekst
  echo 'Je bent ingelogd!';
}

?>

In dit code-voorbeeld zie je indien de uid (dus ingelogde gebruiker) groter is dan nul de tekst 'Je bent ingelogd!' wordt getoont.



woensdag 20 februari 2013

Drupal7: Redirect standaard login/registratie-pagina naar error-pagina

De registratie/login-pagina's van Drupal zijn standaard te bereiken via volgende url:

../user/register of ../user/login

Er kunnen verschillende redenen zijn om  deze pagina's door te sturen naar een andere url (in dit vb. een error-pagina):

- Spammers weren
- Eigen login/registratie-pagina gemaakt
-...

NB: Indien je wil dat niemand kan inloggen op je site (enkel de admin!), is het eenvoudigst om de accountinstellingen te wijzigen van je Drupal-site: Instellingen > Personen > Accountinstellingen


Op de site http://www.market-locator.com/ had ik behoorlijk wat last van spammers. Ook heb ik zelf een login-pagina en registratie-pagina ontwikkelt:







Wanneer een bezoeker surft naar de standaard login/register-pagina's wordt deze doorgestuurd naar een error-pagina in bovenstaande site.

Uiteraard kun je de bezoeker ook doorverwijzen naar je zelfgemaakte login/register-pagina's of andere pagina's.


De praktijk:

Hoe stuur je de bezoeker naar bvb. een zelfgemaakte error-pagina als ze surfen naar: ../user/login of ../user/register?

1. In dit voorbeeld maken we een nieuwe 'Basic Page' en noemen we deze error en typen we volgende tekst bvb. 'ACCES DENIED! VERBODEN TOEGANG!

2. Geef de pagina-link een naam, vb: error. 



3. In de root-folder van je Drupal-site staat een .htacces-file, open deze in een editor.

4. Voeg nu volgende regels toe aan dit bestand:

Redirect 301 /user/register /error
Redirect 301 /user/login /error


Nu gaan we testen:

Surf nu naar je Drupal-site en typ:

http://www.jouw_site.com/user/register of http://www.jouw_site.com/user/login

Als alles goed gaat zou je nu de error-pagina moeten zien!

Succes ;-)






donderdag 22 april 2010

Inloggen op Belgische eID-site met Firefox

Lukt het niet met je eID-cardreader, om in te loggen op MyBelgium, of andere gerelateerde eID-sites,via Firefox?



Installeer dan volgende add-on: https://addons.mozilla.org/nl/firefox/addon/51744

Herstart de webbrowser!

Installeer de nodige certificaten wanneer je inlogd op de site van MyBelgium.

Voila, nu zou je probleemloos moeten kunnen inloggen!

Voor meer info: http://eid.belgium.be/nl/binaries/Firefox%20-%20NL_tcm147-98991.pdf


Succes!

woensdag 21 april 2010

Bedieningspaneel voor xampp onder Linux

Php is een server-scripting taal, daarvoor dien je ook een server te draaien om de php-code te verwerken.
Daarvoor kun je het kant-en-klare pakket 'xampp' gebruiken.
Dit pakket beschikt oa over :

- Apache
- PHP
- MySQL
- phpMyAdmin
- ...

Dit is handig en snel geïnstalleerd!

De xampp-versie voor M$-windows beschikt over een handig bedieningspaneel.

M$ Windows-versie:


Zoiets bestaat ook voor linux, in dit artikel zal ik U op weg helpen, hoe je dit bedieningspaneel installeerd.

Linux-versie:


Ik veronderstel dat xampp al geïnstalleerd is op je pc. Indien niet download en volg dan de instructies op deze site.

Aan de slag...

- Open een terminal en maak een leeg bestand 'xamp-control-panel'.
christophe@ubuntu-laptop:~$ gedit ~/.local/share/applications/xampp-control-panel.desktop [enter]
('gedit', kun je eventueel vervangen door je eigen editor!)

- Plak nu onderstaande code in de editor, sla het bestand op, en sluit de editor af.

[Desktop Entry]
Comment=Start/Stop XAMPP
Name=XAMPP Control Panel
Exec=gksudo "python /opt/lampp/share/xampp-control-panel/xampp-control-panel.py"
Icon[en_CA]=/usr/share/icons/Tango/scalable/devices/network-wired.svg
Encoding=UTF-8
Terminal=false
Name[en_CA]=XAMPP Control Panel
Comment[en_CA]=Start/Stop XAMPP
Type=Application
Icon=/usr/share/icons/Tango/scalable/devices/network-wired.svg


Je kunt nu je 'xampp-control-panel' opstarten via je start-menu:

Toepassingen -> Overige



Voor meer gedetailleerde uitleg kun je vinden op deze site.

Hierbij wil ik de forum-gebruiker 'Gijsbert' bedanken, die mij op de hoogte heeft gebracht via een topic in het ubuntu nl forum, over het 'bestaan' van deze oplossing :-)

Happy coding ;-)

dinsdag 20 april 2010

eID installeren via Ubuntu softwarecentrum

In mijn vorig bericht, heb ik proberen uit te leggen hoe je een eID-kaartlezer installeert onder (ubuntu) linux, via de Belgische eID-site.

Welnu, het kan nog eenvoudiger! Jawel, u hebt goed gelezen!!!
Zelfs M$ Windows kan daar niet aan tippen ;-)

In ubuntu 9.10 is de software voor eID al aanwezig, ttz je hoeft het enkel aan te klikken om te installeren!!!

Lang Leve (Ubuntu) Linux :-)))

Ga naar:

Toepassingen -> Ubuntu Softwarecentrum

- Typ in het zoekvakje rechtsboven 'ied'


- Dubbelklik op de te installeren applicatie 'Uitlezen en beheer'


Ga nu naar:

Toepassingen -> Hulpmiddelen -> Lezen en beheren


Uiteraard dien je nog het 'ontbrekende pakket te installeren, zodanig de applicatie de aangesloten cardreader kan 'zien'.

Typ in de terminal als root:

christophe@ubuntu-laptop:~$ sudo aptitude install libccid [enter]

Geef opnieuw je root-paswoord in, en het ontbrekende pakket wordt geïnstalleerd.

Happy eIDen ;-)

maandag 19 april 2010

Belgische eID kaartlezer onder ubuntu 9.10 linux

Het installeren van randapparatuur onder linux is soms een hele uitdaging, daarom zal ik hier zo goed mogelijk proberen uit te leggen hoe je een eID-kaartlezer werkend kan krijgen onder linux (ubuntu).



Mijn kaartlezer is van het merk 'Logon' (http://www.log-on.be), maar denk dat het met andere types kaartreaders ook zou moeten werken.

Op de Belgische-eID site vind je meer uitleg, hoe je de kaartlezer installeerd voor linux.

Download Linux Ubuntu (TGZ, 7.88 MB), en pak deze uit in een nieuw aangemaakte map in je home-dir (bijv. ~/eID).

In deze map vind je een README-bestand. Hierin staat vermeld hoe je het stuurprogamma installeerd.

Open nu een terminal-venster en navigeer naar de map 'install':

christophe@ubuntu-laptop:~$ cd eID/install/ [enter]

Typ nu volgende opdracht in als root:

christophe@ubuntu-laptop:~/eID/install$ sudo ./install.sh [enter]

en typ je root-passwoord in.

Volg de instructies die in het terminal-venster verschijnen.

Als de installatie is voltooid, mag je de terminal sluiten.

Nu zou de applicatie moeten aanwezig zijn in je start-menu:

Toepassingen -> Overige -> Belgische eID.

Wanneer je nu de kaartlezer aansluit, en deze applicatie start, zal er in de systray een pictogram van een cardreader staan.



Zoals je kunt zien hierboven wordt de cardreader nog niet herkent!

Maar als je in de terminal een lijst opvraagt met geïnstalleerde usb apparaten zal deze wel aanwezig zijn!



Dit gaan we oplossen door volgend ontbrekend pakket te installeren 'libccid'

Typ in de terminal als root:

christophe@ubuntu-laptop:~$ sudo aptitude install libccid [enter]

Geef opnieuw je root-paswoord in, en het ontbrekende pakket wordt geïnstalleerd.

Nadat je de eID toepassing opnieuw hebt opgestart en je eID-paspoort in de reader hebt geplaatst, zal je zien dat je volgend pictogram krijgt in je systray:



Voila, nu kun je volop gebruik maken van de aanwezige eID toepassingen van de overheid of andere bedrijven.

Hieronder zie je een voorbeeld van mijn eID-cardreader in aktie:



Voor meer info: http://eid.belgium.be/

Happy eIDen ;-)

dinsdag 1 december 2009

Records zoeken via keuzelijst zonder macro's in ooBase

Soms kan het handig zijn, om dmv een keuzelijst de gegevens van je klanten terug te vinden.

Hoe gaan we te werk:

1. Maak een nieuwe database 'Klanten'.

2. Maak daarin volgende tabellen met volgende velden:

-tblKlanten:-ID: INTEGER(10),Autowaarde aan, (Primaire sleutel)
-Naam: VARCHAR(30)
-Voornaam: VARCHAR(30)
-Telefoon: NUMMERIC(9)

-Dummy:-ID: INTEGER(10), Autowaarde géén, (Primaire sleutel)
-Dummy: VARCHAR(30)


In tabel 'Dummy' maken we één record aan, dus voeg manueel in de velden 'ID' en 'Dummy' de volgende gegevens toe: 1, dummytekst.

De tabel 'Dummy' is eigenlijk een trukje, want deze heeft enkel de functie om het veld'Dummy.ID' in het hoofdformulier straks te verbinden met de 'tblKlanten.ID'.
Verder wordt er niets gedaan met de tabel 'Dummy'.

3.Voer nu enkele namen, voornamen en telefoonnrs. in de tabel 'tblKlanten'.



4.Nu gaan we een query maken van 'tblKlanten', die ervoor zal zorgen dat de velden 'Naam' en 'Voornaam' samen zullen weergegeven worden in de keuzelijst.
OPGELET: Zorg wel de het nieuw aangemaakte veld in de query vooraan staat, en dan pas de 'ID'.




Voor meer details om ivm deze handeling verwijs ik je naar een ander bericht.

5. Maak een formulier aan via de assistent.
Gebruik als tabel voor het hoofdformulier 'Dummy'. selekteer alle velden en voeg ze toe(nadat het formulier is aangemaakt worden deze velden manueel gewist, daar we toch geen gegevens zullen toevoegen aan het hoofdformulier).



6. Bij de volgende stap gaan we een subformulier toevoegen, met als optie 'Subformulier gebaseerd op handmatige selectie van velden.'

7. Bij de volgende stap selecteren we 'tblKlanten' en voegen we volgende velden toe:

-ID
-Naam
-Voornaam
-Telefoon



8. Selecteer de gebonden velden (ID) van beide tabellen, links vind je de velden van het subformulier (tblKlanten), en rechts vh hoofdformulier (Dummy).




9. Voor het schikken vd besturingselementen, zie afbeelding hieronder.



10. Bij de volgende stap kies je de optie 'Het formulier moet alle gegevens weergeven' bij de volgende stap ivm layout laat ik u de vrije keuze, klikdaarna op voltooien.
Je formulier zou er nu zo moeten uitzien ongeveer:



11. Open nu je formulier in de ontwerpweergave Verwijder nu de velden+labels 'ID' en 'Dummy'. Dit doe je door deze aan te klikken en op [Del] te drukken van je toetsenbord.

12.Klik op de optie keuzelijst.
Je kunt nu een keuzelijst 'tekenen' door met je muis-cursor in het formulier te slepen (dit ter grootte ve tekstvak ongeveer), en klik rechts op de keuzelijst, kies daaruit 'Besturingselement...'. Dit opent het eigenschappenvenster vd 'keuzelijst'.



13. Stel volgende gegevens in:

-gegevensveld: ID (dit is van tabel 'Dummy')
-Type lijstinhoud: Query
-Lijstinhoud: qryNaamKlant

14. Open nu de formnavigator.




15. Klik nu met de rechtermuisknop op het subformulier in de navigator om de eigenschappen op te vragen, en kontroleer of de hoofdvelden en slavevelden op 'ID' staan ingesteld. Dit koppelt de tabel 'tblKlanten' vh subformulier aan de tabel 'Dummy' vh hoofdformulier, waarbij in het hoofdformulier de tabel 'Dummy' gekoppeld is aan de 'qryNaamKlant' vd keuzelijst.




16. Vraag nu ook de eigenschappen op van het hoofdformulier via de navigator, en verander de instelling 'Toevoegen toestaan' op Nee.



17. Sla nu je formulier op en sluit deze.

17. Wanneer je formulier opnieuw opstart in het hoofdvenster van ooBase, zou je nu volgend resltaat moeten krijgen:




Wanneer je nu een naam selekteerd in de keuzelijst en het formulier herlaad, om de wijzigingen toe te passen, worden alle gegevens getoond vh betreffende record.
Uiteraard kan je wat aanpassingen doorvoeren, vb. een knop toevoegen om het formulier te herladen ofwel een Macro maken die dit automatisch het formulier herlaad wanneer je een naam selecteert in de keuzelijst.

Succes!

donderdag 17 september 2009

Maak een A5 boekje met 'psbook'

Regelmatig print ik pdf-boeken af.
Uiteraard is het soms overbodig deze altijd in A4-formaat af te drukken (veel papierverspilling, veel meer inktverbruik, ...)

Daarom zet ik mjn A4-pdfs regelmatig om in een A5-boekje.

Door enkele eenvodige stappen kun je in (ubuntu)linux via de console dergelijk bestand omzetten, waarbij zelfs de paginas in de juiste volgorde staan.

Vb.: als je een een boekje hebt met acht A4-paginas (pdf) dus:

|1| |2| |3| |4| |5| |6| |7| |8|

Kan je dit omzetten naar het A5 formaat en recto-verso geprint, dus op 2 A4tjes, waarvan elke A4-blad 4 paginas bevat.

Dan bekom je dit:

Oneven paginas: |8|1| |3|6|
Even paginas: |2|7| |4|5|

Deze twee A4 bladen kun je nu gewoon op elkaar leggen en dichtvouwen, en is je A5 boekje klaar!


Hoe maak je zoiets nu in de praktijk?

Ga naar je console, en installeer psutils:

$ sudo apt-get install psutils

Open een origineel A4-pdf bestand in je documentviewer, en print deze naar een Postscript-bestand (vb: bestand.ps).

Daarna typ je in de console:

$ psbook bestand.ps nieuwbestand.ps

Nu gaan we het nieuwe bestand converteren, dat deze 2 paginas omzet op één zijde van een A4-blad:

$ psnup -2 nieuwbestand.ps > nieuwbestand2.ps


Na deze handeling, zullen we het nieuwe Postscript-bestand terug omzetten naar een pdf-bestand:

$ ps2pdf nieuwbestand2.ps

Nu zal er een nieuw bestand aangemaakt worden met de naam nieuwbestand2.pdf .

Als je dit pdf-bestand nu bekijkt in je documentviewer, zou je een liggend A4-blad moeten zien die voorzien is van 2 paginas, en let vooral op de paginanummering.

Bij het afdrukken, heb je meestal de mogelijkheid om de even of oneven paginas af te drukken. Print eerst de even paginas af, Leg dan dezelde afgedrukte A-4 bladen terug in de printer, maar omgekeerd (bij mij was het in tegenwijzerzin), en print dan de oneven paginas af.

Nu ben je klaar je boekje in te binden!

Meer gedetailleerde informatie over dit onderwerp kun je hier vinden.

maandag 15 juni 2009

uninitialized constant ApplicationController

Na een update van rails, is het mogelijk dat je rails-applicatie niet meer werkt, en volgende foutmelding krijgt:

uninitialized constant ApplicationController

Typ volgende om dit op te lossen:

rake rails:update

Daarna zou je applicatie probleemloos moeten werken.

Succes!

donderdag 19 maart 2009

locatie van een applicatie snel opvragen

Soms kan het voorkomen dat je een snelkoppeling op je desktop wilt aanmaken van een applicatie, maar deze app. niet voorkomt in je Start-menu.

De locatie van je applicatie kan je snel vinden door het gebruik van volgend commando in je console te typen:

which applicatie

Vb:

$which vlc

Resultaat:

/usr/bin/vlc

donderdag 24 april 2008

Bepaalde gebruikers kunnen geen audio afspelen (ubuntu)

Het kan gebeuren dat bepaalde gebruikers wel geluid horen en andere niet.
Dit kan eventueel opgelost worden door de gebruikers die geen geluid horen toe te voegen aan de groep 'audio'.

Wordt sudo en typ:
#gpasswd -a naam_gebruiker audio