Practice of Programming

プログラム とか Linuxとかの話題

Kwiki続き

Kwikiいいですね。でも、ノードキュメントですね...。

plugins_fileメソッドがないエラー

Can't locate object method "plugins_file" via package "Kwiki::Config" at /home/ktat/svk/kwiki/lib/Kwiki/Command/V1.pm line 132.

ですが、単純な話で、config.yamlに書いてないせいでした。

logo_image: palm90.png
favicon: palm32.png
plugins_file: /var/www/kwiki/plugins

のように、最後の"plugin_files"に場所を指定してやれば、問題なく動きます。

Kwiki::Wikiwyg

これですが、

Kwiki::Edit::RequireUserName

と相性が悪いことがわかりました。これを入れるとうまく動きません。

Kwiki::Archive::SVK

これは良いプラグイン
これを入れると、

/var/www/kwiki/plugins/archive/

の下に、Subversionリポジトリができます。Wikiのページを追加/編集すると、Subversionにも登録されます。
すげー良い。

でも、妙な点が...

  • ソースを読むと、attachments なんかもSubversionで管理できそうだけど、うまくいかない
  • Subversionにcommitしたものも表示出来るのかなと思ったけど、うまくいかない

古いバージョンにはフックかけるような指定があるのですが、新しいバージョンにはない。そのへんはどうなってるのかな...。

下記のようにすると、中途半端にできたりしますが...。新規登録の時に、Subversionに追加されたいという駄目さ加減なので、使えない(2回登録したらいけるという...)。というか、とても、まっとうなやり方に見えないし...。

=== src/plugins/cfedde/Kwiki-Attachments/lib/Kwiki/Attachments.pm
==================================================================
--- src/plugins/cfedde/Kwiki-Attachments/lib/Kwiki/Attachments.pm  (revision 2754)
+++ src/plugins/cfedde/Kwiki-Attachments/lib/Kwiki/Attachments.pm  (local)
@@ -74,6 +74,7 @@
             if ($self->config->make_thumbnails !~ /off/i) {
                $self->make_thumbnail($newfile);
             }
+            Kwiki::Archive::SVK->attachments_upload($self, $page_id, $file);
          } 
       }
    }
@@ -132,6 +133,7 @@
         my $f = io->catfile($base_dir, $page_id, $file)->pathname;
         if ( -f $f ) {
             unlink $f or die "Unable To Delete: $f";
+            Kwiki::Archive::SVK->attachments_delete($self, $page_id, $file);
         }
         my $thumb = io->catfile($base_dir, $page_id, "thumb_$file")->pathname;
         if ( -f $thumb ) {

これがまともに使えたら、すげーいいのにな。