In WordPress Bildernamen für Google optimieren

Webdesigner und SEO’s kennen das Problem von schlechten Dateinamen von Bildern. Da kommt ein Kunde mit seiner bestehendne WordPress-Webseite als Optimierungs-Auftrag hinzu und man stellt fest, dass die Bildernamen in WordPress so graussig sind wie „IMG_2028323.jpg“ oder „bild_15_nachbearbeitet.jpg“.

Mich traf nun auch so ein Fall mit über 300 Bildern und einer sehr schlechten suboptimalen Namensgebung. Die Kunden-Webseite war normal mit WordPress eingerichtet, sieht vom Design her gut aus, aber hatte keinerlei WordPress-Plugins oder sonstige Optimierungen vorzuweisen.

Die Aufgabe bestand nun darin, dass einerseits die Webseite und vor allem auch die Bilder mehr Besucher von Google und anderen Suchmaschinen anziehen, als die bisher maximal 25 Besucher pro Tag.

Anzeige: WordPress-Programmierung mit dem HTML5 Builder lösen

Da ich Informatik über ein Fernstudium absolviert habe und auch sonst ein bequemer Mensch in Sachen Automatisierung bin, habe ich mir überlegt ein PHP-Script zur Umbenennung von Bildernamen in WordPress zu erstellen.

Den Kunden konnte ich davon überzeugen, dass er in der WordPress Mediathek (da wo in WordPress die Bilder und Anhänge verwaltet werden) die Bildtitel mit passenden Schlüsselwörtern (Keywords) abändert. Damit könnte ich dann die Dateinamen der Bilder in der MySQL-Datenbank und in den Verzeichnissen abändern.

Die Titel der Bilder waren durch den Kunden nach einigen Tagen geändert und für mich ergab sich dann auch ein neues Problem, dass einige Titel doppelt vergeben und andere mit ä,ö und ü benannt wurden. Dazu kam noch die Feststellung, dass WordPress beim Upload über die Mediathek diese kleinen Vorschaubilder in den Größen 150×150 und 300×300 anlegt.

Hier nochmal der Fahrplan zum Optimieren von Bildernamen in WordPress:

  1. In WordPress: Ändern der Bildittel in Mediathek durch Kunden
  2. In MySQL-Datenbank: Doppelte Bildtitel in WordPress suchen
  3. In MySQL-Datenbank: Liste mit Bildern heraussuchen
  4. In MySQL-Datenbank: Jeden Dateinamen anhand des Bildtitels ändern
  5. im Verzeichnis: Jeden Dateinamen anhand des Bildtitels ändern

Den ersten Punkt kann der Kunde relativ einfach und selbstständig durchführen, da dies den Kunden aktiv mit einbindet und mir selbst die Möglichkeit gibt in einen neuen Bereich an Hand der Schlüsselwörter reinzuschauen.

Der zweite Punkt der doppelten Einträge entstand zwangsläufig . Der Kunde konnte sich natürlich nicht alle Bildtitel merken und so vergab er für einige Bilder auch mehrfach den gleichen Bildtitel. Dieses Problem muss behoben werden, da sonst gleiche Dateinamen und somit Fehler in der Webseite entstehen würden. Zur Suche und Behebung der doppelten Einträge dieses kurze SQL-Script:

SELECT id, post_title, COUNT( *  ) AS counter FROM wp_posts GROUP BY post_title HAVING counter >1

Das Ergebnis ist eine Liste von Titeln mit der jeweiligen Anzahl. Die Anzahl von Titeln von z.Bsp. Kategorien ist meist größer 1. Die Titel von Bildern sollten in der Liste nicht auftauchen. Sollte doch ein Bildtitel 2 oder mehrfach vorhanden sein, so kann man diesen in der Mediathek suchen oder einfach mit diesem Script in PHPMyAdmin aufrufen und per Hand editieren:

SELECT * FROM `wp_posts` WHERE `ID` = id

Hat man dann alle doppelten Bilditel gefunden und korrigiert, so kann man mein fertiges Script nutzen, um die anderen Punkte durchzuführen. ABER ACHTUNG: Vorher eine Sicherung der Datenbank ausführen!!!

Hinweis: Alle schreibenden Eingriffe in die Datenbank und im Verzeichnis sind deaktiviert. Das PHP-Script ist somit ungefährlich.

<?php

// 1. Hinweis: Vor dem Ausführen eine Sicherung der Datenbank durchführen!!!
// 2. Hinweis: Vor dem Ausführen sollten die Update-SQL-Befehle und der Copy-Befehl deaktiviert werden

$show_all = "";  // Liste zum Checken der optimierten Dateinamen... wird ganz am Ende angezeigt
$_global_to_replace = ""; // so was wie eine globale variable

