Drupal: Nach wechsel des File System Path werden Benutzerbilder nicht mehr angezeigt

Nachdem man bei Drupal den "File system path" unter admin/settings/file-system geändert hat und die Methode auf "private" hat, werden alle Benutzerbilder (avatare) nicht mehr angezeigt, obwohl der neue Pfad noch stimmt.

Stattdessen wird nach dem /system/files/ noch der Webroot angehängt, z.B.: /system/files/var/www/my_site/public_html/files/pictures/picture-123.jpg.

Dies passiert daher, weil in der Datenbank in der Tabelle "users" im Feld "picture" immer der volle Webroot Pfad steht, z.B. eben: "/system/files/var/www/my_site/public_html/files/pictures/picture-123.jpg". Und dieser wird dann zur Laufzeit mit dem, der unter "File system path" angegeben ist ersetzt. Unterscheidet sich dieser Pfad jedoch, funktioniert das ersetzen nicht mehr und Drupal passt den Pfad in der users Tabelle nicht automatisch an, wenn man den File System Pfad ändert.

Deshalb muss man dies noch manuell machen.
Wenn man also nun den File System Pfad von: /var/www/my_site/public_html/ nach: /srv/web/my_site/public_html/ wechselt, kann man in der users Tabelle das folgende SQL statement ausführen:

UPDATE users SET picture = REPLACE(picture,"/var/www/","/srv/web/")

Somit müssten dann die Benutzerbilder wieder korrekt angezeigt werden.

Drupal: Suchindex lässt sich nicht mehr neu erstellen

Falls es vorkommen sollte, dass bei drupal die Neuerstellung des Suchindexes fehl schlägt und der entsprechende cronjob "search_cron" in einen HTTP 500 error läuft müssen alle Module deaktiviert und dann der Index neu erstellt werden.

Dies geht am besten auf der shell mit den Modulen [http://drupal.org/project/drush|drush] und [http://drupal.org/project/reindex|reindex]:

[mysite.tld@server public_html]$ drush vset site_offline 1
[mysite.tld@server public_html]$ DRUPAL_MODULES=$(drush pm-list --status="enabled" --type="module" --no-core --pipe | tr 'n' ' ')
[mysite.tld@server public_html]$ drush pm-disable $DRUPAL_MODULES
[mysite.tld@server public_html]$ drush cache-clear all
[mysite.tld@server public_html]$ drush pm-enable reindex

Nun wechselt man zur Seite und startet die Neuerstellung des indexes mit dem Modul reindex.

[mysite.tld@server public_html]$ drush pm-enable $DRUPAL_MODULES
[mysite.tld@server public_html]$ drush cache-clear all
[mysite.tld@server public_html]$ drush vset site_offline 0

Nach dieser Aktion kann man den search_cron wieder aktivieren.

Infos: drupal.org: [http://drupal.org/node/1192086|Re-Index crashes with Segmentation fault]

Drupal: CKEditor konfigurieren

In einem anderen KB-Eintrag wurde erklärt, wie man dem bei [http://www.tech-island.com/kb-Platformunabh%C3%A4ngig-Internet-WordPress%3A+Mehrfache+Zeilenumbr%C3%BCche&structure=kb|Wordpress dem WYSIWYG-Editor einen schmaleren Zeilenumbruch] hinkriegt.

Das selbe kann man auch beim in Drupal erhaltenen CKEditor machen:

Erstelle ein Verzeichnis mit dem Namen overrides in sites/all/modules

Erstelle darin folgende zwei Dateien:

overrides.info und overrides.module

in overrides.info schreibe dies:

name = Overrides
description = Overrides settings
core = 7.x
 
package = own

und in overrides.module:

<?php
/<em> wysiwyg overrides </em>/
 
function overrides_wysiwyg_editor_settings_alter(&$settings, $context) {
  if($context['profile']->editor == 'ckeditor') {
    $settings['enterMode'] = 2;
    $settings['shiftEnterMode'] = 1;
  } else if($context['profile']->editor == 'tinymce') {
    $settings['forced_root_block'] = FALSE;
    $settings['force_br_newlines'] = TRUE;
    $settings['force_p_newlines'] = FALSE;
  }
}

Achtung: Das end-tag von <?php ist hier bewusst weg gelassen!

Gehe danach zur Module seite in: admin/modules Dort findest du in der Kategorie "OWN", das Modul "overrides". Aktiviere dieses.

Die Änderung sollte sofort wirksam werden, falls nicht wähle im cache menu: "Flush all caches".

Quelle: Dieser Tip stammt von: http://wdtutorials.com/drupal7/50