Scuttle ( サーバインストール型 SBM ) 導入メモ

サーバインストール型 SBM である Scuttle 0.7.2 を CORESERVER にインストールした時のメモ。

Scuttle インストール

インストール方法は、色んなページで紹介されているので簡単に…。

  1. SourceForge.net: Files から scuttle.0.7.2.zip をダウンロードして解凍。
  2. phpMyAdmin で新しいデータベースを作成する。データベース名は何でも良いんだが scuttle で、照合順番は utf8_unicode_ci にした。
  3. ダウンロードした Scuttle の中の tables.sql の中身をコピーして、phpMyAdmin の SQL クエリーウインドウにペーストして実行。これで必要なテーブルが作成される。分割してペーストすると書いてあったページもあったのですが、私の場合は全選択・ペーストでいけました。
  4. [ config.inc.php.example ] を [ config.inc.php ] にリネームし、各種設定値を書き換える。
  5. アップロードする。 エラーが出たので .htaccess はアップロードしなかった。

あとは、Scuttle をインストールした URL にブラウザでアクセスし、ユーザ登録すると使えます。 それから、config.inc.php は 604 にした。

他のユーザが登録できないようにする

自分用なので他のユーザが登録できないようにする。誰でも登録できるようにするにはスパムとの格闘が必要らしい。

他のユーザが登録できないようにするには、.htaccess に

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^127.0.0.1$
RewriteRule ^register.php/ /scuttle/

と書くか、ユーザ登録 ( 自分用 ) 後、register.php のバックアップを取って置き、register.php の中身を

<?php ?>
登録できません

とかやっとくと良いらしいのだが、私は register.php のファイル自体を削除した。

それから、toolbar.inc.php の 22 行目にある [ Register ] と言うユーザ登録のリンクもコメントアウトしておいた。 about.tpl.php にもユーザ登録のリンクがあるので、適当に書き換える。

参考にさせてもらったページ

Scuttle – Sarabande Wiki

はてなブックマークから Scuttle へデータを移行する

はてなブックマークからエクスポートしたデータは直接 Scuttle にインポートできないので、ローカルマシンで del.icio.us 形式に変換し、Scuttle に読み込ませた。

  1. はてなブックマークからブックマーク形式でデータをダウンロード。
  2. ソーシャルブックマーク管理ツール を使い、[ NETSCAPE 互換 html ファイル ] から [ del.icio.us ( posts/all ) XML ] 形式に変換。
  3. Scuttle は 1MB までしかファイルを読み込めないよー。みたいに書いてあるのでテキストエディタでログファイルを二分割。
  4. Scuttle の [ add a bookmark ] をクリックして、下の方にある [ Import bookmarks from del.icio.us ] をクリック。
  5. 二つのログファイルを読み込み。

とやってみたのですが、読み込みの途中で以下の様なエラーが発生。

XML error: EntityRef: expecting ‘;’ at line 42

ひょっとしてと思って、ファイルの中の &amp;&amp; に置換した所、うまく読み込めた。ブックマークの URL が問題だったのかな?

それから、タグは読み込めているが、コメントが無くなってる事を発見。どうやら [ ソーシャルブックマーク管理ツール ] のバグらしいので、extened=”extended=” に置換したらコメントも正常に読み込めた。

余談ですが、http://del.icio.us/api/posts/all にアクセスすると XML ファイルでブックマークをダウンロードできます。Scuttle からのエクスポートは /api/posts/all で XML エクスポートできるみたい。

タグのセパレータをカンマから半角スペースにする

note.x | Scuttle タグのセパレータをカンマから半角スペースに を参考にターミナルでパッチを当てた。日本語のタグが書きやすくなったよ。

タグ入力補完と言うかオートコンプリート

I know. 開発日誌、 ≫ Scuttle でタグの入力補助を有効にする方法。 と言うページを見つけて喜んでいたんだが、タグのオートコンプリートではないらしい。私の勘違いだった。

気を取り直して、suggest.js – 入力補完ライブラリ を使ってみる事にした。

dynamictags.inc.php の中にある script 閉じタグの前に、

<!-- suggest.js / -->
<?php $tags =&#038; $tagservice->getTags($userid);
$contents = &#8221;;
foreach ($tags as $row) {
    $contents .= &#8220;&#8216;&#8221; . filter($row[&#8216;tag&#8217;]) . &#8220;&#8216;,&#8221;;
}
echo &#8220;var list = [&#8221; . $contents .&#8221;&#8221;];&#8221;;
?>
<!-- / suggest.js -->

なるコードを追加。それから、editbookmark.tpl.php も解説通りに修正して何とか動かすことが出来た。私は PHP に詳しくないので、上のコードが正しいのかどうかわかりません。

タグのリネーム機能が動くようにする

Sequentially altered days – ScuttleのTagReplace機能 を参考にファイルを追加した。

タグの文字数上限を増やす

デフォルトでは、全角 10 文字以上のタグは文字化けするので、熱血!MULTI web: 「Scuttle」のタグに使える文字数の上限を増やす を参考にデータベースの設定を変更した。

ブックマークレットでポストする時のポップアップウインドウを前面に出す

なぜか、ブックマークレットでポストする時のポップアップウインドウが前面に出てなかったので、editbookmark.tpl.php の 20 行目辺りを書き換えた。ついでにタグ入力欄にフォーカスが行くようにした。

<script type="text/javascript">
window.onload = function() {
  this.focus();
  document.getElementById("tags").focus();
}
</script>

チョット気になったので head とかを書き換えた

<html xml:lang="en"><html xml:lang="ja"></html></html>

3 COMMENTS

通りすがり

はてぶなブックマークのお気に入り機能のようなものはありますか? IDを登録したらその人のお気に入りが流れてくるみたいなの

Bowz

通りすがりさん、コメントありがとうございます。

私一人しか使ってないので分かりませんが、Watchlist なる機能はあるみたいですね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です