Swift-Generator Grundlagen

Dieses Tutorial stammt aus dem Buch "Flash 5 und Actionscript professionell - Tutorials und Workshops für fortgeschrittene Techniken".
vielen Dank für die Genehmigung an den Autoren und den Verlag.

Jetzt bestellen bei Amazon


Thema:
Swift-Generator und Flash Grundlagen
Description:
Einführung in Swift-Generator
Keywords:
Flash, Swift-Generator, CGI
Author:
Stephan Fischer
Date:
4.05.2001
Doc-ID:
18-004
URL:
http://www.flashworker.de/tutorial/18/004.html
Version:
1.0
Änderungen:
-
Anforderungen:
Flash 4
Vorkenntnisse:
Sicherer Umgang mit Flash / Action-Script,
Grundkenntnisse in CGI und Datenbanken vorteilhaft
Download:
"Swift-Generator-Tutorial.zip", 154 kB

Zum Tutorial
  1 Einleitung

Allgemeines
  2 Was ist Swift-Generator?

Ein erster Einblick
  3 Übersicht über die Funktionsweise
  3.1 Erstellen der Vorlage - Templates oder Flashdatei ?
  3.2 Das Swift-Skript
  3.3 Kommandozeile oder CGI / Online oder Offline

Jetzt wirds ernst
  4 Die Schritte im Einzelnen
  4.1.1 Die Vorlage erzeugen
  4.1.2 Swiftvariablen in die Vorlage einfügen
  4.2 Das Swift-Skript im einzelnen
  4.2.1 Kommentare
  4.2.2 Globale Angaben
  4.2.3 Variablen benutzen in Swift-Skript
  4.2.4 Schriftarten definieren
  4.2.5 Text modifizieren
  4.2.6 Textfelder modifizieren
  4.2.7 Sound austauschen
  4.2.8 Filmsequenzen austauschen
  4.2.9 Bilder austauschen
  4.2.10 Daten aus Datenbanken
  4.2.11 Daten aus Textdateien
  4.2.12 Refererliste
  4.3 Flashdateien dynamisch generieren
  4.3.1 Dateien Offline erzeugen
  4.3.2 Dateien Online erzeugen

Bekannte Probleme
  5.1 MacOS
  5.2 Internet Explorer
  5.3 Probleme mit Web Servern

 

5 Bekannte Probleme

Hier noch ein paar Informationen zu bekannten Problemen und deren Lösung.




 

5.1 MacOS

Einige auf MacOS erstellte Template- oder Flashdateien enthalten Schriftartin-formationen, die Swift-Generator nicht richtig interpretieren kann. Man sollte in diesem Fall die Vorlagen unter Windows erstellen.




 

5.2 Internet Explorer

Microsoft Internet Explorer (IE) hat einen Bug wenn ein über CGI generiertes Multimedia-Objekt in einem Vollbild (100% im Fenster oder Frame) angezeigt werden soll. Wird Swift-Generator direkt (z.B. über die Adresszeile) aufgerufen, kann dadurch der IE abstürzen. Serverseitige Analysen ergaben, daß der IE mehrere Anfragen hintereinander abschickt (mit fehlerhaften Parametern in der letzten Abfrage). Dadurch wartet der IE immer noch auf zurückkommende Daten, obwohl bereits alle gesendet wurden.
Ist der Aufruf hingegen in ein OBJECT-Tag eingebunden, funktioniert es ohne Probleme. Auch unter Netscape läuft beides problemlos.
Hier ist ein kleines Perl-Skript, welches das Problem umgeht, der Aufruf erfolgt dann mit 'embed.cgi' anstelle von 'swift-generator.cgi'. Das Skript packt den Aufruf in HTML-Code und leitet ihn dann einfach weiter an Swift-Generator. Eventuell muß das Skript noch ein bißchen angepaßt werden.

embed.cgi:

   #!/usr/bin/perl
   print "Content-Type: text/html\r\n\r\n";
   if ("$ENV{REQUEST_METHOD}" eq 'POST') {
   $query = <>;
   $query =~ s/(\r|\n)//g;
   } else {
   $query = $ENV{QUERY_STRING};
   }
   print <<END_OF_HTML;
   <HTML>
   <BODY BGCOLOR=#ffffff>
   <OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH=100%    height=100%>
   <PARAM NAME="MOVIE" VALUE="swift-generator.cgi?$query">
   <PARAM NAME="QUALITY" VALUE="HIGH">
   <EMBED SRC="swift-generator.cgi?$query" WIDTH=100% HEIGHT=100%    TYPE="application/x-shockwave-flash">
   </EMBED></OBJECT>
   </BODY>
   </HTML>
   END_OF_HTML




 

5.3 Probleme mit Web Servern

Mit Apache (Unix und Windows), Sambar Server (Windows) und Omni-HTTPd (Windows) wurden bisher gute Ergebnisse erzielt. Einige Web Server halten sich allerdings anscheinend nicht an CGI1.1-Konventionen.

Bei manchen Servern (Xitami, IIS, Personal Web Server) wird die Testseite nicht angezeigt, wenn Swift-Generator ohne Parameter aufgerufen wird. In diesem Fall kann man einfach den Parameter ?test an den Aufruf anhängen (swiftgen.exe?test oder swift-generator.cgi?test).

Viele Probleme liegen aber einfach an einer falschen Serverkonfiguration oder falsch vergebenen Dateirechten (Unix). Also bitte immer erst die Serverdokumentation gründlich durchlesen.

Arbeitet man mit Microsofts Internet Information Manager (IIS) sollte man auf keinen Fall swiftgen.exe in swiftgen.cgi umbenennen, da es sonst Probleme mit eventuell installierten Perl-Skripten geben könnte.

IIS startet CGI-Dateien immer aus dem Haupt-Webverzeichnis. Arbeitet man mit den Voreinstellungen ist dieses C:\InetPub\wwwroot. Wurde die Swift-Skriptdatei skript.sws in das Unterverzeichnis C:\InetPub\wwwroot\swiftgen gelegt, wäre der Aufruf um Swift-Generator zu starten entsprechend:

http://hostname/cgi-bin/swiftgen.exe? sws = swiftgen/skript.sws