Windows 8 Live-ID und Anmeldung am SQL-Server

Bedauerlicherweise ist mit einer Windows-Live-ID, wie man sie unter Windows 8 nutzt, eine Windowsauthentifizierung am SQL-Server nicht möglich. Trotz korrekter Einstellungen (Arbeitsgruppe bzw. Domäne, Firewall-Ports, …) erhält man die tolle Fehlermeldung:

Anmeldefehler. Die Anmeldung stammt aus einer nicht vertrauenswürdigen Domäne
und kann mit der Windows-Authentifizierung nicht verwendet werden.

Eine Lösung ist, auf eine Live-ID zu verzichten und das Konto auf ein lokales Konto umzustellen.

Die andere, Live-ID-erhaltende Möglichkeit besteht darin, im SQL-Server ein Account mit SQL-Serverauthentifizierung anzulegen und diesen Benutzernamen samt Passwort beim Verbindungsaufbau mit anzugeben:

Data Source=SQLServer;Initial Catalog=Datenbankname;Integrated Security=False; 
User=Benutzername;Password=xxxxxxx

Hinweis:
Integrated Security muss logischerweise auf False gesetzt werden.

Je nach Sicherheitsanspruch an der Datenbank ist dieser Weg ein meines erachtens durchaus sinnvoller Weg, da man so sein Live-ID-Konto nicht in ein lokales Konto umwandeln muss.

Rechtschreibprüfung für den Editor (RTE) von Typo3 einrichten

Der Editor (rtehtmlarea, hmtlarea RTE) von Typo3 bietet die Möglichkeit die Rechtschreibprüfung ASpell einzubinden. So kann dann über die Schaltfläche

Rechtschreibprüfung

der Text auf Rechtschreibfehler geprüft werden.

Installation von ASpell auf dem Server

Dazu muss auf dem Server Aspell installiert sein. Sollte das nicht der Fall sein, so ist für die Installation ein Konsolenzugang zum Server erforderlich (z.B. über SSH mit puTTY).

Nach der Anmeldung legt man sich ein Verzeichnis für ASpell an (mit Recht 0750) und wechselt in dieses Verzeichnis. Dorthin wird der der gepackte Quellcode kopiert und mit

tar xfv aspell-0.60.6.1.tar

entpackt. Dadurch wird das Unterverzeichnis aspell-0.60.6.1 angelegt. Damit später nicht ein endlos langer Pfad entsteht, verschieben wir den kompletten Inhalt des Unterverzeichnisses um eine Ebene nach oben (am schnellsten mit einem ftp-Programm wie FileZilla).

Das Wichtigste ist nun, den kompletten Pfad zu ermitteln. Dazu den pwd-Befehl ausführen (Immer nur die fettgedruckten Angaben eingeben: z.B. pwd und dann die Entertaste drücken):

pwd
/www/123456_54321/rp-hosting/5555/4444/Webseite/fileadmin/aspell

Die komplette Pfadangabe muss nun im folgenden Befehl verwendet werden:

./configure --prefix=derkomplettepfad && make
make install

Achtet auf die Leerzeichen und löscht bei Fehlern den kompletten Inhalt des Verzeichnisses (bis auf die tar-Datei) und fangt noch einmal mit den Entpacken an. Meine Erfahrung ist, dass wenn das Script aufgrund fehlerhafter Angaben nicht korrekt durchläuft, es beim zweiten Mal auch mit korrekten Parametern nicht korrekt durchläuft.

Zum ersten Test und damit das Anlegen der Library für die deutsche Rechtschreibkorrektur funktioniert muss nun die Variable für den Pfad für Programme (PATH) gesetzt werden:

echo $PATH
PATH=DasErgebnisVonEcho:derkomplettepfad
Export PATH

z.B.:

echo $PATH
/usr:/usr/bin:/usr/local/bin

PATH=/usr:/usr/bin:/usr/local/bin:/www/123456_54321/rp-hosting/5005555/6005555/typo3cms/fileadmin/aspell
Export PATH

Hinweis: Abhängig von der Shell können die Befehle für den Pfad abweichen (Diese Befehle gelten z.B. für BASH)

