大量の下書きを消去する方法はないでしょうか?

2016年9月28日 at 12:27

現在運用中のサイトで、以前フォーラムで投稿した、コンポーザーのテストのため下書きが300ページ以上作成されてしまったサイトがあります。
不要なので一気に消したいのですが、下書きにはゴミ箱のように一気に空にする機能は無いのでしょうか?
もしくは、タイトルが入っていない下書きを一気に消去するジョブがあればありがたいのですが、どなたか作成した事ある方はいらっしゃらないでしょうか?

タグ:

Re: 大量の下書きを消去する方法はないでしょうか?

2016年9月28日 at 12:50
あ、これ、自分も興味あります。

構造的に結構簡単にできそうです。

- Rescan All Files ジョブパッケージをベース
- ファイル一覧を Job のキューに出力するところを、下書きページ一覧を出力するようにする。 PageListクラスの絞込を使って簡単にできそう
- ジョブのプロセスのところで、結果として出てきたページを削除するというプログラムを書く

ここで、ゴミ箱に移動させるのか、完全に削除してしまうのか考えないとですね。
 

Re: 大量の下書きを消去する方法はないでしょうか?

2016年9月28日 at 18:02
返答ありがとうございます!

Rescan All Files はこれですね。ソース見てみます。
http://www.concrete5.org/marketplace/addons/rescan-all-files

いきなり削除するよりは、ゴミ箱に移動させた方が良さそうですね。
 

Re: 大量の下書きを消去する方法はないでしょうか?

2016年11月10日 at 12:06
こちら、cloud9に環境作成して作業しています。
http://ide.c9.io/kanetei/c5-del-draftpage-test
ソースコードは
http://github.com/kanetei/erase_draftpage_job

検索していて本家フォーラムでの下記のやり取りを見つけました。
http://www.concrete5.org/community/forums/usage/is-there-a-way-to-delete-draft-.
上記と Rescan All Files を参考にして修正してみたのですが、
・ジョブが実行できるが終わらない
・下書きが移動していない
という状態になり、どこを直していいのかが分かりません……。
ご教授頂けるとありがたいです。
 

Re: 大量の下書きを消去する方法はないでしょうか?

2016年11月10日 at 15:23
ありがとうございます。
今夜の週刊 concrete5 で原因を探ってみます。
 

Re: 大量の下書きを消去する方法はないでしょうか?

2016年11月11日 at 2:00
お世話になります。

動くようにしました。

http://github.com/katzueno/addon_erase_draftpage_job

動かなかったのは、おそらく38行目の Page 宣言が行けなかったと思います。

直したコミットはこちらです。
http://github.com/katzueno/addon_erase_draftpage_job/commit/5d99fc897f90eaf5d2fd262e359d31e72dedd27a

- Page を use で宣言
- 下書きページ判定を加える
- moveToTrash() は公開済みのページのみ。ゴミ箱に移動させる関数なので使えないです。delete() になります。

Readme も、Rescal All Files と全く同じなので、それをコピペした Readme を作ってみました。

マーケットプレイスへの出展、どうします?

では。
 

Re: 大量の下書きを消去する方法はないでしょうか?

2016年11月29日 at 11:11
すいません、確認遅くなりました……。
ローカル環境でテストし問題ない事確認いたしました。
マーケットプレイスへの出展、お願いします。
 

Re: 大量の下書きを消去する方法はないでしょうか?

2016年11月29日 at 12:58
ありがとうございます。
Pictron さんにアイコンのデザインをお願いしました。

アイコンが出来たら、マーケットプレイスに出展いたします。