Adobe Experience Manager (AEM) adalah Content Management System(CMS) untuk web perusahaan yang sangat besar. Itu dikemas dengan fungsi yang memungkinkan penulis konten untuk menciptakan pengalaman digital yang hebat.
Seperti halnya dengan setiap produk dalam skala besar, juga
sangat mudah untuk membuat keputusan yang salah ketika mengembangkan solusi
khusus di atasnya.
AEM sangat fleksibel sehingga persyaratan apa pun dapat diterjemahkan ke dalam berbagai implementasi, mulai dari solusi yang dibuat khusus yang terpisah dari inti AEM, hingga solusi yang terintegrasi erat ke dalam inti produk.
Kami juga mengetahui ide di balik produk dengan sangat baik,
memungkinkan kami untuk memilih solusi yang paling hemat biaya, dapat
dipelihara, dan tahan di masa depan untuk tantangan pengalaman digital Anda.
Dan kami akan jabarkan di bawah ini.
1. Desain & arsitektur informasi
Nilai setiap persyaratan secara menyeluruh dan verifikasi
dengan fungsionalitas produk. Terkadang Anda mungkin perlu menyesuaikan
persyaratan awal sehingga kemampuan AEM sepenuhnya sesuai dengan hasil yang
diinginkan. Beberapa contoh:
- Memanfaatkan kerangka Context-Aware Configuration untuk membuat sub-bagian situs web terlihat & berperilaku berbeda;
- Merender daftar dokumen yang berasal dari sistem eksternal melalui kerangka Sling Dynamic Include untuk membuat halaman yang memuatnya tetap dapat disimpan dalam cache;
- Menggunakan Penggabungan Sumber Daya Sling untuk menghindari duplikasi komponen out-of-the-box
- Menghapus CSS responsif dan memanfaatkan fungsionalitas di dalam AEM untuk itu
- Menghapus persyaratan sepenuhnya karena tidak mengikuti produk AEM
- Jadikan 95+% permintaan dapat disimpan dalam cache, memastikan kinerja tinggi.
2. Menggunakan Komponen Inti WCM
Inisiatif Adobe WCM Core Components diluncurkan untuk
menjauh dari komponen "fondasi" lama yang tidak mutakhir dengan semua
praktik terbaik yang telah dikembangkan dan untuk menyediakan lapisan yang
kokoh di mana setiap proyek dapat diperluas.
Memanfaatkan komponen ini tanpa penyesuaian apa pun
memberikan blok pembangun tanggung jawab tunggal yang solid untuk penulis
konten. Berdasarkan prinsip di balik komponen inti ini, kami juga telah
mengembangkan komponen inti (khusus proyek) kami sendiri. Selama proyek
pengalaman digital kami, kami secara aktif berkontribusi pada Komponen Inti
WCM, untuk menjadikannya lebih baik.
Dengan menggunakan komponen ini dan memanfaatkan ide di
baliknya, kami dapat menyiapkan basis kode yang sangat fleksibel dan
mendapatkan kemungkinan untuk meningkatkan komponen satu per satu, tanpa
merusak fungsionalitas.
3. Template yang dapat diedit
Sebelumnya, adalah tugas pengembang untuk menyediakan
template bagi penulis konten. Pengembang akan membuat (mengkode) template,
menyebarkannya ke AEM, dan kemudian penulis konten dapat menggunakan template
itu untuk membuat halaman.
Di AEM 6.2, fitur baru yang disebut "Template yang
Dapat Diedit" diperkenalkan. Fitur ini memungkinkan penulis konten untuk
merakit template sendiri, menggunakan Touch UI. Pengembang tidak diperlukan
lagi untuk melakukan apa yang kami sebut terutama tugas konfigurasi.
4. Sistem grid dan gaya responsif AEM
Menggunakan grid responsif AEM baru dalam kombinasi dengan
sistem gaya terbaru memungkinkan penulis untuk menentukan, langsung di konten,
bagaimana mereka ingin komponen mereka berperilaku pada ukuran layar yang
berbeda.
Alur kerja tradisional untuk membuat konten responsif
mengharuskan desainer untuk membuat maket dari breakpoint yang berbeda,
pengembang untuk mengimplementasikannya untuk template tertentu dan penulis
untuk memilih template itu dan mengisi konten.
Dengan pengeditan tata letak responsif yang baru, alur kerja
disederhanakan: penulis mengisi konten dan dapat menyesuaikan tata letak secara
mandiri, tanpa perlu berkonsultasi dengan pengembang mengenai respons atau
menunggu penerapan baru.
Fitur AEM 6.3 baru ini memberikan fleksibilitas yang besar
kepada penulis, sementara pada saat yang sama tidak mengharuskan pengembang
untuk menjalankan tugas-tugas ini. Akhirnya, tidak diperlukan lagi upaya
pengembangan (dan penerapan) untuk mengubah template.
5. Praktik terbaik pengembangan web
Ada juga praktik terbaik pengembangan global serta standar
teknis AEM khusus yang kami terapkan di semua proyek AEM. Untuk meringkas
beberapa:
- Siapa yang merusak bangunan, memperbaiki bangunan;
- Tes unit dan tes integrasi diperlukan untuk setiap fungsionalitas baru;
- Penggunaan cabang fitur;
- Permintaan penggabungan harus dikirim ketika cabang fitur selesai;
- Tinjauan sejawat perlu dilakukan oleh pimpinan teknis;
- Model Sling harus digunakan untuk pengembangan komponen, meskipun komponennya sangat sederhana;
- Parameter resourceType baru harus digunakan dalam Model Sling;
- Gunakan Pola Komponen Proksi;
- Dokumentasi pengguna & teknis harus selalu up-to-date;
- Kode harus diuji pada AEM, serta melalui Dispatcher;
- Duplikasi kode tidak diizinkan, aturan SonarQube dikonfigurasi, setiap build memicu pemindaian SonarQube, dll.
6. Otomatisasi
penuh
Kami berusaha untuk sepenuhnya mengotomatisasi semuanya.
Kami menggunakan Wayang (alat manajemen konfigurasi perangkat lunak) untuk
mengotomatiskan pengaturan server, serta lingkungan lokal kami. Ini berarti
bahwa setiap pengembang dapat berdiri dan berjalan dalam beberapa menit,
bekerja di lingkungan lokal yang sedekat mungkin dengan produksi. Pengaturan
ini bahkan menyertakan Dispatcher lokal, untuk memastikan bahwa kami juga
segera menangkap perangkap cache.
Setiap kali perubahan kode diperiksa ke sistem kontrol
versi, build dijalankan di Jenkins (alat integrasi berkelanjutan), untuk segera
memberi tahu pengembang jika terjadi kesalahan. Bergantung pada cabang mana
yang menerima kode baru, penerapan akan dilakukan ke lingkungan yang berlaku,
sehingga perubahan segera hadir pada sistem itu.
Menerapkan prinsip Git Flow, kami sangat fleksibel dalam
melakukan rilis kami, juga, sepenuhnya otomatis. Hanya penyebaran ke lingkungan
produksi yang membutuhkan penekanan tombol (dan hanya itu).
Kesimpulan
Mengetahui praktik terbaik terbaru khusus untuk pengembangan situs web di WCMS yang Anda tangani adalah kuncinya. Tetapi mungkin yang lebih penting, memiliki seseorang yang mengenal mereka dan juga menerapkannya dalam tim proyek sangat penting untuk keberhasilan proyek pengalaman digital Anda.