Creative Suite bald mit Flash-PlugIns erweitern?!

Laut John Nack’s Adobeblog soll sich bald Adobe Photoshop oder gar die ganze Creative Suite mittels Flash-PlugIns erweitern lassen. Die PlugIns lassen sich einfach mittels Adobe Flash oder Adobe Flex entwickeln und in die SWF-Palette integrieren.

Im Blog werden als Beispiele lediglich ein Chat von Anwender zu Anwender oder Videotutorials genannt. Viel interessanter wäre natürlich der Zugriff auf das Photoshop Objektmodell um mittels dieser PlugIns die Produktivität steigern zu können. Auch ein paar PlugIns für Adobe Flex, welche den Zugriff auf das Photoshop (und hoffentlich auch InDesign) Objektmodell vereinfachen wären wünschenswert.

Hier gehts zum Adobeblog 

Kein Kommentar »

DIV-TabControl in bestehende Website integrieren

Aufgabenstellung:
Ein TabControl mit Tabsheets aus DIV-Elementen, welche aufgrund der Überlappung mittels position:absolute ausgerichtet wurden in eine bestehende Website integrieren. Allerdings ist je nach Link der Contentbereich unterschiedlich lang, so dass der Content über den bestehenden Seitenrand manchmal hinausragt. Auf overflow:scrollbars soll allerdings verzichtet werden, stattdessen soll sich die Länge des Contentbereichs wie bei position:static automatisch dem Textfluss anpassen.

Lösung:
Unter dem mit position:absolute ausgerichtem DIV-Element einfach ein leeres DIV-Element mit der Ausrichtung position:static anlegen und mittels JavaScript die Höhe des TabSheets ermitteln und an das darunterliegende Element übergeben.

Das Script muss beim Laden des ersten Tabsheets, sowie beim wechseln der Tabsheets ausgeführt werden und könnte etwa wie folgt aussehen:

 function tabControl(tabId) {
document.getElementById(’maincontent’).style.height=    document.getElementById(tabId).offsetHeight + 30;
}

Kein Kommentar »

jQuery kann nicht auf via AJAX geladene Elemente zugreifen?!

Wenn ich mit dem freien jQuery Framework mittels AJAX bzw. jQuery.get() ein Template lade, kann ich auf dessen HTML-Elemente später nicht mehr über jQuery zugreifen. Über meinen eigenen JavaScript-Code kann ich dennoch auf die besagten Elemente zugreifen.

Ich habe derzeit keine Ahnung warum das so ist, vielleicht hinterlässt mir hier jemand einen Kommentar der mir weiterhilft… oder geht das dann generell nicht?

(2) Kommentare »

ImageFlow 0.9 in bestehende Website integrieren

ImageFlow ist eine freie Bildergalerie für Websites, welche dem iTunes CoverFlow-Effekt nachempfunden ist. Imageflow wurde komplett in JavaScript und CSS implementiert und ist somit Browser / Flash-PlugIn unabhängig.

Um das Script sauber innerhalb einer Website zu implementieren müssen derzeit leider noch ein paar Dinge beachtet werden:

  • In der Datei Screen.css wird das IMG-Attribut überschrieben, somit werden sämtliche Bilder auf der Website entsprechend der hier angegebenen Formatierung ausgegeben. Deshalb sollte in der CSS-Datei der Stylesheet img abgeändert werden in img.flow. Auf der Ausgabeseite müssen dann die für den Imageflow betroffenen Bilddaten zusätzlich um das Attribut class=”flow” erweitert werden.
  • Zum genauen Positionieren sollte das DIV-Element “imageflow” innerhalb eines weiteren DIV-Elements z.B. flowpos Verschachtelt werden. Das Stylesheet zu flowpos könnte in etwa so aussehen:

    #flowpos{
    position:absolute;
    left: 200px;
    top: 140px;
    width: 620px;
    height: 150px;
    overflow:hidden;
    }

    Allerdings müssen nun auch die anderen Elemente imageflow, images, scrollbar, captions und loading ggf. neu ausgerichtet werden. Wenn wir uns das obige Beispiel vornehmen erhalt imageflow z.B. ein margin-top: -130px;

  • Damit nicht bei jedem anklicken das ganze CoverFlow neu geladen werden muss empfiehlt es sich hier mit AJAX zu arbeiten. Besonders komfortabel geht das wiederum mit JQuery, hierzu habe ich folgende Funktion implementiert:

    function getAjaxContent(requestURL) {
    $.get(requestURL, function(text){
    $(”#content div”).html(text).fadeIn(’slow’);
    });
    }

    Dazu muss natürlich JQuery zunächst eingebunden sein und ein DIV-Element mit der ID “content” sollte existieren. Weiterhin muss man zwei Anpassungen an der Datei imageflow.js vornehmen. Die beiden Vorkommen von “document.location = this.url;” sollten durch “getAjaxContent(this.url);” ersetzt werden.

ImageFlow gibts hier zum herunterladen:
http://imageflow.finnrudolph.de

Eine Einführung in JQuery gibts hier vom 12 Jahre alten Dmitri Gaskin *respekt*
http://www.youtube.com/watch?v=8mwKq7_JlS8

Kein Kommentar »

Microsoft Office 2003 lässt sich nicht mehr aktivieren

Nach der Neuinstallation oder nach der Hardwareaufrüstung des vorhandenen PC’s lässt sich Microsoft Office 2003 nicht mehr aktivieren? Abhilfe verschafft das Löschen der Datei opa11.dat im Verzeichnis:

C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Microsoft\OFFICE\DATA

Kein Kommentar »

Abgeschnittene Texte PHP + MS-SQL Server

Kürzlich hatte ich das Problem, dass lange Texte über 4.000 Zeichen bei der Ausgabe über PHP abgeschnitten werden, beim speichern in die Datenbank wird jedoch der volle Text gespeichert. Um den gesamten Textstring wieder auszugeben müssen folgende Einstellungen in der php.ini bzw. mittels ini_set() vorgenommen werden.

1) Bei MS-SQL über ODBC:
odbc.defaultlrl = [Bytes];

