Mengapa memilih CMS yang sudah ada sebagai ganti membangun satu dari awal?

13

Banyak penelitian saya selama beberapa minggu ke depan akan menjadi CMS yang berbeda. Saya sudah melihat episerver dan umbraco secara singkat. Saat membaca ke dalam sistem ini saya tidak bisa tidak berpikir bahwa menyediakan fitur manajemen konten dapat dicapai tanpa mempelajari detail dan struktur dari banyak platform CMS (yang agak besar) ini.

Saya telah, di masa lalu, diberi proyek di mana peran saya sebagai pengembang harus tetap terpisah dari peran seorang editor (masuk akal). yaitu tugas saya untuk mengembangkan desain dan fungsionalitas situs dan pekerjaan klien saya untuk memperbarui konten. Saya telah mencapai ini dengan juga menerapkan semacam 'portal' di mana ada beberapa halaman yang akan menerima input teks dan upload gambar dll. (Pada dasarnya, konten apa pun yang mereka inginkan), rekam konten baru ini ke database dan kemudian dengan mendesain kode-belakang akan membaca semua ini dari database menjadi kontrol yang relevan (misalnya repeater).

Bagi saya, ini merupakan cara yang cukup efektif bagi klien saya yang mengelola konten untuk disebarkan dengan solusi saya. Saya tahu bahwa saya salah - dan CMS lebih disukai daripada yang dibangun dari bawah ke atas - tetapi selain masalah biaya, mengapa?

SkonJeet
sumber
1
Mengapa Anda ingin melalui semua kesulitan pengembangan (desain, coding, debugging, pengujian) sendiri ketika orang lain telah melakukan semua itu untuk Anda?
PhilPursglove
5
Ada dokumen pada dokumen dan situs web pada situs web instruksi dan tutorial tentang bagaimana cara mempelajari jenis CMS perusahaan ini. Mengapa saya ingin melalui semua rasa sakit belajar dan membiasakan diri menerapkan ini padahal sebenarnya saya bisa mengembangkan sendiri dari bawah ke atas dengan kontrol penuh?
1
Alasan terbesar Anda mengalami kesulitan belajar adalah karena Anda juga melewatkan kesulitan mengatasi masalah (semoga saja). Dan jika Anda menemukan dokumentasi, semoga itu juga berarti ketika Anda harus melatih seseorang, ada lebih sedikit dokumentasi yang harus Anda buat.
sclarson
Ada teknologi yang lebih baru dari pendekatan pemasangan CMS lama di mana Anda tidak harus mempelajari apa pun dan dapat memprogram dalam bahasa Anda sendiri. Saya membuat sendiri karena saya muak dengan masalah instalasi ini atau menggunakan sesuatu yang nyaman untuk desainer. Profil saya memiliki sedikit cara melakukannya.
Jason Sebring
@sparks, Mengatasi masalah bug orang lain 100x lebih menyebalkan dari pemecahan masalah bug Anda sendiri.
Pacerier

Jawaban:

9

Anda menggunakan CMS yang ada untuk menyingkirkan bobot fitur yang mungkin penting bagi pengguna yang tidak ingin Anda lacak.

EPiServer, Umbraco, Orchard, dll. Semuanya telah membangun opsi untuk melacak hal-hal seperti versi, konten apa yang dihubungkan dengan konten lain, cara membuat formulir, dll. Dan di luar itu mereka memiliki acara yang dapat Anda kaitkan untuk memodifikasinya sebagai Anda mau.

Mereka biasanya memiliki ribuan jam pemecahan masalah sudah dilakukan, jadi mengapa tidak mengambil keuntungan dari itu. Terutama dalam versi gratis atau open source di mana secara harfiah tidak ada biaya bagi Anda kecuali waktu mempelajari API mereka yang hampir dapat saya jamin lebih sedikit waktu daripada yang Anda habiskan untuk membuat ulang fungsionalitas itu.

Jadi, kecuali Anda tidak perlu membangun kembali fungsionalitas yang mereka berikan, mengapa tidak menggunakan sesuatu yang sudah diketahui berfungsi dengan baik?

Berikut ini adalah daftar singkat dari fitur yang ada yang tidak perlu Anda implementasikan sendiri:

  • versi konten
  • alur kerja
  • laporan status tautan halaman
  • kustomisasi editor wysiwyg
  • pemodelan konten (tipe halaman / tipe dokumen)
  • API pengambilan konten
  • dokumentasi / pelatihan untuk editor dan pengembang
  • strategi caching objek
  • sistem kueri konten untuk pencarian
  • struktur hierarki konten (di CMS di mana konten dalam bentuk pohon tetap)
  • tampilan editor
  • tampilan admin
  • kontrol akses
