2009年7月3日金曜日

crontabの設定

何回設定してもすぐ忘れるのでメモ。
毎時0分に実行する場合。

00 * * * * ~/www/cron-curl.sh

※SPPDでは、curlはok、lynxは不可。

2009年5月10日日曜日

操作すべきテーブル追加

nodeとタクソノミーを一括で増やしたいときには、先に挙げた7つのテーブルと、
もう1つ忘れていた。_node_access。
逆に、_node_accessテーブルをバッチ更新すれば、いちいちページを開いて
grant設定しなくても良いので便利。

2009年5月1日金曜日

nodeaccessモジュールはIEで使えない

某サイトで、トップページだけは一般公開してログインを促し、ログイン後はIDによって見せる先を分けるような仕掛けが必要になった。
調べると、nodeaccessモジュールとlogin destinationモジュールの組み合わせで実現できそう。
特に、このページは親切でわかり易い。→http://drupal.0829.info/module/nodeaccess

ところが、モジュールインストール後、「ユーザ管理」→「ノードアクセス」で動かしても、anonymous userに対する権限設定とかが出てこない。上記の参考サイトのページと表示が違う!

何か忘れている前提条件とかあったかな・・・とか、権限設定で変なことをしていたか・・・など悩むこと1時間!!ところが、思い余ってノードアクセスの管理画面を表示しているときにそれをソース表示させると、ソースの中にはロール毎の選択記述とかがしっかり入ってる。

え?なんでそれが見えないの?と思って試しにchromeで表示させるとバッチリ表示。

よもやIEのバグというか、IEを無視していたnodeaccess君のこんな不具合に遭遇していたとは・・・

IEはコワイ・・・

2009年4月11日土曜日

TIPS

オリジナルのテーマを使うときは、sites/all/themesの下に置いて
本体とは分離管理することが推奨されているが、その逆、
つまりGarlandなどのテーマをsites/all/themesに置いてしまうと、
update.phpで「file not found」が出る。(出た)

こういうとき、sshなどでログインできるサーバーだとディレクトリの
張替えはmvで一瞬だが、ファイル転送しかできないと
不便だろうなあ。。

テーブルの直接更新

大量のコンテンツを登録しないといけない場合は、テーブルを直接いじったほうが早い。

以下、ノードIDをnid、タクソノミーIDをtidとして、

(1)_term_data
  タクソノミーの語彙(と表示順)
(2)_term_node
  tidとnidの関連付け
(3)_taxonomy_breadcrumb_term
  tidに対応するURLalias
(4)_term_hierarchy
  tidの親子(階層)関係付け
(5)_node
  nidごとの基本情報
(6)_node_revisions
  nidごとの収録コンテンツ、リビジョン情報、teaserも。
(7)_url_alias
  nidごとのURLalias

以上の7テーブルを、現状と矛盾が無いように(要するに現状テーブルを
いったんexportし、内容確認してから)新規登録分をappendして再登録。

100件ほどのページ、タクソノミー、URLalliasがあっという間に登録
できるのはちょっと快感。

2009年4月7日火曜日

オーバーライドさせなくても

O社のサイトで、編集画面に「削除」ボタンがあると危険なのでなくして欲しいという要望。
手っ取り早く、該当のクラスをcssでdisplay:none;にして解決。

考えてみれば、以前、検索結果のユーザープロフィールを消去するのにオーバーライド関数を
作ったわけだが、そんなことしなくてもCSSで一発消去のほうが簡単だった。

これは他のCMSにも使えそう。

2009年4月3日金曜日

わりと大事かもしれない.htaccess

hat.co.jpとmirai1.hat.co.jpを現在仮環境で新構築中だが、
.htaccessでコメントアウトされているRewriteBaseを、
Rewritebase /mirai1
とかしておかないとクリーンURLが機能しないことが判明。
逆に、DNS移行したときは再設定が必要なのかも。

一瞬、apacheのmod_rewriteが無いのか?とスタジオマップを
疑ってごめんなさい。