--> -->
サーバーを移行した際にtracのバージョンをyumの仰せの通り1.2にしたのですが、重要なプラグインTracWysiwygがちょっと不便な事になってしまったので対応した記録です。
TracTicketTemplateはType切り替えの際にちゃんとTracWysiwygが入っているか見て動作を切り替えています。
|
上記のように、id='editor-wysiwyg-1'が選択されていたらwysiwygモードと判定し、一旦textarea(wysiwygを使わないモード)に切り替え、textareaを書き換えた後、今度はid='editor-wysiwyg-1'をクリックしてwysiwygを使うモードに戻しています。
wysiwygモードのままではtextareaを書き換えられないのでこのようにしているものと思われます。
このようにTracTicketTemplateではTracWysiwygの事を気にしているにも関わらず、TracWysiwygの方は2016/11/2にこのidを削除してしまっています。(https://trac-hacks.org/changeset?sfp_email=&sfph_mail=&reponame=&new=15670%40tracwysiwygplugin%2F0.12%2Ftracwysiwyg%2Fhtdocs%2Fwysiwyg.js&old=15668%40tracwysiwygplugin%2F0.12%2Ftracwysiwyg%2Fhtdocs%2Fwysiwyg.js&sfp_email=&sfph_mail=)
従って、この変更を元に戻してやれば良いわけです。 対象ファイルは wysiwyg.js になります。 ただし、過去の通りに戻しても上手くいかない(上記差分では「-1」部分は「-@」と連番に差し替えを示唆する記述になっているがうまく差し替わってくれない)ので、以下のように修正します。
1 2 3 4 5 6 7 8 9 10 11 |
|
5行目と8行目でlabelタグのforディレクティブと、inputタグのidディレクティブを設定しています。これで正常に動くようになります。
実際の、具体的な手順は以下の通りです。
> vi tracwysiwygplugin/0.12/tracwysiwyg/htdocs/wysiwyg.js(Windowsで編集しておいた方が簡単かも。。)
> sudo python setup.py install
> sudo systemctl restart httpdテンプレートを設定し、チケット新規作成画面でwysiwygモードのままTypeを切り替えてもテンプレートが正常に切り替われば成功です。
原因はよく分からないのですが、cssを修正すると直るのでそのようにします。
> vi tracwysiwygplugin/0.12/tracwysiwyg/htdocs/wysiwyg.css
1 2 3 4 5 6 7 |
|
3行目をコメントアウトします。
これは新しいからというわけではないのですが、参考文献( *1 )の通りの高速化がTracWysiwygではされておらず、効果が半減してしまうため、TracWysiwygのcssやjsファイルも静的に読むよう修正します。
+ if 'htdocs_location' in req.chrome: + add_script(req, '../..'+req.chrome['htdocs_location']+'/tracwysiwyg/wysiwyg.js') + else: add_script(req, 'tracwysiwyg/wysiwyg.js')62行目付近。chrome/commonだけでなくchrome/tracwysiwygも書き換えるようにします。
if filename.startswith('chrome/common/') and 'htdocs_location' in req.chrome: href = Href(req.chrome['htdocs_location']) return href(filename[14:]) + if filename.startswith('chrome/') and 'htdocs_location' in req.chrome: + href = Href(req.chrome['htdocs_location']) + return href(filename[7:])
Alias /trac/chrome/site /var/trac/project/htdocs <Location "/trac/chrome/site"> Require all granted </Location>
|
この本は持っていませんが、雪原の表紙に惹かれてつい・・・(^^;)。 こういう本でプラグインのカスタマイズ方法まで解説してくれたりするんでしょうか・・・。 こういうのも豆蔵さんなんですね・・・(深い意味はなし)。 |
Trac を設置するときは静的ファイルを分離すると速い
Tracの構築手順:https://qiita.com/kyokuheki/items/93f24582c20d49a9e95f#tracの設定