blog.bartlweb - a technologist's external brain

Alle Artikel

TinyMCE in Alfresco 4.2 an die eigenen Bedürfnisse anpassen

Ergänzend zum Artikel TinyMCE in Alfresco 4 an die eigenen Bedürfnisse anpassen hier das für das neue Standard-Theme "lightTheme" angepasste CSS als Ergänzung für die Datei presentation.css. Änderungen am CSS werden nur mehr nach einem Neustart von Alfresco im Browser sichtbar.

p, .alfresco-share .sticky-wrapper p, .yui-overlay p {
padding:0;
margin:0;
margin-bottom: 15px;
font-size: 13px;
}
 
p.code, span.code {
font-family: Courier;
}
 
p.code, .alfresco-share .sticky-wrapper p.code, .yui-panel-container p.code {
border: 1px dotted #CCCCCC;
background-color: #F0F0F0;
padding: 10px;
margin-left: 10px;
margin-top: 10px;
margin-bottom: 10px;
}
 
p.cite, span.cite {
font-style: italic;
}
 
p.cite, .alfresco-share .sticky-wrapper p.cite, .yui-panel-container p.cite {
margin-left: 10px;
padding-left: 10px;
padding-top: 10px;
padding-bottom: 10px;
border-left: 1px dotted #777777;
background-color: #F0F0F0;
}
 
p.cite, p.code {
overflow: auto;
}
 
li {
font-size: 13px;
}
 
.rich-content ul, #tinymce ul, .rich-content ol, #tinymce ol, .postview .content ul, .postview .content ol {
padding: 0;
padding-left: 1em;
margin-bottom: 15px;
}
 
.rich-content h1, #tinymce h1, .postview .content h1, .wiki-page .rich-content h1, .wiki h1 {
margin: 0;
padding: 0;
margin-bottom: 5px;
padding-top: 20px !important;
border-bottom: 1px dotted #515D6B;
line-height: 1em;
}
 
.rich-content h2, #tinymce h2, .postview .content h2, .wiki-page .rich-content h2, .wiki h2 {
margin: 0;
padding: 0;
margin-bottom: 5px;
padding-top: 15px;
line-height: 1em;
}
 
.rich-content h3, #tinymce h3, .postview .content h3, .wiki-page .rich-content h3, .wiki h3 {
margin: 0;
padding: 0;
margin-bottom: 3px;
padding-top: 15px;
line-height: 1em;
}
 
.rich-content h4, #tinymce h4, .postview .content h4, .wiki-page .rich-content h4, .wiki h4 {
margin: 0;
padding: 0;
margin-bottom: 3px;
padding-top: 10px;
font-size: 90%;
font-weight: bold;
lne-height: 1em;
}
 
.alfresco-share .sticky-wrapper .wiki-page .rich-content, .alfresco-share .sticky-wrapper .wiki {
    font-size: 1em !important;
}

Auswahllisten im TYPO3-Backend optimieren

TYPO3 bietet ein mächtiges und simples Formularsystem für sein Backend. Gerade bei umfangreichen Auswahllisten (Selectboxen) werden die Standardelemente aber nicht immer den gewachsenen Anforderungen von komplexen Extensions und Webanwendungen gerecht. Der folgende Ansatz ermöglicht es, die Elemente von Auswahllisten innerhalb einer TCA- oder Flexform-Definition dynamisch mittels einer PHP-Funktion zu generieren. So ist es z.B. möglich weitere Informationen als nur ein Datenbankfeld als Titel anzuzeigen oder den zu speichernden Wert der Auswahl von der UID auf ein anderes Datenbankfeld zu ändern.

SSH-Tunnel für entfernte Dienste

Linux bietet mit SSH nicht nur die Möglichkeit das System fernzuwarten oder Dateien sicher zu übertragen. Über SSH können auch einzelne Dienste des Remote-Rechners oder aus dessen Netzwerk für den lokalen Rechner zugänglich gemacht werden. Dazu kann man mittels SSH einen Tunnel für einzelne Ports aufbauen.

ssh <your.server.com> -p <ssh-Port> -l <benutzername> -L <lokalerPort:ZielServer:ZielPort>

Achten Sie darauf den lokalen Port so zu wählen, dass dieser nicht durch einen anderen oder gleichwertigen Dienst belegt ist.

Beispiel 1

Wir wollen lokal direkt auf den MySQL-Server des Zielrechners zugreifen.

ssh server.example.com -p 22 -l root -L 3307:localhost:3306

In Ihrer Anwendung können Sie den MySQL-Server nun unter localhost und dem Port 3307 erreichen.

Shorturls mit mod_rewrite erstellen

Die folgende RewriteRule für das Apache-Modul mod_rewrite wird in die htaccess-Datei integriert und bewirkt eine Weiterleitung bei Eingabe der Kurzurl auf die angegebene Seite. Dabei ignoriert die Regel unterschiedliche Groß- und Kleinschreibung und ein nachgestelltes Slash.

RewriteRule ^short?/$ /your/target/page.html [NC,R=301,L]

D.h. die oben angegebene Weiterleitung wird z.B. bei folgenden Schreibweisen durchgeführt:

