Wenn man Bilder in Artikel oder Beiträge einfügt, dann werden die se in der Regel direkt auf das Bild verlinkt. Oftmals will man aber, dass Bilder auf eine andere Seite verlinken oder gar keine Aktion durchgeführt wird.
Der folgende Artikel zeigt, wie man Bilder neu verlinken kann, nachdem diese bereits mit dem Editor eingefügt wurden.
Bild bearbeiten
Um das Bild zu bearbeiten, muss es im Editor mit der Maus angeklickt werden. Dann kann mit Klick auf den Bearbeitenknopf (kleiner Stift) in den Bearbeitenmodus gewechselt werden.
Bild verlinken
Im darauf erscheinenden Dialog kann man nun unter „Link zur“ die Verlinkung des Bilds ändern, dabei gibt es folgende Möglichkeiten:
„Medien-Datei“: Verlinkt auf das Bild
„Anhang-Seite“: Verlinkt auf eine Seite, welche lediglich das Bild und gegebenfalls weitere Informationen (z.B. die Beschreibung) dazu enthält.
„Benutzerdefinierte URL“: Verlinkt auf eine beliebige Adresse, z.B. eine andere Internetseite.
Wer einen Webshop betreibt, wird schnell feststellen, dass einfache Produkte mit nur einer Ausprägung irgendwann nicht mehr ausreichen. Mit WooCommerce ist es recht einfach für seine Produkte verschiedene Variationen zu erstellen und diese anzubieten. Im folgenden Artikel möchte ich einen kurzen Einstieg geben, um den Start mit Variationen zu erleichtern. Um das Konzept und die Möglichkeiten besser zu verstehen, sollte allerdings die offizielle Dokumentation gelesen werden.
Heute mal was anderes. Nach Jahren im Keller musste mal ein kleiner Facelift her. Bitte nicht genauer hinschauen, ich bin nicht sehr talentiert und vor allem nicht geduldig genug für solche Arbeit. (Den tollen Bildvergleicher gibt es übrigens bei CodeCanyon)
WordPress bringt von Haus aus einen guten und einfachen Mechanismus mit um sich selbst, installierte Plugins, Themes und Sprachen zu aktualisieren.
Muss ich Profi sein, um Aktualisierungen durchzuführen?
Jain, diese Frage lässt sich nicht pauschal beantworten und hängt immer von verschiedenen Faktoren ab. Ein paar – aus meiner Sicht wichtige – möchte ich hier vorstellen. Generell kann ich aus Erfahrung sagen, dass Aktualisierungen bei WordPress meist unproblematisch sind und man sich nicht davor scheuen braucht. Ich betreibe meinen Blog jetzt seit einigen Jahren und habe bisher immer ohne Probleme die verwendeten Plugins und Themes aktualisieren können.
Dennoch sollte man auf ein paar Dinge achten.
Faktor 1: Eigene Anpassungen
Der wohl wichtigste Faktor sind eigene Anpassungen, in Form eigener Plugins und insbesondere eigener Themes.
Je nachdem wie stark man die Standardfunktionalität von WordPress verbogen hat, kann eine Aktualisierung ein Risiko sein. Hier ist es wichtig, nach der Aktualisierung alle Funktionalitäten genau zu prüfen.
Faktor 2: Die Version
Entwickler verwenden oftmals Versionsnummern, die aus drei durch einen Punkt getrennte Zahlen bestehen, z.B. 3.8.1. Grob gesagt, bedeuten die Zahlen folgendes:
Die erste Zahl (3) Ist die Hauptversion der Komponente und ändert sich in der Regel nur, wenn wirklich bedeutende oder große Änderungen am Produkt (meist im Kern) stattgefunden haben. Manche Hersteller ändern diese Zahl auch nur aus Marketingzwecken. Gefahr: Ändert sich diese Zahl, dann sollte man bei der Aktualisierung vorsichtig sein, da hier sehr wahrscheinlich grundlegende Eigenschaften geändert wurden.
Die zweite Zahl (8) Ändert sich in der Regel, wenn sich im Produkt einzelne Features oder Schnittstellen geändert haben. Die Änderungen sind in der Regel überschaubar. Gefahr: Durch die hohe Stabilität von WordPress besteht hier in der Regel wenig Gefahr.
Die dritte Zahl (1) Dient in der Regel lediglich, um Fehlerbehebungen zu markieren. Hier sollten normalerweise keine Änderungen an Features oder Schnittstellen usw. stattgefunden haben. Ändert sich diese Zahl ist eine Aktualisierung in der Regel ohne Probleme möglich.
Etwas genauer kann man das in der Wikipedia nachlesen.
Faktor 3: WordPress, Plugin, Theme oder Sprache aktualisieren
Wie bereits eingangs erwähnt gibt es in WordPress drei verschiedene Komponenten die aktualisiert werden können:
WordPress Gibt es Aktualisierungen für WordPress sollte man etwas genauer hinschauen. Updates für Fehler (die letzte Zahl) sind meist unproblematisch und können ohne weiteres durchgeführt werden. Bei größeren Aktualisierungen (die zweite Zahl) sollte man aufpassen. Hier gilt in der Regel: Verwendet man wenige und beliebte Plugins, sowie keine besonderen Themes, dann sind Aktualisierungen im Normalfall unproblematisch.
Plugins Normalerweise kann man Plugins ohne Probleme aktualisieren. Lediglich bei größeren Versionssprüngen sollte man aufpassen.
Themes Diese sind in der Regel ohne Probleme aktualisierbar.
Sprache Hat man hier keine eigenen Änderungen vorgenommen, sollte das kein Problem darstellen.
Faktor 4: Weniger ist mehr
Lieber weniger Plugins installieren und auf eine Funktionalität verzichten, als für jeden erdenklichen Fall etwas zu haben. Je mehr Plugins man installiert hat, desto größer ist die Gefahr, dass eins nicht mehr vom Autor gepflegt und mit einer neueren WordPress kompatibel ist.
Wann sind Aktualisierungen verfügbar?
Am einfachsten erkennt man, ob Aktualisierungen verfügbar sind, wenn im Adminbereich in der oberen Leiste das Aktualisierungssymbol mit einer kleinen Zahl für die Anzahl der verfügbaren Aktualisierungen angezeigt wird.
Wenn man dort klickt, gelangt man auf die Aktualisierungsseite.
Test auf einem Testsystem. Tritt hier ein Fehler auf, dann ist es nicht so problematisch und gleich für die ganze Öffentlichkeit sichtbar.
Aktualisieren
Die Aktualisierungsseite trennt die Komponenten WordPress, Plugins, Themes und Übersetzungen in einzelne Bereiche.
Jetzt kann man entweder alles einzeln aktualisieren oder zumindest Blockweise die einzelnen Komponenten, z.B. Plugins.
Am schnellsten und einfachsten ist es, wenn beispielsweise alle Plugins gleichzeitig aktualisiert, dazu:
Klickt man bei Plugins „Alle auswählen“
Und dann „Plugins aktualisieren“
Im nächsten Dialog muss man bei manchen Installationen noch die FTP-Zugangsdaten eingeben:
Während der Aktualisierung wird WordPress für einen kurzen Moment in den Wartungsmodus geschaltet. Am Ende der Aktualisierung ist die Seite wieder ganz normal und hoffentlich ohne Fehler verfügbar:
Nach der Aktualisierung
Sobald die Aktualisierung fertig ist, sollte man einen kurzen Funktionstest der Seite machen um Sicherzustellen, dass auch noch alles wie erwartet funktioniert.
Was man alles testen sollte, hängt vom Funktionsumfang der Seite und den aktualisierten Komponenten ab. Folgende Hinweise sollen dabei helfen:
Die Seite einmal grob durchklicken und das Design und Layout auf Korrektheit prüfen,
Prüfen, ob Kommentare und Kontaktformulare noch funktionieren,
Sonstige spezielle Funktionieren, wie Umfragen, Kalender, Twitter-Integrationen usw. prüfen.
Mit Hilfe des Plugins BackUpWordPress können auch Anwender ohne FTP- oder MySQL-Kenntnisse schnell und einfach Sicherungen ihrer WordPress-Installation durchführen.
Neben dem Erstellen manueller Sicherungen ermöglicht das Plugin auch automatisiert regelmäßig Sicherungen durchzuführen. Bei erfolgreicher Erstellung des Backups kann man sich per E-Mail benachrichtigen lassen. Ist das Backup klein genug, dann wird es direkt mit der E-Mail mitgeschickt. Ansonsten ist hier leider noch ein manueller Download notwendig.
[box type=“tick“]Tipp: Es gibt verschiedene Premium-Plugins, welche es z.B. erlauben, das erstellte Backup direkt per FTP oder DropBox zu sichern.[/box]
Backups erstellen und runterladen
Die Seite zum Plugin findet man in der Administration unter Werkzeuge -> Backup.
Die Verwaltungsoberfläche ist sehr einfach aufgebaut und bietet im Wesentlichen das Folgende:
Angelegte Aufgaben und Aufgabe erstellen Hier werden alle bisher angelegten Aufgaben angezeigt und es ist möglich weitere Sicherungsaufgaben zu erstellen. Der Wert in Klammern gibt die Anzahl vorhandener Backups an.
Beschreibung und Aktionen Eine kurze Beschreibung der ausgewählten Aufgabe, sowie die Möglichkeit die Aufgabe zu bearbeiten und manuell zu starten.
Backups Alle bisher erzeugten Backups der ausgewählten Aufgabe werden hier aufgelistet und können heruntergeladen werden.
Hinweis: Das Installieren einer nicht offiziellen Firmware bedeutet auch den Verlust der Garantie. Zusätzlich können dabei alle Daten verloren gehen. Diese Anleitung ist ohne jede Gewähr und jeder führt sie auf eigene Gefahr aus. Für irgendwelche Schäden kann ich keine Haftung übernehmen.
Backup: Vor dem Durchführen dieser Methode solltet ihr unbedingt eure Daten und Einstellungen sichern. Insbesondere die Einstellungen gehen wahrscheinlich verloren und müssen erneut vorgenommen werden (siehe Kommentare).
Dank meines Diensts otr.scrobble.me hatte ich endlich einen triftigen Grund mir einen neuen Server zuzulegen. Da ich bereits gute Erfahrungen mit meinen Q700/TS-219 gemacht habe, gerne bei QNAP bleiben wollte, aber nicht soviel Geld ausgeben wollte, habe ich mir jetzt den Fujitsu Celvin Q800 gekauft. Gut der ist vielleicht nicht ganz so aktuell, aber reicht für meine Bedürfnisse: mehr Festplatte und vor allem einen Intel Dual Core-Prozessor. Da kann ich Java, Tomcat und Jenkins endlich über QPKG laufen lassen, ohne es immer lästig manuell nach jedem Serverneustart zu starten.
Das Original
Auch der Q800 ist in Wirklichkeit ein QNAP-Gerät, und zwar der TS-459 Pro II (wenn man der Anzeige auf dem Display glauben darf). Laut Spezifikation ist der einzige Unterschied zwischen den beiden Geräten, dass der Q800 keine USB 3.0-Anschlüsse hat. Allerdings ist da auf dem Gehäuse lediglich ein USB 2.0-Aufkleber drüber geklebt. Da ich kein USB 3.0-Gerät besitze kann nicht sagen, ob es mit der Originalfirmware dann doch USB 3.0 ist.
Das Update
Okay, ich wollte das Update einfach nach der Variante für den Q700 durchführen. Das Gerät ist ja irgendwie das Gleiche. Arg, das ist mal gründlich in die Hose gegangen. Irgendwie habe ich mich beim Herunterladen des Updates vertan und dann versucht das Update des TS-559 Pro+ draufzuspielen. Logische Konsequenz: Fehler beim Booten, Bootloop usw. Glücklicherweise ist das Q800 ja schon ein Gerät der gehobeneren Klasse und hat einen VGA-Anschluss für Wartungszwecke. Zusammen mit diesem und der (nicht mehr aktuellen?) Recovery-Anleitung hier konnte ich das System wieder herstellen und die originale Firmware installieren.
Das Recovery-Update
Hinweis: Im deutschen QNAP Club-Forum gibt es eine super bebilderte Anleitung. Leider habe ich diese auch erst jetzt (16.04.2013) durch Zufall entdeckt.
Wie gerade angemerkt, stimmt die Recovery-Anleitung nicht ganz, zumindest hat es bei mir nicht so hingehauen und ich musste etwas improvisieren. Z.b. hießen die Festplatten bei mir anders, zusätzlich funktionierte das angegebene Tool nicht richtig, um den bootbaren USB-Stick zu erstellen.
[box type=“alert“]Dieser Weg funktioniert wahrscheinlich nur, wenn ihr noch keine Daten auf dem Gerät habt.[/box]
Mit Universal USB Installer und dem Damn Small Linux einen bootfähigen USB-Stick erstellen:
USB-Stick durch Universal USB Installer formatieren lassen
für Damn Small Linux in der Auswahlliste ganz unten „Try unlisted Linux ISO“ auswählen
Die Datei F_TS-459_20101118-1.0.9.img als dom.img auf den USB-Stick kopieren.
Die Schritte aus der Anleitung abarbeiten:
Durch Drücken von F11 in den Boot-Auswahl-Bildschirm gelangen
USB auswählen, aber nicht „USB DISK MODULE PMAP“
Warten bis das Linux gestartet wurde und mit STRG+ALT+ENTF in den Konsolenmodus wechseln
Folgende Befehle eingeben:
sudo su
fdisk -l
In der Ausgabe werden nun die verfügbaren Datenträger angezeigt. Der Datenträger mit der Größe von 512 MB sollte der Flashspeicher des Geräts sein (Vorsicht, wenn der verwendete USB-Stick auch 512 MB groß ist).
Hat der Flashspeicher z.B. die Bezeichnung sda1 sind die weiteren Befehle wie folgt:
mkdir usbdrive
mount /dev/sda1 /home/dsl/usbdrive
cd /home/dsl/usbdrive
cp dom.img /dev/sdb
Firmware 3.4.x runterladen (die aktuellste geht nicht, habe ich ausprobiert):
Mit dem QNAP Finder die aktuellste Firmware installieren
Gerät konfigurieren und Einrichten, Fertsch!
Ich vermute fast, dass man das Gerät auch einfacher aktualisieren kann, wenn man nicht die falsche Firmware verwendet. Falls damit jemand Erfahrung hat freue ich mich über Feedback.
Leider unterstützt Communote von Haus aus kein Theming, also das Anpassen der Oberfläche an die eigenen Bedürfnisse. Über spezielle Kundenanpassungen ist dies natürlich trotzdem möglich.
Fast jeder Browser ermöglicht es über Erweiterungen zusätzliches CSS zu einer Seite zu laden. So ist es mit wenigen Befehlen möglich das Standardlayout von Communote etwas aufzuhübschen. Im folgenden möchte ich einfach ein paar Beispiele zeigen.
Beispiel 1: Etwas Weihnachtliches
Das Beispiel zeigt Communote in einem etwas weihnachtlichen Aussehen. Folgende Einstellungen wurden verändert:
Das erste Beispiel zeigt ziemlich viele Veränderungen. Das zweite Beispiel ist etwas schlichter und verändert lediglich den Hintergrund zu einem klassischen Parkett-Laminat-Holz-Look. Das Bild stammt von http://stenosis.deviantart.com/art/Wood-Wallpaper-59069393
Auch hochauflösende Fotos eignen sich oft als Hintergrund. So macht das Arbeiten doch gleich viel mehr Spaß. Das Foto stammt von http://good-wallpapers.com/nature/4501
Easy User CSS-Knopf rechts oben klicken (Blatt Papier mit Stift drauf)
CSS einfügen oder reinschreiben
Speichern drücken
An der Stelle noch Vielen Dank an Christopher für den Fix für den TinyMCE im Firefox, sowie die Idee und Umsetzung des schmalen Headers im ersten Beispiel.
Wenn man auf der grünen Wiese beginnt, dann fängt man in der Regel von ganze vorne an und meist auch ohne Ahnung davon zu haben. Man hat eine riesige Fläche zur Verfügung. Man kann pflanzen was man will, Wege anlegen wie man will usw..
In der (Software-)Entwicklung verhält es sich ähnlich. Man steht vor einer schier endlosen Auswahl von Technologien, Frameworks und Möglichkeiten. Daraus wählt man nun, meist anhand bestehender Anforderungen (was einem gerade so eingefallen ist), persönlicher Vorlieben, schöner Beschreibungen und umfangreicher Featurelisten.
Was folgt ist vielleicht ein schöner Garten oder ein erfolgreiches Projekt. Es gedeiht und die Rechnung geht so ungefähr auf.
Doch leider folgt auch oft ein mehr oder weniger schwer unter Kontrolle zu kriegender Wildwuchs. Man hat den Garten halt angelegt, ohne wirklich Ahnung gehabt zu haben, man hat schön gepflanzt und gegossen, mal hier mal dort. Man hat eine Software geschrieben, deren Komponenten wunderbar mit einander verzahnt sind, neue, vollkommen andere Anforderungen sind entstanden, an die man selbst nie gedacht hat (aber die späteren Anwender schon). Man hat es dann halt so rein gebastelt. Das könnte man jetzt den Garten Eden nennen oder einfach Version 1.0.
Das geht dann meist auch noch eine ganze Weile gut. Mit einigen Aufwand kann man das Unkraut fern halten und die Software an an neue Anforderungen anpassen. Dann entsteht sowas wie der Garten Eden 1.1, 1.2 ….
Aber hoffentlich nie die Version 2.0.
Version 2.0 ist aus meiner Sicht die Chance vieles ordentlich zu machen. Eben nochmalauf der grünen Wiese zu beginnen, aber diesmal hat man schon vernünftiges Werkzeug, Samen, Dünger, Helfer und vor allem Erfahrung und genaue Vorstellungen dabei.
In der Softwareentwicklung ist es doch wieder genauso? Das Produkt ist gereift, es ist einiges an Zeit vergangen, vielleicht 1, 2 oder 3 Jahre. Gleichzeitig ist das Produkt verkorkst, alles wurde irgendwie integriert, Hauptsache es geht, alles ist irgendwie Legacy und muss weiter gepflegt werden. Ich glaube viele wissen was ich meine.
Startet man von vorne, hin zu einer echten 2.0 kann es doch nur besser werden?
Man hat ein in sich abgeschlossenes Produkt, d.h. ein Produkt, bei dem es immer schwieriger wird neue Anforderungen umzusetzen. Selbst vermeintlich einfache Sachen könnten zur Tortur werden (Mehrsprachigkeit, Login mit Facebook). Man hat alles irgendwie reingebastelt, irgendwie verzahnt (Refactoring steht auf der Streichliste wahrscheinlich gleich hinter Test ;).
Man hat eine vermutlich riesige Liste von Anforderungen im Vergleich zum ersten Prototypen. Damit lässt sich viel einfacher arbeiten. Anforderungen wie Erweiterbarkeit, automatische Aktualisierung, Verteilung, Integration waren zum Start von Version 1.0 möglicherweise gar nicht abzusehen, weshalb man auch nicht in diese Richtung entwickelt hat. Jetzt weiß man es aber.
Man hat ein Team, welches die bestehende Software kennt, die Vorgehensweise (den Prozess) kennt, aufeinander eingestimmt ist. Man wird zur Erreichung des gleichen Funktionsumfangs also gar nicht mehr solange brauchen.
Man hat Erfahrung. Das ist vermutlich der wichtigste Punkt. Version 1.0 entstehen vermutlich zum größten Teil von Greenhorns. Leuten frisch aus der Ausbildung, mit Ideen, Motivation, aber eben auch ohne jede Erfahrung. Da wird eben gewählt was gefällt. Die Zeit ist jetzt vorbei. Es wurde bei Version 1.0 viel über das Grundlegende gelernt. Worauf muss ich beim Gartenbau achten? Welche Pflanzen ergänzen sich in einem Beet? Will ich meine Software auf mehrere Server verteilen? Soll meine Software mehr als eine Sprache unterstützen?
Entschlackung. Altlasten loswerden. Endlich mal ohne schlechtes Gewissen etwas entfernen dürfen (Da kann ich sehr dieses Buch empfehlen).
Bestimmt noch vieles andere.
Jetzt bleibt nur noch zu klären, wo dran es meistens scheitert.
Wer kennt nicht folgende Situation: Man benötigt eine Methode, die eine Liste oder ein Array zurück gibt. Innerhalb der Methode muss man jedes mal eine Instanz eines Array erzeugen, um dieses dann zurückzugeben. Einfacher wäre eine zusätzliche add-Anweisung, die verwendet werden könnte um Elemente zum Rückgabe-Array hinzuzufügen, wird in der Methode kein add angewandt, so gibt es einfach eine leere List oder Array zurück.
Folgende Anforderungen könnte man an das add stellen:
Wird als Rückgabe einer Klasse ein Array oder eine Collection (oder eine Unterklasse davon) definiert, dann gibt die Methode automatisch eine Instanz der Rückgabe zurück, ein anderer Wert, z.B. null, kann mittels return zurückgegeben werden.
mit add object; kann ein Element der Ergebnismenge hinzugefügt werden.
Ein kleines Beispiel:
// Neu
public List toString(int[] ints){
for(int int: ints){
add Integer.toString(int);
}
}
// Alt
public List toString(int[] ints){
List intsAsString = new ArrayList();
for(int int: ints){
intsAsString.add(Integer.toString(int));
}
return intsAsString;
}
Mögliche Aufrufe:
toString({}) -> Leere Liste vom Typ List
toString({1,2,3}) -> Liste vom Typ List mit den Elementen "1", "2", "3"
Wo wir schon dabei sind, warum kann man in Java eigentlich nicht mehrere Werte zurückgeben, reihenfolgeabhängig und durch Komma getrennt?
object1, object2 = function();
// z.B.
public Object, Object function(){
... ;
return result1, result2;
}
Mit Datenmessi werden im Allgemeinen Menschen bezeichnet, die es nicht schaffen, sich von digitalen Inhalten ihrer Festplatte zu trennen. Dies betrifft vor allem Mediendaten, wie Filme oder Musik. Im Gegensatz zu anderen Datensammlern, z.B. dem statistischen Bundesamt, ist der Großteil der Daten für den Datenmessi ohne wirkliche Relevanz und wird niemals benötigt. Betroffene zeichnen sich oftmals auch durch folgende Symptome aus:
Ständiges Hochrüsten des Rechners, insb. Speicherplatz, ohne jede Notwendigkeit,
24/7 Dauerbetrieb des Rechners, ohne jede Notwendigkeit,
Keine Ahnung von der Atmosphäre eines Films im Kino haben [Anmerkung des Autors: Jeder Film ist als Telesync und Mic Dubbed schlecht].