Ga naar inhoud
  • 0

Automatisch pdf's mailen


rmw

Vraag

Het is al vaker gepasseerd, maar ik loop toch tegen een paar dingen aan.

Graag houd ik het tegen de experts aan :)

 

Situtatie:

IWP pagina gehost via een twee-machine-configuratie.

Beide Windows Server 2008, Webserver IIS en FMSA 10.

Werkt als een zonnetje, als je de IWP pagina maar in een nieuw venster laat openen en niet in je website integreert (jammer, maar acceptabel)

 

Er wordt dus via het web het een en ander aan records aangemaakt in mijn FM database.

Van die aangemaakt records wil ik de indiener op de hoogte brengen.

Hij/zij laat een e-mail adres achter, dus wat is er makkelijker dan een mail sturen met een afdruk van de ingevoerde gegevens in pdf?

 

Nou, die laatste vraag is in mijn geval niet met 'niets' te beantwoorden.....

 

Er is hier al eerder gemeld dat je dan een client nodig hebt die met enige regelmaat gaat kijken in de database die wordt gehost en dan een print naar pdf maakt en die mailt. De server is daar helaas niet toe in staat (geen pdf-print, wel mail mogelijkheid).

Jammer, maar omheen te komen.

Dacht ik......

 

Ik wilde het als volgt oplossen:

Ik heb een Filemaker hulpbestand gemaakt. Dat hulpbestand bevat niet meer dan een opstartscript. En dat opstartscript start een script in de gehoste database die de verdere check/print/verzending regelt.

Ik heb vervolgens een taak aangemaakt (scheduled task, eigenaar 'systeemgebruiker') die met regelmaat dat hulpbestand een schop geeft. De taak wordt uitgevoerd met de privileges van de systeemgebruiker.

WS2008 kan geplande taken uitvoeren zonder dat de gebruiker echt is ingelogd. Niet meer dan een vinkje in de properties van de taak. Dat is ook wat ik wil: er hoeft niemand bij te zijn als het wordt uitgevoerd en ik wil zo min mogelijk randvoorwaarden op die server hebben (bij updates en herstarts moet dat ook weer allemaal gecontroleerd worden).

 

Dus:

Een windows taak die in de achtergrond wordt uitgevoerd.

Een Filemaker bestand dat via een opstartscript zijn ding doet.

 

Checks:

Filemaker hulpbestand met de hand opstarten, terwijl ingelogd als systeemgebruiker: werkt

Taak laten draaien terwijl ingelogd als de systeemgebruiker: werkt (in de achtergrond, maar werkt)

Taak laten draaien terwijl ingelogd als administrator: 0xC00005 (access denied) als resultaat van de uitvoering van de taak.

Taak laten draaien zonder dat iemand is ingelogd en later als systeemgebruiker inloggen om de resultaten te checken: 0xC00005 (access denied)

Command-file aangemaakt dat de hulpdatabase start en de taak de command-file laten starten, zonder ingelogd te zijn: 0xC00005 (access denied)

 

Resultaat:

De systeemgebruiker is nu altijd ingelogd, filemaker staat altijd open en de taak wordt met een filemaker 'install on timer' script uitgevoerd.

Zeer ongewenste situatie in een server park. Servers moeten na herstart alles doen wat ze daarvoor ook deden en dat gaat hier niet op.

 

Vraag:

Wat zie ik over het hoofd?

Kan FM niet in de achtergrond werken? (als ik als de goede gebruiker ben ingelogd, zie ik van het hele proces niets, dus dat is toch achtergrondwerk?)

Wie heeft een oplossing?

 

rmw

PS Bedankt voor het lezen van deze lap tekst :wink:

Link naar reactie

15 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Hallo Rmw,

 

Ik denk dat ik jouw lap tekst niet goed begrijp, of jij ziet iets over het hoofd.

 

Ikzelf gebruik voor het automatisch mailen van inhoud (in mijn geval XML berichten vanuit een FM database)

gewoon de scheduler van Filemaker server (jij gebruikt FMSA Filemaker server advanced toch?)

Je laat de scheduler van FMS gewoon iedere x minuten opstarten en kijken of er nog mail te versturen is.

Ik gebruik daarvoor een email tabel met daarin de te verzenden/ontvangen gegevens.

 

dit werkt echt als een speer.

Overigens gebruik ik de MailIt plugin om de mailtjes vanuit FMS te verzenden en te ontvangen.

 

suc6

 

Cor de Bruin

Link naar reactie
  • 0

Dank voor het meedenken.

 

Dat zou kunnen werken als ik bij de te versturen mail geen pdf als bijlage wilde hebben.

 

FMSA 10 kan inderdaad een script starten om de zoveel tijd.

Hij kan ook een mail versturen via SMTP, met of zonder mail plug-in

Maar hij kan niet printen naar pdf.

En dat laatste is de enige manier om de inhoud van wat is ingevuld via het web, ook bij de invuller te krijgen, tenminste, in de vorm waarin het is gevraagd.

 

Natuurlijk kan je een mailbericht samenstellen waarin alle ingevoerde gegevens als tekst zijn opgenomen, maar de voorwaarde is dat de bevestigingsmail in huisstijl is opgemaakt en HTML mail kan helaas niet met de mail van FM zelf.

De plug-in kan dat wel, maar die is in dit geval niet te gebruiken (keuze van de klant: geen plug-ins, als het maar enigszins mogelijk is).

 

Uiteraard laat ik me graag van het tegendeel overtuigen :wink:

 

