Resize images before upload

… alt aber gut. Zunächst erschreckt es, dass das Plugin deutlich in die Jahre gekommen ist. Im April 2018 behauptet WordPress.org, das Plugin wäre seit 5 Jahren nicht mehr aktualisiert worden und wurde nicht mit der aktuellen WordPress Version getestet.

Andererseits kann es (noch immer) sehr große JPG Dateien verarbeiten.

Einstellungen > Medien

Ohne zusätzliche Plugins kann man je nach Template verschiedene Größen für Bilder festlegen, die von WordPress dann automatisch erstellt werden.

So kann z. B. ein Bild mit 1.000 x 1.000 Pixel hochgeladen werden und WordPress erstellt daraus zusätzlich ein Vorschaubild, ein mittelgroßes Bild und ein großes Bild.

Das funktioniert z. B. mit einem quadratischen Bild mit 3.000 Pixel aber nicht mehr mit 3.500 Pixel. Letzteres bringt einen HTTP-Fehler, wenn man versucht solch ein Bild rauf zu laden. Das hängt damit zusammen, dass letzteres Bild am Server quasi als RAW-Bild mit 12,25 Millionen Pixel und praktisch ebenso vielen Bytes erstellt wird. Und das ist für PHP bzw. je nach Servereinstellungen zuviel.

Plugins wie Smush Image Compression and Optimization oder reSmush.it Image Optimizer reduzieren zwar die Dateigröße durch Komprimierung aber nicht die Anzahl der Pixel.

Das macht z. B. Imsanity.

Imsanity - Einstellungen

Hier zusätzlich wird die maximale Größe für das raufgeladene „Originalbild“ festgelegt. Aber auch Imsanity gelingt es nicht ein quadratisches 3.500 Pixel Bild zu verarbeiten.

Nun kommt der Veteran Resize images before upload und zeigt wie es geht.

Resize images before upload - Einstellungen

Auch hier werden die maximalen Abmessungen eingegeben, ABER das ganze funktioniert auch noch mit Bildgrößen von 8.000 Pixel im Quadrat. Lediglich bei 8.500 Pixel gibt das Plugin auf, was aber für die meisten Anwender und ihre Kameras kein Problem darstellen sollte.

Resize images before upload kann über die wp-config.php auch konfiguriert werden:

define( ‚RIBU_RESIZE_WIDTH‘, 1000 ); //1000 px wide
define( ‚RIBU_RESIZE_HEIGHT‘, 900 ); //900 px high

define( ‚RIBU_RESIZE_QUALITY‘, 75 ); //0-100, 100 being high quality
defined( ‚RIBU_MAX_UPLOAD_SIZE‘ ‚2097152b‘ ) ); //size in bytes

Wie finde ich die IP Adresse eines Raspberry Pi?

Ja, zugegeben, Linux ist mitunter Windows weit überlegen, weil es Funktionen mitbringt, die unter Windows nur durch zusätzliche Software zur Verfügung steht.

Aber, nicht alles ist unter z. B. unter Raspbian von vornherein verfügbar.

So z. B. arp-scan … damit kann man alle IP Adressen uns MACs im Netzwerk herausfinden. Dies ist nützlich, wenn man die IP-Adresse eines neuen Raspberry Pi im Netzwerk finden mag.

Also zunächst das Programm laden/installieren und zwar mit

sudo apt-get install arp-scan

Anschließend das lokale Netzwerk durchsuchen und alle Einträge mit RegEx filtern in denen Raspberry vorkommt

sudo arp-scan --localnet | grep Raspberry

Das Ergebnis ist dann etwa in dieser Form:

pi@raspberrypi:~ $ sudo arp-scan  --localnet | grep Raspberry
192.168.178.37  b8:27:eb:9e:d2:e0       Raspberry Pi Foundation

Ist die IP Adresse bekannt, kann auf den „neuen“ RPi mittels SSH (z. B. PuTTY unter Windows) zugegriffen werden. Aus Sicherheitsgründen empfiehlt es sich das Standardpasswort und/oder den Standardnutzer zu ändern.

Kiosksystem mit dem Raspberry Pi Einplatinencomputer

Die Idee:

Gesucht ist ein fernwartbares System um grafische Inhalte auf einem beliebigen (HDMI-fähigen) Monitor bzw. Fernsehgerät darzustellen.

Im ersten Schritt wird die Anzeige einer Dia-Show verwirklicht. Die Bilder dazu sollen einfach einzubinden sein – im vorliegenden Fall über das bestehende Content Management System einer Website.

Die Hardware:

Es kommt ein Einplatinencomputer mit HDMI-Ausgang zum Einsatz. Hier der Raspberry Pi 3 Model B (wahlweise B+) mit 16GB Speicherkarte.

Dieser bietet alle für das Projekt notwendigen Hardwarekomponenten:

  • USB Schnittstelle für Maus/Tastatur
  • Stromversorgung über Mikro-USB (der USB Ausgang von zumindest einigen Sony Geräten liefert genug Strom)
  • µSD-Slot für Betriebssystem
  • HDMI-Ausgang für Monitor
  • WLAN und Ethernet-Schnitstelle

