Neulich habe ich mich im Büro ein wenig mit Eigenorganisation beschäftigt und bin dabei auf Personal Kanban gestoßen.

Besonders zwei Aspekte von Kanban finde ich interessant:

  • den Durchfluß möglichst gleichförmig zu halten und
  • die Zahl der in Arbeit befindlichen Tasks möglichst klein zu halten.

Unpraktisch finde ich bei Kanban (wie auch bei Scrum) die Notation von links nach rechts – sowas ist an einer Pinnwand ja ganz nett, aber in Standardsoftware auf einem Bürorechner schlecht abzubilden.

Da ich im Büro sowieso schon Outlook exzessiv für tägliche ToDos genutzt habe, kam ich auf die Idee, den Kanban-Workflow von oben nach unten im Kalender abzubilden. Der Screenshot zeigt die grundlegende Situation:

  • Zuoberst (Zeitraum 5-7 Uhr) stehen die ToDos, die ich an diesem Tag abarbeiten will.
  • ToDos, die in Arbeit gehen, verschiebe ich in den Zeitslot, in dem ich gerade bin.
  • Erledigte Aufgaben wandern in die Abendschicht.
Outlook-Screenshot mit Kanban-Workflow

Kanban in Outlook

Vorteile:

  • Ich habe immer einen guten Überblick über den Durchfluss und die Verteilung der Aufgaben.
  • Aufgaben in Arbeit blocken den jeweiligen Zeitpunkt im Kalender, so dass Kollegen bei der Terminvergabe eher rückfragen.
  • Am Ende des Tages habe ich eine Übersicht über alles Erledigte (früher habe ich sowas einfach gelöscht, dann zeigt nur der leere Kalender einen erfolgreichen Tag… nicht sehr motivierend).

Nachteil: Da alles über Outlook-Termine läuft, ploppen oft Terminerinnerungen hoch.

Aufgaben, die nicht erledigt werden konnten, verschiebe ich z.B. auf den nächsten Arbeitstag frühmorgens, d.h. in die nächsten ToDos.

Mein Fazit nach zwei Monaten mit Personal Kanban in Outlook – klappt super und ist eine sehr pragmatische Lösung für Kanban innerhalb einer Standard-Officeumgebung, in der man weder Software installieren noch ständig etwas im Internet pflegen will.

 

Die Änderungsverfolgung in Word ist ein schönes und gern genutztes Feature. Leider muss man sich normalerweise mühsam mit der Maus von Änderung zu Änderung klicken, um dann ebenfalls per Maus diese anzunehmen oder abzulehnen.

Diesen Vorgang können Sie enorm beschleunigen, wenn Sie die wichtigsten Funktionen der Änderungsüberarbeitung auf Tastaturbefehle legen. Dazu gehen Sie folgendermaßen vor (Beispiel Word 2003):

  1. Machen Sie einen Rechtsklick auf die Buttonleiste in Word und wählen Sie unten im Menü die Option Anpassen.
  2. Auf dem Fenster “Anpassen” klicken Sie auf die Schaltfläche Tastatur. Das Fenster “Tastatur anpassen” öffnet sich.
  3. Hier gehen Sie zur gewünschten Funktion, in unserem Fall unter Extras > ExtrasÜberarbeitungsMarkierungNächste.
  4. Klicken Sie ins Feld Neue Tastenkombination und drücken Sie die gewünschten Tasten, hier beispielsweise ALT+W. Die gedrückten Tasten werden angezeigt. In der Zeile “Derzeit zugewiesen an” können Sie prüfen, ob eein Konflikt vorliegt – in diesem Fall ist die Tastaturkombination bisher nicht zugewiesen.
    Tastatur anpassen
  5. Um diese Kombination zu speichern, klicken Sie auf Zuordnen. Die Kombination erscheint dann im Feld Aktuelle Tasten.
  6. Sie können jetzt weiteren Funktionen  Tastaturkombinationen zuordnen. Klicken Sie am Schluss auf Schließen.

