Kelola dan Publikasikan css dan JS dari situs tridion 9.5 dan gunakan di aplikasi web java dxa 2.2
Saya menemukan skenario di mana css dan js tidak ditangani melalui html-build.zip,
Sebagai gantinya kita perlu menyimpan css dan js di cm dan menerbitkan publikasi itu dengan bijak.
juga saya perlu menggunakan file css dan file js di jsps pada aplikasi web.
dapatkah seseorang menyarankan saya bagaimana hal ini dapat dicapai.
Jawaban
Saya telah menggunakan Tridion untuk mempublikasikan CSS dan JavaScript berkali-kali di masa lalu.
Harap diingat bahwa setiap penerapan berbeda . Apa yang telah saya lakukan mungkin tidak sesuai dengan apa yang telah Anda lakukan.
Komponen Kode + Template Halaman
Pendekatan yang paling umum adalah "Komponen Kode" yang merupakan skema Tridion dengan bidang teks biasa tunggal yang disetel ke 20 - 30 baris. CSS dan JavaScript secara harfiah disalin dan ditempelkan ke dalam bidang. Template komponen yang ditulis dalam Razor Mediator for Tridion (atau DWT dalam hal ini) menampilkan kolom tunggal dan hasilnya adalah file .css atau .js.
Dalam satu implementasi, kami menambahkan metadata ke skema kode kami untuk memungkinkan kami mengubah obfuscation dan minification. Ini mengharuskan kami menambahkan TBB .net yang tentu saja dapat menjalankan tugas-tugas ini.
Kami akan membuat template halaman CSS dan JS yang tugasnya hanya merender satu bidang dari komponen kode kami. Pada dasarnya ini melakukan pekerjaan menggabungkan CSS atau JS menjadi satu file .css atau .js.
Saya menggunakan pendekatan ini di Tridion R5.1 - 2011. Ini adalah pendekatan lama yang belum pernah saya lihat di implementasi modern; ini berfungsi ketika kami menerbitkan halaman JSP atau HTML dari Tridion ke server file.
Kerugian:
- Tidak berfungsi dengan baik saat Anda tidak memublikasikan file statis
- Risiko kesalahan Transkripsi dalam menyalin dan menempel (ya, sungguh)
- hasil yang aneh jika CSS / JS tidak ditulis dengan baik; template halaman tersebut memungkinkan Anda menyetel urutan komponen kode, dan jika kode ditulis dengan buruk, beberapa gaya atau blok JS dapat menimpa yang lain atau tidak berfungsi jika satu hal bergantung pada yang lain
Sisi atas:
- Mudah diimplementasikan
- "Kode sebagai konten". Beberapa organisasi memiliki proses kontrol perubahan yang ketat dan memperlakukan kode sebagai konten berarti mereka dapat melewati proses tersebut.
CSS / JS sebagai Binari
Ini hanyalah putaran dari contoh sebelumnya, tetapi idenya di sini adalah Anda menambahkan jenis mime .css dan .js ke Tridion dan mengizinkannya untuk diunggah sebagai biner. Ini untuk menghilangkan rasa sakit kesalahan transkripsi dari salin dan tempel.
Penerbitan kemudian disederhanakan saat Anda mempublikasikan aset langsung dari Tridion.
Kerugian
- Masih merupakan skenario "kode sebagai konten", meskipun risiko kesalahan transkripsi disederhanakan.
- mengganti nama biner semuanya bermasalah. Ini bisa mengakibatkan server menghapus file .css secara manual (atau itu terjadi di zaman saya). Itu juga bisa mengakibatkan situs rusak.
Sisi atas
- Mudah diimplementasikan
- kecil kemungkinannya mengalami kesalahan salin-pasta dibandingkan opsi lainnya
Saya telah melakukan kedua skenario ini. Saya juga punya kasus di mana kami membuat TBB khusus untuk mengeksekusi preprocessor CSS di Tridion , jadi kami dapat memiliki SASS / SCSS di CMS.
Ada kerugian kuat dari pendekatan ini. Yang terpenting, Anda ingin memastikan bahwa Anda benar-benar dapat mengatur templat halaman tertentu untuk dipublikasikan sebagai file statis dan tidak pergi ke broker (untuk diperlakukan sebagai konten aktual).
Dalam pendekatan "CSS / JS sebagai binari", mereka akan diperlakukan seperti gambar, video, dan PDF. Anda mungkin tidak menginginkan itu.
Saya memanipulasi instruksi grunt pada komponen build-file zip dan meletakkan semua css dan js serta gambar statis dalam komponen zip desain-html, juga membuat grup struktur seperti yang disyaratkan oleh template "Publikasikan desain HTML", bahwa bagaimana saya dapat mempublikasikan css dan js sebagai konten biner dxa tanpa menyentuh template atau perubahan apa pun di sisi aplikasi web.