Nun kann mit dem Befehl

aspell -v
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)

die Installation getestet werden.

Jetzt wechselt man in das Verzeichnis derkomplettepfad. Dorthin werden nun die gewünschten Sprachdateien (dictionaries) kopiert und entpackt, konfiguriert und erzeugt:

tar xfv aspell6-de-20030222-1.tar

Die im Unterverzeichnis aspell6-de-20030222-1 angelegten Dateien verschiebt man in das Unterverzeichnis lib wechselt in das Verzeichnis derkomplettepfad/lib. Dort ruft man die beiden folgenden Befehle auf:

./configure && make
make install

Mit dem folgenden Befehl wird eine Rechtschreibprüfung durchgeführt:

echo 'Das ist falsh geschriben' | /derkomplettepfad/ziel/bin/aspell -a -l de
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)
*
*
& falsh 38 8: falsch, falls, falsche, fälsche, fälscht, Pfahls, Walls, als, fällst, Aals, Fall, Fass, Hals, Fels, Pfalz, Tals, falb, Falles, fahles, falle, fallt, fälle, fällt, Alls, Fälscher, fahl, falschem, falschen, falscher, fälschen, fälschst, Halls, Wales, FAZ, Wal, pfählst, was, Pfads
& geschriben 2 14: geschrieben, geschrien

(08:30:41) [bin] @(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)

Konfiguration von Typo3 für ASpell

Wenn das soweit geklappt hat, muss nur noch Typo3 konfiguriert werden:

Im Erweiterungsmanager trägt man in der Konfiguration der htmlarea-RTE-Extension (rtehtmlarea) unter Aspell path den kompletten Pfad inklusive Programmangabe ein (Achtung: am Ende des Pfads muss der Programmname mit angegeben werden):

derkomplettepfad/aspell

In den Page Config Settings ergänzt man für den Editor:

RTE.default {
showButtons = , spellcheck
defaultContentLanguage = de
buttons.spellcheck.enablePersonalDictionaries = 1
buttons.spellcheck.dictionaries.items = de
buttons.spellcheck.dictionaries.restrictToItems = de
}

Wird enablePersonalDictionaries auf 1 gesetzt (sollen die Benutzer eigene Wörterbücher anlegen können), so muss entweder für den Benutzer oder in der Benutzergruppe noch der Wert in der User TSConfig gesetzt werden:

options.enablePersonalDicts = 1

Sollte die Schaltfläche für die Rechtschreibprüfung im Editor nicht sichtbar sein, so kann es auch daran liegen, das die Extension static_info_tables nicht installiert ist.

Typo3-RTE: Zeichen statt Wörter zählen