sclarson
sumber
Saya telah menandai ini sebagai jawaban karena ini adalah daftar manfaat paling komprehensif yang akan saya dapatkan dari memilih salah satu CMS yang disebutkan. Saya pikir itu mungkin akan membuat saya mendapatkan tangan saya kotor dengan mereka untuk sepenuhnya menghargai manfaatnya.
Menyiapkan sistem Anda sendiri hanya "status quo" di atas sistem cloud jika Anda tidak menghargai kontrol atas data Anda sendiri, memiliki server Anda, atau tidak memahami perbedaan antara perangkat lunak yang Anda miliki dan perangkat lunak yang Anda sewa. Iklan tersembunyi untuk bisnis Anda ini terdengar sangat FUDdy bagi saya. Jika Anda benar-benar berpikir SOS CMS berbasis cloud adalah pilihan yang baik untuk situasi OP, maka jadikan itu jawaban dan biarkan masyarakat memberikan suara untuknya.
CodexArcanum
@ CodexArcanum - Jangan menganggap serius kata emeraldcode. Mereka adalah CEO untuk perusahaan yang menyediakan layanan tersebut. Jadi pada dasarnya akun mereka adalah satu iklan raksasa.
Ramhound
4

Tidak ada jawaban pasti untuk yang lebih baik. Itu tergantung pada kebutuhan Anda, struktur, biaya, tenaga kerja, dan sejumlah faktor lainnya.

CMS yang sudah dibuat sebelumnya

Pro

  1. Menghemat BANYAK waktu. Beberapa CMS yang telah ada selama bertahun-tahun memiliki banyak dan banyak jam kerja bagi mereka. Anda mungkin tidak perlu 10% dari fitur dalam CMS yang sudah dibuat sebelumnya, tetapi terlepas dari itu menghemat waktu dan waktu tidak gratis!
  2. Menghemat BANYAK uang.
  3. Umumnya memiliki sejumlah besar fitur yang mungkin akan bekerja untuk kebutuhan Anda.

Cons

  1. Lisensi . Anda harus mematuhi lisensi CMS pra-dibuat yang Anda gunakan. Ini mungkin bukan masalah besar, tetapi mungkin Anda ingin mengubah sesuatu yang dilarang oleh lisensi, atau mungkin Anda akan dilarang menggunakannya di lingkungan produksi.
  2. Berat . Karena CMS kemungkinan besar akan dirancang untuk menjangkau sebanyak mungkin pemirsa. Mungkin Anda memiliki batasan server atau tidak ingin memuat skrip berlebih untuk manajemen konten dasar.
  3. Mungkin ditulis dengan cara non-modular . Katakanlah Anda menerapkan CMS pra-dibuat dan situs web selesai siap bagi klien untuk keluar dan katakan mari kita menyebarkan! Kemudian Anda menembak ke klien Anda dan mereka berkata, "Oh, saya ingin menambahkan fitur ini ke CMS!" Kemudian, jika Anda memilih CMS yang sangat kompleks atau tidak terlalu modular, Anda mungkin memiliki masalah dalam mengimplementasikan permintaan fitur mereka atau mungkin membutuhkan banyak waktu.
  4. Mewarisi bug mereka . Anda akan mewarisi semua bug yang ada pada CMS. Ini bukan masalah karena biasanya mudah diperbarui, tetapi bagaimana jika Anda sangat memodifikasi bagian untuk menambahkan fitur?

CMS buatan sendiri / custom

Pro

  1. Disesuaikan dengan kebutuhan Anda . Anda HANYA dapat mengintegrasikan apa yang Anda butuhkan dan mempertahankan portabilitas tinggi.
  2. Ditulis dalam bahasa Anda . Mungkin Anda memiliki situs web ASP.net MVC dan semua CMS di luar sana ditulis dalam PHP, tetapi Anda menginginkannya yang ditulis dalam C # menggunakan MVC dan mesin tampilan silet (contoh acak idk). Jauh lebih mudah untuk mempertahankan halaman web yang seragam dan tidak memiliki PHP / JS / etc besar. CMS di tengah-tengah semua kode C #.
  3. Anda Anda / perusahaan Anda memilikinya 100%, Anda dapat menggunakannya dalam banyak aplikasi yang Anda inginkan w / o membeli lisensi tambahan, dll

Cons

  1. Memakan waktu , karena itu mahal . Anda bisa menghabiskan jumlah waktu 1-Lusinan hari bekerja pada CMS tergantung pada jam dimasukkan, pengalaman, dll, dll.

Jika Anda punya waktu, dan tidak ada sistem pra-dibuat yang sesuai dengan tagihan atau terlalu rumit saya tidak melihat alasan untuk tidak membangun Anda sendiri, selain tentu saja faktor yang memakan waktu.