Teamviewer:

Mit der Teamviewer Software kann der Raspberry Pi über das Internet ferngesteuert werden. Das ist aber nur für grundlegende Wartungsarbeiten und die Erstinstallation notwendig.

Die zugrunde liegende Idee beinhaltet, dass das Betriebssystem des Raspberry Pi automatisch in das Kiosksystem bootet und dort lediglich eine Internetseite aufruft. Dadurch bleiben die Anforderungen an den Mini-Computer gering und die Wartung der Präsentation erfolgt wie gewohnt über das Content Management System der Website.

Der Chromium-Browser des Raspberry Pi startet im Kiosk-Modus

Der Chromium-Browser des Raspberry Pi startet im Kiosk-Modus

 

SSH – Secure Shell Zugriff auf Raspberry Pi

Hard-/Software: Raspberry Pi 3 Model B, Raspbian Stretch

Ist die IP Adresse des Raspberry Pi bekannt, kann versucht werden mit der PuTTY Software unter Windows auf den Raspberry Pi zuzugreifen.

Der erste Versuch wir vermutlich mit der Fehlermeldung von PuTTY fehlschlagen, da SSH nicht (mehr) standardmäßg im aktuellen Raspbian Stretch aktiviert ist.

Um SSH beim Booten des Raspberry Pi zu aktivieren, reicht es in der FAT32 Boot-Partition (Datenträgerbezeichnung boot) eine leere Datei ssh (ohne Dateiendung) im Rootverzeichnis zu erstellen.

Handelt es sich bei der µSD um eine NOOBS Karte (erkennbar an der Datenträgerbezeichnung RECOVERY sowie den Dateien recovery.img und recovery7.img) kann unter Windows nur mit spezieller Software (z. B. Linux File Systems for Windows by Paragon Software) auf die Ext4 formatierte Partition zugegriffen werden. Dort ist der Unterordner boot zu finden in den die ssh Datei zu schreiben ist.

Ist SSH im Raspbian aktiviert, kann z. B. auch der Teamviewer Host zur einfacheren, ferngesteuerten Bedienung installiert werden.

Teamviewer mit SSH am Raspberry Pi installieren

  1. Im FAT32 Root-Verzeichnis der µSD die Datei ssh (ohne Dateiendung) erstellen.
  2. Netzwerkkabel an Raspberry Pi anstecken und im Netzwerk die IP Adresse finden – Alternativ mit Maus und Tastatur LXTerminal starten und den Befehl ifconfig eingeben, um die IP Adresse zu finden.
  3. Mit SSH die Teamviewer Software herunterladen:
    wget https://download.teamviewer.com/download/linux/teamviewer-host_armhf.deb
  4. Optional: sudo apt update
  5. Optional: sudo apt upgrade
  6. sudo apt install ./teamviewer-host_armhf.deb
  7. sudo teamviewer setup
    hier zunächst die Lizenzvereinbarung akzeptieren und dann mit einem Teamviewer-Konto verbinden
  8. ggf. mehrmals reboot Kommando absetzen
  9. Mit teamviewer info können u. a. ID und Version abgerufen werden
  10. Mit teamviewer help werden alle möglichen Befehle angezeigt

Alternativ besteht natürlich auch die Möglichkeit den Raspberry Pi mit der grafischen Oberfläche (Pixel) sowie Tastatur und Maus zu starten und dort in Chromium (oder einem anderen Browser) zu https://www.teamviewer.com/de/download/linux/ zu navigieren.

Weiter unten auf der Seite finden sich „Weitere Download-Optionen“ und dort der Downloadlink „TeamViewer Host für Raspberry Pi„. Chromium speichert das in der Standardeinstellung in home/pi/Downloads Verzeichnis und von dort kann der Teamviewer Host durch Doppelklick installiert werden.

Captcha Code

Adds Captcha Code anti-spam methods to User front-end WordPress forms.

Mal sehen, ob dieses Plugin verhindern kann, dass Brute-Force-Attacken zum knacken des Login-Passworts geritten werden.

Das Plugin „Rename wp-login.php“ konnte nicht verhindern, dass auf die Login-Seite zugegriffen wird.

 

Das prima-show-posts-by Plugin

Aus einer Notwendigkeit ist das Prima-Show-Posts-By-Plugin entstanden.

Es stellt zwei Shortcodes zur Verfügung

[ insertPostByCat] oder [ psp]

Parameter (Defaults in fett)

Query String

  • category_name => category slug
  • post_type => post|page|custom post
  • post_status => publish|pending|draft|auto-draft|future|private|inherit|any
  • p => post id
  • name => post slug
  • page_id => page id
  • pagename => page slug
  • posts_per_page => -1 = all
  • order => desc|asc
  • orderby => title, date, name, meta_value (meta_key setzen)
  • meta_key =>

Formatierung

  • post_class => psp_post_class z. B. sideBySide
  • show_title => true
  • title_tag => h2
  • title_class => psp_title_class