// hier die eigenen datenbank-daten eintragen
$mysqldb   = 'YOUR_MYSQL_DB_HERE';
$mysqluser = 'YOUR_MYSQL_USER_NAME';
$mysqlpwd  = 'YOUR_MYSQL_PASSWORD';
$mysqlhost = 'localhost';

// mysql-datenbank-verbindung aufbauen
$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die("Verbindungsversuch fehlgeschlagen");
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");

// SQL-Anfrage zum Holen einer Liste mit den Bildern
$query  = "SELECT meta_id, post_id, meta_key, meta_value FROM `wp_postmeta` WHERE `meta_key` LIKE '_wp_attached_file' ";

// SQL-Abfrage an Datenbank schicken
$result = mysql_query($query);

// SQL-Anfrage anzeigen
echo "SQL-Query: $query<br>";

// SQL-Ergebniss durchlaufen
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
    // SQL-Ergebnisse einzeln anzeigen
    echo "<strong>meta_id</strong> {$row['meta_id']} ".
         "<strong>post_id</strong> {$row['post_id']} ".
         "<strong>meta_key</strong> {$row['meta_key']} ".
         "<strong>meta_value</strong> {$row['meta_value']} <br>";

    // zur besseren Lesbarkeit den folgenden Kram einrücken
    echo "<blockquote>";

    // für jedes einzelnes Bild die Details holen post_id wird von der Liste verwendet
    $query2 = "SELECT * FROM `wp_posts` WHERE `ID` = {$row['post_id']}";

    // SQL-Abfrage an Datenbank schicken
    $result2 = mysql_query($query2);

    // SQL-Abfrage anzeigen (zur Sicherheit)
    echo "SQL-Query: $query2<br>";

    // SQL-Ergebnisse einzeln verarbeiten
    while ($row2 = mysql_fetch_array($result2, MYSQL_ASSOC))
    {
        // Titel des Bildes anzeigen... den der in der Mediathek geändert wurde
    	echo "<strong>post_title</strong> {$row2['post_title']} <br>";

        // Uninteressante Bilder haben als Bildtitel den Dateinamen
        // SQL-Ergebniss wird daher auf .jpg untersucht
    	if (substr($row2['post_title'],-4) == ".jpg")
    	{
    		echo ".jpg im Titel gefunden ... kann ignoriert werden<br>";
    	}
    	else
    	{
    		echo "Kein .jpg im Titel gefunden ... muss optimiert werden<br>";

                // Bild-Dateinamen sollten Bindesstrichen enthalten
                // Liste von zu suchenden Titel-Inhalten
    		$_suche_nach = array(" / ", " - "," ( "," )"," ",".","--");

                // neuen optimierten Dateinamen zusammenbauen... also Titel kleinschreiben und Kommas etc. entfernen
    		$new_post_title = "keyword-".strtolower(str_replace($_suche_nach,"-",$row2['post_title']));

                // neuen titel anzeigen
     		echo "new_post_title: ".$new_post_title."<br>";

                // neuen titel zur gesamtliste hinzufügen... wird sonst hier zu unübersichtlich
		$show_all = $show_all.$new_post_title."<br>";  

                // da die Bilder in der Datenbank mit Verzeichnis gespeichert sind muss der Bildname rausgesucht werden
                // als erste die position des letztens vorkommens suchen...
                $_start = strrpos($row['meta_value'],"/");

                // als zweites die position des beginns von .jpg suchen
	        $_ende = strrpos($row['meta_value'],".jpg");

                // ersetzen und zusammenbauen und anzeigen.. bla bla bla ;-)
		$_to_replace     = substr($row['meta_value'],$_start+1, $_ende-$_start-1);
		$_old_post_title = $row['meta_value'];
		$_new_post_title = substr_replace($row['meta_value'], $new_post_title, $_start+1, $_ende-$_start-1);
		echo "<br>";
		$_global_to_replace = $_to_replace;
		echo "pre: ".$_to_replace."<br>";
		echo "old: ".$_old_post_title."<br>";
		echo "new: ".$_new_post_title;

                echo "<br><br>";

		$query2a = "SELECT * FROM `wp_posts` WHERE `ID` = {$row['post_id']}";
		$result2a = mysql_query($query2a);
		echo "SQL-Query: $query2a<br>";
		while ($row2a = mysql_fetch_array($result2a, MYSQL_ASSOC))
		{
		   	echo "<strong>post_name</strong> {$row2a['post_name']} <br>";
			echo "<strong>post_title</strong> {$row2a['post_title']} <br>";
		    	echo "<strong>guid</strong> {$row2a['guid']} <br>";
		    	$_guid = $row2a['guid'];
		    	$_guid_start = strrpos($_guid,"/");
		    	$_guid_ende = strrpos($_guid,".jpg");
		    	$_guid_new = substr_replace($_guid,$new_post_title,$_guid_start+1,$_guid_ende-1-$_guid_start);

                        // ändern der optimierten titel in mysql-datenbank
                        $query_update0 = "UPDATE `wp_posts` SET `post_name` =  '$new_post_title', `guid` = '$_guid_new' WHERE `wp_posts`.`ID` ={$row2a['ID']};";
			//mysql_query($query_update0);  // den hier mit zwei schrägstrichen aussperren, wenn ihr euch unsicher seit!
			echo $query_update0;
		}

  	        echo "<br><br>";

		$query3 = "SELECT * FROM `wp_postmeta` WHERE `post_id` = {$row['post_id']} and `meta_key`= '_wp_attachment_metadata'";
		$result3 = mysql_query($query3);
		echo "SQL-Query3: $query3<br>";
		while ($row3 = mysql_fetch_array($result3, MYSQL_ASSOC))
		{
		    	echo "<strong>meta_id</strong> {$row3['meta_id']} <br>";
			echo "<strong>meta_value</strong> {$row3['meta_value']} <br>";
		    	$_new_postmeta = str_replace($_to_replace,$new_post_title,$row3['meta_value']);
		    	echo "<strong>to update:</strong> ".$_new_postmeta."<br>";

                        // zweites ändern der optimierten titel und bildnamen in mysql-datenbank
		    	$query_update1  = "UPDATE `widge34ed`.`wp_postmeta` SET `meta_value` =  '$_new_postmeta' WHERE  `wp_postmeta`.`meta_id` ={$row3['meta_id']};";
		    	//mysql_query($query_update1);
		    	echo $query_update1;
		}

		echo "<br><br>";

		$query4 = "SELECT * FROM `wp_postmeta` WHERE `post_id` = {$row['post_id']} and `meta_key`= '_wp_attached_file'";
		$result4 = mysql_query($query4);
		echo "SQL-Query: $query4<br>";
		while ($row4 = mysql_fetch_array($result4, MYSQL_ASSOC))
		{
		    	echo "<strong>meta_id</strong> {$row4['meta_id']} <br>";
			echo "<strong>meta_value</strong> {$row4['meta_value']} <br>";

                        // finales ändern der optimierten titel und bildnamen in mysql-datenbank
		    	$query_update2 = "UPDATE `wp_postmeta` SET `meta_value` =  '$_new_post_title' WHERE  `wp_postmeta`.`meta_id` ={$row4['meta_id']};";
		    	//mysql_query($query_update2);
		    	echo $query_update2;
		}

		// Kopieren der alten Bilddateien aber mit neuem optimierten Dateinamen

                // Verzeichnis wo die Dateien liegen... vorher checken, wo die Bilder liegen!
		$dir = "/www/htdocs/website/wp-content/uploads/2009/07/";
		foreach (glob($dir.$_global_to_replace."*.*") as $filename) {
 				$source = $filename;
 				$dest = str_replace($_global_to_replace,$new_post_title,$filename);
				echo "Quelle: ".$source."<br>";
				echo "Ziel: ".$dest."<br>";
				echo "copy >>> ".copy($source,$dest)." <<<";  // diesen copy-befehl bei bedarf deaktivieren
		}
 		echo "<br>";
    	}
    }
    echo "</blockquote>";
}
echo "<hr>";
echo $show_all;  // vor den Update-Befehlen sollte diese Lite noch mal gecheckt werden!

