bgrossmann

 

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.)

 

Wenn das Exportfile einer MySQL-Datenbank ein wenig größer wird und die Timeouts beim Import zunehmen, kann man den Import automatisieren.

a) Anlegen einer Datei “import cmd” mit z.B. diesen Kommandos (in einer Zeile):
c:\xampp\mysql\bin\mysql.exe ––no-defaults ––user=username ––password=password ––database=datenbankname

im selben Verzeichnis wie mysql.exe.

b) Doppelklick auf die import.cmd-Datei. Dies öffnet eine Konsole in Windows.
c) Dort eingeben:
\. filename.sql und RETURN.

Der Import wird dann zeilenweise ausgeführt und kann in der Konsole verfolgt werden.

© 2012 Doku-Hotline Suffusion theme by Sayontan Sinha