Archive for the ‘Allgemein’ Category.
18. Januar 2012, 17:57
Nachdem ich ein wordpress Projekt von Server A nach Server B übertragen hatte, waren plötzlich sämtliche nextgen Konfigurationen verschwunden. Sämtliche Galerien auf der Seite funktionierten nicht mehr, stattdessen wurden einfach alle Bilder unformatiert und ohne hübsche Slideshow angezeigt.
Das Problem lässt sich mit Datenbankzugang folgendermaßen beheben: in wp_options den Eintrag finden wo option_name = ngg_options und dann option_value von der alten Datenbank holen und reinkopieren. Die Werte in option_value sind offenbar die config Werte der Galerie und werden aus irgendeinem Grund nicht richtig eingetragen in die Datenbank.

23. August 2011, 08:37
Unfassbar. Wirklich, es ist peinlich, dass ich sowas nicht weiß. Ich bin ein Kind des DOS-Modus, meine ersten PC-Spiele habe ich über DOS Befehle gestartet. Aber mit Shell Befehlen hab ich halt nichts am Hut und alles, was ich bisher damit machen musste, war eine Mischung aus verzweifeltem Raten, googeln von Befehlen und beten. Ich bin dankbar, dass ich trotz diversen root Zugängen zu großen Projekten nie irgendwas zerstört habe.
Und da ich aktuell ein php Script über shell-Befehle ausführen muss, habe ich mit Entsetzen festgestellt: ich weiß nicht, wie man ein Script unterbricht. Darum ein Memo an mich:
Laufende Scripte beendet man mit CRTL + C !
Wie peinlich. Danke an diese Seite und den Punkt 5.4.
4. April 2011, 09:37
Inzwischen musste ich schon oft genug einen neuen Backend Benutzer anlegen und hatte dabei eigentlich immer wieder dieselben Schwierigkeiten: der Seitenbaum wurde erstmal nicht angezeigt und wenn der dann endlich da war, war die Dateiliste leer. Daher wiedermal meine schrittweise Anleitung zum Erstellen eines BE Benutzers, ohne Anspruch auf Vollständigkeit und möglicherweise auch mit einigen überflüssigen Schritten.
1. einen neuen Benutzer erstellen
Unter "Benutzer" den neuen Benutzer erstellen. Benutzername und Passwort ausfüllen und ggf. eine Standardsprache auswähklen. Speichern und dann eine neue Gruppe erstellen mit Klick auf das PLUS unter Gruppe.
2. neue Gruppe erstellen
einen aussagekräftigen Gruppennamen vergeben und dann unter "Zugriffsliste" als erstes "Zugriffslisten mit einschließen" auswählen. Anschließend die gewünschten Module, Tabellen, Seitentypen etc. auswählen. Wer sich damit nicht auskennt, kann direkt alles auswählen und später genauer selektieren.
Unter "Freigaben und Arbeitsumgebungen" bei Datenbankfreigaben die root Seite auswählen
Für die Verzeichnisfreigaben zuerst ein neues Objekt erstellen. Am einfachsten ist es, direkt den fileadmin Ordner zuzuweisen, mit mehr Erfahrung sollte man den templates Ordner allerdings vor Userzugriff unbedingt schützen. Man wählt am besten die Option Basis: absolut aus und gibt den Pfad an (am besten herauszufinden wenn man sich $_SERVER['DOCUMENT_ROOT'] ausgeben lässt). Speichern, nochmal prüfen ob der Gruppe die Verzeichnisfreigabe zugewiesen ist und dann auch die Gruppe speichern.
Nochmal sichergehen, dass der eben erstellte Benutzer dieser neuen Gruppe auch wirklich zugewiesen ist.
3. Zugriffe
Damit dieser User den Seitenbaum auch wirklich sehen kann, bedarf es eines weiteren Schrittes. Unter Web - Zugriff - Rechte wählt man sich sein root Verzeichnis aus und bearbeitet dies. Im folgenden Formular wählt man sich die eben erstellte Gruppe im "Gruppe" Dropdown aus und wählt einfach ALLE checkboxen unter Rechte an. Das ganze lässt man Rekursiv über 3 Ebenen laufen und speichert. Anschließend sollte die Rechte Übersicht in etwa so aussehen:

Und wenn das alles geklappt hat, sollte der neu erstellte User nun auch nach dem Login den Seitenbaum und die Dateiliste sehen und bearbeiten können. Sollte dem nicht so sein, wäre der erste Schritt, zu prüfen, ob dem User auch wirklich die Gruppe zugewiesen wurde, und ob der Gruppe die entsprechenden Rechte zugewiesen wurden. Es ist NICHT nötig, einem User einzeln Rechte zu verteilen, es reicht durchaus, dass die entsprechende Gruppe die nötigen Rechte hat.
Noch ein Hinweis: diese Anleitung gibt die einzelnen Schritte natürlich nur in ihrer simpelsten Form wieder. das Typo3 Rechtesystem ist relativ umfangreich und man braucht weder direkt den Fileadmin Ordner freizugeben noch die root Seite. Man kann hier sehr gut differenzieren, aber für eine erste Zuweisung, die erstmal nichts weiter können muss als dem eingeloggten Benutzer einen Seitenbaum und eine Dateiliste anzuzeigen, eignet sich diese Anleitung durchaus.
1. Februar 2008, 12:13
...in die wunderliche Welt von Microsoft, genauer gesagt in die Welt von M$ Word. Ich hab mir heute unter größten Suchanstrengungen zwei Makros zusammengefummelt, die mir zukünftig die Arbeit sehr erleichtern werden und da ich bei meiner Suche im Internet keinerlei Makros mit dieser Funktionalität finden konnte, dacht ich mir, ich poste sie mal hier.
1. Da die meisten Portale und Foren keine HTML Tags akzeptieren und auch kein TinyMCE haben, sondern mit vorgefertigten Tags arbeiten, brauchte ich ein Makro, das mir kursiven und fettgedruckten Text sucht und in die entsprechenden Tags schreibt. Aus "ein Text mit kursiver und fetter Schrift" sollte am Ende "ein Text mit [i]kursiver[/i] und [b]fetter[/b] Schrift" werden (die Tags mit den eckigen Klammern werden beim Animexx verwendet, kann man dann aber beliebig für seine Zwecke ändern). Das Makro sieht dann so aus:
-
Sub kursiv_bold_ersetzen()
-
'
-
' kursiv_bold_ersetzen Makro
-
' Makro aufgezeichnet am 01.02.2008 von Salieri
-
'
-
Selection.Find.ClearFormatting
-
Selection.Find.Font.Italic = True
-
Selection.Find.Replacement.ClearFormatting
-
With Selection.Find
-
.Text = ""
-
.Replacement.Text = "[i]^&[/i]"
-
.Forward = True
-
.Wrap = wdFindContinue
-
.Format = True
-
.MatchCase = False
-
.MatchWholeWord = False
-
.MatchWildcards = False
-
.MatchSoundsLike = False
-
.MatchAllWordForms = False
-
End With
-
Selection.Find.Execute Replace:=wdReplaceAll
-
Selection.Find.ClearFormatting
-
Selection.Find.Font.Bold = True
-
Selection.Find.Replacement.ClearFormatting
-
With Selection.Find
-
.Text = ""
-
.Replacement.Text = "[b]^&[/b]"
-
.Forward = True
-
.Wrap = wdFindContinue
-
.Format = True
-
.MatchCase = False
-
.MatchWholeWord = False
-
.MatchWildcards = False
-
.MatchSoundsLike = False
-
.MatchAllWordForms = False
-
End With
-
Selection.Find.Execute Replace:=wdReplaceAll
-
End Sub
Ich habe keinerlei Ahnung von Word Makros, mag also sein dass diverse Dinge, die Word mir da reinschreibt, überflüssig sind. Ich weiß nich mal, was für ne Programmiersprache das ist. Wichtig ist aber, dass es funktioniert. Selection.Find.Font.Italic = True gibt die Formatierung an und .Replacement.Text = "[b]^&[/b]" die Art, wie die Ergebnisse verarbeitet werden. Das ^& ist wohl in dem Fall der entsprechende Platzhalter. Es geht, aber ganz verstanden hab ich das System dahinter noch nicht. Denn im nächsten Beispiel sieht der Platzhalter anders aus:
2. Da diese Tags überall unterschiedlich sind, hab ich mir auch gleich ein Makro geschrieben, um das ganze Dokument von einem Tagsystem ins andere überführen zu können. In meinem Beispiel überführe ich einen für Fanfiktion.de formatierten Text in einen Animexx konformen Text. Im FFde sind kursive Texte mit [style type="italic"]text[/style] markiert, fettgedruckte mit [style type="bold"]text[/style]. Da das schließende Tag jeweils gleich ist, war's mit einer einfachen Ersetzung nicht getan, also mussten Platzhalter für die Suche her und das Ergebnis sieht so aus:
-
Sub ffde_nach_animexx()
-
'
-
' ffde_nach_animexx Makro
-
' Makro aufgezeichnet am 01.02.2008 von Salieri
-
'
-
Selection.Find.ClearFormatting
-
Selection.Find.Replacement.ClearFormatting
-
With Selection.Find
-
.Text = "\[style type=""bold""\](*)\[/style\]"
-
.Replacement.Text = "[b]\1[/b]"
-
.Forward = True
-
.Wrap = wdFindContinue
-
.Format = False
-
.MatchCase = False
-
.MatchWholeWord = False
-
.MatchAllWordForms = False
-
.MatchSoundsLike = False
-
.MatchWildcards = True
-
End With
-
Selection.Find.Execute Replace:=wdReplaceAll
-
With Selection.Find
-
.Text = "\[style type=""italic""\](*)\[/style\]"
-
.Replacement.Text = "[i]\1[/i]"
-
.Forward = True
-
.Wrap = wdFindContinue
-
.Format = False
-
.MatchCase = False
-
.MatchWholeWord = False
-
.MatchAllWordForms = False
-
.MatchSoundsLike = False
-
.MatchWildcards = True
-
End With
-
Selection.Find.Execute Replace:=wdReplaceAll
-
End Sub
29. Januar 2008, 21:08
Nun, dann will ich gleich mal mit einem Problem anfangen, das WordPress mir bei der Installation bereitet hat. Bei mir kam nämlich die lustige Fehlermeldung
WordPress 2.3.2 benötigt Mysql 4.0.0 oder höher.
Wie ich festgestellt habe, kommt es auch gut ohne klar, jedenfalls bei der Installation. Um also nicht sinnlos eine alte Version holen zu müssen, empfehle ich den etwas erfahreneren Usern folgendes:
In der Datei wp-admin/includes/upgrade.php kann man in Zeile 12 einfach die entsprechende Funktion
wp_check_mysql_version();
auskommentieren. Das war alles, was ich geändert hab. Und dann klappt's auch mit der Installation.
Anschließend trat im Admin Interface als erstes das Problem auf, dass geschriebene Beiträge unter Verwalten -> Beiträge nicht sichtbar waren. Hier zeigte sich dann, warum bei der Installation eine bestimmte MySQL Version verlangt wurde. Beim Abfragen der Posts wird nämlich SQL_CALC_FOUND_ROWS benutzt, welches die älteren MySQL Versionen offenbar nicht kennen. Nun, inwieweit sich das später bei mehr Beiträgen noch auswirken wird, werde ich noch sehen, aber bisher konnte ich dem Problem Herr werden, indem ich in der Datei wp-includes/query.php in Zeile 1257 das SQL_CALC_FOUND_ROWS rausgenommen habe, konkret:
statt
-
$found_rows = 'SQL_CALC_FOUND_ROWS';
Mal sehen, welche Probleme noch so auftreten.