mysql_close($connection);
?>

Das Kopieren der Bilder mit neuem Dateinamen dient zur Sicherheit, falls man einen Fehler macht.  Die Update-Befehle sollte man unbedingt beim ersten Test deaktiviert lassen, damit man prüfen kann, ob diese korrekt wären.

Mit Sicherheit muss man das Script anpassen, wenn Bilder in verschiedenen Monaten hochgeladen wurden und somit in verschiedenen Dateiordnern liegen. Genauso habe ich hier keine PDF-Dateien oder ähnliches beachtet.

Wer Fragen oder Verbesserungen zum Script hat: Per Kommentar melden, vielleicht kann ich helfen.

PS: Die Verwendung des PHP-Scriptes erfolgt auf eigene Gefahr. Ich übernehme keinerlei Haftung.

Geld fürs Schreiben – Ist Flattr HOT oder SCHROTT?

„Endlich mal für Schreiben und Bloggen bezahlt werden!“ denken und wünschen sich jeden Tag tausende Blogger weltweit und müssen dabei wehleidig auf die Klickraten von Google Adsense schauen.

Wer Adsense kennt, der weiß, da da schon lange nichts mehr groß zu holen ist. Die Zeiten der großen Beträge pro Klick sind vorbei. Wer über Standardkram bloggt wird mit GoogleAdsense nicht reich und fragen sich hier „Was soll ich tun?“. Und ob es noch die großen Beträge für Detektiv-Anzeigen gibt wage ich zu bezweifeln.

