On March 26, 2019 we launched new MODX Forums. Please join us at the new MODX Community Forums.
Subscribe: RSS
  • maimiさんはじめまして(dainitiさん、yamaさん遅くまでご苦労様です)。

    【1】 一部ソース(タグ)が自動的に削除されてしまう  ※左記コメントさせてください。

    最初のdainitiさんの対処案に一票を投じたいと思います。

    modx 側で編集する必要がないのであればページ設定のリッチテキストで編集のチェックをはずしてからいったん保存し再度編集時にはエディタのない状態でコードを貼り付けることができます。またはチャンクに iframe で囲ったコードを書いておきページから呼び出す方法もあります。テンプレートのコード内で[*content*]を iframe で囲むのが一番手っ取り早いかもしれません。
    理由は以下の通りです。

    1.valid_elementsによるtinyMCEのカスタマイズはリスクが高そう

     tinyMCEがiframeを削除する理由は私もよく分かりませんが、セキュリティ上の危険性があったり、処理の完全性が保証できない、など、何らかの理由がそこにはあるのだろうと予想します。もしセキュリティ的な理由だとすると、iframeとその内蔵タグを強制的に許してしまうと、将来(この問題を忘れた頃に)、maimiさんがサイトでコメントを許しtinyMCEを一般閲覧者に使わせた時から、サイト固有の脆弱性を抱えてしまうのではないかと心配するからです(歳ゆえの取り越し苦労かもしれませんが・・・)。以前、他のシステムでtinyMCEの移植&チューニングをしたことがあるのですが、チューニングそのものは簡単でも、動作検証が大変で結局サンプル通りに戻した経緯があります。

    2.Dreamweaver>>>tinyMCEをOKにしてもDreamweaver<<<tinyMCEがOKになるとは限らないから

     Dreamweaverに慣れてるmaimiさんは、tinyMCEの操作性に違和感を感じてると思います(私がそうです)。
     tinyMCEに食わせたHTMLコードは、tinyMCEが認識しやすいコードに書き換えられてしまう可能性が高く、tinyMCEで暫くメンテしたHTMLコードを逆にDreamweaverに戻した場合、ちゃんと編集できるか心配だからです(実際に試したわけではないので、試した人の意見を聞きたいところです)。
    • TinyMCEがiframeを通さないのは、基本的にこの種のエディタには必要ないからでは。Dreamweaverでも、書けるには書けるけどプレビューできないですよね。このへん、誰がどういう目的で使うかとか、TinyMCE自体がどうというより、運用面の検討が大きいと思います。たとえばDreamweaverとの往復を減らすためにTinyMCEを選ぶとか、コンテンツによっては高度なDHTML表現を含んでいるから面倒でもDreamweaverによるコード編集を選ぶとかではと。

      幸いなことにMODxではどちらのアプローチも選びやすい。スニペットを少し工夫すれば、Dreamweaverで作ったファイルのbody要素の内側のみをインクルードしたりとかもできますね。テンプレートの制御はMODxにやらせるけど、コンテンツはDreamweaverでビジュアル重視でしっかり管理したい、なんて運用も可能だと思います。

      > tinyMCEに食わせたHTMLコードは、tinyMCEが認識しやすいコードに書き換えられてしまう可能性が高く

      改行のタイミングやインデントなどは変わると思いますが、Dreamweaverで読み込んで解釈が異なる形にしてしまうことはないと思います。というよりWeb標準とか、そのへんかなり気を使って開発している印象があります。昔はmcehrefとか、独自なコードを盛り込んで評価を下げたことがありましたが。
      • http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/valid_elements
        ちなみに、TinyMCEデフォルトのセーフリストはこちら。こういう仕組みの存在はsama55さんはご存じかと思いますが、他の方の参考にいちおう。
        • Quote from: yama at Jan 11, 2009, 12:27 PM

          TinyMCEがiframeを通さないのは、基本的にこの種のエディタには必要ないからでは。
          そうかもしれませんね。
          うろ覚えですがiframeは(昔?)ブラウザによってはサポートされないタグだったり、挙動に大きな違いがあったような記憶も・・・
          色々想像はできますが、正直分かりませんね。

          Quote from: yama at Jan 11, 2009, 12:27 PM

          Dreamweaverでも、書けるには書けるけどプレビューできないですよね。このへん、誰がどういう目的で使うかとか、TinyMCE自体がどうというより、運用面の検討が大きいと思います。たとえばDreamweaverとの往復を減らすためにTinyMCEを選ぶとか、コンテンツによっては高度なDHTML表現を含んでいるから面倒でもDreamweaverによるコード編集を選ぶとかではと。
          幸いなことにMODxではどちらのアプローチも選びやすい。スニペットを少し工夫すれば、Dreamweaverで作ったファイルのbody要素の内側のみをインクルードしたりとかもできますね。テンプレートの制御はMODxにやらせるけど、コンテンツはDreamweaverでビジュアル重視でしっかり管理したい、なんて運用も可能だと思います。
          はい。yamaさんの仰るとおりだと思います。

          Quote from: yama at Jan 11, 2009, 12:27 PM

          > tinyMCEに食わせたHTMLコードは、tinyMCEが認識しやすいコードに書き換えられてしまう可能性が高く
          改行のタイミングやインデントなどは変わると思いますが、Dreamweaverで読み込んで解釈が異なる形にしてしまうことはないと思います。というよりWeb標準とか、そのへんかなり気を使って開発している印象があります。昔はmcehrefとか、独自なコードを盛り込んで評価を下げたことがありましたが。
          そうですね。この件に関連することとしては、MODxのテンプレートとチャンクの編集画面が気になってます。
          テンプレートはtinyMCEが選択できませんし、チャンクはデフォルトが生ですよね。これは、どちらも、1つの定義内で開始タグと終了タグが厳密に閉じてなくても使えるようにしたいから、という解釈は勿論できるのですが、果たしてそれだけの理由なのか?(深読みしすぎかもしれませんが・・・)

          この辺は、実際にDreamweaverとtinyMCEとの間で相互運用した(している)方がコメントしてくれると説得力があるのですが。。。
          • テンプレートやチャンクでTinyMCEが使えないのは分かる気がします。MODxの開発チームが理解したうえでそのようにしているのかどうかは分かりませんが、TinyMCE自体はコンテンツ向きであることがわりと明確で、テンプレートなどデザインワークへの利用はほとんど意識してないし、今後も対応するつもりはなさそうな感じです。たとえばどんなCMSでも、テンプレートを作る場合に独自のタグやphpタグを埋め込んだりすると思いますが、そういった使い方をほとんど想定してない感じです。仮に開発チームに提案しても即日で却下されちゃうし。厳密には、コンセプトとしてはTinyMCEはWYSIWYGエディターではないのでしょう。

            WordPressなどは、TinyMCEとは開発方針が強く共鳴しているように思います。たとえばWordPressでは「勝手にタグが書き換えられてしまう」という話をよく聞きますが、両者ともValidなhtmlを書かせることに強いこだわりを感じます。WordPressの開発チームはTinyMCEの思想や仕組みをよく熟知したうえで投稿画面に採用しているようですが、テンプレート編集画面では採用してないですね。
            • そういえばこの件に関してはひとつネタが。net2ftpというオープンソースなツールがあって、これはその名のとおり、ftpを実現するものなんですが。たとえばサーバ上のテキストファイル・htmlファイルを書き換えたりすることもできます。ある意味、既存の静的htmlサイトをCMSライクにしてしまうような使い方が、インストールするだけで簡単にできてしまいます。
              その際TinyMCEを利用することができるようになってますが、さすがに使い物にならないみたい。
              • Quote from: yama at Jan 12, 2009, 01:59 AM

                そういえばこの件に関してはひとつネタが。net2ftpというオープンソースなツールがあって、これはその名のとおり、ftpを実現するものなんですが。たとえばサーバ上のテキストファイル・htmlファイルを書き換えたりすることもできます。ある意味、既存の静的htmlサイトをCMSライクにしてしまうような使い方が、インストールするだけで簡単にできてしまいます。
                その際TinyMCEを利用することができるようになってますが、さすがに使い物にならないみたい。
                勉強不足。net2ftpは知りませんでした。関連サイトを拾い読みして、なるほどね~って感心しました。
                TinyMCEが使い物にならないってのもよく分かります。 grin

                ここまでの議論で、本件(Dreamweaverで作ったコードをどのような方法でMODxに取り込むか)に関する判断材料は多少なりとも浮き彫りになったと思います。
                新たな事実や議論の材料が出るまで、取りあえずこの件はFIXとしましょうか。【2】 QuickEditの不具合の件もありますしね。