Inspiriert von http://tinyurl.com/5db7ag habe ich gleich ein eigenes Ubiquity Script ausprobiert. Es kommt oft vor, dass ich Inhalte aus einem Mail oder aus einer Website in ein Drupal Formular kopiere z.B. um einen Blogeintrag zu posten. Ubiquity erlaubt ein fast automatisierter Vorgang.
Das Resultat:
CmdUtils.CreateCommand({
name: "blog",
execute: function() {
var s = CmdUtils.getTextFromHtml(CmdUtils.getHtmlSelection());
var e = encodeURIComponent;
url = 'http://www.netnode.ch/node/add/blog?t=' + e(s) + '&b=' + e(s);
Utils.openUrlInBrowser(url);
Kürzlich hatte ich das Problem, eine E-Mail Adresse von einem Drupal Formular zu validieren. Dieser Codeschnipsel löst die Aufgabe sehr einfach und ist zudem flexibel erweiterbar. Falls der Regex nicht genügt, findet man auf
http://www.txt2re.com weitere Rexex Regeln.
function FROM_validate($form_id, $form_values) {
if (!preg_match('([\\w-]+(?:\\.[\\w-]+)*@(?:[\\w-]+\\.)+[a-zA-Z]{2,7})', $form_values['EMAILFIELD'])) {
form_set_error('', t('Bitte korrekte E-Mail Adresse angeben.'));
}
}
Mehr
Ein typische Anwendung in CMS Administrationen ist das tabellarische Auflisten von Einträge. Das händische programmieren von Tabellen nimmt einem Drupal elegant ab.
// $nodes ist ein Node-Array
foreach ($nodes as $node) {
$rows[] = array(''.$node->title.'',
'Edit');
}
$header = array('Titel', 'Option');
$output .= theme_table($header, $rows);
Mehr
Es gibt immer wieder Situationen bei denen man die Filter Optionen von Drupal manuell ausführen muss. Das ist ganz einfach. Die Magie liegt im File filter.module (http://api.drupal.org/api/file/modules/filter/filter.module/5).
Die wichtigsten Funktionen:
_filter_url($text, $format), macht aus möglichen URLs klickbare Links, $format ist das Input-Filter-Format das beim Textfeld ausgewählt wurde. (1 = Filtered HTML, 2 PHP code, 3 = Full HTML)
_filter_autop($text), macht aus Newlines
Der folgende Code einfach in den Headerbereich des HTML Dokumentes kopieren und schon werden alle externen Links mit dem Attribut "_blank" ergänzt. Wichtig, jquery muss included sein. (www.jquery.com)
$(function() {
$('a[@href^=http]').not('[@href*=netnode.ch]').addClass('external-link').click(function()
{
window.open(this.href, '_blank');
return false;
});
});
Falls die Funktion auch bei Content der via AJAX nachgeladen wird greifen sollte muss man auf den entsprechenden Event hören und die Methode nochmals ausführen.
Wer regelmässig Webseiten erstellt kennt das Problem. Der Kunde möchte möglichst schnell sein Logo auf der Webseite sehen, noch bevor die Webseite überhaupt erstellt wurde. Am besten gleich Google optimiert, damit wenn die richtige Webseite dann online ist Google die Webseite schon kennt. Alles möglich klar - nur kann man die Webseite ja nicht 2 mal erstellen. Eine kompakte "Übergangs"/Coming Soon Webseite zu erstellen kann schnell ein, zwei Stunden rauben.
MehrAls BarCamp-Neuling hatte ich keine grossen Erwartungen (obwohl man von vielen Seiten nur Positives hört). Besonders überrascht hat mich die Offenheit und Spontantität der Teilnehmer einfach loszulegen, sich auszutauschen und sich gegenseitig zu bereichern. So habe ich die BarCamp Idee verstanden und in Offenburg erlebt.
Ich möchte an dieser Stelle auf 3 Sessions die mir besonders gut gefallen hinweisen:
10 Things That Blow My Mind
- TED (http://www.ted.com/)
- DIY (www.etsy.com, www.dawanda.de)
- GOOD Magazin (http://www.goodmagazine.com/)
- http://www.unperfekthaus.de
"Drupal" kann sich stolz zu den Top 100 der Softwareangebote im Internet zählen. Drupal wurde u.A. neben Flickr, FotoFlexer, Photobucket, Picasa Web Albums, Twitter und Wordpress in der Kategorie Publishing gewählt. Der Kommentar der Jury:
"Drupal is a powerful publishing and content management system. Users can add all sorts of content to Web pages through a system of modules. The software itself is free and open-source; users need simply pick out which site elements they want, and then put them together.
MehrDer Wunsch nach einem WYSIWYG Editor in Webapplikationen ist gross. Lösungen dazu gibt es viele. Die nachfolgende Liste zeigt meiner Meinung nach die 7 stärksten Webeditoren die verfügbar sind.
- XStandard (http://www.xstandard.com, Commercial)
- FCKEditor (http://www.fckeditor.net, LGPL)
- Cute Editor (http://cutesoft.net/ASP.NET+WYSIWYG+Editor/default.aspx, Commercial)
- TinyMCE (http://tinymce.moxiecode.com, LGPL)
- Xinha (http://xinha.webfactional.com, BSD)
- WYMEditor (http://www.wymeditor.org/en, MIT and GPL)
- Loki (https://apps.carleton.edu/opensource/loki/, GPL)