Doch wie soll der flinke Autor nun endlich mal einen annehmbaren Stundenlohn für seine unermüdliche Arbeit ranbekommen? Viele Blogger berichten ausführlich übers Geld-Verdienen-im-Netz und schreiben ihre Erfahrungen mit Affilinet, Trigami oder anderen Vergütungsmodelen nieder.

Mit Flattr soll nun alles besser werden! Wenn es nach dem Willen der Gründer geht, soll jeder Blog einen Flattr-Knopf direkt neben den Twitter-, Digg- und Yigg-Button einbauen und fürs Texten belohnt werden. Der Gründer hinter Flattr ist übrigens der Piratebay-Gründer Peter Sunde.

Durch einen Klick auf den FlattrButton wird dem Besitzer/Autor dann ein Punkt vermerkt. Der klickende Besucher muss wahrscheinlich dazu bei Flattr registriert sein und einen festen Betrag pro Monat einzahlen, den er dann durch Klicks wieder verteilen kann. Bei zum Beispiel 10 verteilten Klicks und einem Tagesbudget von 3 Euro würde jeder Angeklickte 0,30 Euro erhalten. Und das dann von 20 Usern macht doch stolze 6 Euro Einnahmen!

Mir stellt sich nun die Frage, warum soll ich mich bei Flattr als Einzahlender anmelden? Wahrscheinlich kann ich als BloggBesitzer dann auch nur den FlattrButton einbauen, wenn ich selbst Geld in den Topf einzahle und den per Klicks verteile.

Zusammenfassend meine ich, da wird einfach Geld rumgereicht und die User werden bei Erfolgslosigkeit wieder schnell abspringen.

Einen Gewinner wird es mit Sicherheit geben und das ist Flattr, die bestimmt einen Prozentsatz x vom eingezahlten Geld als Servicegebühr einbehalten müssen. Das System könnte eine zeitlang aufrecht erhalten werden, indem immer mehr neue Einzahler dazu kommen… Stichwort: Multi-Level-Marketing MLM

Ich persönlich find die Idee Käse… Was denkt ihr!?  Ist Flattr HOT oder SCHROTT?

Fernstudium zum Juristen an der FernUni Hagen

Micha wird Jurist an der FernUni Hagen! Wer mich kennt der weiß, dass ich auf Dauer nicht wirklich still sitzen kann und eine Beschäftigung brauche. Ja, mich strebt es immer wieder zu kleinen und größeren Herausforderungen.

Tja und meine neueste Bestrebung besteht darin, dass ich mein 2. Fernstudium in Kürze beginnen werde. Beginnend mit dem Sommersemester 2010 studiere ich Rechtswissenschaften an der FernUni Hagen. Zur Debatte stand auch noch ein MBA (Master of Business Administration), welcher jedoch vom Preis her sehr happig ist.

Mein angestrebter Abschluß nennt sich Bachelor of Laws und widmet sich ganz und gar der Juristerei. Frei nach dem Motto „Nicht fragen. Klagen!“… Naja und wenn ich dann die 6 bis 8 Jahre durchgehalten habe, dann folgt mit Sicherheit noch der Master of Laws, damit sich der Titel noch wichtiger anhört.

Das Fernstudium an der FernUni Hagen ist vom Preis her ganz annehmbar. So wird der Bachelor in etwa 2.500 Euro gesamt kosten. Verteilt man diese Summe auf die Studienzeit von sagen wir mal 7 Jahre (84 Monate), dann ergibt das grad mal eine monatliche Belastung von 29, 76 Euro, also runde 30 Euro monatlich für das Fernstudium an der FernUni Hagen.

Aber wo die Gesamtinvestition am Ende wirklich landen wird, dass werde ich mal im Laufe der Zeit alles zusammenfassen. Denn von meinem vorherigen Informatik-FernStudium weiß ich, dass neben dein reinen Studiengebühren noch einige Kosten mehr für Bücher, Anreise und Übernachtungen auf einen zukommen.

Bei der Anmeldung an der FernUni Hagen wurden auch schon erste Kosten verursacht. Als Beispiel: Für  die Anmeldung muss ein beglaubigtes Zeugnis mitgeschickt werden, damit die FernUni Hagen prüfen kann, ob man die erforderlichen Zugangsvoraussetzungen erfüllt oder nicht.

Also bin ich in Leipzig zum Bürgeramt gegangen und mußte für einen Stadt-Stempel mit Unterschrift 5 Euro auf den Tisch legen. Damit war dann die Kopie meines Zeugniss amtlich beglaubigt und konnte per Post an die FernUni Hage geschickt werden.

Einige wenige Tage später schickte mir die FernUni Hagen verschiedene Briefe zu. So wurde mir die Immatrikulationsbescheinigung und ein Studentenausweis zugeschickt und dazu noch 4 Bescheinigungen das ich studiere.

