Tại sao chọn một CMS thành lập thay vì xây dựng từ đầu?


13

Rất nhiều nghiên cứu của tôi trong vài tuần tới sẽ được đưa vào các CMS khác nhau. Tôi đã có một cái nhìn ngắn gọn về episerver và umbraco. Khi đọc các hệ thống này, tôi không thể không nghĩ rằng việc cung cấp các tính năng quản lý nội dung là có thể đạt được mà không cần tìm hiểu chi tiết và cấu trúc của nhiều nền tảng CMS (khá lớn) này.

Trước đây, tôi đã được giao các dự án theo đó vai trò là nhà phát triển của tôi phải được tách biệt với vai trò của một biên tập viên (có ý nghĩa). tức là nhiệm vụ của tôi là phát triển thiết kế và chức năng của trang web và công việc của khách hàng để cập nhật nội dung. Tôi đã đạt được điều này bằng cách triển khai một loại 'cổng thông tin' trong đó có một vài trang chấp nhận nhập văn bản và tải lên hình ảnh, v.v. (về cơ bản, bất kỳ nội dung nào họ muốn), ghi lại nội dung mới này vào cơ sở dữ liệu và sau đó bằng cách thiết kế mã phía sau sẽ đọc tất cả điều này từ cơ sở dữ liệu vào các điều khiển có liên quan (ví dụ bộ lặp).

Đối với tôi, đây là một cách đủ hiệu quả để khách hàng của tôi quản lý nội dung để triển khai với các giải pháp của tôi. Tôi biết rằng tôi đã sai - và CMS thích hợp hơn những thứ được xây dựng từ đầu - nhưng khác với vấn đề chi phí, tại sao?


1
Tại sao bạn muốn tự mình trải qua tất cả nỗi đau của sự phát triển (thiết kế, mã hóa, gỡ lỗi, thử nghiệm) khi người khác đã làm tất cả những điều đó cho bạn?
PhilPursglove

5
Có tài liệu trên tài liệu và trang web trên trang web của các hướng dẫn và hướng dẫn về cách học về các loại CMS công ty này. Tại sao tôi muốn trải qua tất cả những nỗi đau của việc học và làm quen với việc thực hiện những điều này trong khi thực tế tôi có thể tự phát triển từ đầu với sự kiểm soát hoàn toàn?

1
Lý do lớn nhất khiến bạn phải trải qua nỗi đau học tập là vì bạn cũng bỏ qua nỗi đau của việc khắc phục sự cố (dù sao cũng hy vọng). Và nếu bạn đang tìm tài liệu, hy vọng điều đó cũng có nghĩa là khi bạn phải đào tạo ai đó thì bạn phải làm ít tài liệu hơn.
sclarson

Có công nghệ mới hơn từ phương pháp cài đặt CMS cũ, nơi bạn không phải học thực sự bất cứ điều gì và có thể lập trình bằng ngôn ngữ của riêng bạn. Tôi đã tự xây dựng một cái vì tôi phát ốm vì vấn đề cài đặt này hoặc sử dụng một số thứ cushy cms phù hợp với các nhà thiết kế. Hồ sơ của tôi có một chút về cách đi về nó.
Jason Sebring

@sparks, Khắc phục sự cố lỗi của người khác gây khó chịu hơn gấp 100 lần việc khắc phục lỗi của chính bạn.
Pacerier

Câu trả lời:


9

Bạn sử dụng một CMS hiện có để loại bỏ trọng lượng của các tính năng có thể quan trọng đối với người dùng mà bạn không muốn phải theo dõi.

EPiServer, Umbraco, Orchard, v.v ... đều đã xây dựng các tùy chọn để theo dõi những thứ như phiên bản, nội dung nào được liên kết với nội dung khác, cách tạo biểu mẫu, v.v. bạn thấy phù hợp

Họ thường có hàng ngàn giờ khắc phục sự cố đã được thực hiện, vậy tại sao không tận dụng những lợi ích đó. Đặc biệt là trong các phiên bản nguồn mở hoặc miễn phí, nơi nó thực sự không tốn kém gì ngoài thời gian học API của chúng mà tôi gần như có thể đảm bảo là ít thời gian hơn bạn dành để tái tạo chức năng đó.

Vì vậy, trừ khi bạn không cần phải xây dựng lại chức năng mà họ cung cấp, tại sao không sử dụng một cái gì đó đã biết để hoạt động tốt?

Đây chỉ là một danh sách ngắn gọn các tính năng hiện có mà bạn không phải tự mình thực hiện:

  • phiên bản nội dung
  • quy trình làm việc
  • báo cáo trạng thái liên kết trang
  • tùy chỉnh trình soạn thảo wysiwyg
  • mô hình nội dung (loại trang / loại tài liệu)
  • API truy xuất nội dung
  • tài liệu / đào tạo cho cả biên tập viên và nhà phát triển
  • chiến lược lưu trữ đối tượng
  • hệ thống truy vấn nội dung để tìm kiếm
  • cấu trúc phân cấp nội dung (trong CMS là nơi nội dung ở dạng cây)
  • lượt xem
  • lượt xem của quản trị viên
  • kiểm soát truy cập