Für die Änderungsbearbeitung verwende ich folgende Kombinationen, die meiner Ansicht nach am günstigsten dafür auf der Tastatur angeordnet sind:

Kürzel Funktion Name in Word-Auswahlliste
ALT+W Zur nächsten Änderung gehen ExtrasÜberarbeitungsMarkierungNächste
ALT+E Änderung annehmen ExtrasÜberarbeitungsMarkierungenAnnehmen
ALT+A Änderung ablehnen ExtrasÜberarbeitungsMarkierungenAblehnen
Jan 132012
 

Seit dieser Woche in meiner Leseliste: @iam_freelancer mit vielen Links zu Infos für (nicht nur, aber besonders) nebenberufliche Freelancer.

Da man auch als gestandener Vollzeit-Selbstständiger immer mal auf der Suche nach neuen Ideen und Inspirationen für das zukünftige Business ist – und sich gegenebenfalls auch alle paar Jahre mal umorientieren muss – kann ich diesen Tweet allen empfehlen, die sich mit Freelancing beschäftigen :)

 

Es gibt sicherlich sehr viele bessere Lösungen, aber manchmal sitzt man mit einem IE und einem Office-Paket da und braucht gaaanz schnell die Farbe eines Textes… und da habe ich heute dazugelernt, wie das auch gehen kann.

  1. Den zu analysierenden Text der Webseite nach Word kopieren (sowohl in Version 2003 als auch 2010 getestet).
  2. Auf ein Wort darin klicken, z.B. den blauen Link.
  3. Neben dem Button “Schriftfarbe” auf den Pfeil klicken und die Option “Weitere Farben” wählen. Farbwerte von Webtexten auslesen mit Word 1
  4. Im Farben-Fenster auf die Registerkarte “Benutzerdefiniert” klicken. Dort finden sich dann die RGB-Farben des Textes.
    Farbwerte für Webtexte mit Word auslesen
  5. Dies kann man dann in eine webtaugliche Farbe übersetzen, beispielsweise auf http://html-color-codes.info/.

Wie gesagt – keine schöne Methode, aber sie funktioniert schnell und mit typischen Großfirmenbordmitteln :)

Jan 072012
 

Nach nur wenigen Jahren habe ich endlich dieses Blog von WordPress-Version 2.6 auf 3.3.1 umgezogen. Im Zuge dessen habe ich auch einige Plugins entfernt und neue dazugeschaltet.

Beim Umzug bin ich folgendermaßen vorgegangen.

1) Lokale Installation auf meinem Rechner (Xampp existierte schon):

  • Kopie der Original-Installation lokal erstellen.
  • Produktive Datenbank exportieren. (Der WordPress-Export hat leider immer wieder Kommentare unterschlagen.)
  • SQL-Export bearbeiten, um alle URL-Angaben durch localhost zu ersetzen.
  • SQL-Datei lokal mit phphmyadmin importieren.

2) Der eigentliche Upgrade-Test:

  • Alle Plugins abschalten
  • WP3-Dateien ins Verzeichnis kopieren (alte Dateien damit überschreiben).
  • wp_admin/upgrade.php aufrufen.
  • Ggf. Datenbankupgrade durchführen.
  • wp_admin aufrufen und prüfen, ob noch alles läuft.

Da bei mir lokal alles problemlos ging, habe ich das Upgrade dann auf dem Produktivserver durchgeführt, einige alte Plugins weggeräumt und die neuen eingerichtet. Es ging erstaunlich einfach.

So sehr ich Drupal für komplexe Projekte liebe, so wunderbar ist WordPress für kleine Blogs wie dieses hier.

Jul 292011
 

Mein letztes Posting ist fast ein Jahr her, peinlich :) Was hat sich getan? Seit Februar 2011 bin ich wieder Freiberuflerin und gleich in einem sehr interessanten Projekt im SAP-Umfeld gelandet, in dem ich sowohl einen Dokumentationsumzug in ein Atlassian Confluence Wiki als auch die Übersetzung von SAP-Oberflächen koordiniere. Beides inhaltlich und zeitlich anspruchsvolle Themen, die mich wahrscheinlich noch bis September 2012 auf Trab halten.