Features

  • separator => true|false
  • separator_last‘ => true|false … setzt Separator nach dem letzten Beitrag
  • show_article_link => true|false
  • featured_image_link => true|false
  • title_link => true|false
  • show_excerpt => true|false

  • toggle_content => true|false
  • toggle_open_id => 1|n|0 = keines aufmachen
  • thumbnail_size => thumbnail|small-feature|post-thumbnail … für Excerpt
  • startDay => 
  • endDay =>
  • startMonth =>
  • endMonth =>
  • meta_min => #für bereich bei order_by=meta & meta_key YYYY-MM-DD
  • meta_max =>

[ schedCont] oder [ ppscp]

Parameter (Defaults in fett)

  • post_class => scheduleContent
  • start => 1.1.
  • end => 31.12.

 

Solaz – An Elegant Hotel & Lodge WordPress Theme

Solaz Theme

Das Solaz Them von Arrowpress ist ein Hotel Theme, das u. a. durch seine Schlichtheit auffällt.

Einen Vorgeschmack bekommt man auf der Demoseite des Herstellers wo man sich gleich mal für eine von 4 Homepages entscheiden kann – im konkreten Fall haben wir uns für Home 2 entschieden.

Nachdem das komplette Theme käuflich erworben und heruntergeladen ist, finden sich der Ordner Dokumentation, Import, Licensing, Plugins und Theme files.

Die Dokumentation besteht aus einem Textfile, dass auf eine Internetseite verweist, die nicht existiert … das ist enttäuschend (aber zumindest ist die Dokumentation noch im Google Cache und kann von dort gesichert werden – Stand Ende September 2017)

Theme Installation

Über die WordPress Theme-Installation können das Solaz und das Solaz-child Theme auf den Server geladen werden.

Plugin Installation

Die Ansage von Solaz überrascht zunächst ein wenig:

This theme requires the following plugins: ArrowPress Importer, ArrowPress Shortcodes, Contact Form 7, Redux Framework, Revolution Slider, Ultimate Addons for Visual Composer, WP Hotel Booking, WPBakery Visual Composer, Woocommerce and Yith Woocommerce Wishlist.

This theme recommends the following plugins: ArrowPress Social, MailChimp for WordPress, WP Store Locator and WP User Avatar.

  • ArrowPress Importer
  • ArrowPress Shortcodes,
  • Revolution Slider
  • WPBakery Visual Composer
  • Ultimate Addons for Visual Composer
  • und ArrowPress Social

… sind zumindest schon mal im Downloadpaket enthalten und können als ZIP-Datei auf den Server geladen werden.

WPBakery Visual Composer will mir bei der Gelegenheit gleich eine Premium Lizenz aufs Auge drücken und verbindet sich dazu gleich frech mit der Verkaufsplattform, über die das Theme bezogen wurde, um dann festzustellen, dass darin keine Premium Lizenz enthalten ist … no na ned 😉

Ebenso biedert sich Slider Revolution mit Premium Benefits (für Premium Geld) an.

Im Dashboard muss bei Ultimate Addons for Visual Composer => Google Maps ein API-Key eingetragen werden

Contact Form 7Redux FrameworkWP Hotel Booking,Woocommerce und Yith Woocommerce Wishlist

Woocommerce schlägt gleich mal vor den Einrichtungsassistenten auszuführen … das kann erst mal warten. Was aber eingestellt gehört ist unter Einstellungen => Kundenkonten => Kundenregistrierung =>  Aktiviere Kunden-Registrierung auf der „Mein Konto“-Seite.

Demo Content Import

Das ist zunächst etwas verwirrend, weil die Importfunktion NICHT die in Solaz => Import/Export ist sondern die unter in Design => Import Demos …. dort ist entsprechend unserer Vorlage Home 2 zu wählen.

Als nächstes muss noch der Slider importiert werden. Slider Revolution => Slider importieren => Datei auswählen … die entsprechende Datei ist in unserem Fall die home2.zip im Import/home_2 Verzeichnis des heruntergeladenen Themes.

Es fällt allerdings auf, dass das Theme (noch?) keine Sprachauswahl aufweist.

Viele Stunden später … Con­clu­sio

Es stellt sich die Frage, wie viele Stunden die Theme-Ersteller benötigten, um die Vorlage so aussehen zu lassen, wie sie auf deren Homepage abgebildet ist.

Und dann stellt sich die Frage wie steil die Lernkurve bei der Vielzahl an zusätzlichen Plugins subjektiv empfunden wird.

Kommt dann noch hinzu, dass Sprachauswahl und Schnellanfrage nicht funktionieren, ist der Aufwand plötzlich im Bereich der Nichtabschätzbarkeit – und damit auch die Kosten für den Kunden.

Man könnte daraus lernen, dass nicht alles Gold ist, das (auf den ersten Blick) glänzt und dass eine 90%-Lösung mitunter eher einem pragmatischen Ansatz entspricht im Vergleich zur 100% Lösung die mit den budgetierten Mitteln nicht zu erreichen ist.

Somit empfiehlt es sich das KISS-Prinzip anzuwenden … keep it simple and stupid … oder „Weniger ist mehr“. Einfache Vorlagen verwenden und diese wenn es (unbedingt) sein muss mit der Funktionalität von Plugins erweitern.