-
Wuala für Android
Verfasst von jan am Mi, 04/27/2011 - 10:13Endlich ists da! Wuala für Android. Ich werde das gleich Testen und ein kurzes Review machen:
http://wualablog.blogspot.com/2011/04/wuala-for-android-os.html
Mein Umzug in die Cloud ist komplett. -
Wuala und Winamp
Verfasst von jan am Mi, 03/09/2011 - 11:37Nachdem nun meine Musik komplett in Wuala Cloud abgelegt ist, möchte ich meine MP3 auch direkt aus Wuala streamen können. Als langjähriger Winamp Benutzer habe ich die zwei Programme auf Ihre Verträglichkeit überprüft. Meine Schlussfolgerung: Funktioniert Super!
Einzige Schwachstelle ist das einmalige Indexieren der Sammlung. Um nämlich alle MP3s in den Index von Winamp aufzunehmen, muss Wuala jedes MP3 temporär herunterladen, damit er die Metadaten einlesen kann. Hat man dies (zb über Nacht) einmal gemacht, geht das ganze Reibungslos, solange man natürlich am Internet ist. Auch das Rescannen geht schnell, da Winamp beim Rescan nur die Dateinamen vergleicht - und dazu muss Wuala die Datei nicht herunterladen.
Da Wuala das Streamen beherrscht, gibt es auch keine Unterbrüche zwischen den einzelnen Lieder.
Im Anhang sind meine Medienbibliothek Einstellungen. Viel Spass!screenshoots:
-
Moving to the cloud: Mein Umzug in die Cloud mit Wuala
Verfasst von jan am Mi, 02/23/2011 - 12:03Seit langem teste ich den Umzug in die Cloud. Bis jetzt hat es noch nie richtig geklappt. Wuala hat es nun bei mir geschafft! Ich 'wohne' nun zu 80% in der Cloud. Ich möchte anschliessend meine Beweggründe für meine Entscheidung hier teilen. Und warum die anderen es nicht geschafft haben. Und eine Möglichkeit, wie auch Du in die Cloud umziehen kannst.
Warum ist Wuala besser?
Ein kurzer Vergleich von Wuala zu Dropbox. Fürher habe ich Dropbox benutzt. Das Problem bei Dropbox ist eigentlich hauptsächlich der Speicherplatz. Er ist im Vergleich teuer und wird auch in geteilten Ordner vollständig dem eigenen Konto belastet. Das kommt daher, dass man die Ordner Synchronisieren muss. Das ist dann auch das zweite Problem. Ich will nicht alles Synchronisieren. Ich möchte auch die Möglichkeit haben, Inhalte in der Cloud zu lassen und direkt zu bearbeiten. Das war für mich ein Killerkriterium.
Wuala hat mich mit der Teilen-Philosophie gelockt. Da mein MediaServer sowieso 24/7 läuft, kann man sehr schnell sehr viel Speicherplatz verdienen - und in meinem Fall Gratis! Weiter wird Wuala Platz nur einmal beansprucht. Ich kann also einen Gruppen-Ordner erstellen mit zB 20GB Daten und jemand, der nur 2GB zur Verfügung hat kann trotzdem davon profitieren, ohne dass er seine 2GB aufgeben muss. Der Gruppenbesitzer alleine "stellt" den speicher zur Verfügung.
Weiter werden Dateien bei Wuala selber nur einmal abgelegt. Unter allen Benutzern. So war ich erstaunt, das einige Inhalte sofort hochgeladen waren. So kann man je nach Inhalt sehr viel Upload Zeit einsparen. Natürlich bringt dies bei den Privaten Daten nichts.
Das Maximum aus Wuala herausholen
Nun zu den Wuala Tricks: Auf meinem kleiner Atom-Server läuft Windows 7. Zuerst einmal habe ich Wuala ganz normal darauf installiert. Speicher tauschen, nach ca. 3 Wochen kann man bereits 20GB für sich beanspruchen. Dieser lässt sich bis auf 100GB ausweiten, wenn mindestens 10% vom getauschten Speicher benutzt wird. Ich schätze mal, dass dies 2-3 Monate dauert, bis es soweit ist. Je nach Verbindungsgeschwindigkeit könnte das wohl auch schneller gehen.
20GB sind natürlich schnell voll und so kommt die Phase Virtual Machine. MIt VMWarePlayer habe ich Debian installiert. Ohne GUI und schnickschnack. Java installieren und dann Wuala wie auf der Homepage von Wuala installieren. Bei mir benötigt das ungefähr 50MB im RAM-Speicher. Das schreit förmlich nach mehr. Also VM klonen und klonen, usw...pro VM kann man so maximum 100GB verdienen.
Was gehört in die Cloud?
Als erstes habe ich meine gesamte Ablage verschoben. Das sind bei mir die Daten, die sich nie ändern. PDFs, gescannte Unterlagen, Installationsfiles von Programmen, meine Abandonware-Spiele Sammlung, usw. Danach alle Projektunterlagen meiner Firma und meine gesamten Schulunterlagen. Die aktuellsten Ordner der Firma und der Schule synchornisiere ich lokal auf Laptop und Desktop.
Die Ablagen-Daten, welche nicht privat sind, habe ich in eine Gruppe gemacht, welche ich mit meiner Familie teile. Darin hat es auch noch ein paar CDs und Höhrbücher für die Kleinen und digitalisierte Knightrider-Tapes von früher ;-). Zur Sicherheit synchronisiere ich diesen Ordner auf meinen Server als Backup, man weiss ja nie, wann das Internet doch einmal ausfallen sollte.
Nicht auf Wuala habe ich folgende Daten: Videos, Filme, Photos. Grund dafür ist natürlich der Platz, aber eigentlich würde ich nur meine Photos noch gerne auf Wuala haben. Ändern könnte sich dies, wenn ich erst einmal mehr Speicher verdient habe. Videos und Filme machen zur Zeit für mich keinen Sinn weil man auch bedenken muss, dass man dann bei Benutzung jedesmal zuerst die ganze Datei herunterladen muss (Wuala unterstütz aber zumindest Streaming von Inhalten!). Meine Musik habe ich drauf doch habe ich es mit Winamp noch nicht geschafft ein unterbruchfreies streaming zu erreichen. Man müsste evtl den Musikordner lokal synchronisieren. Oder einen anderen Musikplayer einsetzten. Dazu habe ich im Moment keine Zeit.
Erfahrung
Je länger sehe ich mich immer wie mehr nur noch den Wuala-Browser zu benutzen. Er hat sicher nicht alle die Vorteile des Windows-Explorers, doch bringt er auch einige eigene Vorteile mit. So mag ich, dass wenn man etwas tippt er sofort zu suchen beginnt. Weiter finde ich die Thumbnails super, welche man sowohl für Ordner wie auch für Dateien manuell festlegen kann.
Das direkte arbeiten bekommt von mir die Note Top. Ich hatte bis jetzt keinerlei Probleme. Normalerweise merkt man nicht, dass er im Hintergrund arbeitet.
PortableApps in Wuala laufen lassen
Wenn man Wuala in das eigene Dateisystem eingebunden hat, was sehr zu empfehlen ist, kann man auch Portable Apps darauf installieren. Eine super Sache! Am meisten Freude habe ich an der DOSBox. Richtig konfiguriert können so die alten Dos Spiele direkt über Wuala gespielt werden! Commander Keen lässt grüssen...
Meine besten Wuala-Links
Wuala Homepage: http://www.wuala.com/
Wuala Blog: http://www.wuala.com/blog/
Wuala und Debian: http://www.wuala.com/blog/2009/03/effective-usage-running-wuala-on-debian.html
Autostart in Linux: http://pascal.nextrem.ch/2009/10/20/wuala-init-d-script/
Android App kommt bald: http://forum.wuala.com/viewtopic.php?f=11&t=334
DosBox: http://www.dosbox.com/
PortableApps: http://portableapps.com/
-
PHP: mysql2epub, mit PHP ePub on the fly erstellen
Verfasst von jan am Di, 01/04/2011 - 13:55Schon lange habe ich ein Buch, welches ich einmal von einer Seite gerippt habe in meiner MYSQL Datenbank abgelegt. Da es nun ein eReader in unserem Haus gibt, wollte ich das Buch wieder zurück konvertieren, damit man es auf dem eReader lesen kann. Doch wie bringt man Inhalt aus einer Datenbank in ein ePub Format? Zu meinem Erstaunen war das ganz einfach. Ein paar Kniffe gibt es aber schon. Deshalb möchte ich nun dieses kleine PHP Programm mit allen Teilen. Es darf selbstverständlich abgeändert und weiterverwendet werden und kann auch als Einstieg in die ePub Programmierung dienen. Informationen und Wissen habe ich von folgender Webseite. Sie ist zwar komplex aber komplett:
http://www.idpf.org/doc_library/epub/OPS_2.0.1_draft.htm
Das ganze PHP Script zum konvertieren von MYSQL nach ePub ist unten im Anhang.
Bei Fragen und Anregungen bitte unten kommentieren, ich freue mich auf ein Feedback!Anhang Größe mysql2epub.zip 7.95 KB -
Drupal: CSS Aggregation im Private Mode
Verfasst von jan am Mo, 12/13/2010 - 15:10Hat man keine Kapazitätsprobleme, kann man mit diesem Kleinen Modul die CSS optimieren, vereinigen und Cachen. Leider ist dies ansonsten in Drupal 6 Core nicht möglich. Ich weiss, der Cache braucht relativ viel Platz in der DB, aber dies ist in meinem Fall kein Problem. Das Modul erstellt für jede Seite, welche eine andere CSS Dateien Konstellation hat, ein eigener Cache-Eintrag. Die Geschwindigkeit zum Laden der Seite ist bei mir extrem gestiegen (> 33%). Anregungen bitte im Kommentar posten!
- // die Folgenden Konstanten anpassen
- function minicss_menu() {
- 'title' => 'minicss css',
- 'page callback' => 'minicss_minify',
- 'access callback' => true,
- 'type' => MENU_CALLBACK,
- );
- return $items;
- }
- /**
- * Implementation of hook_preprocess_page()
- */
- function minicss_preprocess_page(&$variables) {
- $variables['styles'] = '<link type="text/css" '.
- 'rel="stylesheet" media="all" '.
- 'href="/minicss/css/'.
- }
- }
- function minicss_minify($files,$type) {
- // The Checksum identifies the unique css-File-Package
- // Recive Cached CSS-Package
- $cache = cache_get('minicss_'.$checksum);
- // If Package does not exist, create it and output
- if (!$cache) {
- $output = '';
- foreach ($files as $file) {
- // remove comments
- //$content = str_replace("\t", ' ', $content); // Removing Tabs somehow creates problems...
- // Remove special chars
- // urls sind relativ zum CSS file und müssen dementsprechend relativ zum miniCSS angepasst werden
- $output .= $content;
- }
- // Write new created Package into Cache for next time
- if (MINICSSCACHE) cache_set('minicss_'.$checksum,$output);
- print $output;
- }
- else {
- // If Cache-package already exists, output cache, also add Information about version
- $output = '/* Retrieved from Cache; Version: '.date('Y.m.d H:i',$cache->created).' */'."\n\n".$cache->data;
- print($output);
- }
- }
Evtl. muss man in der Datenbank Tabelle "System" das Modul-weight noch an den Schluss setzen.
-
Apache/PHP: Sendmail funktioniert nicht
Verfasst von jan am Sa, 11/20/2010 - 16:36Wenn man auf Debian LAMP selber installiert, dann habe ich bemerkt, dass Email in PHP versenden nicht automatisch funktioniert. Zuerst sollte man nicht vergessen, in der php.ini den Pfad zu sendmail anzugeben. Doch das alleine funktioniert noch nicht, da sendmail so eingestellt ist, dass es nur Server intern Mails versenden kann. Sämtliche Mails nach aussen werden geblockt. Mit folgendem Befehl kann man diese Einstellung ändern:
dpkg-reconfigure exim4-config
Man kommt in ein Konfigurationsmenü. Hier wählt man die Option "internet site; mail is sent and received directly using SMTP" und schaltet damit "local delivery only; not on a network" aus. Die weiteren Einträgen kann man lassen, bei mir habe ich noch jeweils den Host geändert. Sonst habe ich nichts verändert. Nun funktioniert der Email Versand von Drupal wieder ordentlich!
-
Subdomain weiterleiten mit Conf bzw. htaccess
Verfasst von jan am Fr, 11/19/2010 - 17:23Weiterleitung einer Subdomain auf die Hauptdomain kann man direkt über das conf-File bzw über eine .htaccess Datei. Das geht folgendermassen:
# Allen Traffic der supbdomain www.example.com und xyz.example.com weiterleiten nach example.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^xyz\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com$1 [R=301]Kann man vor allem brauchen, wenn man zwar verschiedene Subdomain anbieten möchte, jedoch nur eine Domain "promoten" möchte. Bei uns war es so, dass wir früher die Drupal Seite über eine Subdomain erreichten, jetzt direkt über die Domain. Die Leute sollen immer noch über die Subdomain draufkommen. Eine Zeit lang benutzten wir einfach einen ServerAlias. Die birgt jedoch gefahren, zB wenn man auf der Seite absolute Verweise hat. So werden nun per sofort alle Subdomain anfragen weitergeleitet.
subdomain2domain, www2domain, www2root
-
Drupal: vCard Export
Verfasst von jan am Mi, 10/06/2010 - 21:26Ich weiss, es gäbe ein Modul um Drupal Kontakte als vCard zu exportieren. Für diese einfache Aufgabe war mir dieses aber einfach viel zu schwerlastig. Also habe ich wieder einmal selber Hand angelegt und der Grössenunterschied des Modules ist beachtlich (ca 1:100!), ist nicht auf die Externe PEAR Lib angewiesen und kann mit Umlauten umgehen. vCard mit Umlauten war unter anderem der Grund, wie ich überhaupt dazu kam, es selber zu machen. Hier mein mini-Modul:
- function uvcard_menu() {
- 'title' => t('vcard'),
- 'type' => MENU_CALLBACK,
- 'page callback' => 'uvcard_fetch',
- );
- return $items;
- }
- /**
- * VCard for direct download
- */
- function uvcard_fetch($uid) {
- $dev = false;
- $eol = "\r\n";
- $vcard = 'BEGIN:VCARD'.$eol.'VERSION:2.1'.$eol;
- $vcard .= 'N:'.$u->profile_nachname.';'.$u->profile_vorname.';;;'.$eol;
- $vcard .= 'FN;CHARSET=ISO-8859-8:'.$u->profile_vorname.' '.$u->profile_nachname.$eol;
- $vcard .= 'TEL;PREF;WORK;VOICE;:'.$u->profile_telefon.$eol;
- $vcard .= 'TEL;WORK;CELL;:'.$u->profile_telefon.$eol;
- $vcard .= 'TEL;WORK;FAX;:'.$u->profile_fax.$eol;
- $vcard .= 'EMAIL;INTERNET:'.$u->mail.$eol;
- $vcard .= 'ADR;DOM;WORK:;;'.$u->profile_strasse.';'.$u->profile_ort.';;'.$u->profile_plz.';'.$eol;
- $vcard .= 'END:VCARD';
- // Set headers
- print $vcard;
- exit;
- }
Wenn man die Variable $def nach true umstellt, bekommt man die erzeugte vCard ausgeprintet und zusätzlich das gesamte Benutzerprofil, dmait man sich die oberen Zeilen gemäss seinen eigenen Wünschen anpassen kann.
Die vCard Spezifikationen habe ich mir von http://en.wikipedia.org/wiki/VCard geholt.
Um die Seite aufzurufen, muss man dann nur noch irgendwo ein Link darauf machen (zB in einer View-Spalte). -
Drupal: Problem mit language files de_*.js
Verfasst von jan am Di, 09/14/2010 - 14:41Lange habe ich nach einer Lösung gesucht für das Problem mit dem Language js File im Private File Moduls von Drupal. Ich hatte immer wieder das Problem, dass Drupal ein Systempath zurückgab anstatt einer URL. Das sah etwa so aus:
http://var/www/vhosts/test.com/httpdocs/files/languages/de_56080f4d0d05e...
Patches und Extra-Module wie hier oder hier beschrieben haben nicht funktioniert.
Kurzerhand habe ich ein Hack gemacht, für alle die, welche mit der oben verlinkten Hilfe auch nicht weiterkommen:
1. modules/locale/locale.module in Funktion locale_update_js_files() $dir überschrieben mit $dir = 'sites/default/files/languages';
2. dann habe ich ein cron eingerichtet der einmal pro Stunde die js Datei in den Ordner kopiert:
25 * * * * cp /pfad/httpdocs/files/languages/*.js /pfad/httpdocs/sites/default/files/languages/
Der Hack funktioniert und die Seite wird nicht mehr durch das nicht-Aufinden der js Datei ausgebremst. -
Drupal: fid2nid, nid von fid
Verfasst von jan am Mo, 09/13/2010 - 13:25Für ein Modul musste ich aus einer fid die zugehörige nid herausfinden. Bis anhin habe ich noch keine Funktion in der API gefunden, welche dies erledigt. Hier mein Vorschlag:
- /**
- * Get's the $nid from a File of a CCK File-Field $fid
- */
- function fid2nid($fid) {
- // Get all the CCK-File-Fields
- $sql = "SELECT field_name FROM {content_node_field} WHERE type LIKE 'filefield';";
- $result = db_query($sql);
- while ($r = db_fetch_array($result)) {
- $fields[] = $r['field_name'];
- }
- $found = false;
- foreach ($fields as $field) {
- // Checks if the table exists
- $sql = "SHOW TABLES LIKE 'content_".$field."'";
- $result = db_query($sql);
- $i = false;
- while ($r = db_fetch_array($result)) { $i = true; }
- // If it does, see if fid is in this table
- if ($i) {
- $sql = "SELECT content_".$field.".nid FROM files
- LEFT JOIN content_".$field."
- ON (files.fid = content_".$field.".".$field."_fid)
- WHERE ".$field."_fid = '%d'";
- $result = db_query($sql, $fid);
- while ($r = db_fetch_array($result)) {
- $nid = $r['nid'];
- }
- }
- }
- return $nid;
- }