2) Bei MS-SQL über PHP-MSSQL:
mssql.textlimit = 2147483647
mssql.textsize = 2147483647

Kein Kommentar »

Absolute URLs im FCKEditor

Standardmäßig werden im FCKEditor nach dem Bild- oder Dateiupload nur relative Pfade zur Datei gespeichert. In einem mehrbenutzerfähigen System liegen die Daten aber häufig in einer zentralen Datenbank und sollen von verschiedenen URLs abgerufen werden. Ein weiteres Szenario wäre z.B. ein HTML-Newsletter mit absoluten Pfaden zu den Bilddaten auf dem Webserver.

Um den Filebrowser im FCKEditor auf absolute Pfade umzustellen kann man die Datei “fckeditor\editor\filemanager\browser\default\frmresourceslist.html wie folgt modifieren.

// Build the link to view the folder.
var sLink = ‘<a href=”#” onclick=”OpenFile(\” + ProtectPath( fileUrl ) + ‘\’);return false;”>’ ;

Erweitern wir einfach um die Stamm-URL (die URL der zentralen Datenhaltung):

// Build the link to view the folder.
var sLink = ‘<a href=”#” onclick=”OpenFile(\’http://www.meinesite.de’ + ProtectPath( fileUrl ) + ‘\’);return false;”>’ ;

Kein Kommentar »

FCKEditor in mehrbenutzerfähiges CMS integrieren

Um den WYSIWYG-HTML-Editor in ein mehrbenutzerfähiges System (z.B. eine Mall oder gemeinsam genutztes CMS mit getrennter Dateiverwaltung) zu integrieren sind folgende Anpassungen notwendig:

  1. Die entsprechende Nutzer-ID in der Klasse “FCKeditor” deklarieren:
    var $userId;
  2. Die Nutzer-ID in der Methode “FCKeditor()” (in Klasse FCKeditor) initieren:
    $this->userId = ”;
  3. Weiter unten, in “CreateHtml()” den Querystring in der Variable $Link erweitern:
    $Link = “{$this->BasePath}editor/{$File}?InstanceName=
    {$this->InstanceName}&
    userId={$this->userId}” ;
  4. Nun benötigen wir eine Funktion um den Querystring in JavaScript auszuwerten, hierfür binden wir folgendes Script in die Datei fckeditor.html ein: querystring.js (download). Dies erfolgt z.B. über die Funktion LoadScript(’../querystring.js’) und muss vor dem Aufruf LoadScript(’../fckconfig.js’) erfolgen.
  5. Anschließend ergänzen wir die fckconfig.js um folgende Zeilen:
    var qs = new Querystring();
    var _userId = qs.get(”userId”);
    Dies sollte unbedingt noch vor den Deklarationen “FCKConfig.Linkbrowser = true” etc. erfolgen.
  6. Jetzt ergänzen wir noch die URLs sämtlicher Filebrowser um folgende Parameterübergabe:
    FCKConfig…URL = …Extension + ‘?CMS_ID=’ + _CMSID ;
  7. Abschließend fangen wir die Variable im Filemanager ab und ergänzen den Pfad in der Variable $Config['UserFilesPath'] in der Datei editor\filemanager\connectors\php\config.php um die Nutzer-Id ‘mein/pfad/’.$userId.’/';
    Weiterhin müssen wir $Config['Enabled'] auf true setzen.

Nun sollte jeder Benutzer seine Dateien in ein eigenes Verzeichnis hochladen und niemand kommt sich mit seinen Dateien in die Quere. Da die Quickupload-Funktion Probleme bereitet hat habe ich diese deaktiviert, die Anwender müssen somit über den Filemanager Ihre Dateien hochladen und verwalten.
Diese Angaben basieren auf dem FCKEditor 2.51 in Verbindung mit PHP 4

Kein Kommentar »

Variable Variablennamen in PHP

Auch wenn ich von dieser Vorgehensweise abrate und in diesem Fall zu einem Array tendieren würde kommt man z.B. bei der Weiterentwicklung von bestehenden Code manchmal nicht daran vorbei einen Variablennamen in PHP dynamisch zu erzeugen.

Der Name unserer Testvariablen lautet z.B. $text1, $text2, $text3 etc.

for ($i=0; $i<10; $i++) {
  echo $GLOBALS["text$i"];
}

Quelle: PHP-FAQ



									

Kein Kommentar »

Festplatte über 128 GB unter Windows 2000

Auch wenn das bereits ein bekanntes Problem ist, man stolpert doch öfter mal drüber. Deshalb möchte ich es an dieser stelle Archivieren.

Folgender Registry Eintrag schafft abhilfe:

Unter HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\ Atapi\ Parameters\ muss der Wert EnableBigLba als DWORD mit dem Wert 1 angelegt werden. Danach lässt sich die Festplatte ebenfalls voll nutzen. Hinweis von Microsoft: Die oben genannte Registrierungseinstellung wird in Windows XP SP1 und höher ignoriert.

[Weitere Informationen und Quelle]

Kein Kommentar »