Im redaktionellen Umfeld ist für die Redakteure die Zahl der Zeichen wichtiger als die Zahl der Wörter.
Leider bietet der RTE von Typo3 die Anzeige der Zeichen im Text nicht an.
Als schnelle, sicher nicht saubere, Lösung kann man direkt die updateWordCount-Funktion in der htmlarea.js-Datei ändern/anpassen:

    updateWordCount: function() {
        var charCount = 0;
        if (this.getEditor().getMode() == 'wysiwyg') {
                // Get the html content
            var text = this.getEditor().getHTML();
            if (!Ext.isEmpty(text)) {
                // Jeden Absatz mitzählen
                text = text.replace(/<p>/g,'X');
                // alle anderen Tags ausblenden
                text = text.replace(HTMLArea.RE_htmlTag, '');
                // Leerzeichen mitzählen
                text = text.replace(/ /g, 'L');
                // alle anderen Leerzeichen nicht mitzählen
                text = text.replace(/\s/g, '');
                text = text.replace(/&nbsp;|&#160;/gi, '');
                charCount = text.length;
            }
        }
            // Update the word count of the status bar
        this.statusBarWordCount.dom.innerHTML = charCount ? ( charCount + ' Zeichen') : '&nbsp;';
    },

Diese direkte Änderung ist nicht der saubere Weg, da er beim Update des Plugins überschrieben wird. Auf die Schnelle war es aber nun mal die schnelle Lösung.

Gruß
Ralf

Probleme mit TileClock? Problems with TileClock?

FlaggeD

Sie haben TileClock installiert und das Programm läuft nicht wie gewünscht?

Obwohl Sie die Uhr konfiguriert haben, werden keine Uhren auf dem Startbildschim angezeigt?

Dann sprechen Sie uns bitte an. TileClock wurde intensiv getestet und sollte auf allen Windows-8-Geräten (Notebooks, Laptop, Desktops und Tablets) funktionfähig sein.

Sollten Sie also ein Problem haben, so nehmen Sie bitte Kontakt mit uns auf, damit wir eine Lösung finden können.

FlaggeE

You have installed TileClock and it isn’t running as you expected?

You configured your clocks but you never see a live clock tile on your Windows 8 start screeen?

Don’t hesitate to contact us. TileClock was testet on all platforms and should be running on your Windows 8 device (Notebooks, laptops, desktops and tablets).

If you have any problem with TileClock, please send us your question so that we can find a solution.

FurniCalc

Die Webseite der FurniCalc-Software, die hochmodulare Kalkulationssoftware für variantenreiche Produkte und Produktionen, hat ein kleines Relauch bekommen:

cleverkalkulieren.eu

Mit FurniCalc lassen sich umfangreiche Kalkulationen, wie sie z.B. für die Möbelindustrie erforderlich sind, schnell, sicher und flexibel anlegen und verwalten.

Wenn Sie Interesse haben, sprechen Sie uns an, wir demonstrieren Ihnen gerne die Möglichkeiten von FurniCalc.

WordPress-Blog auf T-Online seit PHP 5.4 nicht mehr erreichbar?

Unser Blog lief auf der bei T-Online gehosteten Seite einwandfrei.

Ich kann es nicht genau sagen, aber es könnte sein, das mit der Umstellung von PHP 5.2 auf PHP 5.4 durch T-Online unser Blog plötzlich komplett nicht mehr zu erreichen war.

Jetzt ist das insofern erstaunlich, da WordPress und auch die MySQL-Datenbank von dieser Umstellung nicht direkt zwingend betroffen sein musste.

Gott sei Dank habe ich mit der Fehlersuche an der richtigen Seite angefangen und schnell unsere PHP.ini-Datei als Ursache gefunden. Bisher stand in unser Datei nur:

memory_limit = 128M

Seit dem ich die Angaben auf

cgi.force_redirect=0
date.timezone="Europe/Berlin"
memory_limit = 128M
sendmail_path = /usr/sbin/sendmail -t -i

upload_max_filesize =20M
post_max_size = 20M
max_execution_time = 200
max_input_time = 200

ergänzt habe (gefunden auf Word-Press-Bei-T-Onine) läuft er wieder einwandfrei.

 

Typo3 CMS6: testInt()-Error bei pagebrowse und comments

Die Typo3-Extensions pagebrowse und comments funktionieren unter Typo3 CMS6 zunächst einwandfrei, möchte man jedoch einen Kommentar freigeben (also kurzes Anklicken des approve-Links in der Benachrichtigungs-Email), so kommt es zu folgender Fehlermeldung:

Fatal error: Call to undefined method TYPO3\CMS\Core\Utility\GeneralUtility::testInt()

Ein Problem, welches schon gelöst ist und nur noch nicht in die Extensions integriert wurde:

Bei der pagebrowse-Extension muss nur die Datei pi1/class.tx_pagebrowse_pi1.php ausgetauscht werden, bei der comments-Extension sind zwei Dateien auszutauschen: class.tx_comments_eID.php und pi1/class.tx_comments_pi1.php.

 

 

TYPO3 CMS 6 Konfiguration auf Serverway Webhosting X1-Paket

Webseitenerstellung liegt ja voll im Trend und so liegt es nahe, sich Typo3 mal näher anzuschauen. Und wenn schon denn schon:  Dann doch gleich in der neuen Version Typo3 CMS 6.0.2. Nach anfänglichen Schwierigkeiten (gibt es eigentlich irgendetwas ohne anfängliche Schwierigkeiten?) ist die Installation durchgelaufen und das Backend konnte seinen Betrieb aufnehmen. Getestet wird der Betrieb einer Typo3-Seite zur Zeit beim Webhoster ServerWay mit dem Paket Webhosting X1. Das ist für eine größere Seite sicher unterdimensioniert, für die Testzwecke soll es erstmal reichen.

Erste Hürde: PHP-Version, php.ini und DB-Konfiguration

Mit voller Euphorie wurde das typo3_src+dummy-6.0.2-Paket auf die Seite hochgeladen und dann die Installation gestartet (…/typo3/Installation/index.php). Allerdings kam ich immer nur bis zur Eingabe des Adminpasswortes, mmmh, DB-Probleme? Na gut, schauen wir uns mal die Konfigurationsmöglichkeiten an. Schnell die LocalConfiguration.php in …/typo3/typo3conf als Ziel ausfindig gemacht und festgestellt, das dort überhaupt nichts hinterlegt ist. Okay, das soll eigentlich durch die Installation erfolgen, aber wenn ich mich nicht anmelden kann? Nach ein bisschen Netzrecherche waren die erforderlichen Parameter allerdings schnell gefunden und mit den entsprechenden Angaben im Webinterface von ServerWay (Vertrag auswählen und dann unter Dienste MySQL anklicken. Es erscheint die Seite Übersicht der MySQL-Zugänge) war der Datenbankzugang schnell konfiguriert:

<?php
 return array(
 ...
 'DB' => array(
 'database' => 'ServerWay-MySQL-Datenbankname',
 'host' => 'ServerWay-MySQL-Servername',
 'password' => 'Das Passwort',
 'username' => 'ServerWay-MySQL-Benutzername',
 'extTablesDefinitionScript' => 'extTables.php',
 ),
 ...

Ok, war nicht so schwer, funktionierte allerdings immer noch nicht. Obwohl Typo3 CMS 6 mit PHP-Version 5.4 kompatibel sein soll, lag wohl hier das Problem. Nachdem die PHP-Version auf 5.3 umgestellt war. lief alles fehlerfrei, sobald die PHP-Version wieder auf 5.4 umgestellt war, scheiterte ich wieder am Login. Wenn also von Anfang an die PHP-Version auf 5.3 steht, dann sollte der typo3-Installer auch wie gewünscht funktionieren. Na gut, ich hatte ein wenig mehr über die DB-Konfiguration gelernt – kann ja auch nicht schaden. Blieb noch ein Meckerpunkt der Typo3-Installation bezüglich eines PHP-Parameters: Für suhosin.get.max_value_length soll der Wert auf mindestens 2000 stehen. Bei ServerWay kann die php.ini (leider) nicht selbst geändert werden (zu mindestens nicht im X1-Paket), allerdings ist der Support dort echt auf Zack und nach zwei EMails war der Parameter schon angepasst. Nachdem mit dem Installationstool die Datenbank angelegt war und alle Tests ohne Fehler durchgelaufen waren (ok, beim Grafik-Test passten jetzt nicht alle Anzeigen, aber vom Prinzip her sah es schon sehr gut aus) stand dem Start des Backends nichts mehr im Wege.

Zweite Hürde: Admin-User

Und wieder ein Login-Problem: Es fehlt der Admin-User. Der lässt sich allerdings leicht mit dem Installationstool anlegen. Ich habe an der Stelle kein Admin-Konto angelegt, sondern für mich ein Konto mit Admin-Rechten. Der Name Admin ist mir immer zu offensichtlich und ich muss die Administration ja sowieso machen :).

Geschafft: Das Backend läuft

Nachdem die ersten Hürden genommen waren, konnte nun endlich das Backend gestartet werden: Uiiih, das sieht ja richtig gut aus – Läuft! Hurra, war doch gar nicht so schwer. Okay, der Teufel hat sich natürlich wieder in den Details versteckt und da ich nicht explizit nach ihm Suche, taucht er (der Teufel) natürlich an unerwarteten Stellen auf:

Sprache einstellen

Einer der ersten Schritte ist natürlich die Konfiguration der Sprache und die Prüfung des Extensionmanager. Schnell deutsch ausgewählt und auf „update from repository“ geklickt. Na prima, alles rot, lauter Errors. Schnell Tante Google befragt und siehe da: In der Konfiguration muss im Sys-Bereich ein Parameter aktiviert werden:

[SYS][curlUse] = 1

Jetzt klappt es auch mit dem Update from Resository.

Extension-Manager

Der Extension-Manager bereitete das schon größere Probleme. Die Liste der Extensions zum Herunterladen war nach Klick auf den Reiter Get Extensions leer und ein Klick auf Retrieving Extension-List from TYPO3 Extension Resository (TER) lieferte einen leeren Bereich mit der Meldung

{"updated":false,"message":"last update: 2013-02-19 (5904 extensions)","errorMessage":""}

Gut, drücken wir mal F5 zum Aktualisieren. Ah, jetzt ja: Eine Liste. Okay kann ja mal passieren, allerdings war in der Titelleiste der Tabelle das Datum des letzten Abruf nicht zu sehen. Es wurde wieder Retrieving Extension-List from TYPO3 Extension Resository (TER) angezeigt.

Egal Karl, zum Test mal schnell die Extension Lorem Ipsum installieren: klick – klick klick:

Oops, an error occurred!
No module "" could be found.
More information regarding this error might be available online.

Mmmmh, das geht auch und erst recht gar nicht: Error-Seite und von einer installierten Extension nichts zu sehen. Das Problem war schon etwas hartnäckiger und letztendlich stellte sich der Internet Explorer (ja, ja – ich nutze ihn :)) als Ursache für die Extension-Manager-Probleme heraus. Kaum ruft man das Backend mit dem Firefox auf schon geht alles. Grrrrh.

