====== Drupal Tips ====== ===== Forms == See [[drupal>project/webform]] ===== Newsletter == FIXME Check * [[drupal>node/197057|Simplenews]]! * [[http://www.developertutorials.com/tutorials/miscellaneous/creating-an-online-newsletter-with-drupal-8-07-11/|developertutorials.com]] ===== Calendar Events == All is done on Drupal 6.9 / [[http://www.drupaltherapy.com/node/76|information source]] (screencast) / [[drupal>node/262062|General info]] ==== Basic principle == - Create a new content (node) type for events - Add a date field to this new event type FIXME ==== Detailled Instructions == - Install this modules: * [[drupal>project/cck|cck]] allows you to add custom fields to nodes using a web browser. * [[drupal>project/date|date]] defines CCK date/time fields and widgets. * [[drupal>project/views|views]] to create customized lists and queries from your database. * [[drupal>project/calendar|calendar]] is a Views plugin to display views containing dates as Calendars. - Enable in Administer -> Modules * CCK: ''Content'' (and optionally ''Number'', ''Option widgets'' & ''Text'' for later usage) * Date/Time: ''Calendar'', ''Date'', ''Date API'' & ''Date Timezone'' * Views: ''Views'' & ''Views UI'' - Set Timezone anew in Administer -> Date and time - Administer -> Content types -> Add content type: * Name: Event, Type: event (proposal) * Uncheck: Workflow settings -> Default options -> Promoted to front page - Administer -> Content types -> "Event" -> Manage fields * Add new field: Label: Date; field name: field_date; Field type: Date; Widget: Select list * Save * Global Settings -> Required: yes; Global Settings -> To Date: optional * Save - Administer -> Blocks: Enable Upcoming - Administer -> Views -> calander -> Enable - Administer -> Views -> calander -> edit -> Defaults: * Arguments: ''Date: Date Content: Datum (field_datum value)'' * Fields ''Node: Title'' (remove date field) * Sort criteria: ''Content: Datum (field_datum value) asc'' - Administer -> Views -> calander -> edit -> Upcoming: (Take care not to overwrite the Defaults when editing this view!) * Arguments -> Date: Date -> Granularity: Day (Overwrite Upcoming, don't modfy Default!) * Fields: * ''Node: Title'' * ''Content: Datum (field_datum value) Short'' * Filters: * ''Node: Published Yes'' * ''Date: Date Content: Datum (field_datum value) >= now'' ===== WYSIWYG with FCKEditor == - Download the [[drupal>project/fckeditor|module]] and the [[http://www.fckeditor.net/download|editor]] - Follow the instructions in ''README.TXT'' of the Module :!: - Install module and editor - Enable the module in ''Administer -> Modules'' - Grant ''fckeditor access'' permissions for user with story/page write access (eg. self-created role ''authors'') and ''authenticated users'' - Under ''Administer -> FCKeditor'', allow ''authors'' to use the advanced profile and optionally ''authenticated users'' to use the default profile - Under ''Administer -> Input formats'' - Make ''Filtered HTML'' the default format - Add the tags ''


'' to the list of allowed HTML tags in ''Filtered HTML'' - Allow the role authors to use ''Full HTML'' - Uncheck Line break converter in both formats - Optionally disable the conversion of special characters to HTML entities by adding the line ''FCKConfig.ProcessHTMLEntities = false;'' to the file ''/sites/all/modules/fckeditor/fckeditor.config.js'' (Source: REAMDE of fckeditor drupal module) ===== Handling Images == The [[drupal>project/image|image module]] is easy to use and allows to add one image per node. See [[drupal>node/191718|Attaching images to other nodes]]. ===== Install additional Modules == See [[drupal>documentation/install/modules-themes/modules-5-6]] ===== Install a different Language == Update: It seems to be better to select the default language at installation (Drupal 6.9) --- 2009-01-19 This refers to Drupal 6.2: * Downlad a language tarball from drupal>project/Translations * Enable: Administer -> Site building -> Modules -> Locale * Upload language tarball to drupa root dir and unpack it * Home › Administer › Site configuration > Languages > Add language * Make new language the default language on the same page ===== Cron == Some modules need to be triggered periodically. This is done by calling the script /drupal/cron.php with lynx. Therfore add a hourly conjob. With Slackware this is achieved by simply creating and making runnable ''/etc/cron.hourly/drupal'' whith the following content: #!/bin/bash lynx -source http://localhost/drupal/cron.php ===== Update modules == - Log into your Drupal install with HTTP as Admin - Check if they are up to date in ''drupal/admin/reports/updates'' - Place the site in "Off-line" mode in ''drupal/admin/settings/site-maintenance'' - cd drupal/sites/all; cp -a modules modules.new - Download new module tarballs into modules.new/ with wget - Remove outdated module dirs in modules.new - Unpack and remove tarballs - Merge your changed in module config files into the new config files - mv modules modules.old; mv modules.new modules - Point Browser to %%http:///drupal/update.php%% and follow instructions ===== Minor Update Drupal Core == - Log into your Drupal install with HTTP as Admin an go to %%http:///drupal/admin/reports/updates%% and copy Link to latest core package into clipboard - Log into your Drupal server with SSH and download core package with wget - Extract core package in your web root (near old core package) - Read drupal.new/UPGRADE.txt - Place the site in "Off-line" mode in ''drupal/admin/settings/site-maintenance'' - Backup db with ''mysqldump --default-character-set=utf8 --user= --password= --opt > dbbak.sql'' - Switch to Garland or Bluemarine core theme ''drupal/admin/build/themes'' - Write down all custom and contributed modules ''drupal/admin/build/modules'' and save it into drupal.new/MY_MODULES (to reuse it for later updates) - Disable all custom and contributed modules (all exept 'Core - required') - Merge your custom changes (ie. database access data) of drupal/sites/default/settings.php into newly created drupal.new/sites/default/settings.php (use eg diff3 -m) - cd drupal/sites/all; cp -a modules themes drupal.new/sites/all/ - cd drupal/sites/default; cp files drupal.new/sites/default/ - cd ; rm drupal; ln -s drupal.new drupal - Point Browser to %%http:///drupal/update.php%% and follow instructions - Re-enable custom and contributed modules and check if they are up to date in ''drupal/admin/reports/updates'' - Update all outdated modules - Return the site to its original theme - Return your site to Online ===== Major Upgrade Drupal Core == - Minor Update Drupal Core FIXME ===== Install Drupal Core == * Download and extract Drupal somewhere in apache document root, on Slackware /var/www/htdocs. Maybe its better not to extract directly on the server but to ftp the files up to the server, because otherwise you get strange permissions for the directories i.e. ''drwxr-sr-x'' instead of ''drwxr-xr-x'' * Symlink drupal -> drupal- * chown -R nobody:nobody /var/www/htdocs/drupal/* :?: Maybe it's more secure to just give write permission to only the files wich drupal wants to edit, eg. drupal/sites/default/settings.php * Make sure that you use PHP5 not 4. Otherwise you may get an error message about ''register_globals'' being illegally on. You can check this by creating a file containing "''''" inside the drupal directory on your server. You can switch to PHP5 by adding the line "''AddHandler php-fastcgi5 .php .php5''" to the file ''.htaccess'' in the drupal directory. * Point your Browser to %%http://yourhostname/drupal%% and follow installation instructions. Obsolete instructins for drupal 5.2: * Create the drupal database by help of INSTALL.mysql.txt. Don't omit ''@localhost'' in the SQL statement :!: Otherwise you might not connect to the database. (See column ''mysql.user.Host'') * Create administrator account * Create a directory called 'files' in root dir of drupal and make it writable by httpd ===== Test / Todo == * Check out ''Views exporter'' * Taxonomie * Test [[drupal>node/81589|VIEWS Module]] * How to link Categories? / * Understand and setup [[drupal>handbook/modules/taxonomy|Taxonomy]] or [[http://category.greenash.net.au/|Categories]]; see also [[drupal>node/46268|Understanding categories for new users]] ===== Attic == ==== WYSIWYG with Tinymce == This paragraph is obsolete! [[drupal>project/tinymce|Download]] tinymce module and follow the instructions in INSTALL.txt and optionally at the [[drupal>handbook/modules/tinymce|Drupal Handbook]] Notes: * If seems better to try additonal features (eg images) with WYSIWYG turned off in order to get the proper source code and then perhaps config tinymce to produce that source code. * Images to be set up with tinymce. * For config HTML-Filters see: [[drupal>node/59769]] * There is also a FCKEditor module, but Tinymce seems to be more lightweight & better supported * [[http://www.theempowerment.com/mediawikiisobsolete|Recommendation]] for tinymce & freelinking instead of a wiki