Moderator |
|
Wat je altijd kunt doen is dit "probleem" verkennen zonder bijkomst van techniek. Je zou als het ware het scenario kunnen schetsen van de functionaliteit die je wilt hebben.
ABSTRACT
Kort gezegd wil je functionaliteit waarbij iemand een PDF kan downloaden in ruil voor een e-mailadres.
Laten we dit nog wat verder verkennen:
Waarschijnlijk wil je niet dat deze "check" te omzeilen valt, oftewel, het PDF-bestand mag alleen "geserveerd" worden indien een e-mailadres wordt opgegeven.
Ook wil je waarschijnlijk niet dat elk willekeurig e-mailadres opgegeven kan worden, oftewel er moet een soort van verificatie zijn dat het e-mailadres ook echt behoort bij de persoon die het PDF-document wil, anders zou ik bijvoorbeeld lala@whatever.com invullen, en dat lijkt mij ook niet de bedoeling.
MINDER ABSTRACT
Een mogelijke (abstracte) implementatie voor deze functionaliteit is als volgt:
Gebruiker X geeft via een formulier zijn/haar e-mailadres Y op waarbij deze persoon zijn interesse laat blijken voor PDF-document Z.
In de verwerking van het formulier wordt een moeilijk raadbare download-link A gegenereerd waaraan de gegevens X,Y,Z worden gekoppeld. In deze verwerkingsstap wordt tevens een e-mailbericht gestuurd naar het e-mailadres Y waarin deze download-link A staat opgenomen. Dit vormt in wezen de "controle" voor de geldigheid van het e-mailadres Y, je stuurt gebruiker X de informatie die hij/zij nodig heeft om document Z te kunnen downloaden.
Na ontvangst van het e-mailbericht door gebruiker X klikt deze op de download-link A. Deze link verwijst naar een script dat de geldigheid van deze link controleert en vervolgens (na het opsnorren van de daarbij behorende informatie X,Y,Z) het juiste document Z serveert.
Je zou het hierbij ook zo kunnen maken dat de download-link A zijn geldigheid meteen verliest, met andere woorden, het document kan ten hoogste één keer gebruikt/verzilverd worden. Ook zou je hier een beperkte houdbaarheidsdatum aan kunnen hangen et cetera.
CONCREET
Concreet het je twee processen nodig aan de webserverkant:
- een proces dat het formulier verwerkt, gegevens opslaat en een e-mailbericht verstuurt (een mail-script met wat toeters en bellen)
- een proces dat de documenten afschermt en een gebruiker in staat stelt om middels een geldige download-link een document te downloaden (een download-script)
Om dit soort taken te kunnen uitvoeren heb je een soortement van server side scripting taal nodig die dit soort processen kan uitvoeren, met enkel HTML (dit is een opmaaktaal) en JavaScript (wat doorgaans client-side is) kom je er waarschijnlijk niet.
Afhankelijk van de mogelijkheden van je web-account (wat ondersteunt deze?) zal bepaald moeten worden wat de mogelijkheden zijn. Een redelijk popuplaire (scripting)taal is PHP maar ook andere oplossingen zijn denkbaar.
En als je geen zin hebt om dit allemaal zelf te maken dan kun je ook nog overwegen om een soort van file storage/sharing dienst te gebruiken zoals Dropbox, volgens mij heeft deze out-of-the-box (heh) al een soort van functionaliteit voor het delen-van-bestanden-middels-een-download-link.
Wel is dan de verdere afhandeling (iemand zal jou via een extern mailprogramma een e-mailbericht moeten sturen waarin deze duidelijk maakt geinteresseerd te zijn in document Z) en de bijbehorende administratie (wie downloadt wat) dan handmatig... Tis maar net hoe veel en hoe slim je wilt automatiseren. Als je website geen ondersteuning heeft voor een serverside scripting taal dan is de mate van interactie vele malen beperkter. Vaak hebben dat soort sites wel een soort van standaard "contact formulier script" wat een standaard mailtje kan versturen, maar die zijn doorgaans niet heel erg flexibel... |