コンテンツ作成システム Drupal の環境構築、インストール手順を記録します。
Drupal 6.x をインストールするのに必要な、PHP5 と MySQL、それに phpMyAdmin をインストールする手順の説明。
インストール先のホスト名を grasp01 とする。
% で始まる行は、grasp01 の端末上のコマンドラインである。
パッケージインストールする。
% sudo apt-get install apache2
まずパッケージをダウンロードする。
% sudo apt-get install php5-cli php5-dev php-pear php5-mysql php5-mcrypt php5-dev php5-mhash php5-gd php5-xsl php5-xmlrpc libapache2-mod-php5
% php -v PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/mcrypt.ini on line 1 in Unknown on line 0 PHP 5.3.2-1ubuntu4.11 with Suhosin-Patch (cli) (built: Dec 13 2011 18:45:32) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
さらに、PHP の動作確認をする。
apache2 の公開サイトは /var/www なので、/var/www/testphp.php を以下の内容で作成する。
<?php phpinfo(); ?>
(参考) http://d.hatena.ne.jp/hiratake55/20090119/1232363523
まずパッケージをインストールする。
% sudo apt-get install mysql-client mysql-server
/etc/mysql/my.cnf を編集して、キャラクタセットを utf8 にする。
[mysqld] default-character-set = utf8 [mysql] default-character-set = utf8
% sudo /etc/init.d/mysql restart
% sudo apt-get install phpmyadmin
インストールが完了したら、ブラウザで localhost/phpmyadmin を開き、root(MySQLの) でログインする。
(よく config.inc.php の $cfg['blowfish_secret']にランダムな文字列を設定する指示があるが、Ubuntuのパッケージインストールでは /var/lib/phpmyadmin/blowfish_secret.inc.php が自動で作られているので必要ない)
まず、phpMyAdminの、「新規データベースを作成する」機能で drupal データベースを作成する。
次に、phpMyAdmin の左ペインのタイトル下に5つ並んだアイコンのうち、左から3番目のウインドウの中に赤字で「SQL」と書かれたアイコンをクリックしてクエリウインドウを呼び出す。
このクエリウインドウに以下のコマンドを入力してMySQL ユーザ drupal を作成する。
GRANT ALL PRIVILEGES ON *.* TO drupal@localhost IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
一度phpMyAdmin からログアウトし、ユーザ drupal と今設定したパスワードでログインできれば成功である。
% で始まる行は、grasp01 の端末上のコマンドラインである。
1. tarball を取得して、展開する。
% wget http://downloads.sourceforge.net/drupal-jp/drupal-6.22-japanese_022.tgz % tar xf drupal-6.22-japanese_022.tgz % mv drupal-6.22 drupal % cd drupal
2. 設定ファイルを作成する。
% cd sites/default % cp default.settings.php settings.php % chmod 666 settings.php
% find files/ -type d|xargs chmod 777
4. ディレクトリを公開ディレクトリに移動する
% cd ../../.. % sudo mv drupal /var/www
インストーラが終了したら、再び端末で setting.php のパーミッションを設定する。
% sudo chmod 444 /var/www/drupal/sites/default/setting.php
Drupal 設定手順 に続く
管理セクション › サイトの構築 › モジュール を開き、コア -任意- に含まれる
Book, Search, Upload を有効にして「設定の保存」ボタンを押す。
モジュールによっては、入力フォームやリンクをブロック内で配置できる。
管理セクション › サイトの構築 › ブロックを開き、目的のモジュールの左にある十字を左または右のサイドバー、コンテンツ、ヘッダ、フッタにドラッグ&ドロップすればよい。
たとえばここで、ブックナビゲーションを左サイドバーの一番上にドラッグ&ドロップすると、ブックアウトラインで設定した階層構造が左サイドバーに表示される。
ここでは以下のような設定を行うこととする。
ブロックは設定しない
ユーザ登録については、訪問者の申請を管理者が承認する形式を取る。
管理セクション › ユーザの管理として、設定の保存ボタンを押す。
管理セクション › サイトの環境設定 › 言語 を開き、English の編集を開き、
パスプレフィックスを「en」として保存する。
同じ言語の設定を開き、言語ネゴシエーションを「パスプレフィックス(代替言語あり)」に設定して、設定を保存する。
すでに管理者アカウントを設定しているが、単なる認証ユーザと分けて、一部のユーザにサイトのコンテンツの構成を行える役割を与えたい。
Drupal ではこうした場合ロールを追加する。
管理セクション › ユーザの管理 › ロール を開き、テキストボックスに新しいロール名「管理者」と入れて「ロールの追加」ボタンを押す。
すると、ロールの一覧に「管理者」の行が増える。そこで「権限の編集」リンクをクリックし、モジュールごとに定義されている機能を、一通りチェックして「権限の保存」リンクを押す。
ユーザにこの新しい管理者ロールを適用するには、管理セクション › ユーザの管理 › ユーザ を開き、ユーザごとにある「編集」を開く。アカウント情報のロールの候補として、追加されている「管理者」チェックボックスをチェックして保存すれば良い。
管理セクション › ユーザの管理 › 権限 を開くと、モジュールごとの複数の機能について、権限の一覧が表示され、そのひとつひとつについてロール別にチェックできるようになっている。
チェックのないロールのユーザは、その機能を使うことができない。
これが権限を設定するということである。
本サイトはWikiサイト、すなわちサイトのユーザがコンテンツの内容を追加・変更できるウェブサイトとして作成しているが、一方で匿名ユーザまでが自由にコンテンツを変更できる仕様では、内容の改変等のリスクがある。
そこで、認証済みユーザについては大幅に権限を強化しつつ、匿名ユーザの権限は絞ることにする。
(以下詳細は、別ページ 権限の設定 に記しますが、これは開発者限定情報とします。ご了承ください。)
Drupal モジュール設定手順 に続く
Drupal に追加する各種モジュールのインストールと設定の手順。
これだけでいい。これが基本の3ステップとなる。
インストールしたら、まずモジュールを有効にする。
新しくインストールしたモジュールはこの時点では無効になっているので、チェックボックスをクリックし、ページ末の「設定の保存」ボタンを押すと有効になるが、権限やワークフローなどの設定が必要なことも多い。
正しく設定を行っても、Javascript や CSS のキャッシュが残っていてモジュールがうまく働かないときもある。
管理セクション › サイトの環境設定 › パフォーマンス の、「キャッシュデータのクリア」ボタンでサーバ側のキャッシュをクリアできるので、ブラウザのキャッシュと一緒にクリアするとよいだろう。
モジュールの翻訳をネットワークから自動的に取得するモジュール。
http://www.drupal-module.info/mod/update_locale
% wget http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/drupal-jp/modules/update_locale.tar.gz % tar xzf update_locale.tar.gz % mv update_locale /var/www/drupal/modules/
コンテンツの差分を視覚化するモジュール。
http://drupal.org/project/diff
% wget http://ftp.drupal.org/files/projects/diff-6.x-2.3.tar.gz % tar xzf diff-6.x-2.3.tar.gz % sudo mv diff /var/www/drupal/modules/
インストールするには、三つの tarball を組み合わせ、パーミッションを正しく設定する必要がある。
tarball の入手% wget http://ftp.drupal.org/files/projects/pearwiki_filter-6.x-1.0-beta1.tar.gz % wget http://download.pear.php.net/package/Text_Wiki-1.2.1.tgz % wget http://download.pear.php.net/package/Text_Wiki_Mediawiki-0.2.0.tgz
% tar xzf pearwiki_filter-6.x-1.0-beta1.tar.gz % tar xzf Text_Wiki-1.2.1.tgz % mv Text_Wiki-1.2.1/Text pearwiki_filter
% tar xzf Text_Wiki_Mediawiki-0.2.0.tgz % cp -rp Text_Wiki_Mediawiki-0.2.0/* pearwiki_filter
% find pearwiki_filter/Text -name '*.php' | xargs chmod 644
% sudo mv pearwiki_filter /var/www/drupal/modules
PEAR Wiki filter だけでは、内部リンクは機能しない。
内部リンクを実際のコンテンツと結びつけるために、Wikitools モジュールが必要となる。
http://drupal.org/project/wikitools
これも基本の3ステップでインストールできる。
% wget http://ftp.drupal.org/files/projects/wikitools-6.x-1.3.tar.gz % tar xzf wikitools-6.x-1.3.tar.gz % sudo mv wikitools /var/www/drupal/modules/
ボタンクリック一つですべてのコンテンツをバックアップし、またバックアップからコンテンツを復元できるモジュールである。
http://drupal.org/project/backup_migrate
基本3ステップでインストールできる。
% wget http://ftp.drupal.org/files/projects/backup_migrate-6.x-2.4.tar.gz % tar xzf backup_migrate-6.x-2.4.tar.gz % mv backup_migrate /var/www/drupal/modules/
とりあえずバックアップをとるには、管理セクション › コンテンツの管理 › Backup and Migrate を開き、「Backup now」ボタンを押すと、「サイト名-日付T現在時.mysql」のダウンロード画面が出るので、このファイルを保存する。
復元するときは、同じく Backup and Migrate を開いて、Restore リンクを開く。
Restoring will delete some or all of your data and cannot be undone. Always test your backups on a non-production server!
リストアするとデータが消滅するおそれがあり、元には戻せない。テスト用のサーバで必ずバックアップファイルを確認すること、という警告メッセージである。
ここで Upload a Backup File としてローカルホストにある以前のバックアップファイルを指定し、「Restore now」ボタンを押すと直ちにリストアが行われる。
正規表現を使って全コンテンツに対して一括置換をかけられる強力なモジュール。
http://drupal.org/project/scanner
基本3ステップでインストール
% wget http://ftp.drupal.org/files/projects/scanner-6.x-1.0.tar.gz % tar xzf scanner-6.x-1.0.tar.gz % sudo mv scanner /var/www/drupal/modules
コンテンツの翻訳に対応したモジュール。
http://drupal.org/project/i18n
インストール前に、管理セクション › サイトの環境設定 › 言語を開き、デフォルト言語を英語に設定する。デフォルト言語が日本語だと、i18nモジュールはうまく動かない。
また、コアモジュールの Content translation と Locale を有効化しておく。
% wget http://ftp.drupal.org/files/projects/i18n-6.x-1.10.tar.gz % tar xzf i18n-6.x-1.10.tar.gz % sudo mv i18n /var/www/drupal/modules
翻訳状況の一覧を表示するモジュール。
http://drupal.org/project/translation_overview
% wget http://ftp.drupal.org/files/projects/translation_overview-6.x-2.4.tar.gz % tar xvf translation_overview-6.x-2.4.tar.gz % mv translation_overview /var/www/drupal/modules/
i18n モジュール、locale モジュール、translation モジュール、translation_overview モジュールの各機能について、認証済みユーザの列をすべてチェックする。
管理セクション › コンテンツの管理 › コンテンツタイプ › Book page を開き、ワークフローの設定で多言語サポートを有効(翻訳対応)にする。(ついでにデフォルトオプションの新しいリビジョンの作成と、添付も有効にする)
また、管理セクション › サイトの構築 › ブロック を開き、左サイドバーに言語スイッチャーを追加する。
ここで 管理セクション › コンテンツの管理 › Translation overview を開いても、コンテンツが空であるため何も表示されない。
試しに コンテンツの作成 › Book pageの作成 を開いて、「テスト」というブックページを作る。タイトルも内容も「テスト」とし、言語は日本語にする。
再びTranslation overview を開くと、ブックページ「テスト」は、ja が○で en が■となっている。これは、日本語で作成した元ページ「テスト」に対して、英語の翻訳は存在しないという意味である。
さて、「テスト」ブックページのメニュ-には「翻訳」という項目がある。これを開いて、さらにEnglishの行の「翻訳の追加」を開くと、タイトルと本文が「テスト」で言語が英語になった新しいBook page の作成画面に移る。
そこで、タイトルと本文を「Test」に変更して保存する。
新しく作られた「Test」ブックページは、Add new comment と並んで「日本語」のリンクがある。これをクリックすると、先に作った「テスト」ブックページが表示される。
左サイドバーに追加した言語スイッチャーの「English/日本語」リンクを使っても、同様に「テスト」と「Test」を行き来できる。
ここで改めてTranslation overview を開くと、ブックページ「テスト」は、en が□に変わっている。翻訳がなされたということである。
これから作成するページも、同様に翻訳を行い日本語ページと英語ページを関連付けていくことができる。
タクソノミー(タグ設定)機能を使って、ロール単位でアクセス制御を行うモジュール。
ここでは、認証済みユーザのみが見ることができる「開発者限定情報」ブック以下のページに適用されている。
http://drupal.org/project/taxonomy_access
あとでコンテンツのアクセス権を再構築するので、インストール前に一度 Backup and Migrate でバックアップをとったら、例によって基本3ステップでインストールする。
% wget http://ftp.drupal.org/files/projects/taxonomy_access-6.x-1.3.tar.gz % tar xzf taxonomy_access-6.x-1.3.tar.gz % sudo mv taxonomy_access /var/www/drupal/modules/
インストールしたら、ロールとタクソノミーの設定を行わなければならない。
これで、編集画面でアクセスに対して「開発者限定」を選択できるようになるが、これだけではまだ何の効果も起きない。
匿名ユーザがアクセス:開発者限定となっているページを開けないようにするために、管理セクション › ユーザの管理 › Taxonomy access permissions を開く。
ここでアクセス:開発者限定の行に対し、表示・更新・削除のすべてをD(Deny、アクセスに応じない)に設定する。
こうすることで、ページの編集でアクセス:開発者限定と設定されたページは、匿名ユーザに公開されなくなります。
(注意:ブックアウトラインの上位ページが「アクセス:開発者限定」に設定されている場合、匿名ユーザのブックアウトラインには、限定のページより下の階層のページは表示されません。ただし、下の階層のページのアクセスが開発者限定になっていない場合、ノード番号をURIで直接指定するとページが見えてしまいます。下の階層のページにも必ずひとつひとつ、開発者限定アクセスを設定してください)
ImageCache はアップロードされた画像の大きさを制限したり、サムネイルを作成するのに利用されるモジュールで、動作には ImageAPI モジュールを必要とする。
http://drupal.org/project/imagecache
http://drupal.org/project/imageapi
% wget http://ftp.drupal.org/files/projects/imagecache-6.x-2.0-beta12.tar.gz % tar xf imagecache-6.x-2.0-beta12.tar.gz % sudo mv imagecache /var/www/drupal/modules/ % wget http://ftp.drupal.org/files/projects/imageapi-6.x-1.10.tar.gz % tar xf imageapi-6.x-1.10.tar.gz % sudo mv imageapi /var/www/drupal/modules/
を有効にする。
ImageAPI は、画像処理のためのツールキットとして GD2 か ImageMagick を利用できるが、ここではGD2を使うことにする。
管理セクション › サイトの環境設定 › ImageAPI を開き、
Select a default image processing toolkit: に対して ImageAPI GD2 を選択する。
ImageCache については、ここで設定することはない。
ページ編集・作成時の、ファイルアップロードボタンにドラッグ&ドロップ機能を追加するモジュール。
http://drupal.org/project/itweak_upload
インストールの前に、phpの拡張モジュール uploadprogress が必要である。これは pecl でインストールする。
% sudo pecl install uploadprogress
php_value max_execution_time 0 php_value memory_limit 96M php_value post_max_size 20M php_value upload_max_filesize 20M
% wget http://ftp.drupal.org/files/projects/itweak_upload-6.x-2.5.tar.gz % tar xf itweak_upload-6.x-2.5.tar.gz % sudo mv itweak_upload /var/www/drupal/modules
認証済みユーザ用の設定と同じ
ページにアップロードした画像を手軽に埋め込むモジュール。
http://drupal.org/project/inline
基本3ステップでインストール。
% wget http://ftp.drupal.org/files/projects/inline-6.x-1.0.tar.gz % tar xf inline-6.x-1.0.tar.gz % sudo mv inline /var/www/drupal/modules/
設定を保存したら、今度は PEAR Wiki Filter との連動の設定をする。
ホーム › 管理セクション › サイトの環境設定 › 入力書式 › PEAR Wiki Filter(MediaWiki Format) を開き、フィルタグループにある Inline file filter をチェックして設定を保存する。
また、この画面からさらに「設定」を開き、Image グループの Base path for images の内容を、/GraspPlugin/i/sites/default/files/ に変更して、設定を保存する。
ファイルをアップロードした sites/default/files ディレクトリのブラウザ。
http://drupal.org/project/imce
基本3ステップでインストール。
% wget http://ftp.drupal.org/files/projects/imce-6.x-2.3.tar.gz % tar xf imce-6.x-2.3.tar.gz % sudo mv imce /var/www/public/GrasoPlugin/i/modules
続いて管理セクション › サイトの環境設定 › IMCE を開く。
サンプルのプロファイルとして、「User-1」と「Sample profile」があらかじめ設定されているが、新たに管理者用のAdminを作ることにする。
まず新しいプロファイルを作成する。
「Add new profile」を開いたら、すでにあるプロファイルをインポートする。「Import settings from other profiles:」の候補として、User-1 をクリックすると、User-1の設定が読み込まれる。
Profile name に Admin と入力して、以下の設定で保存する。
Directories
管理者は、 site/default/files 以下すべてのディレクトリですべての操作ができるようにするため、
カレントディレクトリを示す「.」に対してBrowse, アップロード、Thumbnails、削除, Resize のすべてをチェックする。
[inline:imce_admin_dir.png]
完了したら設定の保存をクリックする。
次に、このAdminプロファイルを管理者に割り当てる。
Role-profile assignments の管理者のAssigned Profile から、Adminを選んで設定を保存するだけで良い。
これで、管理者として登録されたユーザは アカウント情報 > File browser を開くことで IMCE のファイルブラウザを利用できる。
[inline:IMCE.png]
同様にして、新しいプロファイル Users を作成して認証済みユーザに割り当てる。
Users の設定は Admin の場合とほぼ同じだが、認証済みユーザにはファイルのブラウズとアップロードしか許可しない。
そのため、カレントディレクトリの設定は Browse とアップロードをチェックして、Thumbnails、削除, Resizeのチェックははずすことになる。
[inline:imce_users_dir.png]
画像のサイズ指定を本文横幅に対するパーセンテージで行うため、modules/pearwiki_filter/pear_override/parse_mediawiki/Image.php に以下のコードを追加する。
else { $options['attr']['width'] = substr($part, 0, $pos); } } ////// ↓↓↓↓ ここから ↓↓↓↓ elseif ($pos = strpos($part, '%')) { if (strpos($part, 'x')) { list($width, $height) = explode('x', substr($part, 0, $pos)); $options['attr']['width'] = $width + '%'; $options['attr']['height'] = $height + '%'; } ////// ↑↑↑↑ ここまで ↑↑↑↑ else { $options['attr']['width'] = $part; $options['attr']['height'] = $part; } } else { $options['attr']['title'] = $part; }
pre記法をコマンドライン風の黒字に白文字にするため、modules/user/user.css の末尾に以下の行を追加する。
pre { color:white ; background-color: black ; margin-right: 50px ; padding: 0.5em; border-style: inset; border-width: 2px; border-radius: 10px; /* CSS3草案 */ -webkit-border-radius: 10px; /* Safari,Google Chrome用 */ -moz-border-radius: 10px; /* Firefox用 */ } div.content img { border: 1px solid #CCC; background: #FFF; padding: 2px; }
実は、ブラウザの言語設定を英語優先にすると、使えるようになる(ただしそうすると今度は日本語のWikiリンクが使えなくなる)。
どうやらWikiリンクが国際化に対応できていない模様で、ソースコードを追ってq=jaなりq=enなりを追加してやる必要がある。
Choreonoid 1.0 ヘルプをクリックすると、英語のnot found ページが出てしまう。
リンクは
http://www.hlab.sys.es.osaka-u.ac.jp/grasp/?q=wiki/Choreonoid_1.0_%E3%83%98%E3%83%AB%E3%83%97
となっているのだが、このuriの中に q=jaが含まれていないのが問題で、
http://www.hlab.sys.es.osaka-u.ac.jp/grasp/?q=ja/wiki/Choreonoid_1.0_%E3%83%98%E3%83%AB%E3%83%97
とすればきちんとページが表示される。
(http://www.hlab.sys.es.osaka-u.ac.jp/grasp/?q=wiki/ja/Choreonoid_1.0_%E3%83%98%E3%83%AB%E3%83%97 と、uri中のwikiとjaをひっくり返すとダメ)
とにかく言語の設定があやしい。管理セクション>サイトの環境設定>言語>設定 で、言語ネゴシエーションを「パスプレフィックスのみ」から、「パスプレフィックス(代替言語あり)」に切り替えることで、q=ja の指定のない Wikitools のリンクが、正しく表示されるようになった。
Drupal のセキュリティアップデートが公開されたら、速やかに適用しなくてはならない。
危険を伴う作業であるため、注意して実行すること。
% wget http://downloads.sourceforge.net/drupal-jp/drupal-6.24-japanese_024.tgz % tar xf drupal-6.24-japanese_024.tgz
% rm -fr profiles/ scripts/ sites/ % find . -name '*.txt'|sed /robots.txt/d|xargs rm
% find sites/default/files -type d | xargs chmod 777
ここで、旧バージョンのディレクトリから最新版のディレクトリへ、robots.txt, .htaccess, sites/ をコピーする。
次に拡張モジュールのコピーである。運用中サイトの module のうち、以下が拡張モジュールとなる。
backup_migrate diff i18n imageapi imagecache imce inline itweak_upload pearwiki_filter scanner taxonomy_access translation_overview update_locale wikitools
最後に、旧バージョンの module/user/user.css を、最新版の module/user にコピーする。(Drupal のカスタマイズの、CSS の修正の項参照)
ここまできたら、旧バージョンの Drupal ディレクトリを非公開のディレクトリに移動し、最新版を公開ディレクトリに移す。
最新版のディレクトリ名が旧バージョンと同じになるよう、また旧バージョンのディレクトリを上書きなどしないよう、注意する。
なおこの間、作業しているブラウザを閉じてはいけない。誤って閉じてしまったときは http://www.hlab.sys.es.osaka-u.ac.jp/grasp/user を開くと、再ログインできる。
最新版のディレクトリを公開ディレクトリに移したら、閉じないでおいたブラウザページで再読み込みを行う。
さきほど無効にした拡張モジュールをもとに戻し、メッセージにしたがってアクセス権の再構築や、update.php の実行を行う。
管理セクション › リポート › 入手可能な最新版 を開いて、すべてのバージョンが最新であることを確認したら完了。
おつかれさまでした。
当サイトでは Wikipedia のシステムである Mediawiki スタイルの書式を採用している。
ただし、本物とは仕様がことなる。
当ページは書式のメモであり、編集コマンドで見られるソースを利用する。
見出しのレベルは6までなので、=を7つ書いた見出し7はレベル6見出しとして扱われる。
なお、見出しにアンカーはつかないので、見出しにジャンプするリンクは書けない。
行頭が空白で始まる行は、整形済みテキストとみなされ、黒字に白文字でコマンドライン端末風に表示される。
黒字に白文字> コマンドライン端末風>
ただし、番号つきリストの中に番号なしリストを書いたり、逆に番号なしリストの中に番号つきリストを書いたりはできない。
見出し1 | 見出し2 | 見出し3 |
---|---|---|
データ1 | データ2 | データ3 |
データ4 | データ5 | データ6 |
データ7 | データ8 | データ9 |
二つの'で囲んだ文字は イタリック体 になる。
三つの'で囲んだ文字は ボールド体 になる。
五つの'で囲んだ文字は、イタリック体でボールド体 になる。
「Wiki 書式について」という字句を二つの大カッコで囲んで[[Wiki 書式について]]などと書くと、Wiki 書式についてページへのリンクが埋め込まれる。
字句にあたるページが存在しない場合は、新しいページを作成する画面に飛ぶ。(空白の有無等で、指定した字句が思ったように展開されない場合がある)
また、[[image:ファイル名]]など、二つ重ねた大カッコ[] の中で image: のあとに画像ファイルを指定すると、アップロード済みの画像を表示できる。
編集画面でそのページにじかにアップロードした画像があれば、inline タグも使用できる。詳しくは画像ファイルのアップロードと埋め込みの仕方参照。
URLを書くとそのままリンクになる。 http://choreonoid.org
また、Choreonoid ホームページのように、URLと解説文を [] で囲むと、解説文がURLへのリンクになる。
URLと解説文を|で区切る書式も定義されているが、この書き方だと解説文に複数の空白があるとき表示がうまくいかないので、使わない方が良い。
ページの作成・編集画面で、ドラッグ&ドロップによる画像のアップロードが可能です。
ページの作成・編集画面の下の方に、「Attach files to this book page」というブロックがあります。
[inline:Attach_files.png]
通常は、参照ボタンを押してファイルダイアログからアップロードするファイルを選びますが、FireFoxに限り、参照ボタンにエクスプローラや nautilus などのファイルブラウザーから画像ファイルをドラッグ&ドロップするだけでにファイルをアップロードできます。
アップロードされた画像はサムネイルつきのリストに表示されます。
[inline:Image_thumbnail.png]
ファイルは20MB以下の容量で、画像ファイルとして jpg(jpeg), gif, png に対応しているほか、txt, doc, xls, pdf, pps, odt, ods, odp, zip, gz, taz をアップロードできます。
ファイル名のあとに=で画像のタイトルを指定することもできます。
[inline:Attach_files.png=サムネイルつきのリスト]
ドラッグ&ドロップのために、iTweak upload モジュールを利用しています。
FireFox 10.0 で動作していますが、IE9, Chrome 17 では動作しないようです。
こうしてアップロードした画像は、本文を編集するとき[]で囲んだインラインタグを書くことで埋め込むことができます。
インラインタグは inline:番号(リストの上から順に1,2,3,...) または inline:ファイル名 と書きます。
また、二つの大カッコで囲んだ image タグも、今までどおり使えます。
インラインタグはファイルをアップロードしたそのページでしか使えませんが、image タグなら別のページにアップロードした画像も流用できます。
画像のサイズ指定は image タグでしかできません。
ファイル名のあとを|で区切って、320pxとすると横320ピクセルで、640x480pxとすると縦640横480ピクセルで、80%とすると元画像のサイズの80%で表示されます。
さらに|で区切り、left/center/rightのどれかを指定して、画像の左寄せ/中央寄せ/右寄せの指定もできます。
|で区切った節が、画像のサイズ指定でも、寄せ方向の指定でもない場合、画像のタイトルとみなされます。
inlineタグの=で指定した文字列はaltとtitle の両方になりますが、imageタグの場合この画像のタイトルはtitleにだけセットされ、altは画像ファイル名となります。