codeforjapan / decidim-cfj

Code for Japan Decidim
GNU Affero General Public License v3.0
54 stars 36 forks source link

DecidimAwesomeを導入する #257

Closed takahashim closed 3 years ago

takahashim commented 3 years ago

改善詳細 / Details of Improvement

現状、管理画面等のテキストエリアによるフォーム画面で画像を使おうとすると、テキストエリア内にdata URLによる画像の貼り付けを行う方法しかなく、それをやってしまうと巨大なDBレコードやファイルが生成されてしまうようです。 これがパフォーマンスの大幅な低下や、サービスの障害などの要因になることがあるようでした。

これを解決するためにはdata URL以外の画像アップロードが必要になりますが、実はすでに(!)そのための拡張モジュールとしてDecidimAwesomeというものがあるようでした。

https://github.com/Platoniq/decidim-module-decidim_awesome

そこで、Decidim-cfjでもこれを導入することを検討すると良いのではないかと思いましたが、いかがでしょうか。

スクリーンショットなど / Screenshot

画像を追加した画面

awesome1

フォーム画面

awesome2

管理画面に追加された様子

awesome-admin

期待する見せ方・挙動 / Expected behavior

DecidimAwesome自体はいろんな機能を追加するものですが、まずは画像アップロード機能のみを導入するので良いかと思います。 (Markdownエディター化もできるようですが、まだexperimentalのようでした)

対象インスタンス / Instances

takahashim commented 3 years ago

223 に修正をマージしてもらったので、#223 がマージされればDecidimAwesomeが使えるようになるはずです

ayuki-joto commented 3 years ago

画像をドラッグアンドドロップで入れようとすると何度かalertでundefinedが出て consoleを確認すると、 スクリーンショット 2021-07-20 22 28 44 このように表示されてました。。。 これもコンパイル関係でしょうか...?

takahashim commented 3 years ago

413はPayload Too Largeなので、ファイルが大きすぎてどこかの制限に引っかかってる可能性はありますね…。

ayuki-joto commented 3 years ago

413に関してはnginx の設定で解消できたのですが,loading.gifの読み込みがやはりできていません. loading.gifは,decidim_awesome以下のquit_editor.scssで読み込んでいるようなのですが,precomplie時にこのgifは,compileされていないようです. ここをこちらで置き直すようにもトライしていますがうまく行っていません....

ayuki-joto commented 3 years ago

app/asssets/stylesheets/application.cssは全ページで読み込まれている認識でしたが読み込まれていないのでしょうか...?

takahashim commented 3 years ago

私がローカルの開発環境で試している分には、ふつうに

http://localhost:3000/assets/decidim/decidim_awesome/loading.gif

でファイルを読み込んでいるようでした。

decidim-cfjのapp/assets/images/decidim/decidim_awesome/ あたりに loading.gif をコピーしてから rake assets:precompileすると、 public/assets/decidim/decidim_awesome/loading-ee3290439a8d1958293f818480968bf5be1a5cf8659aa07c51d4321f4f6a00e6.gif が生成されるようなので、最悪こうするとよいかも?