Des weiteren habe ich Zugangsdaten für den internen Bereich der FernUni Hagen erhalten. Einmal angemeldet kann man sich dort seine gebuchten Kurse und Module anschauen, aber auch die Termine für die Auslieferung der Studienunterlagen und natürlich auch die Kosten für das aktuelle Semester.

Nun heißt es abwarten und voller Freude die Ankunft der ersten Unterlagen erwarten. Mit Sicherheit kommen zu den ersten 220 Euro noch einige weitere Kosten wie zum Beispiel für Bücher dazu.

In diesem Sinne… Wünscht mir viel Erfolg für mein Fernstudium 🙂

Beachvolleyball – Mein Buch – Beachvolleyball und Coaching

Beachvolleyball – Heute stelle ich euch eine meiner beliebtesten Sportaten vor. Und was mich mit diesem Sport Beachvolleyball so verbindet…
Mein Buch „Beachvolleyball und Coaching“.

Beachvolleyball ist eine Funsportart die Sonne, Sand und halbnackte Spielerinnen herausgebracht hat… Es gibt daran also nichts, was man nicht mögen könnte. Ich mag alle 3 Sachen 🙂

Angefangen habe ich ja mit dem allseits bekannten und weltweit beliebten Hallenvolleyball. Also diesen intensiven Steh- und Sprungsport, wo 6 Spieler je Team mit Knieschonern übers Parkett huschen und dabei einen Volleyball auf den Boden des Gegners versenken wollen. Bei den meisten Spielern gilt das Motto: Hart muss der Ball sein und es muss krachen auf dem Boden… Quasi: Boden – Decke!

„Spektakulär muss es sein“, so wie diese Beachvolleyball-Spielszene bei der Smart Beach Tour 2008, die ich fotografiert habe:

beachvolleyball-jan-paul-guenther-vc-leipzig
Beachvolleyball Smart Beach Tour 2008 - Jan Paule Günther (VCL) am Boden

Irgendwann hab ich dann als junger Mensch den Sandsport entdeckt und fand diesen fazinierend, da man zu zweit die volle Kontrolle über das Spiel hat und einem rein rechnerisch jede zweite Ballberührung gehört. Grad als junger Spieler der geil ist auf Spielen-Spielen-Spielen, dem kam diese Spielweise gerade recht. Auch schön: Das Coaching im Beachvolleyball ist verboten, so dass man während des gesamten Spiels wirklich Ruhe vor seinem Trainer hat.

Ich selbst als Beachvolleyballspieler war nie so recht erfolgreich. Einmal hab ich mit Bimbo – Norbert Kleine – gespielt. Einem Leipziger Urgestein in Sachen Volleyball. Bei dem Beach-Turnier damals in Mittweida (Sachsen) hatte ich ganz schön zu kämpfen, da Bimbo 2 Köpfe größer ist und zudem ein exzellenter Hallenspieler war, so dass ich mit meiner Volleyball-Landesliga-Erfahrung (in Sachsen-Anhalt beim USV Halle) nicht wirklich mithalten konnte.

Also konzentrierte ich mich auf meine Fähigkeiten als Anleiter und Trainer, welche ich bereits auf dem Gymnasium Landsberg aufblitzen lies. Dort versuchte ich als guter Hallenspieler den Spielkameraden ständig wertvolle Tipps mitzugeben und organisierte zum Teil Freundschafts- und Testspiele mit. An Volleyball-Turnieren haben wir natürlich auch teilgenommen, so wie sich das halt für eine Schulmannschaft gehört. Wir hatten viel Spaß.Beachvolleyball SV Sietzsch

Somit engagierte ich mich von 1996 bis 2006 (ca. ?) als Trainer und Coach für Beachvolleyball in der kleinen aber feinen Gemeinde Sietzsch bei SV Sietzsch. Die Gemeinde selbst gehört heute zu Landsberg im Saalekreis in Sachsen-Anhalt.

Als Beachvolleyball-Trainer habe ich viele Teams begleitet und wir haben mit einigen auch nette Erfolge feiern können. So waren wir bei den Norddeutschen Meisterschaften (als Landes-Zweit bzw. Landes-Dritt-Beste) und mit dem Beachvolleyball Team Wagner/Kitt gelang uns die Teilnahme an den Deutschen Meisterschaften in der A-Jugend.

Und über genau diesen Bereich „Beachvolleyball und Coaching“ habe ich einiges an Wissen gesammelt, so dass ich dieses Beachvolleyballfachwissen teilen möchte. Oder zumindestens zur Diskussion bereitstelle.

Über Beachvolleyball und Coaching habe ich ein Buch geschrieben, welches ihr auf meiner BeachCoach-Webseite unter www.beachcoach.de kaufen oder als Leseprobe kostenfrei herunterladen könnt.

