webmasterです。
ver.0.9.6bに大変重大な不具合が発見されました。
申し訳ありませんが、早急にver.0.9.6cにバージョンアップして頂けますよう、
お願いいたします。m(_ _)m
この不具合は、新規エントリを追加するとIDがおかしくなっていき(10→1011→101112→・・)、
最後には壊れる、というものです。
既存のエントリデータには影響が無いものの、IDを管理するファイルが壊れてしまう
という重大な影響があります。
既にIDがおかしくなってしまった方は、エントリフォルダの"xxxx.sequence"という
ファイルを開いて修正してください。このファイルには最新のエントリIDが保存されて
いる必要があるので、ここに最新のIDを記入して保存しなおしてください。
ご不明な点などはこちらにてご質問ください。
重ね重ね大変ご迷惑をおかけしました。m(_ _)m
【重要】ver.0.9.6bで、新規エントリの追加をするとIDが壊れる
モデレータ: webmaster
Re: 【重要】ver.0.9.6bで、新規エントリの追加をするとIDが壊れる
webmasterです。
この度は大変ご迷惑をおかけしております。
既にエントリIDがおかしくなってしまったエントリについては、最も簡単な修復
方法は、
(1) 一旦、エントリIDがおかしくなったエントリを全て削除する。
(2) エントリフォルダ内の xxxxxx.sequence というファイルを開いて、
中に最新のエントリIDを設定する。
という方法なのですが、もしそれが難しい場合は、以下の手順でデータを
修正することができます(かなり難易度が高いので、バックアップを取って
から作業してくださいませ)。
以下、entry1という名前のエントリフォルダ名と仮定します。
【状況】
entry1.00001.xml
entry1.00002.xml
entry1.00003.xml
entry1.00034.xml ←本来、00004
entry1.00345.xml ←本来、00005
entry1.index.xml
entry1.sequence
【対処】
(1) エントリファイル名を修正
entry1.00034.xml → entry1.00004.xml
entry1.00345.xml → entry1.00005.xml
(2) エントリファイルの中身を修正
entry1.00004.xml、entry1.00005.xmlをエディタで開いて、
entry要素のid属性を、正しいidに修正して保存しなおす。
(3) entry1.index.xmlを修正
entry要素のhref属性とid属性を修正して保存しなおす。
この例で言うと、
<entry href="entry1.00034.xml" id="00034"><sortkey ....
<entry href="entry1.00345.xml" id="00345"><sortkey ...
という箇所があるので、
<entry href="entry1.00004.xml" id="00004"><sortkey ....
<entry href="entry1.00005.xml" id="00005"><sortkey ...
と修正して保存する。
(4) entry1.sequenceを修正する
ファイルを開くと、"345"となっているので、これを"5"に直して保存する。
以上です。
基本的には、エントリ削除→sequenceファイル修正→新規追加を
お勧めします。m(_ _)m
p.s.
良く見たら、CMS Designerの「お知らせ」に最近追加したエントリも、IDがおかしく
なっていました。。。
この度は大変ご迷惑をおかけしております。
既にエントリIDがおかしくなってしまったエントリについては、最も簡単な修復
方法は、
(1) 一旦、エントリIDがおかしくなったエントリを全て削除する。
(2) エントリフォルダ内の xxxxxx.sequence というファイルを開いて、
中に最新のエントリIDを設定する。
という方法なのですが、もしそれが難しい場合は、以下の手順でデータを
修正することができます(かなり難易度が高いので、バックアップを取って
から作業してくださいませ)。
以下、entry1という名前のエントリフォルダ名と仮定します。
【状況】
entry1.00001.xml
entry1.00002.xml
entry1.00003.xml
entry1.00034.xml ←本来、00004
entry1.00345.xml ←本来、00005
entry1.index.xml
entry1.sequence
【対処】
(1) エントリファイル名を修正
entry1.00034.xml → entry1.00004.xml
entry1.00345.xml → entry1.00005.xml
(2) エントリファイルの中身を修正
entry1.00004.xml、entry1.00005.xmlをエディタで開いて、
entry要素のid属性を、正しいidに修正して保存しなおす。
(3) entry1.index.xmlを修正
entry要素のhref属性とid属性を修正して保存しなおす。
この例で言うと、
<entry href="entry1.00034.xml" id="00034"><sortkey ....
<entry href="entry1.00345.xml" id="00345"><sortkey ...
という箇所があるので、
<entry href="entry1.00004.xml" id="00004"><sortkey ....
<entry href="entry1.00005.xml" id="00005"><sortkey ...
と修正して保存する。
(4) entry1.sequenceを修正する
ファイルを開くと、"345"となっているので、これを"5"に直して保存する。
以上です。
基本的には、エントリ削除→sequenceファイル修正→新規追加を
お勧めします。m(_ _)m
p.s.
良く見たら、CMS Designerの「お知らせ」に最近追加したエントリも、IDがおかしく
なっていました。。。
最後に編集したユーザー webmaster on 2005年2月27日(日) 15:42 [ 編集 1 回目 ]
Re: 【重要】ver.0.9.6bで、新規エントリの追加をするとIDが壊れる
素早いご対応ありがとうございました。
早速アップデートしてみました。
結果、手動で修正→アップの場合は、やはりまだエラーになってしまいました。
なのでこの方法はとりあえず置いといて、エントリ削除→新規追加をしました。
こちらはもちろん、成功しました。
試しに、その後エントリーを1,2,3,4,5と作り、
エントリー2〜5までを削除し、
再度エントリー2を作成した場合はIDが00006になりました。
一度作成されたIDは削除してしまったら再度作成できないみたいですね。
そこで(動作上は問題ないのですが)IDを連番にしたいと思い、
シーケンスファイル[hogehoge.sequence]を手動で修正したのですが、
またまたエラーが出てしまいました。
どうやら手動では上手く修正できないみたいなんです。
やはりエントリー削除→新規追加するしかないでしょうか。
早速アップデートしてみました。
結果、手動で修正→アップの場合は、やはりまだエラーになってしまいました。
なのでこの方法はとりあえず置いといて、エントリ削除→新規追加をしました。
こちらはもちろん、成功しました。
試しに、その後エントリーを1,2,3,4,5と作り、
エントリー2〜5までを削除し、
再度エントリー2を作成した場合はIDが00006になりました。
一度作成されたIDは削除してしまったら再度作成できないみたいですね。
そこで(動作上は問題ないのですが)IDを連番にしたいと思い、
シーケンスファイル[hogehoge.sequence]を手動で修正したのですが、
またまたエラーが出てしまいました。
どうやら手動では上手く修正できないみたいなんです。
やはりエントリー削除→新規追加するしかないでしょうか。
Re: 【重要】ver.0.9.6bで、新規エントリの追加をするとIDが壊れる
webmasterです。
申し訳ありません、先ほど投稿した「最も簡単な修復方法」に「sequenceファイル
を修正する」というのが抜けていた為、投稿内容を修正しました。m(_ _)m
ではやはり追加時にエラーになるかと思います。申し訳ありませんでした。
記入しておいてくださいませ。これも先ほどの説明では分かりにくかった
ですね・・・すいません。
ちなみに、仰るとおり、追加するたびに「最新のエントリID(sequenceファイル
の内容)」はカウントアップされていきますが、エントリを削除しても最新のIDは
変更されません。
これは、検索エンジンなどで、既に削除されたIDへのリンクがキャッシュとして
残っている場合に、別のエントリを表示してしまわないようにする為の対策です。
もし、ページ上でエントリに連番を振りたい場合は、デザイン定義ファイル中に
以下の記述を追加してみてください。
"position()"は、エントリの「並び順」を取得するXSLTの命令で、1から連番に
なります。
申し訳ありません、先ほど投稿した「最も簡単な修復方法」に「sequenceファイル
を修正する」というのが抜けていた為、投稿内容を修正しました。m(_ _)m
sequenceファイルの内容が既に壊れている為、単にエントリ削除→追加だけ既にエントリIDがおかしくなってしまったエントリについては、最も簡単な修復
方法は、
(1) 一旦、エントリIDがおかしくなったエントリを全て削除する。
(2) エントリフォルダ内の xxxxxx.sequence というファイルを開いて、
中に最新のエントリIDを設定する。
ではやはり追加時にエラーになるかと思います。申し訳ありませんでした。
sequenceファイルには、エントリIDが現在「00004」の場合、単に"4"とだけnobu さんが書きました:そこで(動作上は問題ないのですが)IDを連番にしたいと思い、
シーケンスファイル[hogehoge.sequence]を手動で修正したのですが、
またまたエラーが出てしまいました。
どうやら手動では上手く修正できないみたいなんです。
やはりエントリー削除→新規追加するしかないでしょうか。
記入しておいてくださいませ。これも先ほどの説明では分かりにくかった
ですね・・・すいません。
ちなみに、仰るとおり、追加するたびに「最新のエントリID(sequenceファイル
の内容)」はカウントアップされていきますが、エントリを削除しても最新のIDは
変更されません。
これは、検索エンジンなどで、既に削除されたIDへのリンクがキャッシュとして
残っている場合に、別のエントリを表示してしまわないようにする為の対策です。
もし、ページ上でエントリに連番を振りたい場合は、デザイン定義ファイル中に
以下の記述を追加してみてください。
コード: 全て選択
<xsl:value-of select="position()"/>
なります。
ありがとうございました。
何度もすみませんでした。
なんとか解決しましたのでご報告します。
まず、ご説明いただきました通り、sequenceファイルを修正してアップ後、新規エントリーの作成を試みたのですが、エラーが出てしまいました。既に存在するエントリの修正は問題なくできるのですが、新規にエントリを作成しようとするとエラーが出ます。
そのエラー表示の中にPermissionDeniedという表示があったのでTarminalを使い(MacOSXを使ってます)サーバへ直接アクセスし調べてみることにしました。
結果、sequenceファイルのオーナーが
修正前:nobody
修正後:marumaru(私のユーザ名)
に変わってしまってました。
というわけで、marumaru→nobodyに戻すことで、新規エントリを作成してもエラーが出なくなり、めでたく解決しました。(chownを使えるようにするために知人のサーバ管理者にmarumaruの権限を若干変更してもらいました。)お騒がせしました。
ありがとうございました。
なんとか解決しましたのでご報告します。
まず、ご説明いただきました通り、sequenceファイルを修正してアップ後、新規エントリーの作成を試みたのですが、エラーが出てしまいました。既に存在するエントリの修正は問題なくできるのですが、新規にエントリを作成しようとするとエラーが出ます。
そのエラー表示の中にPermissionDeniedという表示があったのでTarminalを使い(MacOSXを使ってます)サーバへ直接アクセスし調べてみることにしました。
結果、sequenceファイルのオーナーが
修正前:nobody
修正後:marumaru(私のユーザ名)
に変わってしまってました。
というわけで、marumaru→nobodyに戻すことで、新規エントリを作成してもエラーが出なくなり、めでたく解決しました。(chownを使えるようにするために知人のサーバ管理者にmarumaruの権限を若干変更してもらいました。)お騒がせしました。
なるほど、そうですよね。webmaster さんが書きました: ちなみに、仰るとおり、追加するたびに「最新のエントリID(sequenceファイルの内容)」はカウントアップされていきますが、エントリを削除しても最新のIDは変更されません。
これは、検索エンジンなどで、既に削除されたIDへのリンクがキャッシュとして残っている場合に、別のエントリを表示してしまわないようにする為の対策です。
こちらも今度試してみようとおもいます。webmaster さんが書きました: もし、ページ上でエントリに連番を振りたい場合は、デザイン定義ファイル中に以下の記述を追加してみてください。
"position()"は、エントリの「並び順」を取得するXSLTの命令で、1から連番になります。コード: 全て選択
<xsl:value-of select="position()"/>
ありがとうございました。
Re: ありがとうございました。
webmasterです。
nobuさん、事後報告ありがとうございます。m(_ _)m
ところで、エントリIDを連番にしたいという件ですが、エントリIDを任意の番号に
変更する機能をつけてはどうか、という意見が開発メンバーから挙がりまして、
現在その是非について検討中です。
ひょっとしたらいずれその機能が実装されるかもしれません。
またご意見などありましたら、お気軽にお寄せくださいませ。
nobuさん、事後報告ありがとうございます。m(_ _)m
ところで、エントリIDを連番にしたいという件ですが、エントリIDを任意の番号に
変更する機能をつけてはどうか、という意見が開発メンバーから挙がりまして、
現在その是非について検討中です。
ひょっとしたらいずれその機能が実装されるかもしれません。
またご意見などありましたら、お気軽にお寄せくださいませ。