Drupal lässt mich trotzdem nicht ganz los, und so habe ich mich für das Drupalcamp in Berlin am 27./28. September 2011 angemeldet, um mich über Drupal 7 auf dem Laufenden zu halten und den Kontakt zur Community nicht völlig zu verlieren.

Updates in diesem Blog bleiben vermutlich erstmal spärlich, aber ich versuche, mich zu bessern.

 

(JQuery ist bei Drupal 6 bereits im Core und muss für die folgenden Arbeiten angeschaltet sein.)

Die Darstellung von Comments in Drupal kann von Haus aus “flat” oder “collapsed” sein. Die Einstellung hierfür (und die Möglichkeit, dies für die User freizugeben), wird je Content Type getroffen. Besonders für ein Forum sind beide Optionen beliebt.

Bei “collapsed” wird dabei ursprünglich nur der Link zum Comment eingefügt – der Comment-Text selbst ist nicht verfügbar. Dies ist in der Core-Datei “comment-folded.tpl.php” festgelegt. Bei einem Umbau zu JQuery muss dafür Sorge getragen werden, dass die Comments verfügbar sind.

Am einfachsten wird dafür die Datei “comment.tpl.php” (für flat comments) in die Datei “comment-folded.tpl.php” umkopiert und als Grundlage für die JQuery-Darstellung genutzt. Das Ziel ist, die einzelnen Comments über slideToggle zwischen collapsed und nicht-collapsed zu schalten.

Änderungen in comment-folded.tpl.php

Am Ende des PHP-Bereichs muss ein eindeutiger Key geliefert werden, damit jeder der Comments einzeln angesprochen werden kann (sonst werden alle auf einmal aufgeklappt). Dieser Key ist idealerweise der $title-Link:
$key = md5($title)

Dann wird der Link entsprechend erweitert, nämlich um einen onclick-Event mit dem jeweiligen Key und einem slideToggle.
<h3 onclick="$('#<?=$key?>').slideToggle()"><?php print $title ?></h3>

Zuletzt wird die div-Class ebenfalls mit dem eindeutigen Key versehen und der Display zunächst auf “none” gesetzt. print $content wird zu print $comment->comment korrigiert.
<div class="content" id="<?=$key?>" style="display:none">
<?php print $comment->comment ?>

Die Comments werden jetzt als Links ausgegeben, bei deren Klick der Comment angezeigt wird. Die Formatierungen sind allerdings noch nicht korrekt. Dies resultiert aus dem Core-Module “comment.module”, das nicht dafür vorgesehen war, im Fall von collapsed Comments diese auch anzuzeigen. Es wird daher nicht das entsprechenden Markup angewendet.

Änderungen in comment.module

Um dies zu beheben, wird die Zeile 1584
if ($visible) { verschoben, und zwar nach unterhalb der check_markup-Anweisung:
$comment->comment = check_markup($comment->comment, $comment->format, FALSE);
if ($visible) {

Über diese Änderung (jaja, ein Core-Hack :) werden alle Comments nun korrekt formatiert angezeigt.

Tipp: Der ausführliche Inhalt des Comment-Objects $comment kann über die folgende Zeile erhalten werden.
<div style="display:none; border:1px solid black;background-color:#d0d0d0"><pre><? print_r($comment); ?></pre></div>

 

Ein häufiges Problem, wenn man manuell Word-Texte in ein taugliches HTML bringen will: Wie bekommt man am schnellsten z.B. kursive Formatierungen umgesetzt?

Der Trick heißt Ersetzen mit Wildcard.

  1. In Word über Bearbeiten > Ersetzen (STRG+H) den entsprechenden Dialog öffnen.
  2. Mit dem Cursor im Feld “Suchen nach” auf “Erweitern” klicken und über “Format” das Zeichenformat “kursiv” wählen.
  3. Dann im Feld “Ersetzen durch” <i>^&</i> eingeben.
  4. Auf “Alle ersetzen” klicken. Alle kursiv formatierten Texten werden als italic getaggt.

Dies geht natürlich auch für bold oder underlined.

 

Bei Views in Drupal gibt es zwei beliebte Fragestellungen, die vom Module selbst nicht gelöst werden:

a) Der Apply-Button sollte besser ein Search-Button sein.

b) Es sollte einen Reset-Button geben, der die Suche zurücksetzt.