Über jede Art von Feedback würde ich mich natürlich sehr freuen 🙂

Gruß Micha

Informatik-Fernstudium – Mein Fernstudium zum Diplom-Informatiker


wb-fernstudium.de - Wilhelm Büchner HochschuleHeute möchte ich euch einige Erfahrungen zu meinem Informatik-Fernstudium wiedergeben. Mein Fernstudium zum Diplom-Informatiker (FH) habe ich an der Privaten FernFachHochschule Darmstadt PFFH absolviert. Meine gesamte Studiendauer (6,5 Jahre) war mit Sicherheit viel zu lang, aber nebenbei Studieren ist nicht ohne.

Am Anfang standen verschiedene Hochschulen zur Auswahl, die PFFH, die ILS, die SGD und die FernUni Hagen, wobei ich mich auf Grund der Studiumsinhalte und Prüfungsfreiheiten (also ständige Prüfungstermine) für die PFFH entschieden habe.


Weiterbildung für alle! Über 200 Fernlehrgänge an Deutschlands größter Fernschule!
Also… Begonnen habe ich dann mein Fernstudium im Ferbruar 2001. Die Eröffnungsveranstaltung zu Beginn des Studiums war recht interessant, da uns einige wichtige Information zum Ablauf, Orga und Lernen mitgeteilt wurden.

Beim damaligen Angebot, die hohen monatlichen Studiengebühren auf eine längere Laufzeit zinsfrei zu strecken, habe ich sofort zugeschlagen.

Werbung: Studieren an der Wilhelm Büchner Hochschule – Bestellen Sie hier gratis Ihr Studienhandbuch!

Zunächst war ich voller Begeisterung täglich mehrere Stunden aktiv am Studieren. Sogar die freiwilligen Einsendeaufgaben habe ich alle gelöst und per Post (später per E-Mail) eingesendet. Im Laufe der Zeit konzentrierte ich mich dann jedoch auf die notwendigen Pflichtübungen und die Prüfungen.


SGD - Jetzt gratis Infomaterial anfordern! Mehr Erfolg durch Weiterbildung!

Denn als Student einer jeden Uni/FH merkt man sehr schnell, worauf es beim Studieren ankommt. Es gilt das Minimalprinzip: „Ein bestimmtes Ziel mit möglichst wenig Mitteln erreichen.“

Meine Hauptfächer waren fast alle sehr interessant und meine Noten auch nich so schlecht. Lediglich das Studienfach „Betriebssysteme“ machte mir gar keinen Spaß. Da war ich in der Prüfung durchgefallen, konnte mich dann aber später sehr darüber freuen, da diese Prüfung durch eine neue Studienordnung der PFFH gestrichen wurde 🙂

Die PFFH hat dann im Ferbruar 2008 einen richtigen Namen angenommen Wilhelm Büchner Hochschule und im Rahmen der zugehörigen feierlichen Namensgebung habe ich mein FH-Diplom erhalten. Die Gesamtnote meiner Diplomprüfung lautete 2,1 (gut), womit ich auch sehr zufrieden bin. Denn wie gesagt: Das Fernstudium heißt „allein studieren“ und das meist neben einem Vollzeitjob (so wie bei mir).

Hier die Notenübersicht meiner Hauptfächer und Nebenfächer:

Software-Engineering: 1,9

Geschäftsprozeßmodellierung/Informationssysteme: 2,3

Datenbanken: 2,5

Informationsmanagement II: 2,4

Führung: 1,7

Moderation/Kommunikation: 1,3

Professional English: 2,9

Projektarbeit: 1,3

Verteilte Informationssysteme: 2,0

Multimedia: 1,0

Controlling/Qualitätswesen: 1,8

Fazit: Ich bereue es keine Minute, dass ich an der PFFH den Fernstudiengang Informatik studiert habe. Ich hatte stets meine Freiheiten bezüglich des Lerntempos. Auch die Möglichkeit, dass man in einem Monat die Prüfung vergeigt und im nächsten Monat gleich noch mal probiert war für mich sehr beruhigend. Denn wer wartet schon gern ein halbes Jahr auf die nächste Chance so wie zum Beispiel bei der Fern-Uni Hagen.

Die Einsendeaufgaben und Prüfungen konnte man über die Ferne mit anderen Studenten im Online-Campus durchgehen, aber sich auch Infos, Hilfe und Unterstützung bei den Betreuern per Mail, Telefon oder altmodischem Fax holen. Dafür hat man ja schließlich in Summe auch knapp 12.000 Euro bezahlt!

Wenn Ihr noch Fragen zu den wirklichen Gesamtosten, weitere Gebühren, Organisation, Lernen, Anfahrt, Hotel und Lerngruppen habt, dann schreibt einfach ein Kommentar mit Angabe euer E-Mail Adresse. Ich helf euch dann weiter.