Lorem Ipsum Extension

Obwohl die Lorem Ipsum Extension mit Version 1.1.1 als stabil angegeben wird, läuft sie gar nicht, sondern erzeugt die Fehlermeldung

Lorem Ipsum hat einen einen Fehler in der Datei class.tx_loremipsum_wiz.php in Zeile 106

In der Datei muss es in Zeile 106 statt

t3lib_div::intInRange($PA['params']['count'],2,100),

richtigerweise

t3lib_utility_Math::forceIntegerInRange($PA['params']['count'],2,100, 10),

heißen. Bin ja erst am Anfang von Typo3, aber das wird ja spaßig. Mal sehen, was noch so für Problemchen auftauchen – ggf. werde ich diesem Bericht ergänzen.

Losungen der Hermhuter Brüdergemeine (sowie Extension Karussell)

So kann man sich auch Arbeit machen: Die Extension losungen der Bruderschaft lässt sich unter CMS6 nicht direkt installieren. Als Fehlermeldung erscheint „Dependencies could not be resolved“ „Could not resolve dependency for „div““: Fehlermeldung Losungen Na gut – kein Problem: Laden wir die Extension eben nicht über das TER sondern direkt. Schnell die losungen_1.5.0.t3x gedownloaded und direkt im Extensionmanager geuploaded. Das hätte ich besser nicht getan. Nun kann die Seite gar nicht mehr geöffnet werden – weder im Backend noch im Frontend. Um wieder ins System zu kommen, habe ich in der ext_localconf.php der losungen-Extension die dritte Zeile auskommentiert:

<?php
if (!defined ('TYPO3_MODE'))  die ('Access denied.');
/* require_once(t3lib_extMgm::extPath('div') . 'class.tx_div.php'); */
if(TYPO3_MODE == 'FE') tx_div::autoLoadAll($_EXTKEY);
?>

Danach konnte ich das Backend wieder öffnen. Zunächst erst mal die losungen-Extension komplett gelöscht (Klick auf den Mülleimer) und anschließend auf die Fehlersuche begeben. Und siehe da, in den FAQs von losungen steht es beschrieben: Die Extensions div und lib müssen VORHER installiert werden, dann klappt es auch mit den losungen (die ich nun ganz normal über den Extensionmanager installieren konnte). In der …\losungen\configurations\class.tx_losungen_wizicon.php muss dann noch

     function includeLocalLang() {
      $llFile = t3lib_extMgm::extPath('losungen').'locallang.xml';
      $LOCAL_LANG = t3lib_div::readLLXMLfile($llFile, $GLOBALS['LANG']->lang);

in

     function includeLocalLang() {
      $llFile = t3lib_extMgm::extPath('losungen').'locallang.xml';
      $LOCAL_LANG = t3lib_div::readLLfile($llFile, $GLOBALS['LANG']->lang);

geändert werden.

Hinweis:
Für die Extension karussell muss in der class.tx_karussell_pi1_wizicon.php und für die Extension t3s_jslidernews in der class.tx_t3sjslidernews_pi1_wizicon.php dieselbe Änderung vorgenommen werden.

Leider war das noch nicht alles. In der lib-Extension muss in der Datei class.tx_lib_t3loader.php

function makeInstanceClassName($class, $alternativeKey='', $prefix = 'class.', $suffix = '.php') {
  if(tx_lib_t3Loader::load($class, $alternativeKey, $prefix, $suffix)) {
   return t3lib_div::makeInstanceClassName($class);
  } else {
   return false;
  }
 }

der Funktionsname geändert werden:

 function makeInstanceClassName($class, $alternativeKey='', $prefix = 'class.', $suffix = '.php') {
  if(tx_lib_t3Loader::load($class, $alternativeKey, $prefix, $suffix)) {
   return t3lib_div::makeInstance($class);
  } else {
   return false;
  }
 }

Damit nicht genug. In der class.tx_lib_parameters.php muss

 function tx_lib_parameters ($controller) {
  parent::tx_lib_object($controller);
  $this->setArray(t3lib_div::GParrayMerged($controller->getDesignator()));
  // Initialize the cHash system if there are parameters available
  if ($GLOBALS['TSFE'] && count($parameters)) {
   $GLOBALS['TSFE']->reqCHash();
  }
 }

in

function tx_lib_parameters ($controller) {
  parent::tx_lib_object($controller);
  $this->setArray(t3lib_div::_GPmerged($controller));
  // Initialize the cHash system if there are parameters available
  if ($GLOBALS['TSFE'] && count($parameters)) {
   $GLOBALS['TSFE']->reqCHash();
  }
 }

geändert werden. Jetzt, endlich, klappt es prima mit den Losungen: Screenshot_losungen Um die Umlaute korrekt zu sehen, bedarf es, falls das noch nicht geschehen ist, folgender Einstellungen in den Konstanten des Templates:

plugin.tx_losungen {
  serverUrl = www.brueder-unitaet.de/download
  zipName = Losung_%04d_XML.zip
  xmlName = Losungen Free %04d.xml
  termsName = Nutzungsbedingungen.pdf
  treeName = Losungen
  verse1txt = Losungstext
  verse1verse = Losungsvers
  verse2txt = Lehrtext
  verse2verse = Lehrtextvers
  dateFormat = %A, %e. %B %Y:
  encoding = utf-8
}

Sowie im config-Abschnitt des Templates:

config {
  sys_language_uid = 0
  language = de
  locale_all = de_DE.UTF-8 
}

So, jetzt ist aber gut.

Datentyp HTML ohne Funktion?

Das CObject HTML gibt es unter Typo 3 CMS 6 nicht mehr. Für Neueinsteiger wie mich ist das ebenso neu wie für alle anderen, nur eben nicht so offensichtlich. Und wie will man, wenn man nicht einmal weiß, dass es sich hier um ein CObjekt in Typo3 handelt, mit Tante G nach HTML suchen? Trilliarden von Antworten durchlesen? Na gut, in jedem Anfang wohnt ja ein Zauber inne…

Im alten Typo3 (vor Version CMS 6) hat dieser Code noch hervorragend funktioniert (Quelle siehe Realisierung einer Schriftgrößenauswahl):

fontsize = COA
fontsize{

  1 = HTML
  1.value = A   
  1.value.typolink.parameter.data = page:uid
  1.value.typolink.additionalParams = &fsize=0
  1.value.typolink.ATagParams = title="Schriftgröße: normal"

  2 < .1
  2.value = A+   
  2.value.typolink.additionalParams = &fsize=1
  2.value.typolink.ATagParams = title="Schriftgröße: groß"

  3 < .1
  3.value = A++
  3.value.typolink.additionalParams = &fsize=2
  3.value.typolink.ATagParams = title="Schriftgröße: sehr groß"
  }
marks.FONTSIZE < fontsize

Nur unter CMS6 bekommt man als Ergebnis nur ein leeres div:

<div id="fontsize"></div>

Spielt man ein wenig mit dem Code herum, stellt man schnell fest, das man mit TEXT schon ein Stückchen weiterkommt:

...
  1 = TEXT
  1.value = A   
  1.value.typolink.parameter.data = page:uid
  1.value.typolink.additionalParams = &fsize=0
  1.value.typolink.ATagParams = title="Schriftgröße: normal"
...

Die Texte „A“, „A+“, „A++“ sind jetzt zu sehen. Nur leider funktionieren die Links immer noch nicht. Da wir nun allerdings nicht mehr mit einem HTML-Element sondern mit einem TEXT-Element arbeiten, hat sich die Objektstruktur „natürlich“ auch geändert: typolink ist jetzt direkt ein Element des COA-Elementes 1 und nicht mehr ein Element vom value:

...
  1 = TEXT
  1.value = A   
  1.typolink.parameter.data = page:uid
  1.typolink.additionalParams = &fsize=0
  1.typolink.ATagParams = title="Schriftgröße: normal"
...

Kaum macht man es richtig, schon klappt es auch mit den Links. Welcome at Typo3 CMS 6.

Static Info Table: Fehler beim Aufruf der Konfiguration (6.4.2013)

Ich weiß nicht mehr wann sich dieser Fehler eingeschlichen hat, aber plötzlich und unerwartet lies sich die Konfiguration der Extension Static Info Table nicht mehr aufrufen:

Oops, an error occurred!

PHP Catchable Fatal Error: Argument 2 passed to tx_staticinfotables_emconfhelper::buildCharsetField() must be an instance of TYPO3\CMS\Core\TypoScript\ConfigurationForm, instance of TYPO3\CMS\Extensionmanager\ViewHelpers\Form\TypoScriptConstantsViewHelper given in .../typo3conf/ext/static_info_tables/classes/class.tx_staticinfotables_emconfhelper.php line 45

Die Lösung war schnell gefunden (Patch): Der Datentyp t3lib_tsStyleConfig im Aufruf buildCharset von passt nicht mehr. Ändert man den Aufruf

public function buildCharsetField(array $params, t3lib_tsStyleConfig $pObj) {

in

public function buildCharsetField(array $params, TYPO3\CMS\Extensionmanager\ViewHelpers\Form\TypoScriptConstantsViewHelper $pObj) {

dann ist die Konfigruation von Static Info Table wieder möglich. Alles wird gut.

Die erste App: Tile-Click

Was als kleine Fingerübung begann endete in einer kleinen App für Windows 8.

Auf jedem Handy kann man jederzeit die Uhrzeit sehen – auf dem Windows 8 Startbildschirm nur, wenn man die Cham-Bar öffnet. Irgendwie unbefriedigend – so empfanden es wenigstens einige Nutzer.

Naja, komm, ’ne Uhr ist ja fast so simple wie ein Hallo-Welt-Programm. Das ist doch keine App wert. Und warum fehlt die eigentlich? Wieso liefert Microsoft nicht gleich eine Uhr mit?

Wie so oft steckt der Teufel im Detail und so stellte sich schnell heraus, dass es nicht ganz so einfach ist und so war die Idee schnell geboren, daraus eine App zu machen. Und um das ganze noch spannender zu gestalten, wurde die App gleich in vier Sprachen (deutsch, englisch, französisch und spanisch) angelegt. So kann man die Fallstricke der Internationalisierung auch gleich erkennen.

Als Ergebnis entstand Tile-Clock, eine Weltzeit-Uhr für die Kacheloberfläche, die jedoch die Uhrzeit auch auf dem gesamte Bildschirm anzeigen kann – mit persönlichen Hintergrundbild und eigener Farbgebung.

Man findet sie hier im Windows-8-Appstore:
Tile-Clock

Und hier ein paar Screenshots:

Screenshots_DE8

Screenshots_DE1

Screenshots_DE3

Screenshots_DE2