Meine ursprüngliche Lösung für den Search-Button war eine Implementation über die template.php.

function theme_preprocess_views_exposed_form(&$vars, $hook) {
// Change the text on the submit button
$vars['form']['submit']['#value'] = t('Search');
// Rebuild the rendered version (submit button, rest remains unchanged)
unset($vars['form']['submit']['#printed']);
$vars['button'] = drupal_render($vars['form']['submit']);
}

Die Frage des Reset-Buttons kam später auf, und ich beschloss, lieber ein eigenes Custom-Module dafür zu nutzen.  Dabei war natürlich erstmal nichts sichtbar – logisch, wenn Module und template.php versuchen, das gleiche zu überschreiben. Also löschte ich den Search-Button aus der template.php und implementierte beide Buttons über ein Custom Module views_formalter.

Das folgende wäre der Code, um für alle Views einen Reset-Button zu liefern:

<?php
/**
* Implementation of hook_form_alter().
*/
function views_formalter_form_alter(&$form, $form_state, $form_id) {
if ($form_id == 'views_exposed_form') {
$reset_button_value = t('Reset');
$current_display = $form_state['view']->current_display;
$form['submit']['#value'] = t('Search');
$form['reset'] = array(
'#type' => 'markup',
'#value' => '<input class="form-button" type="reset"
value="'. $reset_button_value . ' " onClick="javascript:window.location=\''.$GLOBALS['base_url'] .'?q='. $form_state['view']->display[$current_display]->
display_options['path'] .'\';" />',
);
}
}
?>

Bei onclick wird der Pfad des Views aufgerufen. Sah zunächst prima aus – dann fiel mir auf, dass das Suchfeld in organic groups ebenfalls ein exposed filter view ist, nämlich og_search. Also eine zusätzliche Abfrage eingebaut:

$exposed_views = array('og_search');
if (!in_array($form_state['view']->name, $exposed_views)) {
$reset_button_value = t('Reset');
...
}

Ursprünglich war diese Abfrage so formuliert, dass explizit diejenigen Views angegeben werden mussten, für die ein Reset-Button gezeigt werden sollte. Da in meinem Projekt die meisten Views den Button zeigen sollten, habe ich die Abfrage umgedreht.

Feb 072010
 

Der Hintergrund der Entwicklung war der Wunsch, Seiten auf “outdated” setzen zu können und auf dieser Basis dann einen Hinweis in der Seitenausgabe zu haben. Das ließ sich als ein CCK-Feld namens “field_outdated” schnell einbauen, doch wie themen? Der Freund des Analysten ist an dieser Stelle ein strategisch in page.tpl.php platziertes:

<?php print_r($GLOBALS); ?>

Damit ist relativ schnell zu sehen, dass field_outdated ein Objekt der Node ist. Die Abfrage läuft dann auf folgendes hinaus:
Wenn outdated gesetzt ist UND die Eigenschaft ‘view’ empty ist (nämlich bei hidden), dann soll die von mir definierte Variable field_outdated_formatted gesetzt werden, und zwar mit HTML meiner Wahl. In diesem Fall möchte ich “Outdated” erscheinen lassen.

Code für die template.php
function THEME_preprocess_page(&$variables) {
if (!empty($variables['node']->field_outdated) && (empty($variables['node']->field_outdated[0]['value']))) {
$variables['field_outdated_formatted'] = '<span class="outdated">OUTDATED</span>';
}
}

Code in page.tpl.php, beispielsweise hinter den Node Title einzugeben:
<?php print $field_outdated_formatted; ?>

Es gelten die üblichen Format-Caveats im Blog hier (demnächst ist wirklich ein neues Theme dran.)

© 2012 Doku-Hotline Suffusion theme by Sayontan Sinha