http://www.example.com/short
http://www.example.com/Short
http://www.example.com/SHORT
http://www.example.com/short/
http://www.example.com/sHoRt/

Nicht aber bei Eingabe von:

http://www.example.com/short/test.de
http://www.example.com/sub/short

https in Apache Webserver aktivieren

Wer SSL-geschützte HTTPS-Verbindungen auf seinen Apache Webserver zulassen möchte benötigt ein SSL-Zertifikat. Dieses gibt es entweder von einer Zertifizierungsstelle oder für Testumgebungen bzw. private Anwendungen reicht auch ein selbstsigniertes Zertifikat. OpenSSL bzw. das Apache Modul mod_ssl sind Voraussetzung für den Betrieb.

SSL-Zertifikat generieren

Für private Server oder Testumgebungen reicht ein selbstsigniertes Zertifikat meist aus. In Live-Umgebungen rate ich dringend Zertifikate von anerkannten Zertifizierungsstellen zu nutzen.

Private-Key

Der erste Schritt für die Erstellung eines Zertifikats ist die Erstellung eines privaten Schlüssels. Diesen sollten Sie zum jetzigen Stand der Technik mit einer Länge von mindestens 2048bit erstellen.

Partitionierungstabelle einer Festplatte von GPT in MBR konvertieren

Wer eine am Mac mit GPT partitionierte Festplatte unter Windows umformatieren möchte bzw. die Partitionierungstabelle von GPT in MBR umwandeln möchte wird mit der Datenrägerverwaltung unter Windows nicht glücklich werden. Entweder nutzen Sie in diesem Fall das Festplattendienstprogramm eines Macs oder Sie nutzen das in Windows 7 integrierte Konsolen-Programm diskpart.

Achtung der folgende Vorgang löscht sämtliche Daten auf Ihrer Festplatte.

Starten Sie diskpart durch Eingabe des gleichnamigen Befehls.

diskpart

Nun müssen Sie die Nummer Ihrer zu formatierenden Festplatte ermitteln.

list disk

Jetzt muss die Festplatte zur Verwendung ausgewählt werden.

zu große Schriftgröße bei Signaturen in Apple Mail

Seit Mac OS X Lion hat sich ein Problem mit zu großer Schrift bei Signaturen in Apple Mail eingeschlichen. Dabei wird Benutzern von Outlook, Thunderbird und Webmaildiensten der als Signatur eingefügte Text mit einer doppelt so großen Schriftgröße als der Standardtext der E-Mail angezeigt.

Die folgende Prozedur schafft Abhilfe:

  1. Öffnen Sie die Einstellungen von Apple Mail.
  2. Wechseln Sie zum Tab Schrift & Farbe und klicken Sie auf den Button Auswählen ... beim Punkt Schrift für E-Mails.
  3. Stellen Sie im angezeigten Schriften-Dialog die Schrift auf Arial und die Schriftgröße auf 36.
  4. Schließen Sie den Dialog und wechseln Sie auf den Tab Signaturen.

Distributions-Upgrade von OpenSuse

Wie vor jeder größeren Systemänderung sollten Sie zunächst ein Backup des kompletten Systems erstellen.

Vor dem Upgrade Ihrer aktuellen OpenSuse-Installation auf eine neue Version sollten Sie zunächst alle für die aktuelle Distribution erhältichen Updates einspielen.

Kontrollieren Sie mit dem folgenden Befehl ob die aktuellen Repositories für Ihr System eingebunden und aktiviert sind.

zypper repos --uri

Jetzt können Sie mit den beiden untenstehenden Befehlen alle vorhandenen Updates einspielen.

zypper refresh
zypper update

Nun kann das eigentliche Distributions-Upgrade stattfinden. Wechseln Sie zunächst die Urls zu den Update-Repositories auf die der neuen Version aus. Der folgende Befehl deaktiviert alle aktuellen Repositories.

Ruhezustand suspend-to-disk für Mac OS X

Standardmäßig versetzt der Ruhezustand einen Mac nur in den Standby-Modus. Bei MacBooks ist das vielleicht erwünscht beim MacPro und MacMini verhindert dies aber die Möglichkeit den Rechner vom Stromnetz zu trennen. Aber auch unter Mac OS X lässt sich der von Windows bekannte Ruhezustand (suspend-to-disk), in dem der Inhalt des Arbeitsspeichers auf die Festplatte geschrieben wird und der Rechner damit komplett vom Strom getrennt werden kann, aktivieren.

Den aktuellen Modus des Ruhezustands ermitteln Sie mit folgendem Befehl:

pmset -g | grep hibernatemode

Dabei kann einer der folgenden Codes zurückgeliefert werden:

TYPO3 Scheduler Cronjob ohne php_cli einrichten

Nicht alle Hosting-Umgebungen bieten die PHP Kommandozeilen Variante php_cli an. Damit wir dennoch Cronjobs für PHP-Shell-Skripte anlegen können kann man diese über einen Umweg mit dem normalen PHP-Interpreter ausführen.

Das folgende Beispiel zeigt den Aufruf des TYPO3 Scheduler-Skriptes.

env -i /usr/local/bin/php -f /<typo3root>/typo3/cli_dispatch.phpsh scheduler

Den genauen Pfad zum PHP-Interpreter ermitteln sie mittels:

which php