Tôi đã đánh dấu đây là câu trả lời vì đây là danh sách lợi ích toàn diện nhất mà tôi sẽ nhận được từ việc chọn tham gia một trong các CMS được đề cập. Tôi nghĩ rằng nó có thể sẽ khiến tôi bị bẩn tay với họ để đánh giá đầy đủ các lợi ích mặc dù.

Thiết lập hệ thống của riêng bạn chỉ là "hiện trạng" trên các hệ thống đám mây nếu bạn không coi trọng việc kiểm soát dữ liệu của mình, sở hữu máy chủ của bạn hoặc không hiểu sự khác biệt giữa phần mềm bạn sở hữu và phần mềm bạn thuê. Những quảng cáo lén lút cho doanh nghiệp của bạn nghe có vẻ rất FUDdy đối với tôi. Nếu bạn thực sự nghĩ rằng một CMS CMS dựa trên đám mây là một lựa chọn tốt cho tình huống của OP, thì hãy biến nó thành một câu trả lời và để cộng đồng bỏ phiếu cho nó.
CodexArcanum

@CodexArcanum - Đừng coi bất cứ điều gì emeraldcode nói một cách nghiêm túc. Họ là CEO cho một công ty cung cấp các dịch vụ đó. Vì vậy, về cơ bản tài khoản của họ là một quảng cáo khổng lồ.
Ramhound

4

NO câu trả lời dứt khoát như mà cái tốt hơn. Nó phụ thuộc vào nhu cầu, cấu trúc, chi phí, sức người và bất kỳ yếu tố nào khác của bạn.

CMS được tạo sẵn / thành lập

Ưu

  1. Tiết kiệm RẤT NHIỀU thời gian. Một số CMS 'đã tồn tại trong nhiều năm có rất nhiều và rất nhiều giờ cho chúng. Bạn có thể không cần 10% các tính năng trong một CMS được tạo sẵn, nhưng bất kể nó tiết kiệm thời gian và thời gian là không miễn phí!
  2. Tiết kiệm RẤT NHIỀU tiền.
  3. Thường có một HUGE lượng tính năng mà sẽ có thể làm việc cho các nhu cầu của bạn.

Nhược điểm

  1. Giấy phép . Bạn cần tuân theo giấy phép của CMS được tạo sẵn mà bạn sử dụng. Điều này có thể không phải là một vấn đề lớn, nhưng có lẽ bạn muốn thay đổi một thứ bị cấm bởi giấy phép, hoặc có thể bạn sẽ bị cấm sử dụng nó trong môi trường sản xuất.
  2. Nặng . Vì CMS rất có thể sẽ được điều chỉnh để tiếp cận càng nhiều đối tượng càng tốt. Có thể bạn có giới hạn máy chủ hoặc không muốn tải các tập lệnh dư thừa để quản lý nội dung cơ bản.
  3. Có thể được viết theo kiểu không mô-đun . Hãy nói rằng bạn đã triển khai một CMS được tạo sẵn và trang web đã sẵn sàng để khách hàng đăng xuất và nói hãy triển khai! Sau đó, bạn bắn nó cho khách hàng của bạn và họ nói "Ồ, tôi muốn thêm tính năng này vào CMS!" Sau đó, nếu bạn chọn một CMS rất phức tạp hoặc không theo mô-đun, bạn có thể gặp sự cố khi thực hiện yêu cầu tính năng của chúng hoặc có thể mất quá nhiều thời gian.
  4. Kế thừa lỗi của họ . Bạn sẽ kế thừa tất cả các lỗi hiện có trên CMS. Đây không phải là vấn đề vì chúng thường dễ cập nhật, nhưng nếu bạn sửa đổi nhiều phần của nó để thêm tính năng thì sao?

CMS ủ tại nhà / tùy chỉnh

Ưu

  1. Phù hợp với nhu cầu của bạn . Bạn sẽ có thể tích hợp CHỈ những gì bạn cần và giữ được tính di động cao.
  2. Viết bằng ngôn ngữ của bạn . Có thể bạn có một trang web ASP.net MVC và tất cả các CMS 'được viết bằng PHP, nhưng bạn muốn một trang web được viết bằng C # bằng cách sử dụng MVC và công cụ xem dao cạo (ví dụ ngẫu nhiên idk). Việc duy trì một trang web thống nhất sẽ dễ dàng hơn nhiều và không có PHP / JS / vv lớn. CMS ở giữa tất cả các mã C #.
  3. Bạn / công ty của bạn sở hữu nó 100%, bạn có thể sử dụng nó trong bao nhiêu ứng dụng mà bạn muốn mua giấy phép bổ sung, v.v.

Nhược điểm

  1. Tốn thời gian , vì vậy nó rất tốn kém . Bạn có thể dành bất kỳ khoảng thời gian nào 1-Hàng chục ngày làm việc trên CMS tùy thuộc vào số giờ đưa vào, kinh nghiệm, v.v.

Nếu bạn có thời gian, và không có hệ thống nào được tạo sẵn phù hợp với hóa đơn hoặc quá phức tạp, tôi thấy không có lý do gì để không tự xây dựng, ngoại trừ yếu tố tốn thời gian.