In diesem Sinne… Viel Spaß beim Fernstudieren…

WordPress 2.6.2 Mediathek optimieren

WordPress ist für einen Blog in meinen Augen das ideale Werkzeug. WordPress ist leicht zu installieren, läßt sich wunderbar mit Plugins erweitern und kann bei Bedarf auch noch indivuell angepasst werden.

Im aktuellen Fall bereite ich einen existierenden WordPress-Blog für die Nutzung durch andere Autoren vor. Der Blog selbst läuft in der deutschen WordPress-Version 2.6.2 und hat die üblichen Plugins.

wp-optimieren

Damit ein anderer Autor neue Artikel als Vorschlag einstellen kann, bietet es sich an, dass man ihm die Rolle als „Mitarbeiter/Contributor“ zuweist. Doch nach dem ersten Test stellte ich sofort fest, dass die Berechtigungen nicht optimal gestaltet waren.

Zum einem verweigerte WordPress dem Benutzer den Media-Upload und zum anderen (das stellte ich nach Lösung des ersten Problems fest) durfte der User die Bilder anderer User löschen.

Nun ja. Ich bin ja kein Dummer und eigentlich ganz clever, also hab ich mich mal auf die Suche gemacht, um das WordPress-Optimierungs-Problem zu lösen.

Zur allgemeinen Info… Ich verwende einen handelsüblichen FTP-Client und zum Coden in PHP den phpDesigner (natürlich lizenziert, weil selbst bezahlt!).

Anzeige: WordPress-Programmierung mit dem HTML5 Builder lösen

Also… Die Berechtigungen einer Benutzerrolle in WordPress ist recht simpel. Es gibt eine Reihe von Berechtigungen, die jeder Benutzerrolle zugewiesen sind. Der Media-Upload ist dabei eine eigene Berechtigung mit dem Namen „upload_files“.

Berechtigungen für Benutzerrollen in WordPress kann man knallhart direkt in der Datenbank ändern. Wer sich die Struktur schon mal angeschaut wird jedoch feststellen, dass dies wahrlich kein schöner Anblick ist. Sicherlich perfekt für ein Blog-System umgesetzt, jedoch für den schnellen Handgriff weniger geeignet.

Aber es gibt ja tolle Plugins für jede erdenkliche Aufgabe in WordPress. Ein einfaches aber prima Tool für die Verwaltung der Benutzerrollen und -berechtigungen habe ich mit „role-Manager“ gefunden.

„role-Manager“ runterladen, installieren und Benutzerrolle „contributor“ erweitern. Auch bei jeder Benutzer den man ändern will, kann man die Berechtigungen noch individuell setzen. Somit wäre Problem 1 also gelöst. Mein Benutzer vom Typ „Mitarbeiter/Contributor“ darf Bilder in WordPress hochladen.

Damit ergab sich dann jedoch ein zweites Problem. Der Benutzer darf zwar jetzt prima hochladen, aber er darf auch alle Media-Dateien löschen… Ganz schlecht, wenn man es richtig machen will. Erkennen könnt ihr die fehlerhafte Berechtigung hier: Login als Mitarbeiter > Dashboard > Verwalten >Mediathek. Jedes Bild hat eine CheckBox die durch Aktivierung zum Löschen verwendet werden kann.

Auf der Suche nach der Quelltextstelle schaute ich mir die korrekte Arbeitsweise bei den Artikeln an. Dort ist das Prinzip schon umgesetzt, dass ein Mitarbeiter nur seine eigenen Artikelentwürfe löschen darf. Also rein in den Quelltext und suchen. Folgendes findet man in der WordPress-Datei „edit-post-rows.php“:

<th scope="row" class="check-column">
  <?php if ( current_user_can( 'edit_post', $post->ID ) ) { ?>
    <input type="checkbox" name="delete[]" value="<?php the_ID(); ?>" />
  <?php } ?>
</th>

In der WordPress-Datei „edit-attachment-rows.php“, wo das Löschen der Media-Dateien niedergeschrieben steht, findet man jedoch den Freifahrtsschein:

<th scope="row" class="check-column">
  <input type="checkbox" name="delete[]" value="<?php the_ID(); ?>" />
</th>

Also hab ich einfach mal das komplette Stück Quelltext da reingesetzt und es funktionierte. Der Benutzer sieht in der Mediathek nicht mehr die Checkbox zum Löschen.

Aber es gibt noch eine zweite Stelle, wo man Bilder löschen kann! Und zwar beim Schreiben eines Artikels und der dortigen Mediathek-Funktion bei „Bild hinzufügen“. Der Löschen-Link ist etwas versteckter, aber auch leicht zu entfernen. Im Ordner „wp-admin/includes“ befindet sich die Datei „media.php“. Packt einfach jeweils 2 Schrägstriche vor diese Zeilen und weg ist der Löschen-Link:

//if ( $delete )
//	$delete = "<a href=\"#\" class=\"del-link\" onclick=\"document.getElementById('del_attachment_$attachment_id').style.display='block';return false;\">" . __('Delete') . "</a>";

Ob das nun der allerkorrekteste Weg war weiß ich nicht, aber da lass ich mich gern von euch belehren.

In diesem Sinne weiterhin viel Spaß mit WordPress 🙂

Gruß Micha

Python und MySQL – Einstieg

I LOVE Python!

Ach was ist das für eine nett süße Programmiersprache dieses Python. Und so einfach und mächtig zugleich… IRRE!

Ja wirklich jetzt. Ich mag Python sehr, da es mit wenig Aufwand kleine und größere Probleme lösen kann, sofern man programmieren kann 😉

Anhand eines einfachen Beispiels in Python kann ich euch die Programmiersprache mal etwas näher bringen.

# ich bin ein kommentar

# jetzt folgt eine schleife mit 2 wiederholungen
for i in range(0,2):
    # try = Versuch ... genereller Einstieg
    try:
        print "ich bin eine ausgabe - Durchlauf %s" % (str(i))
    # except = Ausnahme ... Ausstieg, wenn etwas schief geht
    except:
        print "ein fehler ist aufgetreten"

print "script ist fertig"

Doch wie fängt der Anfänger nun mit Python an!?

Python für Beginner:

1. Download von Python… hier klicken

2. Download von Stanislav Python Editor (SPE) … hier klicken

3. Code-Beispiel in SPE kopieren, speichern und mit F9 starten

Das Ergebniss sollte dann so aussehen:

ich bin eine ausgabe – Durchlauf 0

ich bin eine ausgabe – Durchlauf 1

script ist fertig

Script terminated.

MySQL Lite für Beginner:

Wenn zusätzlich noch eine lokale Datenbank wie MySQL benötigt wird:

1. Download von XAMPP Lite wegen MySQL-Datenbank… hier klicken

2. Installation und Einrichtung von XAMPP… hier klicken

3. XAMPP Control öffnen und dort „Apache“ und „MySQL“ starten

4. XAMPP testen… http://localhost/

Soweit erstmal dazu… Beim nächsten mal gibt es mehr Python

Gruß Micha

Ausflug nach einem IT-Meeting in der Schweiz

Vor einigen Jahren waren wir bei einem internationalen Meeting in der Schweiz um verschiedene Funktionen in einer Software-Lösung mit einem Kunden zu diskutieren.Das Meeting fand am Freitag statt, doch wir waren insgesamt 3 Tage in der Schweiz unterwegs 🙂

Die Anreise fand standardmässig im Nightliner statt, so dass wir ausgeruht an einem Freitag Morgen in der schönen Schweiz ankamen. Es folgten viele Stunden englischer Diskussion zu Funktionalitäten, Design und Software.

Danach gönnten wir uns zwei volle Tage Sightseeing und Erholung in Zürich und Umgebung. Die neutrale Schweiz ist berühmt für seine Technik und die vielen Berge. Während der Kurzreise in die Schweiz wurden wir von besten Winterwetter begleitet.

Da wir uns selbst in der Schweiz nicht so gut auskannten, besuchten wir die wunderschöne Stadt Zürich und das Ski- und Rodelgebiet rund um den Engelberg.

Der Engelberg ist sehr zu empfehlen. Zumal es dort trotz bester Winterbedingungen sehr leer war.Wir hatten sowohl auf der Piste als auch im Bergrestaurant fast keine Skifahrer angetroffen.

Gruß Micha

Mein Haus – Mein Traum – Meine Baustelle

Wer kennt sie nicht… Die Werbung der Spasskasse mit den zwei Typen Schober und Schröder, die sich in einem Restaurant treffen und sich gegenseitig übertrumpfen. „mein Haus – mein Auto – mein Boot“ heißt es in der Kultwerbung aus den 90er Jahren.

Auch ich kann nun seit einiger Zeit mitreden:

Mein Haus – Mein Traum – Meine Baustelle
Mein Haus - Der Anfang
Auf dem Bild sieht man die Rückansicht vor einigen Jahren. Mit Bezug des Hauses begannen auch die Bauarbeiten, welche wohl bei einem Hausbesitzer niemals enden werden. So zumindestens erzählen es mir immer wieder andere Besitzer.

Nun ja… Was so alles auf mich zukommen sollte, konnte ich mir in meinen kühnsten Träumen natürlich NICHT ausmalen.

In einigen kommenden Artikeln werd ich mal näher auf mein handwerkliches Geschick eingehen.

Gruß Micha