sumber
2
Ketika Anda menghilangkan waktu dan uang sebagai kendala, jarang ada alasan untuk tidak melakukan sesuatu.
sclarson
1
@sparks proyek dunia nyata SELALU memiliki kendala;)
1
Semacam apa yang saya katakan dengan komentar saya. Mengatakan kontra dari jenis gula "memakan waktu" melapisi jumlah pekerjaan yang terlibat dalam menulis dari awal. Anda menulis kode, kemudian harus mendokumentasikan / melatih, dan memiliki semua waktu debugging / pemecahan masalah untuk setiap fitur yang Anda tulis.
sclarson
2

Anda mungkin ingin menambahkan keamanan web ke diskusi juga. Jika Anda membuat CMS dari awal, kemungkinan Anda akan memiliki kerentanan terhadap sejumlah serangan (lihat misalnya https://www.owasp.org/index.php/Top_10_2010-Main ). Jika Anda di sisi lain menggunakan CMS yang ada, umumnya akan lebih aman, tetapi di sisi lain kerentanannya akan lebih luas.

Jadi ini sedikit pengorbanan dari sisi keamanan, tapi saya berpendapat bahwa "standar" CMS yang diperbarui lebih aman daripada yang dibuat di rumah, tetapi tergantung pada standar mana yang Anda pilih.

Namun, jika Anda menggunakan CMS "standar" dan melakukan banyak modifikasi, Anda dapat memutus jalur peningkatan dan berakhir dengan tidak dapat memperbarui CMS Anda dan karenanya Anda rentan.


sumber
1

Satu hal yang perlu diperhitungkan adalah bahwa CMS Anda mungkin menjadi usang, tidak harus dalam bahasa, melainkan fungsionalitas dan desain. Kelompok programmer berikutnya mungkin tidak ingin bekerja dengan kendala-kendala dalam fungsi dan sejauh desain itu dapat merusak citra mereka!

Jika ini adalah situs web sederhana, atau Anda tidak punya banyak waktu untuk mendedikasikan, CMS terdengar hebat!


sumber
1

Alasan nomor satu untuk membuat CMS Anda sendiri adalah untuk dapat menambahkan fungsionalitas Anda sendiri dari waktu ke waktu. Dengan CMS yang tidak tersedia, Anda terikat dengan arsitektur dan teknologi pihak ketiga yang membuatnya.

Contoh:

  • Umbraco - mengandalkan XSLT untuk tata letak - # gagal

  • Orchard - rekayasa berlebihan dan kurva pembelajaran untuk dev Formulir Web

... dll.

Kepala suku Irlandia
sumber
1
Umbraco tidak memerlukan XSLT, tetapi ini merupakan opsi.
sclarson
Maksud Anda, Anda dapat menggunakan CSS secara eksklusif? Apakah itu Umbraco yang juga memiliki bahasa markup miliknya sendiri? Seperti SkonJeet, saya juga harus meneliti ini pada satu tahap.
IrishChieftain
2
Umbraco memiliki formulir web dan opsi mvc. Tidak pernah mengharuskan Anda untuk menggunakan bahasa miliknya sendiri. Anda selalu berada di asp.net dan selalu memiliki opsi untuk menanyakan data store dan menulis kontrol mereka jika Anda mau.
sclarson
1
CMS lain yang saya gunakan adalah N2, yang memiliki kode yang sangat elegan, sehingga Anda tidak bisa memahaminya. Pandangan mereka adalah bahwa kode harus mendokumentasikan dirinya sendiri yang merupakan total Bee Ess.
IrishChieftain
1
Saya telah melakukan banyak situs web di Umbraco, dan tidak pernah menggunakan XSLT. Dalam versi baru itu bahkan tidak ada opsi built-in lagi sejauh yang saya tahu. Namun, XSLT tampaknya sangat kuat (untuk 6 orang yang dapat memahaminya!).
EJ Brennan
1

Tetap pada bisnis inti adalah argumen yang cukup bagus juga saya katakan. Hanya karena Anda sedang membuat mobil bukan berarti Anda juga harus membuat bahan bakar sendiri. Itu produk yang sama sekali berbeda dan peluangnya cukup bagus sehingga orang lain akan melakukannya dengan lebih baik karena fokus Anda ada di tempat lain. Bug dalam sistem yang baru dikembangkan juga tidak boleh diremehkan. Satu cm yang sudah ada sebentar akan memiliki beberapa bug ya, tapi tidak di dekat angka yang dimiliki oleh yang baru. Cm yang ada telah diuji oleh jutaan pengguna selama bertahun-tahun.

Daniel Ovaska
sumber
" fokusmu akan berada di tempat lain" - lol
Tim Abell