Home

AFP3 Benutzerhandbuch und Referenz - dFPUG

image

Contents

1. lt body gt lt html gt gt See also ContentType Property Header Method Write Method BinaryWrite Method Name BinaryWrite Method returns any binary file 61 cData Kapitel 9 Methods Synopsis Response cData Return values Character Parameters Any data content to send back to the client s browser Notes The method adds the binary content to the response buffer and does not handle any content type information So if you want to respond ie a PDF file you have to set the correct content type additive Example Send back a PDF file lt lcPDFFile AddBS JustPath FILE GetLocation UserGuide pdf Response ContentType application pdf Response BinaryWrite 1cPDFFile gt See also ContentType Property 62 Kapitel 9 Methods Body Method Name Body Method returns the HTML content from the response buffer Synopsis Response Body Return values Character Parameters Notes Example lt html gt lt body gt Let s look at the resulting HTML generated by the AFP lt p gt lt Response Body gt lt body gt lt html gt See also 63 Kapitel 9 Methods Call Method Name Call Method calls a new AFP document to be executed Synopsis Response Call cLocation Return values Logical Parameters cLocation Notes With this method you are able to interrupt and empty your response buffer and conti
2. Request ServerVariables SERVER_SOFTWARE amp amp Apache 2 0 43 Win32 gt See also CData Property SessionID Method Name SessionID Method returns the current session ID Synopsis Session SessionIDO Return values Parameters Notes If needed a new session is created The default session ID is a 44 character string that bases on GUIDs and therefore is unique With the C24_Cookie PlugIn installed a SYS 2015 string is returned 99 Kapitel 9 Methods Example See also SetSessionData Method Name SetSessionData Method makes the string in cData available for future instances of this session Synopsis Session SetSessionData Return values Parameters Notes Technically a session file is generated in the session directory This method is used to save variables The result of SAVE MEMORY ALL LIKE G is passed as the cData You can use this function to store additional variables or other temporary data like XML strings cID should be a unqiue string It shares the name space with the application IDs Example 100 Kapitel 9 Methods See also Timeout Method Name Timeout Method returns or changes the remaining time until the session is discarded Synopsis Session Timeout nMinutes Return values Numeric Parameters Notes With the Timeout Method you are able to get the remaining time until the current session is discarded
3. 5 2 5 52 38 sr Bes Binnen 115 B 6 Beschr nkte Garantie else coudowes cas cade EE Ee s EViN veodeccuds rae 115 B 7 Anspr che des AAA 3220288000000 te 115 GGIOSSALY A TO 116 Stich wort verZeichniss cccsccssiecvcsssrssesscsedecsacendsdvedessesssecssvosesinccsvaderdessesasecvobsesedecssnaseesonsdeadesdoseasesontesnonsons 120 Tabellenverzeichnis 621 AFP 2 4 system variable 30 6 2 AFP 24 System Methods ati ici 33 A 1 Unsupported commands in AFP multi threaded mode ooonocnnccnoninoninncononnnonncononnnonn nono nancnn con non ano noons 110 A 2 Disabled commands in multi threaded mode 22422442042000sennonnnesnnnnnennennennnnnnonnon nennen 112 Abbildungsverzeichnis 4 1 Durch Akzeptanz der Lizenzbestimmungen installieren Sie die AFP uuneeesnessennesennenne 12 4 2 Geben Sie das Zielverzeichnis ane cesses ceseeseeesceseescecsecaecsaeesecesceaeeeeeaecsaesaeaecseceseeeseaseaeeage 12 4 3 Endlich geschafft Ben tigen Sie weitere Informationen useusesseesenssensersnennennnennennennnennennn conos 13 4 4 Configure IIS Home Directory dialO8 oooonncnnonocnnonncnnnnncononnnonocononnocnnonnnnnn cano nn non non no cnn ocn nana rnncnn caos 14 4 5 Configure IIS Configuration dialog usreusessessenseesnersnesnesnnennennennonnnennonsnonnennnenennennnensensnenn 14 4 6 Anfrage eines AFP Dokumentes innerhalb der virtuellen Struktur oo eee cee ceeeeeeeeeeeneeeee 18 4 7
4. gt See also URL Method Name URL Method returns a URL string that contains the SessionID Synopsis Session URL Return values Parameters Notes The format depends on the session object The default object generates 103 Kapitel 9 Methods You should replace all occurrences of FOX cCookie inside a URL to this new syntax because it allows the transition to the new unique session ID Example Session URL info afp name foo default session object info afp sid 9999999999999999 amp name foo C24_Cookie plugin info afp _xxxxxxxxxxxname foo See also URLDecode Method c Value Name URLDecode Method decodes a string that has been URL encoded Synopsis Server URLDecode cValue Return values Parameters Encoded string to decode with URL conversion 104 Kapitel 9 Methods Notes This means that certain characters have been replaced by a percent sign followed by their hex ASCII code For eample AFP 3 0 is encoded AFP 203 0 Passing the last string as a parameter to this method results in the first string This method is used to decode form data or query parameters Example See also URLEncode Method URLEncode Method Name URLEncode Method encodes a string to be used in an URL Synopsis Server URLEncode cValue Return values Parameters cValue String to encode with URL conversion 105 Kapitel 9 Methods Notes Examp
5. IFOX cHttpHeader Primarly this is handled by the Web server To set your own HTTP header extensions refer to RESPONSE AddHeader IFOX cIni obsolete Due to the new communication structures between AFP 3 0 and the Web server there is no need for the INI files used by version 2 4 anymore IFOX cIniFile obsolete Due to the new communication structures between AFP 3 0 and the Web server there is no need for the INI files used by version 2 4 anymore FOX cLanguage REQUEST ServerVariables HTTP_ACCEPT_LANGAGE IFOX cLogFile obsolete Use the capabilities of the Event Viewer of Microsoft Windows NT and higher the separate error log file and the native VFP Debugger for this property IFOX cParameter IREQUEST QueryString IFOX cPath IFILE cLocation IFOX cPathInfo FILE cVirtualLocation 31 Kapitel 6 Plugins Version 2 4 possible substitution Version 3 0 IFOX cSQLProt Due to structural enhancements not possible You can implement something simi lar using SYS 3054 from VFP IFOX cTimeStamp obsolete Use the log files of the Web server instead If needed implementation is very easy using FILETOSTRO with a customized string in combination with some server variables and time stamp IFOX cVersion SERVER Version IFOX LAFP2ASP IFOX lAutoCookie afp config http sessionid YES NO IFOX 1AutoLocalize FOX
6. Die AFP besitzt keine Einschr nkung beim Vermischen der unterschiedlichen Codebl cke mit AFPScript oder HTML Es ist genauso m glich HTML innerhalb eines Skriptblockes auszugeben Die sp teren Beispielen werden dies verdeutlichen Tipp Jedes der gezeigten Beispiele wird mit der AFP selbst auf CD ausgeliefert und steht Ihnen auch auf der Onlineseite der Active FoxPro Pages htip www afpages de zur Verf gung Okay weiter mit dem n chsten Beispiel 2 2 Wie sp t ist es Dieses Beipiel hat ein wenig mehr Dynamik als das vorherige Es zeigt lediglich das aktuelle Datum samt Uhrzeit auf Ihrem Webserver an Geben die folgenden Zeilen ein und speichern Sie die Datei unter dem Namen datetime afp im Basisverzeichnis des Webservers Beispiel 2 2 Your First Active FoxPro Page datetime afp lt html gt lt head gt lt title gt Test lt title gt lt head gt lt body gt lt datetime gt lt body gt lt html gt Jetzt rufen Sie diese Seite im Browser auf http localhost datetime afp Sie sollten nun das aktuelle Datum und die aktuelle Uhrzeit angezeigt bekommen Falls ein Fehler auftreten sollte schauen Sie bitte in die Ereignisanzeige f r Anwendungen dort ist das Problem ausf hrlich dokumentiert Erl uterungen und ausf hrliche Informationen zum Debuggen von AFP Seiten finden Sie im entsprechenden Kapitel des Benutzerhandbuches Erfahrene AFP Programmierer nennen diese Ausgabe Red Screen of Death hnli
7. like the global variable wanted in any AFP document 6 4 1 3 Unload Method While an AFP engine quits the plugin management calls the Unload method of every loaded plugin to release itself gracefully So this method is to clean up the plugin environment and to release any objects to avoid dangling references 6 4 2 The plugin loader To use an VFP application as AFP plugin you have to load it through the plugin management Here is sample code on how this should be done taken from the voodoo plugin Beispiel 6 2 The plugin loader The Loader creates an instance of the CPlugIn object and passes it back to the caller LParameter roPlugIn 35 Kapitel 6 Plugins roPlugIn CreateObject CPlugIn_Voodoo CPlugIn_Voodoo Implements the REQUEST and WebPage classes as needed by Voodoo Define Class CPlugIn_Voodoo as CPlugin cID VOODOO Make the classes available to AFP All Subclasses must be in the main procedure file Otherwise VFP is not able to find them Procedure Load Local lcVoodoo lcPath If not Upper JustPath This cFullFileName Upper Set Path lcPath Set Path If not Empty m lcPath lcPath m lcPath EndIf lcPath m lcPath JustPath This cFullFileName Set Path To amp lcPath EndIf Set Procedure To Voodoo Additive o This cFullFileName Additive Set Procedure
8. EndProc Get rid of the procedure files Procedure Unload Release Procedur Voodoo Release Procedur This cFullFileName EndProc EndDefine First the plugin loader should be the main program of your project that handles the parameter passed from the AFP management This parameter is passed by reference and returns actually the object Any plugin should inherit from the CPlugin class of the AFP It s a commendation for your plugins but not mandatory And why not using the offered plugin base You have the choice 36 Kapitel 6 Plugins Now the source code fullfils the plugin requirements cID property and load unload methods It should be clear what s going on The Voodoo plugin checks if the needed procedure file voodoo xp for the Voodoo Web Controls is in path of the plugin at the begin and releases the additive procedure at the end 37 Il Reference Reality is for people who lack imagination anonymous Kapitel 7 Objects Dieses Kapitel ist Bestandteil einer Vorabausgabe und kann sich zuk nftig noch ndern Leere Abschnitte dienen als Platzhalter und werden gerade geschrieben Some nice words about objects App Object Name App Object represents a separate application in the AFP enviroment Synopsis App Notes The APP object is only available when a page is part of an AFP application Applications have a private datasession Files open in onw applic
9. REQUEST ServerVariables IFOX GetPar REQUEST QueryStringO IFOX Include FileToStrO FOX Localize IFOX Out SERVER HTMLEncode IFOX Read Partly through REQUEST ServerVariables Rest is obsolete and easy to implement yourself IFOX SetHttpCookie IRESPONSE AddHeader IFOX WriteQ Obsolete and easy to implement yourself 6 2 DirectCall Code based Programming The DirectCall uses another technique to parse and response any AFP documents Actually you are calling your object methods directly to get the results 6 3 Crypto Secure your data The crypto plugin is based on the CryptoAPI of Microsoft Windows 2000 and higher To use the plugin 33 Kapitel 6 Plugins add a new lt plugin gt Tag to your afp config and re start the AFP engines o lt plugin location root plugin crypto plugin exe engine AFP gt Now you have a crypto object available to your AFP documents Currently there are three methods to work with Encrypt DecryptO e Checksum And here s a basic example on how to use the crypto plugin and its syntax Beispiel 6 1 Using the crypto plugin crypto afp lt lcString This sentence is top secret OrTginail string Lestring MM lt p gt Let s look at the results lt br gt CRYPTO Encrypt CRYPTO Encrypt lcString lt br gt CRYPTO Decrypt CRYPTO Decrypt CRYPTO Encrypt 1cString A VY YN w 6 4 Create you
10. Secure your data sensibel ing 33 6 4 Create your A TNT 34 II Reference 2e0u00c0s0ncononeneoneneoneneonenennenennenennensnnenenennenesnenesnenennenennenennenennenenesnenennenennenennesennenennenenesnenenn 38 MODO tit isses ached sve tetas 39 App Object u22522 2 airline Non Innen ehenesesen 39 File Objecten ii E E TE EE anne inane aetion aii 39 Path Objeet ceren ida 40 E Ees iSSi oaio EEEE Ea EEES ibn nen per 41 Response Object aminn aii a 42 Server Obj C did 43 SEession Object O EEEE 44 8 Properlies A ea a Rett Sea et 46 CC ach e PLoperty secs cote E E acia eee ER E E heise 46 iii CCOMMON PLOPEIrty sis se SG ea 46 cData PrOper Visita des leidas 47 cFHe Properny zonom ed ra IR rue rs 48 CED Property iia ii iii 48 eE6cation Propetty nr hee Re ae Re Ae 49 RR 50 ContentType Property A OS 51 Cookie Propelty siii inn rre hope 51 Root Proper oema r iaa 52 CSESSION PLOPOLLY fs soc sis E siessdzedsvgsSsdevhes dossia chbteg suas sieosdevdss pesteaees 53 CVirtualLocation Property s sirr e eene erore eeaeee ve rekona rE eras a Ep EE ESEESE Noesis 54 EXpires PLroperty moenie re eE EEEE en sage Bug a E TaS 54 AM E AE EEEE AE E E A E A A EE E AEA DE E E 57 Abandon MethoOd ocios as aaa 57 AddExtension Method 2 uu2 02 ide Bashlaine 58 AddC ookie Method ws cence 2 23 Reken nennen nennen 59 AddHeader Meth od bn 60 Binary Write Metho a i 3s acscccsscertessy sertene esses vasbsccutsseuscagslsscessdestsh dea ssv
11. Standardfehlerausgabe Windows Ereignisprotokoll oononnnnnonocnonnnoncnononnnanonononncn no cnn cnn nono rancnn en 20 4 8 Einfache Textdatei ii in ia 20 4 9 Detailliertes HTML Feedback Red Screen of Death ooococcnncnicnncnnocnconcononnnononononnncnn con ccnnornconcco nens 21 5 1 AFP 3 0 Desktop Application with Quick LaUNCh ococcnnniccnocinocinnconccnnononononancnn con nonnconnoncnannnncancrnos 23 3 2 The AFP3 0 ControlCenteriscocose cit 2020er BBRB iin 24 5 3 Status bersicht laufender AFP Instanzen us22002000200200nsnennennnesnennennennonsnennennnesnennennnensensn nn 25 E ON 25 5 5 Einstellungen zur Komponente AFP Server unuessessessessensnensorsnennnesennesnnennennonnnennonsnennennnennensnnnn 26 5 6 Sessionmanagement die einfache Konfiguration 2202222n0snnesnennesnnennennonsnennensennennnennennnnnnn 27 5 7 Kompilierungsprotokoll erw nscht uursurssssesnnennesnesnonnnensonsnonnnnsnennennnennensonsnennonnnenennnennensennnn 27 5 8 Controlling the Debug options of the AFP Engine uursursssnesnnesnesnennnennonsnennennnennennennnennensn en 28 5 9 Specifying additional Plugins 022020rsnnsnnennnsnenseennonsnesnennnennennnnnnennonsnennennesennennnennensn nn 28 5 10 Entering the License informations and Activation Key uesesnessnesnesnesnnennensnennennnennennennnennensn en 29 Beispiele 2 1 Hello World mit AFP hello Ad puisses
12. refentry gt lt refentry id response status gt lt refnamediv gt lt refname gt Status Property lt refname gt lt refpurpose gt sets the HTTP response status lt refpurpose gt lt refnamediv gt lt refsynopsisdiv gt lt cmdsynopsis gt lt command gt Response Status lt command gt lt arg choice opt gt lt option gt cHTTPStatusCode lt option gt lt arg gt lt cmdsynopsis gt 55 lt refsynopsisdiv gt lt refsectl gt lt title gt Attribute values lt title gt lt para gt lt para gt lt refsectl1 gt lt refsect1 gt lt title gt Notes lt title gt lt para gt lt para gt lt refsectl1 gt lt refsect1 gt lt title gt Example lt title gt lt para gt Invoke a redirection to another URL lt screen gt lt CDATA Response Status 301 Response AddHeader URI http www active foxpro pages See also AddHeader Method Kapitel 8 Properties com 56 Kapitel 9 Methods Dieses Kapitel ist Bestandteil einer Vorabausgabe und kann sich zuk nftig noch ndern Leere Abschnitte dienen als Platzhalter und werden gerade geschrieben Abandon Method Name Abandon Method terminates the current session Synopsis Session Abandon Return values Parameters Notes The session cannot be recovered You can call this method to implement a logoff feature to ensure that sensitive data is not available to the next user on a computer Example The
13. 4 2 4 Protokoll Aufgrund der Tatasache dass jedes AFP Dokument beim ersten Aufruf durch die AFP Engine kompiliert auch bei nderungen k nnen dazu die entsprechenden Protokolle zum Erstellungsprozess unterhalb des log Verzeichnisses abgelegt werden Dies d rfte vorallem beim Scuhen von Fehlern interessant sein Siehe dazu auch Abbildung 5 7 5 4 2 5 Debug Schauen wir uns mal die Optionen f r das Ausgeben und Aufsp ren von eventuellen Fehlfunktionen mit 27 Kapitel 5 AFP Applikationen der AFP 3 0 an Hierbei handelt es sich um eine vollst ndig neue faszinierende M glichkeit innerhalb der Entwicklung von dynamischen Webanwendungen Noch nie war es einfacher Was ist daf r notwendig Nun zuerst einmal eine Debug Engine der AFP selbst und eine optionale installierte Version von Visual FoxPro 7 oder h her Wie ich ben tige eine Visual FoxPro Entwicklungsumgebung Nicht direkt aber es erleichtert die Sache ungemein und der Debugmodus l sst in vollem Ma e nutzen Der Abschnitt Debugmodus behandelt die Materie etwas umfangreicher Also on the Debug page you define if the generated compiled AFP documents FXP files should be cached For performance reason it s better to enable caching on your live system In consequence the documents reside in the memory of your Web server and respond quicker On a development machine preference lies on disabled caching cause then you are able to cleanp up the cache directory witho
14. AFP Abbildung 5 6 Dabei sind die beiden http Eigenschaften f r die Cookies und die die beiden afp Werte f r die Sessions zust ndig Die Namensgebung ist leider noch historisch bedingt d rfte sich aber mit einem der n chsten Major Releases villeicht ndern Aus Kompatibilit tsgr nden zur Vorg ngerversion verwenden wir afpcookie Sie k nnen die Bezeichnung frei w hlen Anmerkung Bei aktiviertem C24 ist die maximale Lange der SessionID auf 10 Zeichen beschr nkt und wird mittels SYS 2015 Eindeutiger Prozedurname erstellt Ohne C24 ist die Bezeichnung normalerweise sid und besitzt eine Lange von ungef hr 44 Zeichen Zur Verwaltung der einzelnen Sessions verwendet die AFP eine eigene Tabelle session db Dort finden sich s mtliche Information ber laufende und aktive Websession Diese Tabelle dient auch als Grundlage zur autmoatischen L schung abgelaufender Sessions 4 3 4 lt build gt Sie k nnen durch Aktivierung der Option compile log die AFP dazu veranlassen dass der Kompilierungsprozess Ihrer AFP Dokumente ausf hrlich protokolliert wird Die Ausgabe erfolgt in das mittels log definierte Verzeichnis Falls Sie also Probleme mit Ihren Webanwendungen haben sollten aktivieren Sie diese Option Die Protokolle bieten Ihnen sehr detaillierte Einblicke in die AFP und sollten sowohl aus Sicherheits und Performancegr nden auschliesslich auf Ihrer Entwicklungsmaschine aktiviert werden Siehe auch Abbil
15. Kapitel 5 AFP Applikationen 5 4 2 7 License Although the AFP is fully functional in demo mode it s always a nice move to purchase a license Entering your license is quite easy Specify the Name and Serial Number send the resulting Hardware Key to your distributor to obtain an Activation Key Abbildung 5 10 Entering the License informations and Activation key A licensed version of the AFP lacks the appearence of the demo table at the top of every processed AFP document and the nag screen every 15 minutes 29 Kapitel 6 Plugins Dieses Kapitel ist Bestandteil einer Vorabausgabe und kann sich zuk nftig noch ndern Leere Abschnitte dienen als Platzhalter und werden gerade geschrieben In this chapter we re talking about the plugin interface of the Active FoxPro Pages Plugins give you a flexible way to enhance the power of the AFP to your belongings As you already might have seen the standard edition of the AFP comes with some optional plugins like the compatibility plugins for the previous AFP version 2 4 6 1 C24 AFP 2 4 Compatibility The C24 plugin offers you a backward compatibility to run existing Web sites build with AFP 2 4 with version 3 0 The C24 is a layer to represent the older FOX object and its functionality translated to the new objects and PEMs The C24 is not full compliant to the original version 1 e the FOX browse is missing 6 1 1 Comparison between AFP 2 4 and 3 0 Here is an alphabetical
16. Method cRoot Property Name cRoot Property Synopsis Path cRoot cDirectory 32 Attribute values Notes Root directory This directory can be local in a cluster Example See also cSession Property Name cSession Property Synopsis Path cSession Attribute values Notes Kapitel 8 Properties Session directory All session information are stored here Therefore this directory must be accessible by all AFP instances IMPORTANT All files in this directory are deleted unless they belong to a valid session The default is common session 53 Kapitel 8 Properties Example See also cVirtualLocation Property Name cVirtualLocation Property Location of the file in the WebServers hierarchy Synopsis File cVirtualLocation Attribute values Notes If the location is http server foo foobar afp this property contains foo foobar afp This value is mandatory and used to determine the cache file name Example See also 54 Kapitel 8 Properties Expires Property Name Expires Property Expiration date of the responsed page Synopsis Response Expires Date Attribute values Date Notes Example The expiration of this page is tomorrow lt Response Expires DATE 1 gt lt para gt lt refsectl1 gt lt refsectl gt lt title gt See also lt title gt lt para gt lt para gt lt refsectl1 gt lt
17. PALETTE SET PDSETUP SET READBORDER SET REFRESH SET RESOURCE SET SAFETY SET SKIP OF SET STICKY SET STATUS SET SYSMENU SET TALK SET TRBETWEEN SET TYPEAHEAD SET VIEW SET WINDOW SYS 1037 SYS 18 SYS 103 SYS 2002 SYS 1270 SYS 2017 SYS 4204 SYS 2016 113 Anhang B Lizenzbestimmungen B 1 AFP Lizenzvertrag Dies ist ein rechtsg ltiger Vertrag zwischen Ihnen dem Endanwender und der ProLib Software GmbH mit Sitz in 83358 Seebruck Bitte lesen Sie diese Bestimmungen sorgf ltig durch bevor Sie dieses Produkt verwenden Durch Verwendung der AFP erkl ren Sie sich an die Bestimmungen dieses Vertrages gebunden Wenn Sie mit den Bestimmungen dieses Vertrages nicht einverstanden sind geben Sie bitte das Produkt zusammen mit dem Begleitmaterial Handb cher Beh ltnisse usw unverz glich gegen volle R ckerstattung des Produktpreises an die Stelle zur ck von der Sie es bezogen haben B 2 Einr umung einer Lizenz ProLib gew hrt Ihnen das Recht eine Kopie des beiliegenden ProLib Software Programmes die SOFTWARE auf einem einzelnen Computer zu benutzen Die SOFTWARE wird auf dem Computer benutzt wenn sie in den tempor ren Speicher d h RAM oder in einen permanenten Speicher z B Festplatte CD ROM oder eine andere Speichervorrichtung dieses Computers installiert wird Jedoch stellt eine Installation auf einem Netzserver f r den alleinigen Zweck der Verteilung zu einem oder mehreren anderen Computern keine Benutzun
18. Relative Method ai t 91 ReNew Method ui Ree SE I at 92 Reset Meth d a 22 BEER od 93 Reset Method vdd dll 94 Reset Method 2 u is 95 ResolveRelative Method cccccccccesssccececesssececesessceceecesseseccecesssececcsesececeecesssaeecesensseteeeeenees 96 ServerVariables Method s essen een nennen EAAS RR 97 Ses SION Meth ssc hs nennssessienesinenensennessssscserisninbessersrstelen 99 SetSessionData Method irine reroncene Erra rena rE raa E EAREN EEE EK ETEA Eas 100 T meout Method iia da 101 Transfer Methodi ni ac 102 URE Meth d A E EEE ir dd ies iii 103 URED cod e Method ida 104 URLEncode Method e aa 105 Version Mt di 106 Wrte Method 2 3 33 8 cages acts scenes sats once ban Ehre EEE uh Be ses Cab Tn es Ba 107 META NO 109 A Multi thread Restrictions Of WFP oooocccnncccccccconnnnnccnoonnnnncnononnnonononononoconon narco conan nn nononononnccnnna nos 110 A 1 Unsupported commands in AFP multi threaded mode oooconccnocanocinnnocnnononnconccnncononnnono 110 A 2 Disabled commands in multi threaded mode cocconcococcncoonooncnnononannconannnnnnononanonnccnnno nos 112 B Eizenzbestimmungen artnet ara 114 B 1 AFP Lizenzyettrag dani aireaci n cai 114 B 2 Einr umuns einer lizenz nesueniksenen linia K A A aE Ea 114 B 3 Erweiterte Lizenzeinr umung 2usssssesnessonnnensonsnennensnesnennnennennnnnensnensonsne nennen 114 e Urheberrecht e Ener 114 B 5 Weitere Beschr nKkuns
19. SOFTWARE 115 Glossary Dieses Kapitel ist Bestandteil einer Vorabausgabe und kann sich zuk nftig noch ndern Leere Abschnitte dienen als Platzhalter und werden gerade geschrieben Active FoxPro Pages Script engine created by ProLib Software GmbH based on Microsoft Visual FoxPro to enable HTML pages to be dynamic and interactive by embedding scripts Since the scripts in AFP pages suffix afp are processed by the server any browser can work with AFP regardless of its support for the scripting language used therein Siehe auch Visual FoxPro Cursor Database A database can be as simple as a shopping list or as complex as a collection of thousands of sounds graphics and related text files Database software is designed to help users organize such information While early flat databases were limited to simple searchable rows and columns modern relational databases allow users to access and reorganize data in a variety of ways Even more advanced databases let users store and retrieve all kinds of nonstandard data from sound clips to video 116 Glossary Extensible Markup Language XML is the Extensible Markup Language a system for defining specialized markup languages that are used to transmit formatted data XML is conceptually related to HTML but XML is not itself a markup language Rather it s a metalanguage a language used to create other specialized languages File Transfer Protocol This Internet pro
20. Sie noch nicht die volle Power nutzen 4 2 Interaktion mit dem Webserver Nun die AFP ist korrekt installiert doch wie stellen wir die Interaktion mit dem Webserver her Auch das ist relativ einfach ehrlich Wir werden in diesem Abschnitt exemplarisch die Integration in die Microsoft Internet Information Services IIS realisieren Wie bereits erw hnt funktioniert die AFP mit allen ISAPI kompatiblen Webservern darunter fallen auch Apache 2 0 x oder h her VisNetic WebSite und sicherlich noch weitere Falls Sie eine empfohlene oder vollst ndige Installation durchgef hrt haben sollten d rfte die AFP bereits korrekt mit dem ermittelten Webserver interagieren Als einer der letzten Schritte der benutzerdefinierten Installation sahen Sie einen Dialog der Ihnen die Entscheidung stellte ob Sie das automatisch w nschen oder selbst durchf hren m chten 13 Kapitel 4 Hilfe Nun wollen wir uns dennoch die Details dazu ansehen bzw berpr fen Das Setup modifiziert die MetaBase des IIS in der Art dass die Konfiguration des WWW Dienstes f r die Verwendung der AFP ver ndert wird nicht die Konfiguration der einzelnen virtuellen Webseiten Dies wird jedoch nur erfolgreich durchgef hrt wenn keine bestehende Konfiguration vorhanden ist Das ist insbesondere f r Upgrades von Version 2 4 auf 3 0 interessant Nun zur ck zu den Details Die Konfiguration sollte so aussehen dass die Dateierweiterung AFP auf die Datei AFP3 DLL inkl vol
21. and by specifying a numeric value to set this timeout in minutes Currently the default value for timeout is 30 minutes Example Give feedback to the user when its session will be terminated by the server This session expires in lt SESSION Timeout gt minutes 101 Kapitel 9 Methods For an online editing interface it might be useful to increase the timeout value after the user logged in successful lt lnMinutes 60 Session Timeout lnMinutes gt Welcome you are authorized lt p gt Please remember that you will be logged off automatically after lt InMinutes gt minutes inactivity lt p gt Happy working See also Transfer Method Name Transfer Method transfers execution to another document after the current document terminated Synopsis Server Transfer cFile Return values Parameters cFile Notes The result of the called page is added to the response buffer effectively merging both pages together You can chain as many pages together as you want The called page is not executed immendiately but 102 Kapitel 9 Methods only after finishing the current one Inside an afp document you can use RETURN to cancel execution When multiple SERVER Transfer calls are made in a page the last one wins Example lt o Hello this is the actually called page lt br gt We are now moving to a second AFP document to response Server Transfer rest afp
22. es sich berhaupt um ein freies AFP Dokument oder um ein anwendungsgebundenes handelt und weitere mehr Zus tzlich sollten Sie bedenken dass es keinen linearen Zusamenhang mit der Definition des Ereignis in der code und der tats chlichen Position in der kompilierten Fassung Das entscheidet allein der AFP Compiler Falls Sie sich daf r interessieren aktivieren Sie die Einstellung Build Protokoll und schauen Sie sich die Protokolle einfach an 11 Kapitel 4 Hilfe Dieses Kapitel ist Bestandteil einer Vorabausgabe und kann sich zuk nftig noch ndern Leere Abschnitte dienen als Platzhalter und werden gerade geschrieben In diesem Kapitel schauen wir die verschiedenen Aspekte und Zusammenh nge der Installation der AFP an und werfen einen ersten Blick in den Debugmodus f r Ihre Webapplikationen 4 1 Installation Die Installation der AFP ist sehr einfach fast zu einfach F hren Sie die Datei AFP3Setup exe aus und folgen Sie den Anweisungen Okay kleiner Spass am Rande Nat rlich schauen wir uns die Installationsroutine ein wenig genauer an und ich versuche Ihnen einen kleinen Einblick hinter die Kulissen zu vermitteln Wie bereits erw hnt beginnen wir die Installation mit dem Ausf hren der Datei AFP3Setup exe Sie ben tigen daf r administrative Rechte auf Ihrem System Falls Sie sich unsicher sind ob Sie die haben keine Bange das Setup pr ft diese ab und beschwert sich schlimmstenfalls mit einem Abbruch Zus
23. lt head gt lt head gt lt body gt lt form action lt FILE cVirtualLocation gt method post gt Insert your search string lt br gt lt input type text size 10 name search value lt 1lcSearch gt gt lt input type submit value Go gt lt form gt lt body gt lt html gt See also QueryString Method GetCacheName Method Name GetCacheName Method returns the name of the file in the cache without any extension Synopsis File GetCacheName Return values Character 73 Parameters Notes This name is unique for any file in a web site Example lt lcCacheFile SE gt FILE GetCacheName RV ER HTML Encode lcCacheFile See also GetCookieHeader Method Name Get CookieHeader Met hod returns the complete cookie information Synopsis Response GetCookieHeader Return values Character Kapitel 9 Methods 74 Kapitel 9 Methods Parameters Notes This methods returns a complete set of all cookie information found in the response buffer Example lt Response GetCookieHeader gt See also Cookie Property AddCookie Method GetLocation Method Name GetLocation Method returns the actual location for the file if one exists Synopsis File GetLocation Return values Character 75 Kapitel 9 Methods Parameters Notes Tf the file exists in cLocat
24. nnen gibt es k nftig sogenannte Hostlizenzen Somit brauchen Sie f r jede eigenst ndige zus tzliche Webseite eine weitere Hostlizenz Falls Sie als Webhoster f r andere Firmen oder Personen AFP Sites anbieten m ssen Sie jeweils eine Hostlizenz f r den Kunden erwerben F r genauere Details und Preisinformationen setzen Sie sich bitte mit uns in Verbindung sales prolib de 1 4 Erweiterbarkeit Waren Sie jeweils in der Situation dass Ihnen ein ganz spezielles Feature der AFP gefehlt hat Und das Sie am besten seit gestern br uchten Falls Sie wissen wovon ich spreche dann seien Sie erfreut ber die Erweiterbarkeit der neuen AFP ber Plugins Mit dieser Schnittstelle ist es m glich dass Sie selbst entscheiden welchen Funktionsumfang die AFP haben darf oder muss Sie k nnen die Benutzung der Plugins kontrollieren und nun auch eigene Erweiterungen selbst programmieren Kapitel 2 Los geht s Dieses Kapitel ist Bestandteil einer Vorabausgabe und kann sich zuk nftig noch ndern Leere Abschnitte dienen als Platzhalter und werden gerade geschrieben In diesem Kapitel werden wir uns erste Einblicke in die Funktionsweise der Active FoxPro Pages g nnen und einfache AFP Dokumente erstellen In den dargestellten Konfigurationen verwenden wir C inetpub wwwroot als Basisverzeichnis f r den Webserver Sobald Sie diesen im Browser aufrufen wird versucht die Standard HTML Seite darzustellen Die verschiedenen Webserver verwende
25. optimalen Anpassung an die vorhandenen Systemressourcen um das Optimum an Leistung und Performance aus der AFP rauszukitzeln Zus tzlich zu den Einstellungen des Webservers bzgl den von der AFP zu verarbeitenden Dateierweiterungen besitzt die AFP nochmals eine eigene Kontrolle dar ber welche Dateitypen berhaupt verarbeitet werden d rfen Der Wert f r threads definiert die Anzahl der bei Start der AFP sofort zu aktivierenden Engines ber das Attribut isolated bestimmen Sie in welcher Arbeitsumgebung die AFP selbst l uft Ja die AFP hat mindestens zwei unterschiedliche Modi wie AFP Dokumente intern verarbeitet werden Singlethread und Multithread Durch Aktivierung des Isolated Modus setzen Sie die AFP in die Singlethread Umgebung und verwenden die AFP3Host exe f r jede laufende Engine Dies ist unter anderem der empfohlene Modus falls Sie das C24 Plugin aktiviert haben sollten Im Mutlithread Modus bietet Ihnen die AFP zwar leichte bessere Performance bei geringerer Systembelastung daf r erhalten Sie jedoch ein paar Einschr nkungen seitens VFP Mit der Angabe eines eigenen Fehlerdokumentes haben Sie die M glichkeit auf eventuelle HTTP 500 Fehler selbst zu reagieren um die Standardmeldung zu unterdr cken und den Surfer besser in Kenntnis zu setzen 16 Kapitel 4 Hilfe 4 3 3 lt session gt ber die Eigenschaften des lt session gt Tags spezifieren Sie genauere Angaben zum Handling von Cookies und Sessions innerhalb der
26. overview of the properties and methods the C24 plugin takes care of and some suggestions which properties and methods should be used in version 3 0 instead For your explanation these tables do NOT represent the functionality of the C24 plugin but a conversion help and reference for you to get a starting point for the new AFP 3 0 syntax without the need of C24 Tabelle 6 1 AFP 2 4 system variables Version 2 4 possible substitution Version 3 0 IFOX aConvert Server HTMLEncode FOX aFormVar REQUEST Form aForm IFOX aParam REQUEST QueryString O aQueryString IFOX cAFPHook Handled by the event procedures in your afp a code files IFOX cAFPInit Handled by the events EVENT_Init and EVENT_InitVariables in your afp a code files FOX cAFPPath PATH cRoot FOX Call RESPONSE CallO IFOX cAPPId APP cID IFOX cBrowseSeparator IFOX cContenttype RESPONSE ContentType 30 Kapitel 6 Plugins Version 2 4 possible substitution Version 3 0 IFOX cCookie SESSION SessionIDQ IFOX cDefines Place your DEFINES in a procedure called DOCUMENT_INCLUDEALL in your afpa code file IFOX cEmailEHost IFOX cEmailEReceiver IFOX cEmailESender IFOX cEmailHost IFOX cEmailReceiver IFOX cEmailSender IFOX cForm IREQUEST Form FOX cForml FILE cLocation IFOX cHttpCookie RESPONSE Header IFOX cHttpCookieString REQUEST ServerVariables HTTP_COOKIE
27. Active FoxPro Pages 3 0 Benutzerhandbuch und Referenz ProLib Software GmbH Active FoxPro Pages 3 0 Benutzerhandbuch und Referenz von ProLib Software GmbH First Ausgabe Ver ffentlicht 2002 Copyright O 1997 2002 von ProLib Software GmbH Active FoxPro Pages AFP verbinden die Programmiersprache Visual FoxPro mit dem Internet Hierbei fungieren die AFP als Skriptsprache f r den Webserver Die AFP k nnen von passionierten VFP Programmierer als auch von WebDesignern ohne VFP Kenntnisse verwendet werden Das Copyright liegt bei der ProLib Software GmbH Widerrechtlicher Vertrieb des Programmes oder Teilen davon versto en gegen das Urheberrecht und werden strafrechtlich verfolgt Die ProLib Software GmbH haftet unter keinen Umst nden f r indirekte zuf llige Sch den oder Verluste die durch diese Programmversion entstehen Inhaltsverzeichnis Willkommen zu Active FoxPro Pages 3 Zielgruppe eerseenesnenennenennenennenenesnenennenesnenennenennenennenennenenenn Organisation dieses Buches suessssnsennsonssnssonssonssnensssnnennsennsnnsnnssonsssnsnnsnnsnnssnnsnnssnnsnnssnnssnssnssnnsnnssnnsnnse iii Beispiele aus dem Buch ssessssecsssssssssessssssesersessssessssessssessssesssessesesseseesesessessssessssessssesesessesessesssserers iv Schicken Sie uns Ihre Kommentare sesuesesnenennenenennenennenennenennenennenennenennenenennenennenennenennssennsnennsnesesnesennes v I Einfiibrung ninni iiia AS vi 1 Was ASt NE
28. D has created a new session if no session has yet been created or a session timed out Example See also MakePath Method Name MakePath Method returns a path Synopsis Path MakePath cDirectory cFile Return values Character 84 Kapitel 9 Methods Parameters cDirectory cFile Notes If needed backslashes are added or souble backslashes removed In both parts you can use any of the system variables root common Ycache log and session Example See also MapPath Method Name MapPath Method Synopsis Server MapPath Return values 85 Parameters Notes Example See also MultiPart Method Name MultiPart Method returns values from multipart enctyped HTML forms Synopsis Regeust MultiPart cName cElement Return values Character Parameters cName Kapitel 9 Methods 86 cElement Kapitel 9 Methods Specifies the element property to return from form element cName Currently two elements are available filename transfered filename from clients browser content type Content Type header of specified filename Notes The MultiPart method is useful with any multipart enctyped HTML forms ie to upload files to the server If a specified parameter is not found the methods return an empty string Example Here is an excerpt from the upload sample safefile afp lt o Local lcFileName lcDescription lcFile lcFileNa
29. Die Einstellungen in der afp config beeinflussen das Vorhandensein und sowie einige Parameter der zur Verf gung stehenden Fehlerausgaben der AFP 4 5 1 Windows Ereignisprotokoll Gehen wir einfach die einzelnen M glichkeiten der AFP durch Unabh ngig von den vorgenommen Einstellungen schriebt die AFP ihre Meldungen in das Ereignisprotokoll f r Anwendungen unter Windows Zum Betrachten starten Sie die Ereignisanzeige und selektieren das Protokoll f r Anwendungen Sie haben somit eine sehr gute und flexible M glichkeit mit systemeigenen 19 Kapitel 4 Hilfe Anwendungen der AFP auf die Finger zu schauen Das Ereignisprotokoll gestattet Ihnen sogar das berwachen von Fremdmaschinen Abbildung 4 7 Standardfehlerausgabe Windows Ereignisprotokoll Falls Sie eine Clusterl sung betreiben sollten k nnen Sie alle AFP basierten Nachrichten der einzelnen Maschinen an zentraler Stelle empfangen und auswerten u erst praktisch oder 4 5 2 Einfache Textdatei Aufgrund von Sicherheits oder Firewallrestriktionen k nnte die Verwendung des Ereignisprotokolls eingeschr nkt sein Aber keine Verzweiflung aufkommen lassen die AFP bietet hierf r einen zweiten Weg um an Ereignis und Fehlermeldungen zu kommen Dazu sollten Sie sich das logfile Attribut der Konfiguration genauer anschauen Hier definieren Sie eine einfache Textdatei siehe Abbildung 4 8 f r die Ausgabe Das ist vorallem dann sehr n tzlich wenn Sie entweder eingeschr nkte
30. EAR GETS CLEAR MACROS CLEAR MENUS CLEAR POPUPS CLEAR PROMPT CLEAR READ CLOSE DEBUGGER CLOSE FORMAT CLOSE MEMO CNTBAR ICNTPAD COLO CREATE CREATE CLASS CREATE CLASSLIB CREATE COLOR SET CREATE FORM CREATE LABEL CREATE MENU CREATE PROJECT CREATE QUERY CREATE REPORT CREATE SCREEN DEACTIVATE MENU DEACTIVATE POPUP DEACTIVATE WINDOW DEBUG DEBUGOUT DEFINE BAR DEFINE BOX DEFINE MENU DEFINE PAD DEFINE POPUP DEFINE WINDOW EDIT FKLABEL FKMAX IGETBAR GETCOLOR GETCP GETDIR GETEXPR IGETFILEO IGETFONT GETPAD GETPICT GETPRINTER HELP HIDE MENU HIDE POPUP HIDE WINDOW IMESTATUS INPUT KEYBOARD LOAD LOCFILE MCOL MDOWN MENU MENU TO MENUO MESSAGEBOX MODIFY Commands MOUSE MOVE POPUP MOVE WINDOW MRKBAR MRKPAD MROW MWINDOW OBINUM OBJVAR OEMTOANSI ON BAR ON ESCAPE ION EXIT Commands ON KEY ON KEY LABEL ON PAD ON PAGE ON READERROR 111 Anhang A Multi thread Restrictions of VFP ON SELECTION BAR ON SELECTION MENU ON SELECTION PAD ON SELECTION POPUP PAD PLAY MACRO POP KEY POP MENU POP POPUP POPUP PRMBAR PRMPAD PROMPT PUSH KEY PUSH MENU PUSH POPUP PUTFILE RDLEVEL READ READ MENU READKEY REGIONAL RELEASE BAR RELEASE MENUS RELEASE PAD RELEASE POPUPS RELEASE WINDOWS RESTORE MACROS RESTORE SCREEN RESTORE WINDOW ROW SAVE MACROS SAVE SCREEN SAVE WINDOWS SCROLL SHOW GET S SHOW MENU SHOW OBJECT SHOW POPUP SHOW WI
31. ICloseAll obsolete FOX IConvertAlways obsolete Use SERVER HTMLEncode instead IFOX lCookieHandling afp config http sessionid YES NO IFOX Icstring obsolete Might use SERVER Tag instead FOX IDebug afp config afpengine YES NO FOX lError Define your own error handler EVENT_Error in your afp a code files FOX ExecuteFXP obsolete FOX IFoxCookieHandling afp config afp sessionid YES NO FOX IFXPOnly IFOX 1KeepAlive obsolete FOX ILocalize FOX IMadeHtml obsolete FOX INewCookie SESSION IsNew FOX IRecompile obsolete IFOX 1ScriptMap This is handled by the virtual tree structure defined by the lt virtual gt tags in afp config FOX ISQLProt see FOX cSQLProt FOX ITab2Return obsolete CHRTRAN cString CHR 9 CHR 13 FOX IWorkAsFXP obsolete 32 Kapitel 6 Plugins Version 2 4 possible substitution Version 3 0 FOX nAktBrowseLine see FOX Browse IFOX nCookieTimeOut SESSION Timeout IFOX nError ERRORO FOX nMemory afp config memory nMemory FOX nSekunden obsolete Might be implemented with some time handling mechanism in EVENT_PageCallBefore Tabelle 6 2 AFP 2 4 system methods Version 2 4 possible substitution Version 3 0 FOX Browse IFOX ConvToStr Transform FOX CookieDate RESPONSE CookieDate IFOX GetFormVar IREQUEST Form IFOX GetHttpCookie IREQUEST Cookies IFOX GetIni Var
32. Key nIndex aArray 0 Return values Character Numeric or Array 97 Kapitel 9 Methods Parameters cKey Specified key attribute of a known server variable nIndex Specified index inside the array of server variables aArray Specified array to get all server variables as key value pair Notes This methods gives you all informations send by the web server to the AFP documents With ServerVariables are able to inter and re act with user specific informations sent by their browser everytime Also it s possible to get informations about the web server software itself 1 e to handle web server specific extensions or features cData REQUEST ServerVariables cVar REQUEST ServerVariables cKey cVar REQUEST ServerVariables nIndex nCount REQUEST ServerVariables OaArray aArray REQUEST ServerVariables 0 Example Present your website in the default language the user accepts lt gcLang en amp amp default language lcLang LOWER LEFT Request Servervariables HTTP_ACCEPT_LANGUAGE 2 lcLang IIF INLIST lcLang de en fr lcLang gcLang DO CASE CASE lcLang de Guten Tag CASE lcLang en Hello CASE lcLang fr Bonjour OTHERWISE Undefinied amp amp or something else ENDCASE gt oe 98 Kapitel 9 Methods This example determines the information about the web server software lt
33. L MTDLL ausgef hrt und bietet dabei die beste Performance bei geringster Systembelastung Leider fordert der MTDLL Modus von VFP ein paar Einschr nkungen bzgl der Verwendung einiger VFP Anweisungen Siehe dazu Anhang A f r unzul ssige sowie problematische Funktionen Falls dennoch die Notwendigkeit besteht einen oder mehrere dieser Befehle nutzen zu m ssen so betreiben Sie die AFP mit anderen Optionen wie etwa aktivem isolated Dies verursacht dass die AFP Engine nun als singlethreaded Task AFP3Host exe EXE gestartet wird daf r aber mehrfach Die Konsequenz daraus f hrt zu h heren Systemanforderungen bzgl Arbeitsspeicher und etwas geringf giger Leistung Bedenken Sie dabei dass wir uns hierbei im Millisekundenbereich bewegen Schlu endlich bietet die AFP noch den Debugmodus speziell w hrend der Entwicklung Ihrer Webanwendungen an Dies erfordert jedoch dass Sie eine vollst ndige Microsoft Visual FoxPro Entwicklungsumgebung ab Version 7 installiert haben Um den Debugmodus zu verwenden aktivieren Sie die Einstellung afpengine in der Datei afp config siehe Abschnitt 4 3 5 oder setzen einfach ein H kchen bei Debug Engine auf der Seite Debug im AFP 3 0 ControlCenter siehe Abschnitt 5 4 2 5 Die AFP Engine selbst kann nicht als einzelne Applikation verwendet werden sie setzt immer einen AFP Server voraus 5 3 Varianten des AFP Server Somit besch ftigen wir uns auch gleich mit der Zentraleinheit dem AFP Serv
34. NDOW SIZE POPUP SIZE WINDOW SKPBAR SKPPAD SUSPEND VARREAD WAIT WBORDER WCHILD WCOLS WEXIST WFONT WLASTO WLCOL WLROWO WMAXIMUM WONTOP WOUTPUT WPARENT WREAD WROWS WTITLEO WVISIBLE IXMINIMUM ZOOM WINDOW A 2 Disabled commands in multi threaded mode The following table is a list of unsupported commands which will generate one of these errors running AFP in multi threaded mode The following table is a list of unsupported commands which will not generate an error when executed at maulti threaded mode of AFP 3 0 These functions are still disabled for use in this mode however they do not cause an error When one of these commands or functions is encountered in code Active FoxPro Pages VFP ignores that line of code and continues executing This includes certain SET commands and SYS functions Tabelle A 2 Disabled commands in multi threaded mode IDOEVENTS SET ASSERTS SET BELL SET BORDER SET BROWSEME SET BRSTATUS SET CONSOLE 112 Anhang A Multi thread Restrictions of VFP SET COLOR SET CLEAR SET CLOCK SET COVERAGE SET CONFIRM SET CURSOR SET CPDIALOG SET DEBUGOUT SET DEBUG SET DEVELOPMENT SET DELIMITERS SET DISPLAY SET DOHISTORY SET ESCAPE SET ECHO SET EVENTLIST SET EVENTTRACKING SET FORMAT SET FUNCTION SET HELP SET INTENSITY SET MARK OF SET MACDESKTOP SET MACKEY SET MARGIN SET MESSAGE SET NOTIFY SET ODOMETER SET
35. P CREATEOBJECT AFP3 Server oAFP StartUp C Program Files AFP3 afp config READ EVENTS oAFP ShutDown Das ist eigentlich alles um die AFP als COM Server zu betreiben 5 4 AFP 3 0 ControlCenter Das AFP 3 0 ControlCenter stellt die Kommandozentrale der AFP dar Im ControlCenter bekommen Sie Auskunft ber die aktuellen Stati der einzelnen AFP Threads f gen neue Instanzen hinzu oder entfernen welche und modifizieren auf die einfache Weise die Konfiguration der AFP Abbildung 5 2 The AFP 3 0 ControlCenter 5 4 1 Status Der Statusdialog gibt Ihnen Informationen ber die laufenden Instanzen Dies umfasst auch das zuletzt ausgef hrte AFP Dokument samt Ausf hrungszeit Zus tzlich k nnen Sie weitere AFP Instanzen auf 24 Kapitel 5 AFP Applikationen Knopfdruck erstellen sowohl im Normal als auch Debugmodus Falls ein Thread h ngen sollte k nnen Sie diesen mittels des ControlCenters beenden ohne gleich die komplette AFP neustarten zu m ssen Abbildung 5 3 Status bersicht laufender AFP Instanzen 5 4 2 Konfiguration Schauen wir uns doch einmal ein wenig die AFP Konfiguration an Die Datei afp configistein kleines XML Dokument das bei jedem Start der AFP also des einen Threads eingelesen wird Wenn Sie also nderungen vornehmen denken Sie dran die Threads neuzustarten Wir denken dass diese Vorgehenweise besser als ein direktes Anwenden der nderungen ist Somit k nnen Sie zeitg
36. Seite oder Anwendung ab Sehr ausf hrliche Informationen zu den einzelnen Ereignissen finden Sie im entsprechenden Referenzteil F r die Entwicklung von Webanwendungen sind die Ereignisse standardm ig leer Somit liegt es beim Entwickler ob er darauf zur ckgreifen m chte oder nicht Werfen Sie mal einen Blick auf die kompilierten PRG Dateien im cache Verzeichnis um einen ersten Eindruck davon zu bekommen Wie kann ich das aber nutzen Nehmen wir mal eine Webanwendungen mit einigen AFP Dokumenten die bei jeder Abfrage die gleichen Tabellen ben tigen Statt wie vielleicht zuerst versucht den Code in die einzelnen Dokumente zu platzieren nehmen wir ein Ereignis zur Hilfe dass bei jeder Anfrage eh ausgef hrt wird Dies erspart Ihnen viel Zeit und Aufwand beim Entwickeln 10 Kapitel 3 Erstellung dynamischer Webseiten Zum besseren Verst ndnis hier ein Beispiel zum Init Ereignis welches immer beim allerersten Start der Webapplikation ausgel st wird Sie finden den Code im Upload Beispiel welches mit der AFP ausgeliefert wird Beispiel 3 1 Verwendung von Ereignissen f r die Webapplikation upload afpa code Procedure Event_Init KKKKXKKKKAKKKKKKKKKKKKKXKKKKXKKKXKKKKKKKKKKKKXKKKKKKKKXKKKKXKKKXXXxk Open all tables KKKKKKKKKKK KKK KKK KKK KKK RARA KK TH TH KH KH KH KH KH KK KH RA RARA KA AAA AAA USE AddBS JustPath FILE GetLocation upload dbf EndProc Schauen wir uns die Struktur des Codebeisp
37. Systems bspw afpserver vermeiden Denn diese Namen werden als SLD gewertet und reduzieren somit auch die Anzahl der tats chlichen Webverzeichnisse Jegliche Subdomains wie www afpages de oder forum apfages de sind gleichbedeutend mit afpages de und fallen dadurch uneingeschr nkt aus der Z hlung Die AFP ermittelt die zul ssigen Kapitel 1 Was ist neu Domains aus den durchgef hrten Anfragen auf AFP basierende Webseiten und sendet bei berschreitung des Limits eine HTTP 500 Fehlermeldung als Antwort an den Browser zur ck Dazu ein Beispiel Falls f r die Domains eine Anfrage erfolgt ist http localhost index afp http afpserver index afp http www prolib de wird immer eine g ltige Antwort kommen Kein Problem bis jetzt Jede weitere Doamin jedoch verabschiedet sich mit einem HTTP 500 Fehler Die folgende Anfrage werden somit nicht funktionieren http www afpages de index afp Wie Sie sehen handelt es sich hierbei um die vierte Kombination aus gTLD und SLD und wir erhalten die erwartete Fehlermeldung Selbst wenn afpages de und prolib de auf der gleichen Maschine laufen sollten so sind es doch unterschiedliche Dom nen Die folgende Subdomain arbeitet hingegen sorgenfrei http shop prolib de Da es sich hierbei nur um eine Subdomain handelt ist dies gleichgesetzt mit der bereits registrierten Domain prolib de Um die maximale Anzahl an AFP basierten Domains Hostnamen erh hen zu k
38. U io his deve A ai 1 II Feature liste seat ini e 1 1 2 VOTACION 2 13 Eizenziefungsmodell errie ee man un 3 1 4 Erwelterbarkeltaia a ii 4 Dy GOS RU NN 5 A Hello World ine Speer aoa eee 5 22 WIESPALISL traca tii Nuit 6 AS O 6 2 4 Selektiver Datenzugnff 2u20 ssens8hen seen RER sten 7 3 Erstellung dynamischer Webseiten oocncnnnnnccnocnnoncononnconncononnnnnnnnnconncnncnnnon non no cnn non none nano nn ccn non nconoo 10 3 1 Erelgnisablaut cocinar ln 2a iss iR IR ER Snnir ebenen 10 4 Flilfe 22 ae Reiser AN 12 41 Install ade 12 4 2 Interaktion mit dem Webserver ccecccesecesseesccesseesssceeeceeseecsaeeececseecaeceeeeceeeececeaaecees 13 4 3 Konfigurationsdatei der AFP ooococicnocccoconocoonconconocnnonnnonncnn nro non nc ono on ekos tote ptit corn conccn nono 14 A 23 02 Brass nr ni 18 4 5 Error H ndlins 028 82200 a E RB Ru BB iHoss 19 5 AEP Applikatiomen tina RB 22 5 1 ISAPI Schnittstelle zum Webserver cescescececessecenceceeceseceaceeeeeesaeeeaeeeeeecsaeeeneeeseees 22 5 2 Varianten der AFP Engine rinier ii ic da aio elit deidad 22 5 3 Martanten des AFP Server iconos cepa ringe an base 23 34 AFP 3 0 ControlCeonterii e ba 24 A E NO 30 6 1 C24 AFP 2 4 Compatibility euesesessennenersensenennennnonnennonnennennennenansonsennsnennn nennen 30 6 2 DirectCall Code based Programming 22240202snesneennennennennennennnennennnennennn nn 33 6 3 Crypto
39. Zugriffsm glichkeiten haben oder das Protokoll per eMail an sich versenden m chten oder um auf einfache Weise den Status per Mobilfunk abzufragen Die M glichkeiten sind vielf ltig Schauen Sie sich dazu Abschnitt 4 3 5 und Abschnitt 5 4 2 5 f r weitere Details an Diese Protokollierung ist standard nicht aktiviert Abbildung 4 8 Einfache Textdatei In beiden Abbildungen Abbildung 4 7 und Abbildung 4 8 k nnen Sie exakt die gleiche Information in unterschiedlichen Ausgabeformaten erkennen W hlen Sie Ihre bevorzugte 4 5 3 Angepasste HTML Fehlermeldung Suchen Sie einen geschickteren Weg als die HTTP 500 Meldung um Ihre Besucher ber eventuell auftretende Webserverfehler zu informieren Okay dann erstellen Sie eine eigene HTML Datei daf r und konfigurieren Sie lt server error gt der AFP Konfiguration entsprechend Falls Sie keinen Wert angeben sucht die AFP zuerst nach einer Datei HTTPError html Aber das w re nicht die AFP wenn nicht mehr m glich w re Raten Sie mal Ja auch innerhalb dieser HTML Datei haben Sie die M glichkeit dynamische Elemente Informationen zu integrieren Der einzige Unterschied besteht jedoch darin dass Sie zum einen reinen VFP Code verwenden m ssen und zum anderen die Delimiter jetzt nicht mehr lt or gt sind sondern lt lt und gt gt die Standarddelimiter 20 Kapitel 4 Hilfe von Visual FoxPro Mit dieser Erkenntnis k nnen Sie zus tzliche just ermittelte Informationen a
40. also AddExtension Method CookieDate Method Name CookieDate Method converts specified date to a cookie conform string Synopsis Response CookieDate dDate Return values Character Parameters Notes Formerly FOX CookieDate Example Convert tomorrow s date to a cookie like string lt lcCookieDate Response CookieDate DATE 1 gt 67 Kapitel 9 Methods See also Cookie Property AddCookie Method Cookies Method GetCookieHeader Method Cookies Method Name Cookies Method returns a HTTP Cookie sent by the client Synopsis Request Cookies Return values Character Parameters Notes Formerly FOX GetHTTPCookie Example lt lcCookie Request Cookies gt 68 Kapitel 9 Methods See also CreateSessionID Method Name CreateSessionID Method returns a new session ID but does not replace the current one Synopsis Session CreateSessionID Return values Character Parameters Notes You can use this function to create a unqique ID for other purposes as well With the C24_Plugin this method is identical to SYS 2015 Example See also 69 Kapitel 9 Methods DoCmd Method Name DoCmd Method executes VFP code and returns the error code Synopsis Server DoCmd Description Document Method Name Document Method Synopsis Response Document Return values Parameters Note
41. are string and date Kapitel 9 Methods 59 Kapitel 9 Methods Notes The AddCookie Method gives the opportunity to send your own cookies with their properties back to the clients browser Example This example creates a cookie lt Response AddCookie AFP Active FoxPro Pages DATE 1 gt See also Cookie Property CookieDate Method GetCookieHeader Method Header Method Write Method AddHeader Method Name AddHeader Method adds user defined information to the HTTP header Synopsis Response AddHeader cKey cValue Return values Logical Parameters cKey Keyword to add to the HTTP Header 60 cValue Kapitel 9 Methods Corresponding value for the specified keyword Notes The AddHeader Method gives the opportunity to add own keywords and values to the HTTP Header This only possible before any response is sent back to the browser Usage of colons for the specified cKey parameter is not permitted Example This example adds an additional key value pair to the HTTP header lt write additional HTTP Header X Powered By AFP lt version gt Response AddHeader X Powered By AFP SERVER Version response normal HTML lt html gt lt head gt lt head gt lt body gt This page Page creates an additional entry to the HTTP header lt br gt Show result lt p gt Server HTMLEncode Response Header
42. ation are not visible to other applications Properties cFile cID See also 39 Kapitel 7 Objects File Object Name File Object represents the curremt executed AFP document Synopsis File Notes The FILE object represents the AFP document that is executed In AFP a file object manages the physical location and the location within the virtual directory tree of a web site Properties cLocation cVirtualLocation Methods AddExtension Clone GetCacheName GetLocation Relative Reset ResolveRelative See also 40 Path Object Name Path Object contains all informations about path configuration Synopsis Path Notes The PATH object manages the various paths used in AFP Properties cCache cCommon cLog cRoot cSession Methods MakePath See also Kapitel 7 Objects 41 Kapitel 7 Objects Request Object Name Request Object holds parameters about the request sent by th web server and browser Synopsis Request Notes The request object contains all the incoming data from a web request These informations are sent from the users browser the web server handling the request and the requested url in the user s browser Methods Cookies Form MultiPart QueryString Reset ServerVariables See also Response Object Name Response Ob ject handles all content sent back to the browser 42 Kapitel 7 O
43. ation von Variablen ist deutlich einfacher Die Sessionverwaltung ist komplett berarbeitet und erlaubt auch die Erstellung sessionspezifischer Dateien etwa Abfrageergebnissen oder generierten Berichten L uft die Session ab werden diese Dateien automatisch gel scht Ereignisse In jeder AFP Seite und AFP Applikation stehen zahlreiche Ereignisse zu Verf gung in denen Code beim Laden der Applikation vor dem Aufruf einer Seite oder dannach ausgef hrt werden kann Errorhandling Sowohl auf Applikationsebene als auch pro Seite kann ein eigener Errorhandler hinterlegt werden Damit haben Sie die M glichkeit auf Fehler zu reagieren Die M glichkeit eines RETRY wird unterst tzt so da Sie etwa bei Problemen beim Sperren eines Satzes dies mehrfach wiederholen k nnen Auch eigene Fehlerseiten k nnen so dynamisch in Abh ngigkeit vom Fehler generiert werden Trennung von AFP Applikation Jede Applikation erh lt ihre eigene Datasession und eigenes Set von Variablen Hintergrundtasks erledigen das Aufr umen nicht ben tigter Dateien Mit PlugIns kann die AFP nahezu beliebig erweitert werden Durch die dokumentierte PlugIn Schnittstelle kann jeder eigene PlugIns entwicklen und anderen AFP Entwicklern zur Verf gung stellen ber eine spezielle Syntax k nnen Sie Code bei der Kompilierung ausf hren und so die zu kompilierende AFP Datei noch dynamisch beeinflussen Zur Kompilierungszeit k nnen beliebige Dateien eingebunden werden die ebenfall
44. ausschlie lich f r Sicherungs oder Archivierungszwecke aufbewahren Sie d rfen weder die Handb cher des Produktes noch anderes schriftliches Begleitmaterial zur SOFTWARE kopieren B 5 Weitere Beschr nkung Sie d rfen die Software selbst weder vermieten noch verleihen aber Sie d rfen die Rechte an diesem ProLib Lizenzvertrag auf Dauer an einen anderen bertragen vorausgesetzt da Sie diese ProLib Lizenznachweiskarte zusammen mit allen Kopien der SOFTWARE und dem gesamten schriftlichen Begleitmaterial bertragen und der Empf nger sich mit den Bestimmungen dieses Vertrages einverstanden erkl rt Zur ckentwickeln Reverse engineering Dekompilieren und Entassemblieren der SOFTWARE sind nicht gestattet Eine bertragung mu die letzte aktualisierte Version Update und alle fr heren Versionen umfassen B 6 Beschr nkte Garantie ProLib garantiert a f r einen Zeitraum von 90 Tagen ab Empfangsdatum da die SOFTWARE im Wesentlichen gem dem begleitenden Produkthandbuch arbeitet Diese Garantie wird von ProLib als Herstellerin des Produktes bernommen etwaige gesetzliche Gew hrleistungs oder Haftungsanspr che gegen den H ndler von dem Sie Ihr Exemplar der SOFTWARE bezogen haben werden hierdurch weder ersetzt noch beschr nkt B 7 Anspr che des Kunden Die gesamte Haftung von ProLib und Ihr alleiniger Anspruch besteht nach Wahl von ProLib entweder a in der R ckerstattung des bezahlten Preises oder b dem Ersatz der
45. bjects Synopsis Response Notes The Response object collects all information to send them back to the users browsers The object has two different kinds of data HTTP header and content Properties Content Type Cookie Expires Methods AddHeader BinaryWrite Body Clear Cookies Document Header HTTPCookie Redirect Reset Write See also Server Object Name Server Object 43 Synopsis Server Notes Methods DoCmd Execute HTMLDecode HTMLEncode MapPath Transfer URLDecode URLEncode See also Session Object Name Session Object manages the session id Synopsis Session Kapitel 7 Objects 44 Kapitel 7 Objects Notes However it does not manage variables or persistent contents In AFP 3 0 a session is created when you call the SESSION SessionID function If you don t call it no session is created Sessions are managed in a table SESSION DBF which sits in the common directory Each time you renew a session or a request comes in that contains session information a time stamp is updated Session information can be carried in two forms Either as a HTTP cookie or as a QueryString parameter The name of both are configurable in the afp config file The default is sid for session ID but in the sample config file it has been changed to afpcookie for backward compatibility reasons The C24_Cookie plugIn replaces this session obje
46. cal and the virtual one Example If you need a standard footer at the end of your page this might be done with this method lt loFooter FILI E Relative includes footer inc htm lcFooter FileToStr loFooter GeLocation lcFooter gt See also Clone ReNew Method Name ReNew Method Synopsis Session Renew updates the time stamp for the current session 92 Return values Parameters Notes Example See also Reset Method cLocation Name Reset Method loads the file object with its location properties Synopsis File Reset cLocation cVirtualLocation cHost Return values Parameters Physical location of the File object Kapitel 9 Methods 93 Kapitel 9 Methods cVirtualLocation Virtual location of the File object cHost Hostname of the Web site to handle the object Notes This method sets the properties for the physical and virtual paths It s actually used internal by the file methods Clone and Relative Example See also Clone Method Relative Method Reset Method Name Reset Method reloads the internal collections of the request object Synopsis Request Reset Return values Parameters 94 Kapitel 9 Methods Notes The Reset Method reloads the internal collections for the request methods Form QueryString Cookies and ServerVariables and the request properties cData and cFo
47. chkeiten mit dem Betriebssystem sind rein zuf llig und nicht beabsichtigt Kapitel 2 Los geht s 2 3 Datenzugriff In diesem Beispiel wollen wir alle Kundennamen der Customer dbf aus der Tasmanischen Handelsgesellschaft die mit Visual FoxPro als Beispielanwendung geliefert wird anschauen Beispiel 2 3 Datenzugriff allcust afp lt html gt lt head gt lt title gt All customers of table CUSTOMER lt title gt lt head gt lt body gt lt hl color 0000FF gt lt All customers of table CUSTOMER gt lt hn1 gt lt hr gt lt table border 1 width 95 gt lt tr gt lt td width 20 bgcolor 008000 gt cust_id lt td gt lt td width 40 bgcolor 008000 gt company lt td gt lt td width 40 bgcolor 008000 gt contact lt td gt lt tr gt lt if not used customer use JustPath FILE GetLocation data customer in 0 endif select customer scan gt lt tr gt lt td gt lt customer cust_id gt lt td gt lt td gt lt customer company gt lt td gt lt td gt lt customer contact gt lt td gt lt tr gt lt sendscan gt lt table gt lt body gt lt html gt 2 4 Selektiver Datenzugriff In unserem n chsten Beispiel m chten wir die Zahl der angezeigten Kunden durch Angabe des Anfangsbuchstaben einschr nken Kapitel 2 Los geht s Dazu erweitern wir das vorige Beipiel um eine Eingabem glichkeit f r den Suchbegriff und schr nken un
48. ct CreateSessionID returns the old SYS 2015 setting Also the _ XXXXXXXXX Syntax is regonized as a session ID The session object works closely with the ControlServer AFPCS EXE This server is running in the background and removing old session data This ensures that a request is not slowed down due to garbage collections Methods Abandon CreateSessionID GetSessionCookie GetSessionData GetSessionFileName IsNew NewSession ReNew SessionID SetSessionData Timeout URLO See also 45 Kapitel 8 Properties Dieses Kapitel ist Bestandteil einer Vorabausgabe und kann sich zuk nftig noch ndern Leere Abschnitte dienen als Platzhalter und werden gerade geschrieben cCache Property Name cCache Property Synopsis Path cCache cDirectory Attribute values Notes The cache directory contains all the compiled AFP documents You can safely delete all files in there The cache can be a local directory The default is common cache Example See also cCommon Property Name cCommon Property 46 Kapitel 8 Properties Synopsis Path cCommon cDirectory Attribute values Notes Common directory This directory must be accessible from all AFP instances Default is root Example See also cData Property Name cData Property Synopsis Request cData Attribute values Notes 47 Example See also cFile Property Name cFile Prop
49. der Version 3 0 erf hrt auch das bisherige Lizenzierungsmodell der AFP umfangreiche nderungen Vielleicht sind die Neuerungen ein wenig hart im Vergleich zum vorherigen Modell Aber tats chlich bietet sich nun einerseits eine bessere und flexiblere M glichkeit f r Sie als Webentwickler und Benutzer von AFP Anwendungen und andererseits eine gute Chance f r uns die Entwicklung der AFP besser zu forcieren und voranzutreiben um Ihnen neue Features und Tricks in k nftigen Versionen bieten zu k nnen Neu ist au erdem der Aspekt dass die Active FoxPro Pages 3 0 in zwei Versionen angeboten werden Vollversion und Update was im Prinzip das gleiche Produkt darstellt und sich tats chlich nur im Preis unterscheidet Falls Sie eine Liznez der AFP 2 4 besitzen so sind Sie updateberechtigt und profitieren vom g nstigeren Preis Weiterer nderungspunkt ist das sogenannte Hostmanagement der Active FoxPro Pages Standardm ssig unterst tzt die AFP drei Domains Eine Domain setzt sich hierbei aus der generischen Top Lovel Domain gTLD wie etwa de oder com und der benutzereigenen Second Level Doamin SLD wie in active foxpro pages oder afpages zusammen Erst das zusammengesetzte Resultat ist f r das Hostmanagement der AFP entscheidend Warnung Der Hostname Ihres Webservers k nnte sich als Engpa bzgl der konkurrierenden Lizenzen herausstellen Sie sollte dabei die Domains f r localhost oder des Hostnamen Ihres
50. dung 5 7 4 3 5 lt debug gt Die Einstellungen f r lt debug gt Abbildung 5 8 sollten Sie mit Vorsicht geniessen und wenn m glich ausschliesslich auf Ihrem Computer zum Entwickeln ver ndern Mittels afpengine de aktivieren Sie die Interaktion mit dem Standard Debugger von Visual FoxPro Bitte ndern Sie daf r auch die Anzahl der Threads beim Start der AFP um unn tige Instanzen zu vermeiden wie bereits mehrfach erw hnt kann die AFP ihre Fehlermeldungen auch in eine Textdatei rausschreiben Verwenden Sie hier die Option logfile Falls Sie nur einen Dateinnamen ohne Pfadangaben angeben finden Sie die Ausgabe im System32 Verzeichnis unterhalb Ihres Windowsordners Auch hier sind absolute und relative Pfade zul ssig 17 Kapitel 4 Hilfe Na toll ich habe aber kein Visual FoxPro was jetzt Kein Problem setzen Sie show error auf YES und erfreuen Sie sich der Fehlermeldungen im Browser ABER aktivieren Sie diese Einstellungen nur in einer gesicherten Umgebung etwa in einem Intranet da sehr viele Detailinformationen pr sentiert werden Gepufferte FXP Dateien k nnen w hrend der Entwicklung extrem nervig sein Daher aktivieren Sie das lediglich zur Erh hung der Verarbeitung auf Ihrem Produktivsystem 4 3 6 lt plugins gt lt plugin gt Die Standardkonfigurationsdatei der AFP beinhaltet keine zus tzlichen Plugins Diese sind separat zu aktivieren Dabei empfehlen wir Ihnen dringend wirklich nur die E
51. e Abfrage auf die Kundendaten und liefert Ihnen das gewollte Ergebnis zur ck Damit Visual Foxpro bekannt ist welche Daten durch die Formulareingabe ermittelt werden sollen verwenden wir in unserem Beispiel die Systemfunktion fox GetFormVar suchkey Die Funktion gibt uns den Wert des Eingabefeldes zur ck Der Ausdruck suchkey entspricht hier dem Namen welchen wir innerhalb des lt form gt Tags f r das Eingabefeld lt input name suchkey gt vergeben haben Kapitel 3 Erstellung dynamischer Webseiten Dieses Kapitel ist Bestandteil einer Vorabausgabe und kann sich zuk nftig noch ndern Leere Abschnitte dienen als Platzhalter und werden gerade geschrieben Dieses Kapitel befasst sich mit der Verbindung von statischen Darstellungen in HTML XML mit der Logik und Magie der AFP Wir werden zeigen wie man dynamische tabellengest tzte Webanwendungen erstellt 3 1 Ereignisablauf Die AFP 3 0 hat keine Ereignisse im eigentlichen Sinne f r die Erstellung der R ckantwort sondern eine Art Hook Mechanismus welcher es gestattet in den Ablauf einzuwirken Dazu erstmal eine alphabetische Liste aller verf gbaren Ereignisse f r Ihre Webanwendungen AppCall Error Init InitVariables Load LoadVariablesBefore PageAfter PageBefore e PageCall e PageCallAfter e PageCallBefore e Recompile e SaveVariablesAfter Die Verf gbarkeit einiger Ereignisse h ngt von der Art des AFP Dokuments freie
52. e Webseiten mit der AFP Part II Referenz Komplett bersicht zu allen Objekten und deren Methoden Part III Appendixes behandelt alle weiteren Aspekte im Zusammenhang mit der AFP iii Beispiele aus dem Buch Alle gezeigten und erl uterten Beispiele in diesem UserGuide stehen auf der offiziellen Webseite zur Verf gung Die aktuellste Version und neuesten Informationen zu den Active FoxPro Pages finden Sie stets im Internet unter der Adresse http www afpages de Schicken Sie uns Ihre Kommentare Bitte helfen Sie uns fiir zukiinftige Ausgaben dieser Dokumentation indem Sie uns Rechtschreibfehler Unstimmigkeiten Fehler in den Beispielen oder schlecht geschilderte Abschnitte sowie einfache Tippfehler angeben Die jeweils aktuelle Version steht Ihnen auch online auf http www afpages de zur Verf gung Zum Einsenden von Fehlerreports und Kommentare schreiben Sie uns bitte unter afp prolib de mailto afp prolib de Vielen herzlichen Dank I Einf hrung Cogito ergo sum Ich denke also bin ich Ren Descartes Meditationes Dieses Kapitel ist Bestandteil einer Vorabausgabe und kann sich zuk nftig noch ndern Leere Abschnitte dienen als Platzhalter und werden gerade geschrieben Part I bietet eine Einf hrung in die dynamische datenbasierende Webseitenentwicklung mittels der AFP Zuerst m chten wir Ihnen in Kapitel 1 aufzeigen welche neuen Features und Verbesserungen die Version 3 0 erfahren hat Kapitel 1 Was is
53. ed betreiben Das begr ndet sich unter anderem darin dass die Vorg ngerversion 2 4 f r den MTDLL Modus unzul ssige Befehle verwendet hat Als problematisches Beispiel sei nur der CD Befehl zum Wechseln von Verzeichnissen genannt Informieren sie den Surfer mit Ihrer eigenen Fehlerhinweismeldung HTML Datei Interessanterweise darf es sich hierbei um ein skriptsprachen angereichertes Dokument handeln Nutzen Sie diese Feature denn eine simple Hinweismeldung d rfte allemal besser ein als nichtaussagender HTTP 500 oder im schlimmsten Fall ein Red Screen of Death sein Schauen Sie daf r auch mal in Abschnitt 4 5 nach 5 4 2 3 Session Schauen wir uns nun die Einstellungen f r die Interaktion mit dem Besucher an Daf r gibt s effektiv zwei Varianten wie dies erfolgen kann Cookies oder Sessions Was ist dabei der Unterschied Nun Cookies sind kleine Textdateien die auf dem Computer des Besuchers zwischengespeichert werden k nnen w hrend Sessioninformationen serverseitig verwaltet werden Mittels beider Techniken bekommt die M glichkeit den Surfer auf der eigenen Website zu verfolgen oder um zus tzliche 26 Kapitel 5 AFP Applikationen Informationen eines einzelnen Benutzers mitzuf hren Aufgrund der Tatsache dass Cookies beim Besucher eventuell aus Sicherheitsgr nden deaktiviert sein K nnten bieten sich Sessions als gute Alternative an Sessions sind eigentlich nichts anderes als die AFP Cookies der Vorg ngerve
54. er Der Server kontrolliert und berwacht jegliche Aktivit ten zwischen den beteiligten AFP Komponenten und l dt unter anderem die Konfiguration Genau wie Sie eben die Auswahl aus verschiedenen AFP Engines hatten bietet die AFP 3 0 auch mehrere Server an um die AFP in Aktion zu setzen Das Standardverhalten bedient sich des AFP3 Dienstes AFP3SRV EXE welcher automatisch nach einem Betriebssystemstart ohne Benutzer anl uft Dies ist brigens auch die empfohlene Variante f r das Betreiben der Active FoxPro Pages auf Ihrem Webserver W hrend der Entwicklung von Webapplikationen kann das Starten und Stoppen eines Dienstes ziemlich zeitraubend sein Daher ist hierf r die Einzelanwendung AFP3 EXE besser geeignet da sie dem Entwickler ein direktes Eingreifen in die AFP Engine bietet 23 Kapitel 5 AFP Applikationen Abbildung 5 1 AFP 3 0 Desktop Application with Quick Launch Tipp Erstellen Sie sich eine Verkn pfung zur AFP3 exe in der Schnellstartleiste Das spart Ihnen Zeit und unn tige Mausklicks Als letztes sei noch die Ansteuerung des AFP Servers ber COM erw hnt Mittels der ausgelieferten Typbibliothek k nnen Sie die AFP problemlos als OLE Automationsserver betreiben und beispielsweise in eigene Anwendungen integrieren Hierzu ein kurzes Beispiel wie das ablaufen k nnte Beispiel 5 1 Verwendung der AFP 3 0 COM Schnittstelle VFP Beispiel ON SHUTDOWN CLEAR EVENTS oAF
55. ergefunden werden Da im Normalfall kein Cluster vorliegt entspricht common dem Wert von root Bei jedem ersten Zugriff auf ein AFP Dokument erfolgt der Kompilierungsprozess durch die AFP Das Ergebnis wird unterhalb des Cacheverzeichnisses cache gespeichert Zus tzlich zum vorhandenen Ereignisprotokoll des Betriebssystems kann die AFP auch in einen definierten Ordner log ihre Resulte ausgeben Dies ist vorallem f r die zus tzliche Fehlerlogging als auch f r das eventuell aktivierte Buildlog relevant Eine durchaus sinnvolle M glichkeit best nde darin die Ausgaben in das Log Verzeichnis des Webservers zu schreiben Mittels des Session Wertes sagen Sie der AFP wo die temp Sessionhandles abgelegt werden sollen Diese werden nat rlich nach Ablauf der Session wieder entfernt Meistens handlet es sich um ein Verzeichnis unterhalb des common 4 3 2 lt server gt Das n chste Tag lt server gt besch ftigt sich mit den Optionen f r die AFP Core Engine Hier erfolgen die Angabe zur max Speichernutzung zul ssige Dokumenterweiterungen die von der APF bearbeitet werden d rfen die Anzahl und die Art der initialen Threads beim Start der AFP und letztendlich die Pfadangabe ob und wo ein alternatives Fehlerausgabedokument auffindbar ist Siehe dazu Abbildung 5 5 Der Wert bzgl der Speichernutzung der AFP entspricht der Zuweisung f r die Pufferspeichergr e mittels der SYS 3050 Funktion von VFP Dies dient haupts chlich der
56. erty name of the application file in the local cache Synopsis App cFile Attribute values Notes Example See also Kapitel 8 Properties 48 Kapitel 8 Properties clD Property Name cID Propert y ID of the application Synopsis App cID Attribute values Notes This ID is used when variables are stored Two applications with the same ID change the same set of variables but not the same set of files Example See also cLocation Property Name cLocation Propert y Physical file as specified by the web server in the PATH_TRANSLATED server variable Synopsis File cLocation 49 Kapitel 8 Properties Attribute values Notes This value is optional Example See also cLog Property Name cLog Property Synopsis Path cLog cDirectory Attribute values Notes Log directory All log files produced by AFP are saved here Default is root log Example 50 See also ContentType Property Name ContentType Property Synopsis Response ContentType cContentType Attribute values Notes Example Change the HTTP header to return a PDF document Response ContentType application pdf See also AddHeader Method Kapitel 8 Properties 5I Kapitel 8 Properties Cookie Property Name Cookie Property Synopsis Response Cookie Attribute values Notes Example See also AddCookie Method GetCookieHeader
57. esteuerte Aktivit ten mit unterschiedlichen Konfigurationen durchf hren 5 4 2 1 Pfad Der konfigurationsdialog im AFP 3 0 ControlCenter bietet mehrere Tabs bzw Seiten welche die entsprechenden XML Tags innerhalb der Konfigurationsdatei darstellen Wir besprechen jede einzelne Seite Abbildung 5 4 Pfadangaben Auf der Seite Pfad hinterlegen Sie die Verzeichnisse in der die AFP agieren darf Das Basisverzeichnis zeigt meist auf das Applikationsverzeichnis welches bei der Installation angeben wurde Kein Eintrag ist gleichbedeutetnd mit dem Ordner in dem sich entweder die AFP3 EXE oder die AFP3Srv EXE befindet Die Direktive f r die Common Files gibt Auskunft dar ber wo sich bei Einsatz der AFP in einem Cluster die gemeinsamen Metadaten befinden meist entspricht dies einer Netzwerkfreigabe auf einem anderen System Da in den meisten F llen kein Cluster vorliegt entspricht der Wert dem Basisverzeichnis bei jedem erstmailgen Aufruf eines AFP Dokuments wird dieses durch die Visual FoxPro Laufzeitbibliothek kompiliert und im Cache abgelegt Dies garantiert f r alle folgenden Aufrufe wesentlich schneller Reaktionszeiten Das Cacheverzeichnis befindet sich normalerweise unterhalb des Common Falls Sie w hrend der Entwicklung genaue Informationen zum kompilierungsprozess w nschen so werden diese Protokolle im Logpfad abgelegt 25 Kapitel 5 AFP Applikationen Die Verwaltungstabelle f r die einzelnen Session liegt zwar im Comm
58. ethod Name GetSessionFileName Method returns a file name that you can use to store session specific data Synopsis Session GetSessionFileName 78 Kapitel 9 Methods Return values Parameters Notes cExtension must currently start with a period This method returns a file name that you can use to store session specific data These files are stored in the session directory and automatically deleted when the session times out The ControlServer checks every 3 minutes for abandoned files and deletes them This applies to directories too For directories only the directory name must be returned by this method Files in a directory can have any name This method is especially usefull to keep temporary results sets shopping carts and the like However keep in mind that these files might exist for the duration of a session 30 minutes by default If you have many hits you might run out of harddisk space Example lcDir GetSessionFileName appdata Md 1cDir Create Database AddBs 1cDir foo See also Header Method Name Header Method returns all additional HTTP header information 79 Kapitel 9 Methods Synopsis Response Header Return values Character Notes The method returns all information set to the HTTP header via AddHeader Method Example lt write additional HTTP Header Response AddHeader X Powered By AFP 3 0 show resulting header in
59. fentlichkeit anzubieten Sie bewirken damit sogar eher das Gegenteil in dem Sie zuviele Informationen ber Ihr System und dessen Konfiguration einschliesslich Pfadangaben und Systemvariablen preisgeben Abbildung 4 9 Detailliertes HTML Feedback Red Screen of Death 21 Kapitel 5 AFP Applikationen Dieses Kapitel ist Bestandteil einer Vorabausgabe und kann sich zuk nftig noch ndern Leere Abschnitte dienen als Platzhalter und werden gerade geschrieben Die Active FoxPro Pages sind sehr modularisiert aufgebaut und bieten umfangreiche Einstellungsm glichkeiten um den Entwicklungsprozess f r Webanwendungen zu verbessern und um die Antwortzeiten auf dem ffentlich verf gbaren Webserver auf ein Mimnum zu optimieren Damit dieses Ziel erreciht werden konnte besteht die AFP aus diversen einzelnen Anwendungen Dieses Kapitel gibt Ihnen einen berblick dar ber Allgemein gesagt besteht die AFP aus vier Komponenten die miteinander agieren und kommunizieren ISAPI Schnittstelle AFP Engine AFP Server Konfiguration 5 1 ISAPI Schnittstelle zum Webserver Die AFP ist eine Erweiterung f r ISAPI kompatible Webserver wie IIS oder Apache Die daf r notwendige Systembibliothek ist die Datei AFP3 DLL welche die Kommunikation zwischen dem Webserver und der AFP Engine kontrolliert und regelt Der tats chliche Ablauf ist einfach jede eingehende Anfrage f r ein AFP Dokument wird vom Webserver in Abh ngigkeit seiner K
60. following document could be used to log out the current user Once the session has been abandoned the browser is redirected to the login page letting the next user log onto the system When you design applications that might be used from public computers you should always provide an explicit logout option Otherwise the next visitor might gain access to private data of a previous user LogOut AFP lt ESSION Abandon ESPONSE Redirect Login afp gt Y cda oe 57 Kapitel 9 Methods See also AddExtension Method Name AddExtension Method returns a new file object that has been extended by the string in cExtension Synopsis Response AddExtension cExtension Return values Object Parameters cExtension File extension to add to the current file Notes Tjoa Example For example file AddExtension config returns a file object that represents the configuration file lt oFile FILE AddExtension config gt 38 See also AddCookie Method cName cValue cPath uDate Name AddCookie Method adds a user defined cookie information to the response Synopsis Response AddCookie cName cValue cPath uDate Return values Logical Parameters Name of the cookie to send back to the client Corresponding value for the specified cookie Corresponding path for the specified cookie Expiration date of the cookie Allowed value type
61. formation Response Header amp amp X Powered By AFP 3 0 gt See also AddHeader Method HTMLDecode Method Name HTMLDecode Method converts HTML escape codes back to normal characters 80 cValue Synopsis Server HTMLDecode cValue Return values Character Parameters Encoded string to decode with HTML conversion Notes Tjoa Example lcString SERVER HTMLDecode 1cFormVar See also HTMLEncode Method HTMLEncode Method Name HTMLEncode Method applies HTML escape codes Kapitel 9 Methods 8 cValue Synopsis Server HTMLEncode cValue Return values Character Parameters Kapitel 9 Methods Encoded string to decode with HTML conversion Notes CHR 10 is converted to lt br gt all special characters are converted to their amp xxx counterparts Control characters are removed eg CHR 7 or CHR 13 FOX Out has been updated to use SERVER HTMLEncode The configuration table cannot be configured Example lcQuoteString SERVER HTML See also HTMLDecode Method Encode 1cString 82 Kapitel 9 Methods HTTPCookie Method Name HTTPCookie Method Synopsis Response Return values Parameters Notes Example See also IsNew Method Name IsNew Method 83 Kapitel 9 Methods Synopsis Session IsNew Return values Parameters Notes returns T wenn SessionI
62. g dar f r die eine separate Lizenz notwendig ist B 3 Erweiterte Lizenzeinr umung a Jeder Betreiber einer juristisch eigenst ndigen Website ben tigt eine Lizenz b Wenn ein Provider f r seine eigenen Kunden wiederum Dienste auf Basis der AFP anbietet ben tigt dies keine weitere Lizenz Beachten Sie dabei Sie erkl ren sich damit einverstanden Prolib bez glich aller Anspr che oder Rechtsstreitigkeiten einschlie lich der Anwaltskosten die aufgrund des Gebrauchs oder der Verbreitung Ihres Softwareproduktes entstehen k nnen freizustellen schadlos zu halten und gegen solche Anspr che zu verteidigen Ein von Ihnen verwendetes Produkt das die AFP verwendet darf nicht in Leistungskonkurrenz zur AFP selber stehen Es ist Ihnen nicht erlaubt AFP oder auch nur Teile davon zu verwenden um vergleichbare Leistungsmerkmale oder Funktionalit t in ein Produkt aufzunehmen das mit AFP konkurrenziert B 4 Urheberrecht Die SOFTWARE ist Eigentum von Prolib oder deren Lieferanten und sie ist durch Urheberrechtsgesetze internationale Vertr ge und andere nationale Rechtsvorschriften gegen Kopieren gesch tzt Wenn die SOFTWARE nicht mit einem technischen Schutz gegen Kopieren ausgestattet ist d rfen Sie entweder a eine einzige Kopie der SOFTWARE ausschlie lich f r Sicherungszwecke oder 114 Anhang B Lizenzbestimmungen Archivierungszwecke machen oder die SOFTWARE auf eine einzige Festplatte bertragen sofern Sie das Original
63. icial data driven AFP website site afp lt lcCategory ALLTRIM LOWER Request QueryString cat lcCategory IIF INLIST lcCategory home docu demo lcCategory home SELECT FROM category WHERE cCat lcCategory INTO CURSOR _Category IF _TALLY gt 0 SCAN SCATTER MEMO MEMVAR m de lt p gt GATHER MEMO MEMVAR ENDSCAN ENDIF gt See also Form Method ServerVariables Method Redirect Method Name Redirect Method redirects the client s browser to another location Synopsis Response Redirect cLocation Return values 90 Kapitel 9 Methods Parameters cLocation Notes The Redirect method generates a HTTP 302 message with the new location and sends this back to the client s browser In consequence the browser requests the new URL automatically Example Due to some re structuring your Web site has other paths and or filenames lt oe Response Redirect newpage afp See also Relative Method Name Relat ive Method returns a new file object that represents a file in a position relative to the current one Synopsis File Relative cRelativeLocation Return values Object 91 Parameters cRelativeLocation Kapitel 9 Methods Location to another file relative to the current one Notes The relative location is searched in both trees the physi
64. id YES http sessionname afpcookie afp sessionid YES afp sessionname afpcookie file common Session dbf gt lt build compile log NO gt lt debug afpengine NO cache fxp NO show error NO gt lt plugins gt lt plugins gt lt virtual name secure common secure securelevel 1 gt lt virtual gt lt afp gt lt config gt Klar erkennbar lautet die Basis der XML Datei lt config gt welche wiederum das Element lt afp gt beinhaltet Erst dann stehen die Einstellungen samt ihrer Werte wie im ControlCenter zur Verf gung F r die Tags die Attribute und auch teilweise die eigentlichen Werte ist auf alle F lle die Gro Kleinschreibung zu beachten Bitte denken Sie daran wenn Sie die Datei selbst editieren 4 3 1 lt path gt Hier werden alle Pfadangaben der AFP hinterlegt vergleichbar mit der Seite Pfad Abbildung 5 4 Zur Auswahl stehen root common cache log und session die Verzeichnisse k nnen sowohl absolut als auch relativ zueinander angegeben werden Die Einstelleung root h lt die Information wo die AFP 3 0 Engine l uft Falls der Wert leer wird das Verzeichnis indem sich die afp config befindet genommen Standardm ssig ist dies der Fall Falls Sie die AFP als Teil einer Clusterl sung einsetzen so verwenden Sie einen gemeinsamen common Ordner f r alle angebundenen Webserver Dies dient dazu dass systemweite Dateien 15 Kapitel 4 Hilfe wied
65. iels einmal genauer an Zuerst einmal sind Ereignismethoden nur in den code Dateien gestattet also afp code oder afpa code Da wir upload afpa code verwenden bedeutet dies wiederum dass es sich um einen Bestandteil einer Webanwendung afpa namens upload handelt Als n chstes erstellen wir das eigentliche Event mittels der Procedure EndProc Anweisung von FoxPro Dabei ist es stets notwendig dass Sie das Ereignis mit dem EndProc abschliessen Der hier geschriebene Code wird eins zu eins als Baustein komplett in den Kompilierungsprozess bernommen Falls Sie also das EndProc vergessen sollten beeinflussen Sie das gew nschte Resultat negativ und erzeugen dadurch ungewollte Fehler Innerhalb der Ereignismethoden d rfen Sie nur reine VFP Anweisungen und Methoden verwenden AFPScript also mittels lt und amp 62 eingeschlossene Segmente sind f r die Ereignisprogrammierung nicht gestattet Eine weitere Einschr nkung ist die Vermeidung der Anweisung RETURN die durch den Kompilierungsprozess als ein EXIT interpretiert wird und dadurch das sp tere Parsen eines AFP Dokuments unterbricht und meistens nur eine leere Seite an den Browser zur ckschicken Ereignisse k nnen mehrfach in der tats chlichen Ergebnisseite siehe PRGs im cache auftreten Dies wird durch verschiedene Faktoren beeinflusst der AFP interne Kompilierungsverlauf ob das Ereignis sowohl in der einzelnen Seite und in der Webanwendung definiert ist ob
66. ion this location is returned Otherwise cVirtualLocation is determined in the alternate directory tree virtual director tree as defined in the afp config file If the file doesn t exist there an empty string is returned This name is unique for any file in a web site Example This method is useful to refer to relative data files below your public web directory lt lcData D inetpub data customer db IF NOT FILE lcData lcData ADDBS JUSTPATH FILE GetLocation data customer dbf ENDIF IF NOT USED customer USE lcData IN O SHARED ENDIF SCAN T CUSt La lt brs ENDSCAN gt See also cLocation Property cVirtualLocation Property 76 Kapitel 9 Methods GetSessionCookie Method Name GetSessionCookie Method returns a cookie string with the current session ID Synopsis Session GetSessionCookie Return values Parameters Notes If HTTP cookies are enabled returns a cookie string with the current session ID This method is automatically called when the response is send back to the client Example See also GetSessionData Method Name GetSessionData Method returns session data that has previously been saved by SetSessionData 77 Kapitel 9 Methods Synopsis Session GetSessionData Return values Character Parameters Notes If no data is available an empty string is returned Example See also GetSessionFileName M
67. le See also URLDecode Method Version Method Name Version Method returns the version information of the Active FoxPro Pages Synopsis Server Version Return values Character Parameters Notes Example 106 Kapitel 9 Methods See also Write Method uValue Name Write Method returns content to the browser Synopsis Response Write uValue Return values Parameters Value to response to the browser as result of the requested URL Notes The Write Method is responsible for any content send back to the browser In analogy to other web products the method can also be used like this uValue and or uValue All data types are allowed as parameter The method converts them internal to strings Example Same behaviour with the synonyms of the write method lt oe 107 Response Write Hello World 2 40 2 DATETIME See also Clear Method Reset Method HTMLEncode Method Kapitel 9 Methods 108 lll Appendixes Anhang A Multi thread Restrictions of VFP The multi thread environment of AFP 3 0 offers a lightweight run time library for in process servers many user input commands and functions are removed All Object syntax is still available though events from visual classes such as forms are disabled The following language categories of Microsoft Visual FoxPro are removed from AFP3Engine dll Menu Popup and Bar commands a
68. lem Pfad eingestellt ist Zur Konfiguration einzelner virtueller Webverzeichnisse ffnen Sie den Eigenschaftendialog auf dem neuen Dialog w hlen Sie Basisverzeichnis siehe Abbildung 4 4 ffnen Sie die Konfiguration um die bestehenden Scripterweiterungen Abbildung 4 5 zu bearbeiten Wahrscheinlich d rften bereits einige Dateierweiterungen eingerichtet sein f gen Sie die AFP falls nicht schon vorhanden zu Ihrer Liste hinzu Danach wei der IIS wie er mit AFP Seiten umzugehen hat und bergibt die Anfrage an die AFP3 DLL Abbildung 4 4 Configure IIS Home Directory dialog Abbildung 4 5 Configure IIS Configuration dialog Das war s Verlassen Sie die offenen Dialoge ber die OK Buttons und starten Sie das AFP aktivierte Webverzeichnis neu Das Neustarten ist eigentlich nicht notwendig es schadet aber auch nicht und wir w rden es durchf hren Sicher ist sicher Falls Sie den Apache HTTP Server ab Version 2 0 x verwenden so wurde vom AFP Setup eine Datei Namens httpd afp conf in das conf Verzeichnis r berkopiert Bitte schauen Sie sich die Unterschiede zur Ihrer bestehenden an dann sollte es ein leichtes sein dem Apachen die AFP nahe zu legen Ja das ist sicherlich die feine Art und wir arbeiten auch an einer Verbesserung jedoch ist ein Eingriff in die komplexe Konfiguration mit ihren tausenden Direktiven nicht ganz einfach und deshalb unterlassen wir gegenw rtig die automatische Konfiguration Wir h
69. me JustFName Request MultiPart txtFile filename If Empty m 1cFileName Return EndIf lcDescription Request Form edtDescription lcFile Request Form txtFile Insert into Upload cFile cDesc cData Values m lcFileName m lcDescription m lcFile Jo gt lt HTML gt lt p gt Your file has been saved lt A HREF upload afp gt Back to list lt A gt lt HTML gt 87 See also Form Method NewSession Method Name NewSession Method Synopsis Session NewSession uSessionID Return values Parameters uSessionID Notes Example See also Kapitel 9 Methods 88 Kapitel 9 Methods QueryString Method cKey nIndex aArray Name QueryString Method returns a variable in the query string Synopsis Request QueryString cKey nIndex aArray 0 Return values Character Numeric or Array Parameters Specified key attribute of the correspondending field Specified index the correspondending field Specified array to get all query infos as key value pair Notes With this method you can handle the query string of an URL reqeusted by the browser This is very useful if you are dealing with enhanced hyperlink definitions to use the same AFP document always the same time for slightly different responses but same static elements Formerly FOX GetPar 89 Kapitel 9 Methods Example This example is an extract from the off
70. n daf r unterschiedliche Standardseiten und Suchindices Im IIS lautet die Seite default htm beim Apache index htm Sie k nnen diese Angaben jedoch frei w hlen und jederzeit ndern F r den Einsatz der AFP bietet es sich an die Standardseite auf default afp und oder index afp einzustellen Um Ihren Webserver im Browser zu erreichen geben Sie den Domainnamen des Computers in der Adressleiste ein Falls Sie keine eigene Domain f r den Computer haben sollten so verwenden Sie entweder den Rechnernamen oder die IP Adresse als Zieladresse Sollten Sie auf dem Rechner direkt arbeiten k nnen Sie auch http localhost verwenden Unser erstes AFP Beispiel speichern wir also in das Verzeichnis C inetpub wwwroot Zur Erstellung ist irgendein Texteditor wie etwa Notepad vollkommen ausreichend Wir verwenden einfach Notepad da es normalerweise auf jedem Windowssystem zur Verf gung steht 2 1 Hello World Wie in allen Programmiersprachen blich beginnen wir klassisch mit dem Hello World Beispiel Beispiel 2 1 Hello World mit AFP hello afp A oe Hello World gt Sie sehen innerhalb des Quellcodes ganz regul ren HTML Code Die Verwendung der AFP wird hnlich wie bei anderen Skriptsprachen ASP PHP und andere durch ein bestimmtes Trennzeichen hier das Prozentzeichen eingeleitet und beendet Dies dient zur strukturellen und syntaktischen Trennung von HTML Tags und Visual FoxPro Code Kapitel 2 Los geht s
71. n den Surfer zur cksenden Beispiel 4 3 Angepasste HTTP 500 Fehlermeldung lt html gt lt head gt lt title gt Sorry work in progress lt title gt lt head gt lt body gt lt h2 gt Dear visitor lt h2 gt due to some re configuration on our billing system it s not possible to send any orders at the moment We are working on that and the system should be running perfectly in about lt lt 22 HOUR DATETIME gt gt hours this day lt p gt Please be patient sincerely lt body gt lt html gt Sinnigerweise eignet dich das error Attribut der AFP somit um Ihre Besucher dar ber zu informieren dass gegenw rtig etwas mit dem Webserver oder der Dienstleistung nicht stimmt Weiteres dazu finden Sie in Abschnitt 4 3 2 und Abschnitt 5 4 2 2 4 5 4 Detailliertes HTML Feedback Die bereits vorgestellten M glichkeiten f r Fehlerreporte sind sicherlich n tzlich f r den normalen Gebrauch Doch wie sieht es eigentlich w hrend der Entwicklung aus Auch f r diesen Fall bietet Ihnen die AFP ein nettes Feature Red Screen of Death Klingt interessant oder Die entsprechende Einstellungsm glichkeit show errors finden Sie bei den Debugoptionen Bitte lesen Sie in Abschnitt 4 3 5 und Abschnitt 5 4 2 5 weiter falls dies neu f r Sie klingt Zur Verdeutlichung betrachten Sie sich untenstehende Abbildung 4 9 Es ist absolut unn tig die detaillierte Fehlerausgabe auf einem Produktivsystem der f
72. nauen Zusammenh nge sp ter anschauen Lassen Sie uns ein wenig genauer in die Details gehen 1 1 Featureliste AFP 3 0 wurde vollst ndig berarbeitet W rde ich hier alle Neuerungen auff hren w re dieses Announcement so lang da sie keiner mehr lesen w rde Daher nur einige der Highlights e Geschwindigkeitsoptimierung AFP 3 ist deutlich schneller als AFP 2 4 und kann auf einem einzelnen Rechner mehrere Millionen Hits am Tag verarbeiten Das gesamte Design der AFP 3 ist auf maximale Performance ausgelegt e Keine COM Schnittstelle mehr Die ISAPI Erweiterung kommuniziert direkt mit der eigentlichen AFP Engine Dadurch ist keine Konfiguration mit DCOMCNFG mehr erforderlich kann die gesamte AFP Kapitel 1 Was ist neu jederzeit gestoppt werden ohne den WebServer stoppen zu m ssen und gibt es keine Konvertierungsprobleme mit COM Echtes Multithreading AFP 3 ist eine echte multithreaded VFP Applikation Dadurch ist der Speicherplatzverbrauch deutlich niedriger als in AFP 2 4 Dateiupload Verbesserte Sicherheit AFP 3 kann auch mit Gastrechten laufen Dateien m ssen nicht mehr im wwwroot Verzeichnis sein sind dadurch vor Zugriffen gesch tzt ControlCenter Das ControlCenter bietet einen berblick ber alle laufenden AFP Threads inklusive der gerade bearbeiteten Seite und der Ausf hrungszeit Threads k nnen jederzeit entladen oder geladen werden Sessionverwaltung Die SessionID ist nun immer eindeutig Die Deklar
73. nd functions e MESSAGEBOX and WAIT WINDOW e READ Get Says User defined Window commands and functions A 1 Unsupported commands in AFP multi threaded mode The following table is a list of unsupported commands which will generate one of these errors running AFP in multi threaded mode Commands Feature is not available Functions Function is not implemented e System variables Variable is not found Tabelle A 1 Unsupported commands in AFP multi threaded mode BOX CLASS CLEAR EDIT FILL GET MENU PROMPT SAY SCROLL TO ALIGNMENT ASSIST BEAUTIFY BOX CALCMEM CALCVALUE CONVERTER COVERAGE CUROBJ DBLCLICK DIARYDATE FOXDOC GALLERY GENMENU GENPD GENSCRN GETEXPR INDENT LMARGIN PADVANCE PBPAGE PCOLNO PCOPIES PDRIVER PDSETUP PECODE PEJECT PEPAGE 110 Anhang A Multi thread Restrictions of VFP PLENGTH PLINENO PLOFFSET PPITCH PQUALITY PSCODE PSPACING PWAIT RMARGIN RUNACTIVEDOC SCCTEXT SPELLCHK STARTUP TABS THROTTLE TRANSPORT WRAP ACCEPT ACTIVATE MENU ACTIVATE POPUP ACTIVATE SCREEN ACTIVATE WINDOW IAGETCLASS AMOUSEOBJ IANSITOOEM IASELOBJ ASSERT ASSIST BARO BARCOUNT IBARPROMPT BROWSE CALL CHANGE CLEAR DEBUG CL
74. nue with a new AFP document to send back to the browser The current AFP page is no longer executed This includes any information send either to the HTTP header or cookies Formerly known as FOX CallO Example For example in an online calendar you are able to send different responses due to the current year This is quite useful cause mostly the office is closed around new year lt IF YEAR 2003 Response Call happynewyear afp ENDIF Normal code execution if NOT 2003 64 Kapitel 9 Methods See also Redirect Method Transfer Method Clear Method Name Clear Method empties the response buffer Synopsis Response Clear Return values Logical Parameters Notes Sets the response buffer back to an empty string HTTP header and cookies are not affected Example lt html gt lt body gt lt h2 gt Congratulations You won lt h2 gt lt IF lcName wOOdy Response Clear gt lt html gt lt body gt lt h2 gt Sorry you re a team member lt h2 gt lt ENDIF 65 gt lt p gt Best wishes your lt i gt AFP Team lt i gt lt body gt lt html gt See also Reset Method Clone Method Name Clone Method returns an exact copy of the current file object Synopsis Response Document Return values Object Parameters Notes Example lt loFile FILE Clone gt Kapitel 9 Methods 66 Kapitel 9 Methods See
75. oadossevesviesseecnssgensteahss 61 NI 8225 22 Rasa hs ee ons iin EEE ESE 62 Calls Methods ad ia 63 Cea MeO pa 65 Clone Method aa A es 66 Eook1eDate Meth d 2 2 ihnen a ii EIE 67 Cookies Method atun dd E 68 CreatesessionTlD Method ias 69 DoEmd Method ii iaa 69 Document Method tadas 70 Execute Meth d ni add 71 FO M eO dd 71 GetCacheName Method ccccccccccssssceececessseeecesessceceecesuececcecesssececeseasceceecssaeseecessneeeeeeseaees 73 GetCookie Header Method ida Boa 74 GetLocation Method iii ade 75 GetSessionCookie Method cccccccecssssccecesssececesessceceecesececcecesssececesensceceeeeusaeccesesseseeeseaees 76 GetSessionData Method oooocccnnnnoccnncnnoonnnncononnacononnnanonnononnnnnnconononanoncnnnnnnonononnnnnnnonnnnnnononnnnnnos 77 GetSessionFlleName Meth d 2 22 222228228215 oo eases Roe AR Mea ini 78 Header Method ii E R EEn ENTE 79 HATMLEDecode Methiod r aa aee e ee r ee a otee oa a diee dad 80 HTMLEncode Method 0 ad 81 HTTP COOKIE Method is 82 INE MEO aise ase ee a A E ties 83 Mak PRath M ethod wissrcccesccicvcsivessnscdd csvcsessccestetavcecctecsdvencestesteuneases seceecesurceccsecsevenlecsenedsusecoevesdeeite 84 MapPath Method 2 2 ition echeehsGeceuhesieee RER EI 85 MoulltiPart Method i tds 86 NewSession Method sauer seinen sten teasvescelledeessneteavvedeedes 88 QueryStung Methdd se l n Hessen Beip Erbsen 88 Redireet Method zansnnsenn A a EE enter a eee 90
76. offen dass dies auch Ihren Vorstellungen entspricht 4 3 Konfigurationsdatei der AFP Die Active FoxPro Pages k nnen auf zwei sehr unterschiedliche Arten konfiguriert werden einfach und eben schwer Wenn Sie sich jetzt f r den einfachen entscheiden starten Sie dazu das AFP 3 0 ControlCenter und lesen in Abschnitt 5 4 weiter Ansonsten bleiben Sie hier und k mpfen sich durch die n chsten Seiten Dieser Abschnitt behandelt jede verf gbare Option der afp config der zentralen Konfigurationsdatei der AFP 3 0 Die interne Struktur der Datei ist einfaches XML und relativ selbsterkl rend so dass 14 Kapitel 4 Hilfe nderungen auch direkt durchgef hrt werden k nnen Dennoch empfehlen wir dass Sie das ControlCenter verwenden Zus tzlich zur angepassten Konfiguration installiert die AFP noch eine sogenannte Standarddatei afp default config welche Sie verwenden k nnen falls Ihre existierende nicht mehr lauff hig sein sollte Sozusagen als Backup Das ControlCenter bietet Ihnen die Erstellung einer neuen leeren Konfiguration auf Knopfdruck Beispiel 4 1 Standardkonfiguration afp default config lt xml version 1 0 encoding Windows 1252 gt lt config gt lt afp gt lt path root common root cache common cache log root log session common Session bin root gt lt server memory 1256000 valid extensions afp htm html asp threads 4 isolated YES error gt lt session http session
77. onfiguration f r die Dateierweiterung an die ISAPI Schittstelle AFP3 DLL bergeben welche diese wiederum an die AFP Engine weitergibt und im Gegenzug das entstehende Result an den Webserver zur ckliefert F r die ISAPI erweiterung gibt es eine optionale Konfigurationsdatei AFP3 INI mit einem einzigen Parameter BusyTimeout Dieser spezifiziert die maximale Wartezeit in Sekunden die die AFP3 DLL bis zur Antwort der AFP Engine verweilen l sst bevor eine Time Out nachricht an den Webserver zur ckgeliefert wird Falls die Einstllung fehlt betr gt die Standardzeit 30 Sekunden 5 2 Varianten der AFP Engine Was bedeutet das eigentlich Die AFP Engine ist sozusagen das Arbeitstier in der Gesamtheit der einzelnen Komponenten der Active FoxPro Pages Die Engine k mmert sich um die eingehenden 22 Kapitel 5 AFP Applikationen Informationen aus der ISAPI Erweiterung interagiert mit den Tabellen und erzeugt die zur ckzusendende Antwort an den Webserver Unter Varianten gruppieren sich die unterschiedlichen Laufzeit Umgebungen f r die AFP Engine Wie bereits in Abschnitt 4 3 2 erw hnt kann die AFP in unterschiedlichen Modi betrieben werden Multithreaded Singlethreaded aber Mehrfachbenutzung und Debugmodus Die richtige Umgebung ergibt sich aus den Konfigurationseinstellungen f r isolated und afpengine Genauere Details erschliessen aus Abschnitt 4 3 Normalerweise wird die AFP in der multithreaded Umgebung AFP3Engine DL
78. onverzeichnis die jeweilige tempor re Einzelsession wird jedoch mittels der Pfadangabe f r Session festgelegt Auch dieser Wert liegt standesgem im common 5 4 2 2 Server Wie bereits im vorhergehenden Abschnitt erw hnt gibt es f r die AFP unterschiedliche Servervarianten Die Einstellungen auf dem Tab Server legen dabei die initialen Startparameter wie allozierende Speicherbelegung in Bytes f r jede AFP Engine sowie die Gesamtanzahl fest Abh ngig von der eingesetzten Hardware l sst sich hier noch zus tzlich Leistung herauskitzeln Abbildung 5 5 Einstellungen zur Komponente AFP Server Die Angabe von zul ssigen Dateierweiterungen ist absolut notwendig f r das Verarbeiten von AFP Dokumenten Falls die entsprechende Erweiterung nicht hinterlegt ist verweigert die AFP die Interpretation der Anfrage Es handelt sich hierbei um einen zus tzlichen Kontrollmechanismus zum Webserver Wenn Sie mit der AFP beispielsweise WAP Seiten dynamisch erzeugen wollen so ist die Endung WML entsprechend hinzuzuf gen Ansonsten bekommen Sie einen schlichten HTTP 500 Fehler Anmerkung Die zul ssigen Erweiterungen betreffen nur die f r die AFP erlaubten Dateiendungen welche von der AFP Engine verarbeitet werden d rfen Dies entspricht NICHT zwangsl ufig den Skripterweiterungen des Webservers Die AFP f hrt demnach nur eine zus tzliche Pr fung durch Falls Sie die AFP mit aktiviertem C24 Plugin betreiben sollten Sie die Threads isolat
79. r own Plugins Hey I like those plugins but how to you might think now Plugins add a lot of flexibility and power to the AFP and you decide which plugins you need or want So in this section let s see how to write individual plugins What is a plugin A plugin for the AFP is just a normal Microsoft Visual FoxPro 7 compiled application either APP EXE or FXP To integrate your VFP application as plugin to the AFP you have to add a new lt plugin gt tag in the afp config which refers to your program After successfully reloading the AFP engine your AFP documents can use your plugin That s all almost An APP plugin has to fullfil several requirements before it loads to the AFP engine anyway and here they are 34 Kapitel 6 Plugins 6 4 1 Requirements Before you can use your own plugins they have to match a specific interface given by the plugin management of the AFP In this section we explore this interface and you will see that is very easy to write your own add ons If the AFP starts a plugin one parameter by reference is passed to add this object to its plugin management An AFP plugin must have the following properties and methods 6 4 1 1 clD A short identifier string to represent or list the loaded plugin on the information page of AFP Take a look at the plugins section in afpinfo afp 6 4 1 2 Load Method Obviously the initializing method to specify any defaults or pre requisities the plugins needs
80. rm Example See also Cookies Method Form Method QueryString Method ServerVariables Method Reset Method Name Reset Method resets the response to its defaults Synopsis Response Reset Return values Parameters Notes Resetting the Response object includes the HTTP header with status code cookie information the content type and the content itself 95 Kapitel 9 Methods Example lt Response Reset gt lt html gt lt body gt New content to respond lt body gt lt html gt gt See also Clear Method ResolveRelative Method Name ResolveRelative Method returns an absolute path that is relative to the specified base Synopsis File ResolveRelative cBase cRelative Return values Character Parameters cBase Specifies the base to start from to resolve the relative path to the destination This can be a file or a path 96 cRelative Kapitel 9 Methods Specifies the relative path to the destination Notes nn For instance FILE ResolveRelative public shop foo afp images returns public images Example lt lcAbsPath FILE ResolveRelative FILE GetLocation images gt lt img src lt lcAbsPath gt afplogo png border 0 alt AFP Logo gt See also ServerVariables Method Name ServerVariables Method returns any of the HTTP server variables Synopsis Request Server Variables c
81. rnet layer for communication between nets and their hosts An IP address uniquely identifies each network and each of its hosts on the internet Addresses consist of four bytes that can be represented by four integers 0 to 255 seperated by dots e g 157 189 162 75 Dependent on the address class and a subnet mask a specific number of bits identify the net or subnet and the rest a PC s address within this net subnet ISAPI Internet Information Server API API supported by the MS s Internet Information Server IIS Request Response Rushmore Thread Microsoft Visual FoxPro is a 4G programming language with integrated database functionality 118 Glossary Visual FoxPro Microsoft Visual FoxPro is a 4G programming language with integrated database functionality World Wide Web Also known as the WWW the W3 or most often simply as the Web it originally developed by CERN labs in Geneva Switzerland Continuing development of the Web is overseen by the World Wide Web Consortium The Web can be described dryly as a client server hypertext system for retrieving information across the Internet On the Web everything is represented as hypertext in HTML format and is linked to other documents by their URLs The Web encompasses its native http protocol as well as ftp Gopher and Telnet The best way to learn about it however is to try it for yourself 119 Stichwortverzeichnis 120
82. rsion Der Begriff mag damals vielleicht ein wenig ungl cklich gew lht worden sein ber das Sessionmanagement brauchen Sie keine benutzerbezogenen Informationen auf dem Fremdsystem abzulegen Zus tzlich bleiben die Informationen bedingt erhalten falls der Surfer seinen PC oder Browser zwischenzeitlich wechseln sollte Dazu werden die Daten einer Session zentral auf dem Server im session Verzeichnis abgelegt und mittels der Session DBF berwacht F r die Entwicklung Ihrer Webanwendungen bauen Sie dazu die SessionID immer in Ihre verlinkten URLs auch in die FORM ACTION ein Dadurch haben Sie stets den aktuellen Standort und Status eines Surfers innerhalb Ihrer Webseiten Die Konfigurationsseite offeriert beide M glichkeiten Hier wird definiert ob berhaupt Cookies und oder Sessions verwendet werden und wie diese lauten sollen Der jeweilige Name ist auch hier weitestgehend frei w hlbar sollte aber keine deutschen Sonderzeichen enthalten um eventuellen Zeichensatzproblemen direkt aus dem Weg zu gehen Die Angabe der Sessiondatei bezieht sich auf die Verwaltungstabelle aller aktiven Sessions welche meistens unterhalb des common Verzeichnis abgelegt wird Timeout spezifiziert die maximale Lebensdauer der einzelnen Sessions bevor diese automatisch aus der Verwaltung entfernt werden Details finden sich in Abbildung 5 6 Abbildung 5 6 Sessionmanagement die einfache Konfiguration Abbildung 5 7 Kompilierungsprotokoll erw nscht 5
83. rtuellen Struktur innerhalb des Webservers eine eigene virtuelle Spassig nicht wahr ber diesen Mechanismus wird die Anfrage zuerst durch den Webserver und danach durch die AFP eigene Struktur gesucht 18 Kapitel 4 Hilfe 4 4 Debug Modus Nat rlich ist jede Applikation frei von syntaktischen und oder semantischen Fehlern Falls dem jedoch nicht so sein sollte sind die Debug Kapazit ten eine echte Wohltat beim Entwickeln Demn chst mehr Hier schnell ein Beispiel wie Sie den Debugging Modus innerhalb Ihrer AFP Dokumente aktivieren Beispiel 4 2 Activate debug mode debug afp ASSERT F MESSAGE Debug me please Hello World Dadurch ffnet sich das Debugfenster der VFP Instanz auf dem Webserver und Sie k nnen in aller Ruhe den fehlerbehafteten Quellcode analysieren Anmerkung Das Debugfenster ffnet sich auf dem Webserver Also vermeiden Sie die Einstellung afpengine YES auf Ihrem ffentlich verf gbaren Produktivsystem Die Konsequenzen sind sicherlich nicht spassig 4 5 Error Handling Jeder Softwareentwicklungsprozess ist in Begleitung von Fehlern oder Fehlfunktionen Um Ihnen die Arbeit mit den Active FoxPro Pages zu erleichtern bieten wir Ihnen verschiedene Techniken um auftretenden Fehlern auf die Schliche zu kommen Dieser Abschnitt behandelt die unterschiedlichen Systeme und zeigt Ihnen auch M glichkeiten wie Sie selbst eingreifen und Ver nderungen durchf hren k nnen
84. rweiterungen zu verwenden die auch tats chlich in Ihren Webanwendungen genutzt werden Jedes Plugin beansprucht ein wenig Performance Okay wir sprechen hier ber Millisekunden aber auf einer viel besuchten Webseite kann dies schon eine Rolle spielen Das ControlCenter bietet die Einrichtung von Plugins garantiert die bessere Schnittstelle Abbildung 5 9 Jede Erweiterung wird durch ein eigenes lt plugin gt Tag definiert Das Attribut location bestimmt dabei den Ordner in dem sich die ausf hrbare Datei befindet Auch hier sind wiederum beide Pfadtypen zul ssig 4 3 7 lt virtual gt Nun k nnte es ein wenig komplizierter werden Das ist mitunter auch eine Begr ndung dass Ihnen dieses Tag nicht im ControlCenter zur Verf gung steht Mittels des lt virtual gt Tag und den entsprechenden Eigenschaften erhalten Sie die M glichkeit sogenannte virtuelle Verzeichnisstrukturen innerhalb der Active FoxPro Pages aufzubauen Hm ein kurzes Beispiel sollte dies anschaulicher machen Abbildung 4 6 Anfrage eines AFP Dokumentes innerhalb der virtuellen Struktur Stellen Sie sich eine Anfrage auf die URL http localhost index afp vor Normalerweise bef nde sich eine physikalische Datei index afp unterhalb Ihres ffentlichen Webordners bspw C inetpub wwwroot Mittels der virtuellen Verzeichnisstruktur kann das gew nschte Dokument jedoch an ganz anderer Stelle etwa in einem gesicherten Ordner liegen Die AFP besitzt zus tzlich zur vi
85. s 70 Kapitel 9 Methods Example See also Execute Method Name Execute Method executes AFP code on the fly The result is added to the response buffer Synopsis Server Execute cAFPCode Notes Joh mei See also Da und dort Form Method Name Form Method returns the content of a HTML form variable 71 cName nIndex aArray Kapitel 9 Methods Synopsis Request Form cName nIndex aArray 0 Return values Character Numeric or Array Parameters Specified name attribute of the correspondending input field Specified index the correspondending input field Specified array to get all form input fields as key value pair Notes This method maybe a little bit confusing first but is very powerful You can achieve your form content by several ways in three different manners The easiest call Request Form gives you all key pair values as a String Here s a list about specified parameter and excepted return values cForm REQUEST Form cVar REQUEST Form cName cVar REQUEST Form nIndex nCount REQUEST Form aArray aForm REQUEST Form 0 Formerly known as FOX GetFormVar 72 Kapitel 9 Methods Example A small exmaple for a recursive HTML formular to represent the inserted value You can simple enchance this example by integrating IF EMPTY statements for the form variable lt lcSearch Request Form search gt lt html gt
86. s wieder AFP Code oder weitere Includes enthalten d rfen Damit k nnen gemeinsam genutzte Elemente Kopfzeilen Men s etc einfach verwaltet werden Selbstverst ndlich wird eine Seite auch dann neu kompiliert wenn sich lediglich die Includedatei ge ndert hat Ein Kompatibilit tslayer erm glicht die Ausf hrung von AFP 2 4 Applikationen Das Kompatibilit tslayer stellt das FOX Objekt zur Verf gung Das neue Objektmodell ist an den Quasi Standard ASP angelehnt Das verringert die Einarbeitungszeit f r neue Entwickler und erm glicht es au erdem relativ einfach ASP Beispiele in die AFP zu bernehmen Debuggen ist einfacher geworden Im Debugmodus l uft die AFP auf dem Web Server direkt in der VFP 7 Entwicklungsumgebung Dadurch k nnen Sie s mtliche Debugbefehle wie SETSTEP ON ASSERT DEBUGOUT etc direkt in den AFP Seiten verwenden Da die AFP Seiten aus dem WebServer heraus aufgerufen werden k nnen Sie so die Seiten im Applikationskontext testen Rufen Sie im Browser eine Seite auf und sie erscheint im Debugger Kapitel 1 Was ist neu 1 2 Voraussetzungen Die Systemvoraussetzungen f r die Active FoxPro Pages 3 0 sind im Vregleich zur 2 4 ein wenig angestiegen Windows NT 2000 XP Webserver mit ISAPI Schnittstelle IIS 4 or higher Apache 2 0 x or higher WebWeaver WebSite etc Visual FoxPro 7 wird empfohlen Debugging oder das Entwickeln eigener Plugins setzen VFP 7 voraus 1 3 Lizenzierungsmodell Mit
87. sere Abfrage auf diesen Suchbegriff ein Beispiel 2 4 Selektiver Datenzugriff somecust afp html gt head gt title gt Some customers of table CUSTOMER lt title gt head gt body gt hl color 0000FF gt Some customers of table CUSTOMER gt h1 gt lt hr gt N AA A N A A A lt form method POST action somecust afp gt lt p gt Please specify the starting letter lt input type text name searchkey size 5 gt lt input type submit value Query name B1 gt lt p gt lt form gt lt table border 1 width 95 gt lt tr gt lt td width 20 bgcolor 808080 gt cust_id lt td gt lt td width 40 bgcolor 808080 gt company lt td gt lt td width 40 bgcolor 808080 gt contact lt td gt lt tr gt lt if not used customer use JustPath FILE GetLocation data customer in 0 endif select customer lcsearchkey upper Request Form searchkey if empty lcsearchkey lcsearchkey endif scan for cust_id lcsearchkey gt lt tr gt lt td gt lt customer cust_id gt lt td gt lt td gt lt customer company gt lt td gt lt td gt lt customer contact gt lt td gt lt tr gt lt sendscan gt lt table gt lt body gt lt html gt Kapitel 2 Los geht s Beim ersten Aufruf der Seite werden keine Kundendaten ausgegeben da kein Suchbegriff angegeben ist Sobald jedoch ein Suchbegriff eingegeben wird erfolgt di
88. t neu Dieses Kapitel ist Bestandteil einer Vorabausgabe und kann sich zuk nftig noch ndern Leere Abschnitte dienen als Platzhalter und werden gerade geschrieben Willkommen zur Version 3 0 der Active FoxPro Pages Diese Ausgabe ist eine komplett neugeschriebene Version Und falls ich komplett neu sagte dann ist es das so gemeint Fast der komplette Quellcode der AFP wurde berarbeitet und neu strukturiert um h here Stabilit t bei wachsender Performance f r Ihre Webanwendungen zu bieten Mit dieser Version der AFP betreten wir gemeinsam ein neues Konzept der dynamischen Webseitenerstellung Vorhergehende Versionen waren stets datei orientiert was bedeutet dass zu einer bestimmten URL Anfrage eine physikalische Datei zur ckgeschickt wurde Jedoch diese Version bietet Ihnen zuk nftig anwendungs zentrierte Verarbeitung Sie erstellen somit f r Ihre AFP Seiten eine gemeinsame Web Anwendung welche die Rahmenbedingungen als Vorlage gibt Zus tzlich werden die Metadaten hierf r in XML Dateien ausgelagert damit eine bessere Kontrolle ber das verhalten der AFP Dokumente erm glicht wird Hier die Hauptaspekte und Vorteile des neuen Konzeptes Bessere Performance H here Stabilit t Erweiterte Flexibilit t e Mehr Sicherheit f r Ihre AFP Dokumente Gerade weil das neue Konzept wesentlich mehr Flexibilit t als zuvor bietet ist die aktuelle Version nahezu abw rtskompatibel zu ihren Vorg ngern Wir werden uns die ge
89. teenies ara ra eies genen 5 2 2 Your First Active FoxPro Page datetime afp uensessesseesnensensennersnennesnnennennnnnnnnnonsnnsennnen nennen 6 2 3 Datenz griff alleust afp 0 0 58ees BER IHRS Se TRS OTe ESTEA SEESE ES 7 2 4 Selektiver Datenzugriff somecust afp oooocnonnocconcnononnconocononanononononnconnornconn cono nn nn non cnn nc nn conc cn nc nennen 8 3 1 Verwendung von Ereignissen f r die Webapplikation upload afpa code nnnsseneeneeene 11 4 1 Standardkonfiguration afp default config 202020rsesnesnnennesnennonnnennonsnennennennennennnennennn cn 15 4 2 Activate debug mode debug AfP oononnnonincnonncocononocnnoncnononnconocnnonn nono ran con non no nnc cnn coronan rn cnn crono nennen 19 4 3 Angepasste HTTP 500 Fehlermeldung 2 2002402202 002 20ennennennonnnennonnennennnennennennnensennnnnn 21 5 1 Verwendung der AFP 3 0 COM Schnittstelle VFP Beispiel ueusessnsesnennersesnesnnennennenn 24 6 1 Using the crypto plugin crypto afp sesir cece ceeeseeeeceeceseeeeecaecssesaeceeceeeeseseeeeaessaesaecseseeesesaseneeaes 34 6 2 The plugin loaders 3 5 Sieg tbe Asi snk ra 35 vi Willkommen zu Active FoxPro Pages 3 Dieses Kapitel ist Bestandteil einer Vorabausgabe und kann sich zuk nftig noch ndern Leere Abschnitte dienen als Platzhalter und werden gerade geschrieben Active FoxPro Pages AFP bieten ein System zum Ers
90. tellen dynamischer tabellengest tzter Webseiten mit Microsoft Visual FoxPro XML und HTML Bevor Sie mit den Active FoxPro Pages anfangen sollten Sie sich die Zeit nehmen und das folgende wichtige Kapitel lesen e Was ist neu in Active FoxPro Pages 3 Suchen eine bestimmte Auskunft Probieren Sie diese Referenzen e Objekt Referenz Methoden Referenz Eigenschaften Referenz Zielgruppe Dieses Benutzerhandbuch vermittelt Ihnen einige Grundlagen und Hintergr nde damit Sie die Technik der AFP lernen verstehen und zur Anwendung f r Ihre dynamischen Webanwendungen nutzen k nnen Wir gehen einfach mal davon aus dass Sie bereits einige Erfahrungen im Umgang mit HTML oder XML besitzen Falls Sie bisher erst ein paar HTML Dokumente erstellt ahben sollten so sind Sie auf alle F lle im Vorteil Obwohl wir zwischendurch immer mal kurz auf HTML XML und strukturierten Aufbau eingehen sollten Sie dieses Buch nicht als einzige Informationsquelle f r HTML und XML heranziehen Das Internet bietet Ihnen in vielerlei Hinsicht gen gend Nachschlagem glichkeiten In diesem Handbuch werden zwischendurch verschiedene Tools und Anwendungen erw hnt Dabei handelt es sich ausschliesslich um Anwendungen f r Microsoft Windows da auch die Active FoxPro Pages nur auf diesem Betriebssystem lauff hig sind Organisation dieses Buches Dieser UserGuide besteht aus drei Abschnitten Part I Einf hrung erstellen Sie dynamische tabellengest tzt
91. tocol is used to copy files between computers usually a client and an archive site It s old fashioned it s a bit on the slow side it doesn t support compression and it uses cryptic Unix command parameters But the good news is that you can download shareware or freeware apps that shield you from the complexities of Unix and you can connect to FTP sites using a Web browser Hypertext Markup Language As its name suggests HTML is a collection of formatting commands that create hypertext documents Web pages to be exact When you point your Web browser to a URL the browser interprets the HTML commands embedded in the page and uses them to format the page s text and graphic elements HTML commands cover many types of text formatting bold and italic text lists headline fonts in various sizes and so on and also have the ability to include graphics and other nontext elements Hypertext Transfer Protocol The protocol used to transmit and receive all data over the World Wide Web When you type a URL into your browser you re actually sending an HTTP request to a Web server for a page of information that s why URLs all begin with http HTTP1 1 the latest version is currently undergoing revisions to make it work more efficiently with TCP IP 117 Glossary Internet Information Services Internet Information Server Web server part of the Windows NT Server supports ISAPI Internet Protocol protocol in the TCP IP inte
92. tzlich werden weitere Systemvoraussetzungen durchgef hrt bevor das eigentliche Setup beginnt Wenn alle Bedingungen erf llt sind pr sentieren sich Ihnen die Lizenzbedingungen Schauen Sie sich an auf was Sie sich einlassen m chten Abbildung 4 1 Durch Akzeptanz der Lizenzbestimmungen installieren Sie die AFP Wenn Sie die Lizenzbestimmungen annehmen sehen Sie den Hauptdialog des Setups als N chstes Hier haben Sie die M glichkeit sich ber den aktuellen AFP Status in der LiseMich Datei zu informieren bestimmen welchen Installationstyp Empfohlen Vollst ndig oder Benutzerdefiniert Sie in welches Zielverzeichnis installieren m chten Was bedeutet das nun wieder Tja Empfohlen steht f r einen Standardinstallationstyp der Ihnen die reine AFP 3 0 ohne weiteren Schnickschnack weder Abw rtskompatibit t noch neue Zusatzmodule installiert Die Vollst ndige Installation hingegen bietet genau das Gegenteil n mlich alles was das Setup bietet wird auf Ihre Maschine installiert und auch gleich entsprechende vorkonfiguriert F r die Anwender die es genauer wissen m chten bieten wir die Benutzerdefinierte Installation an Hier k nnen Sie jeden einzelnen Schritt und dessen Optionen selbst beeinflussen Klar dass Sie mehr Dialoge zu beantworten und zu best tigen haben Dennoch liegt die Wahl bei Ihnen allein 12 Kapitel 4 Hilfe Abbildung 4 2 Geben Sie das Zielverzeichnis an Nach dem Dialogdsch
93. ungel erfolgt das eigentliche Kopieren Installieren und Registrieren der AFP Komponenten in das Betriebssystem Gegen Ende dieses Schrittes wird auch der AFP3 Dienst installiert sowie gestartet und die Eintr ge im Startmen werden erstellt Zu diesem Zeitpunkt l uft die AFP bereits Doch wir sind noch nicht am Ende angelangt Das Setup versucht zus tzlich die notwendigen Dateierweiterungen korrekt im vorhandenen Webserver einzurichten Falls Sie benutzerdefiniert installieren k nnen Sie die Optionen selbst w hlen Zum gegenw rtigen Zeitpunkt k nnen nur die Microsoft Internet Information Services und VisNetic WebSite automatisch konfiguriert werden Apache leider noch nicht Noch mehr Dialoge Herrje was eine Tortour nicht wahr Okay aber nun haben wir es geschafft und der Finish Dialog erscheint Hier haben Sie noch zus tzliche M glichkeiten bevor Sie das Setup abschliessen Es ist sicherlich eine gute Entscheidung mal auf der offiziellen Webseite vorbeizuschauen vielleicht gibt s eine neuere Version oder Fehlerbehebungen Abbildung 4 3 Endlich geschafft Ben tigen Sie weitere Informationen Anmerkung Falls Sie noch mit Windows NT 4 arbeiten m ssen Sie vor der Benutzung des AFP 3 0 ControlCenter einen Neustart Ihres Systems durchf hren Erst danach steht Ihnen die volle Funktionalit t zur Verf gung Obwohl die Kernbereiche der AFP bereits gestartet sind und laufen und der Webserver korrekt konfiguriert sein d rfte k nnen
94. ut stopping the AFP engine Abbildung 5 8 Controlling the Debug options of the AFP Engine Show error message in browser this de activates the Red Screen of Death if any parsing or systematic error occurs inside your AFP documents Take care of this option For security reasons activate this only on your development enviroment but not your live system The generated error message contains a lot information about your system and might open wide doors to crackers to knock down your Web server Details are discussed in the section about Error Handling 5 4 2 6 Plugin An absolutely new highlight of the AFP version 3 0 is the ability to increase and decrease its functionality and power dynamicly With Plugin management you are able to set up your own AFP enviroment which best fits your needs And as the state of the art you are even able to write your own plugins to enhance the AFP To manage the plugins you specify them on the Plugin page re start the AFP engine and enjoy them Abbildung 5 9 Specifying additional Plugins Currently the AFP ships with three and a half plugins C24 Fox and C24 Cookie Voodoo Web Controls and DirectCall It s recommended to specify the relative path to the plugins with the Path variables Default the plugins reside below the root path but absolute paths are possible too Detailed information about plugins and their development is described in the Developer s Guide to Active FoxPro Pages 3 0 28

Download Pdf Manuals

image

Related Search

Related Contents

CRフィルタ  KVR-B004 User`s Manual  User Manual  Real Flame 5910E-DW Instructions / Assembly  EB-W32 - Epson Europe  cem3000 user manual  La cohérence : La cohésion :  Compucase HEC-450TP-1WX  Bosch BSH180BL Use and Care Manual  MANUEL D`UTILISATION - variateurs de frequence  

Copyright © All rights reserved.
DMCA: DMCA_mwitty#outlook.com.