Blijft dus de vraag: waar zit in het uitvoeren van de tasks van windows het probleem dat er ergens toegang wordt geweigerd?

 

rmw

Link naar reactie
  • 0

Eeehhhmmm... kleine hint, mogelijk voor mezelf ook een oplossing...

Waarom geen apart Filemaker Pro in het netwerk hangen die wel de PDF maakt en verstuurt?

 

't Zal wel een aardige puzzel zijn, maar daar valt mogelijk nog wel uit te komen.

 

Zo had ik ooit een Filemaker Pro ingezet als printserver. 5 systemen voedden de database, een extra Pro versie checkte de hoeveelheid nieuwe gegevens om dat bij 8 of meer op een vel etiketten af te drukken.

Zoiets kan je ook doen in deze situatie, een Pro versie die niets anders doet dan elke 10 seconden kijken of er een PDF gebouwd moet worden en naar welk email adres dat heen moet.

Link naar reactie
  • 0

SuperWimmie, fmwebshop,

 

Dank voor de reactie.

Een FMP client is ook precies wat ik gebruik.

Maar ik wil dat ding op de server zelf hebben draaien EN zonder dat ik er omkijken naar heb.

Ik kan geen lokale machine reserveren voor deze taak.

Dus ik dacht aan de windows taken, die zo lekker automatisch kunnen worden uitgevoerd.

 

De taak doet het prima.

Als ik ben ingelogd op de server doet de FMP client ook alles wat ie moet doen.

Maar als ik het geheel aan zichzelf overlaat, krijg ik de 0xC00005 fout, ofwel: acces denied

 

Wie het weet mag het zeggen.

 

rmw

Link naar reactie
  • 0

het is geen antwoord op het waarom wel of waarom niet, maar gewoon een andere invalshoek...

 

je kan een script constant laten draaien op je "dummy" machine. Je kan dan door middel van bijvoorbeeld een record aan te maken aan het script duidelijk maken wat het moet doen.

Je maakt bijvoorbeeld een tabel "ScriptTrigger" aan met het veld "scriptParameter" en het veld "HeeftGelopen_b" (is dan een boolean), en het veld "ScriptNaam".

 

Het script dat steeds loopt checkt dan steeds of er records aangemaakt zijn in die tabel, die nog niet aangevinkt zijn "HeeftGelopen_b". Als hij zo een tegenkomt, runt hij het script "ScriptNaam", met als parameter "ScriptParameter", en vlagt nadien de record met "HeeftGelopen_b", of hij delete de record gewoon uit de tabel, hangt er vanaf of je een historiek hiervan wil bijhouden. Een scriptnaam laten lopen met een dynamische naam kan bijvoorbeeld bekomen worden met DoScript of EventScript of ScriptMaster.

 

Het enige wat je dan moet doen is vanuit je IWP sessie een record aanmaken in deze tabel, en je dummy machine doet de rest.

 

Groetjes

 

Andries

Link naar reactie
  • 0

@andries

Het probleem zit hem nu juist in het feit dat ik geen dummy machine heb en het dus op de server wil laten uitvoeren.

Die draait toch al en kan zo'n simpel taakje er best bij hebben.

 

@burggraaf

Er is een speciale gebruiker met administrator rechten aangemaakt. De taak is eigendom van die gebruiker en de lokale FM database ook. De taak wordt ook uitgevoerd met de inloggegevens van die gebruiker.

Het is echter niet administrator of system.

Maar volgens mij hoeft dat ook niet, want de inloggegevens die je bij taak-uitvoering opgeeft bepalen toch wat mag en niet mag?

En als ik inlog als die gebruiker loopt alles naar behoren.....

 

Beide: dank in elk geval voor het meedenken.

 

rmw

Link naar reactie
  • 0

je kan dit principe ook verplaatsen naar de Server (scheduled task, maar dan maar 1 keer en voor altijd), maar weet niet of dit echt een goed idee is. Ik heb echt geen flauw idee wat de performantie van de server gaat doen als er steeds een script in "loop" draait, ook al doet het verder niks speciaal...

 

 

edit: dit werkt niet, daar Save Records as PDF is natuurlijk niet server compatibel... :oops:

Link naar reactie
  • 0

Nou we zijn er uit!!

 

Iets anders dan de eerste opzet, maar toch.

 

De taak is verplaatst naar de FMServer.

Het is een schedule geworden dat een system script uitvoert.

Het schedule start een batch file. Die batch file start de lokale hulpdatabase.

 

Adder onder het gras: FMServer draait alles onder het SYSTEM account. En dus moet je een keer inloggen als SYSTEM en FMP opstarten, omdat bij eerste opstart FMP om je naam vraagt! Als die vraag beantwoord is, kan FMP prima in de achtergrond draaien.

 

Blijkbaar is alleen SYSTEM gerechtigd om overal bij te mogen, want met een andere gebruiker lukt het dus niet.....

 

Voordeel is wel dat alles nu in de admin console kan worden beheerd.

 

"Elluk nadeel heb ze voordeel"
:wink:

 

Iedereen reuze bedankt voor het meedenken.

 

rmw

Link naar reactie
  • 0

Maar hij kan niet printen naar pdf.

 

Ahhh... wat baal ik daarvan! Waar ben ik daar eerder tegenaan gelopen? O ja, bij FM Runtimes. Die kunnen ook geen pdfs printen.

Ontzettend hinderlijk dat deze essentiële functionaliteit niet beschikbaar is waar we het zo hard kunnen gebruiken!

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...