2
Khi bạn loại bỏ thời gian và tiền bạc như những ràng buộc, hiếm khi có lý do để không làm điều gì đó.
sclarson

1
@sparks các dự án trong thế giới thực LUÔN LUÔN có những hạn chế đó;)

1
Sắp xếp những gì tôi đã nói với nhận xét của tôi. Nói về nhược điểm của loại đường "tốn thời gian" bao gồm số lượng công việc liên quan đến viết từ đầu. Bạn viết mã, sau đó phải lập tài liệu / đào tạo và có tất cả thời gian gỡ lỗi / khắc phục sự cố cho mỗi tính năng bạn viết.
sclarson

2

Bạn cũng có thể muốn thêm bảo mật web vào cuộc thảo luận. Nếu bạn xây dựng một CMS từ đầu, rất có thể bạn sẽ có lỗ hổng cho một số cuộc tấn công (xem ví dụ: https://www.owasp.org/index.php/Top_10_2010-Main ). Mặt khác, nếu bạn sử dụng một CMS hiện có, nó thường sẽ an toàn hơn, nhưng mặt khác, các lỗ hổng của nó sẽ lan rộng hơn.

Vì vậy, đó là một chút đánh đổi một cách an toàn, nhưng tôi sẽ lập luận rằng một CMS "tiêu chuẩn" được cập nhật tốt sẽ an toàn hơn so với một sản phẩm gia đình, nhưng ở một mức độ nào đó phụ thuộc vào tiêu chuẩn nào bạn chọn.

Tuy nhiên, nếu bạn sử dụng CMS "tiêu chuẩn" và thực hiện nhiều sửa đổi, bạn có thể phá vỡ đường dẫn nâng cấp và kết thúc bằng việc không thể cập nhật CMS của mình và do đó bạn dễ bị tổn thương.


1

Một điều cần được chú ý là CMS của bạn có thể trở nên lỗi thời, không nhất thiết phải bằng ngôn ngữ, mà là chức năng và thiết kế. Nhóm lập trình viên tiếp theo có thể không muốn làm việc với những hạn chế về chức năng và theo như thiết kế, nó có thể làm hỏng hình ảnh của họ!

Nếu đó là một trang web đơn giản hoặc bạn không dành nhiều thời gian để cống hiến, thì CMS có vẻ rất tuyệt!


1

Lý do số một để tạo CMS của riêng bạn là có thể thêm chức năng của riêng bạn vào đó theo thời gian. Với một CMS sẵn có, bạn gắn liền với kiến ​​trúc và công nghệ của bên thứ ba đã tạo ra nó.

Ví dụ:

  • Umbraco - phụ thuộc vào XSLT để bố trí - #fail

  • Orchard - đường cong thiết kế và học tập quá mức cho các nhà phát triển Web Forms

...Vân vân.


1
Umbraco không yêu cầu XSLT, nhưng nó là một tùy chọn.
sclarson

Bạn có nghĩa là bạn có thể sử dụng CSS độc quyền? Có phải Umbraco cũng có ngôn ngữ đánh dấu độc quyền của riêng mình? Giống như SkonJeet, tôi cũng phải nghiên cứu điều này ở một giai đoạn.
IrishChieftain

2
Umbraco có một biểu mẫu web và tùy chọn mvc. Nó chưa bao giờ yêu cầu bạn sử dụng ngôn ngữ độc quyền của riêng mình. Bạn đã luôn ở trong asp.net và luôn có tùy chọn truy vấn lưu trữ dữ liệu của họ và viết các điều khiển cho nó nếu bạn muốn.
sclarson

1
Một CMS khác tôi đã sử dụng là N2, có mã thực sự thanh lịch, đến mức bạn không thể hiểu nó. Quan điểm của họ là mã nên ghi lại chính nó là một Bee Ess.
IrishChieftain

1
Tôi đã thực hiện nhiều trang web trong Umbraco và chưa bao giờ sử dụng XSLT. Trong phiên bản mới, nó thậm chí không còn là một tùy chọn tích hợp nữa theo như tôi biết. Tuy nhiên, XSLT rõ ràng là vô cùng mạnh mẽ (dành cho 6 người có thể hiểu được điều đó!).
EJ Brennan

1

Bám sát kinh doanh cốt lõi là một lập luận khá tốt như tôi sẽ nói. Chỉ vì bạn đang chế tạo một chiếc xe không có nghĩa là bạn cũng nên tạo ra nhiên liệu của riêng mình. Đó là một sản phẩm hoàn toàn khác biệt và rất có thể người khác sẽ làm điều đó tốt hơn rất nhiều vì trọng tâm của bạn sẽ ở nơi khác. Lỗi trong các hệ thống mới được phát triển cũng không nên được đánh giá thấp. Một cm đã tồn tại được một thời gian sẽ có một vài lỗi có, nhưng không có nơi nào gần con số mà cái mới của bạn sẽ có. Một cms hiện có đã được kiểm tra bởi hàng triệu người dùng trong những năm qua.


" trọng tâm của bạn sẽ ở nơi khác" - lol
Tim Abell
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.