Forums: Open Discussion (Thread #26685)

Jeans CMS ver 0.9.0 alphaについてのバグ報告・仕様希望 (2010-06-29 03:59 by kmorimatsu #51613)

SVNにおいて、ver 0.8.9が公開されています。近いうちに0.9.0として、ここSourceforgeで公開予定です。ver 0.7に無かった機能で新しく追加されたものを、思いついたところで書くと以下のとおりです。

・記事やグループに、隠しデータや無効などのフラグを設定することが可能になった。
・jp_SkinFilesプラグインにより、管理画面上でスキンファイルの編集ができるようになった。
・複数メンバーに対応した。
・メンバー設定において、管理者と非管理者で異なる設定項目を作れるようにした。
・管理画面にサイトマップを実装した。
・WYSIWYGエディター及び、メディアマネージャー用のインタフェースを実装した。
・strftime相当の機能を、Jeans独自に実装した。

次のバージョンまでに実装したい機能は、以下のとおりです。

・スキンをコンパイルする機能。
・プラグイン用の各種イベントの追加。
・ドキュメントの整備。
・ヘルプファイルを用意。
・Nucleusのデフォルトスキン相当のものを表示できるように、スキンタグを整備。
・jp_SkinFilesにおいて、スキンファイル編集画面にスキンタグの補間機能を付ける。
・プラグインをいくつか作成(WYSIWYGなど)。

ご意見、ご要望、バグ報告等、よろしくお願いします。

jp_SkinFilesとスキンの継承機能について (2010-06-29 04:16 by kmorimatsu #51614)

Jeansでは、新たなスキンを作成する場合に、他のスキンを継承して作成することが可能です。これが大きな特徴のひとつと捉えています。以下の記事を参考にしてください。
http://jeanscms.sourceforge.jp/index.php?itemid=24

ver 0.9.0では、jp_SkinFilesが同梱されています。これを用いると、継承がどのようなものかを知る助けになると考えています。

例えば、管理画面の「スキンファイル管理」に入り「default」をクリックすると、デフォルトスキンを構成するファイルとディレクトリの一覧が表示されます。また、『スキン、「default」は次のスキンから派生しています : jeans』と表示されているのが分かると思います。

ここで、styles, templates, img の3つのディレクトリは普通に表示されていますが、forms, imagesなどのディレクトリは、薄く表示されています。

ここでstylesを押してこのディレクトリの内容を表示させると、forms.cssは薄く、それ以外のファイルは普通に表示されています。

これら、薄く表示されたディレクトリやファイルは実際にはdefaultスキンのコンポーネントではなく、jeansスキンのコンポーネントです。defaultスキンには無い機能でも、派生もとの機能を使うことができるため、それらの派生もとのファイルやディレクトリを薄く表示しているわけです。

また、jp_SkinFilesは、メディアアップローダーとしても機能します。管理画面の「あなたの設定」の「使用するメディア・マネージャー」に「スキンファイル・プラグイン」を設定すると、これが有効になります。この場合、skins/media/ディレクトリのパーミッションを、読み書き可能な値(0777など)に設定しておいてください。
Reply to #51613

RE: jp_SkinFilesとスキンの継承機能について (2010-06-30 03:49 by kmorimatsu #51641)

jp_SkinFiles 0.1.0において、派生したスキンのディレクトリ表示した場合に、スキンの継承が正しく反映されないバグがありました。

修正して、0.1.1としました。

http://sourceforge.jp/projects/jeanscms/svn/view/jeanscms/trunk/jeans/plugins/
Reply to #51614

ヘルプファイルについて (2010-06-29 04:21 by kmorimatsu #51615)

Nucleusと同じように、「?」マークアイコンをクリックすればヘルプを表示する機能を準備してあります。これは、adminスキンにあるhelp.hemlを編集することで実装できます。少し整備して、ちゃんと使えるようになれば、お知らせします。
Reply to #51613

ドキュメントについて (2010-06-29 04:30 by kmorimatsu #51616)

いくつか、ドキュメントを整備する必要があります。例えば、以下のとおり。

・スキンタグの列挙、及び、使用方法
・プラグインAPIの説明
・プラグイン及びライブラリを書く際の規約
・いくつかの重要なライブラリ機能の使用方法

すでに作成したスキンタグだけでも、膨大な量に上ります。始めはWikiにコツコツ書いていく予定でしたが、すべてのスキンタグを列挙するプラグインをまず書いて、それから始めたほうが速いかもしれません。ちなみにすべてのスキンタグは、各クラス中の「tag_」で始まる名前を持つメソッド(static public)に記述されています。ifスキンタグは、「if_」で始まる名前のメソッドによる実装です。

そろそろ、プラグインの書き方を簡単に説明した方がよいように思っています。実際に何人かの方にプラグインを書いていただいて、その後で仕様を確定させるほうが良いと思っています。
Reply to #51613

プラグイン(RE: ドキュメントについて) (2010-06-29 08:33 by masnec #51619)

Markdownプラグインを作ってみたい…というか、作らないと僕のNucleusデータが使えないので…と思っているところです。
Nucleusでも簡単にできたので、作っても仕様に影響するようなことはないかもしれませんけど :-)
Reply to #51616

プラグイン(RE: ドキュメントについて) (2010-06-29 08:54 by kmorimatsu #51620)

この手のプラグインだと、event_pre_itemでの書き換えですね。Nucleusのプラグインと同じように行くと思います。

public static function event_pre_item(&$array){
$body=&$array['row']['body'];
$more=&$array['row']['body'];
$body=some_function($body);
$more=some_function($more);
}

って感じです。プラグインAPI、ドキュメントの整備が必要ですね。今のところ、ソースコードを追うしか手がありません。該当のイベント(event_pre_item)は、blog::_blog_cb()メソッド内に記述が有ります。

あと、masさんが前におっしゃってたかもしれませんが、今のところ「enter」を押すと<br />が挿入されるようになっています。これをいじるのは、少し厄介かもしれません。Jeans本体のほうで、<br />を挿入しないモードを選択できるようにすることも選択肢の一つです。とりあえず、「shift+enter」で、<br />は挿入されません。
Reply to #51619

プラグイン(RE: ドキュメントについて) (2010-06-29 09:05 by kmorimatsu #51622)

あと、MarkdownやBBcodeなどの記述を挿入するためのボタンを、記事の編集画面に表示させることができるようにしてあるはずです。このやり方を確認して、テストコードが成功したら、また報告します。
Reply to #51619

RE: Jeans CMS ver 0.9.0 alphaについてのバグ報告・仕様希望 (2010-12-01 09:10 by nakahara21 #54537)

投稿はここに書くのかどうか、自信ないですが、質問です。

アーカイブリストのブラウジングについてです。
index.php?archive=2010-08&sgid=25
のように、カテゴリで絞り込みしてアーカイブを表示することができないように思うのですが、未実装ですか?
それともスキン調整がまずいだけなのでしょうか....

同様に、index.php?sgid=25でカテゴリ絞込をしている時に、アーカイブリストはsgid=25のリストを表示しているにもかかわらず、
<%data(link)%>
には、
?archive=2010-08&gid=3
が展開されてしまいます。

もし、スキン調整がまずいようであれば修正点をお教えいただければ幸いです。
Reply to #51613

RE: Jeans CMS ver 0.9.0 alphaについてのバグ報告・仕様希望 (2010-12-01 10:52 by kmorimatsu #54539)

blogクラスのソースコードを改めて読んでみて、ずいぶん悩みましたが、たぶん次の方法で解決できると思います。

archive.inc中、<%blog(templates/short.inc,10)%>と<%blog.narrowby(archive)%>の間に、<%blog.narrowby(category)%>を追加してみてください。

アーカイブリストもカテゴリーでの絞込みをしたほうが良いかどうかですが、どうなんでしょうね。
Reply to #54537

RE: Jeans CMS ver 0.9.0 alphaについてのバグ報告・仕様希望 (2010-12-01 12:03 by nakahara21 #54540)

教えていただいた方法で、
index.php?archive=2010-08&sgid=25
が正常にブラウジングできました。ありがとうございました。

が、アーカイブ「リスト」の方が....
 リストはカテゴリーsgid(25)で絞込みされています。
 なのに、
 ?archive=2010-08&sgid=25
 へリンクしてくれません(泣)

<%blog.archivelist%>は、対象アイテムは表示中のURLから抽出してきているんでしょうか。

リストも絞り込みたいときは、
<%blog.narrowby(category)%>
<%blog.archivelist(templates/menu_archive.inc)%>
が有効になると良いと思っています。
Reply to #54539

RE: Jeans CMS ver 0.9.0 alphaについてのバグ報告・仕様希望 (2010-12-01 16:41 by kmorimatsu #54546)

そうですね。アーカイブリストの方のリンク先が、グループ単位になってしまっています。このあたり、要変更です。

むしろ、アーカイブのサブグループによる絞り込みって、需要が有るのでしょうか?たぶん、絞り込みをするケースとしないケースの両方に対応できるのがベストなのでしょう。仰るように、blog.narrowbyタグを使えるようにするのが良さそうですね。

バグ修正の候補として、チケットを上げておきました。
http://sourceforge.jp/ticket/browse.php?group_id=4792&tid=23800
Reply to #54540

RE: Jeans CMS ver 0.9.0 alphaについてのバグ報告・仕様希望 (2011-01-15 11:22 by kmorimatsu #55305)

SVN315にて、<%blog.narrowby(category)%>を指定しない場合、<%blog.archivelist%>でのカテゴリーの絞込みをしないようにしました。また、カテゴリーの絞込みの際にサブグループも含めるようにしました。

?archive=2010-08&sgid=25へのリンクは、もう少しコードを見てみます。
Reply to #54540

RE: Jeans CMS ver 0.9.0 alphaについてのバグ報告・仕様希望 (2011-01-15 11:42 by kmorimatsu #55306)

SVN316にて、<%blog.narrowedby(category)%>を指定した場合に、リンク先にsgidが含まれるようにしました。
Reply to #54540

RE: Jeans CMS ver 0.9.0 alphaについてのバグ報告・仕様希望 (2010-12-01 12:14 by nakahara21 #54541)

アーカイブリストについて、追加で気付いたことが。

★最近の記事タイトル
<%blog(templates/menu.inc)%>
★アーカイブリスト
<%blog.archivelist(templates/menu_archive.inc)%>

と設計しているのですが、

記事を持たない+サブカテゴリに記事がある というカテゴリをブラウズした際に、
★最近の記事タイトル
 (サブカテゴリの記事たち一覧)
アーカイブリスト
 (何も表示されない)
となってしまいます。

アーカイブリスト生成時に、サブカテゴリの記事も含める抽出条件にした方が良いのではないでしょうか。
Reply to #54539

RE: Jeans CMS ver 0.9.0 alphaについてのバグ報告・仕様希望 (2010-12-01 16:43 by kmorimatsu #54547)

アーカイブ抽出のアルゴルズムを、<%blog%>のものと同一に出来ないか、見てみます。
Reply to #54541

RE: Jeans CMS ver 0.9.0 alphaについてのバグ報告・仕様希望 (2011-01-15 11:43 by kmorimatsu #55307)

SVN316で、修正しました。<%blog.narrowedby(category)%>の記述が必要です。
Reply to #54541