it-swarm-vi.com

Làm cách nào tôi có thể quyết định xem tôi nên cuộn phần mềm của riêng mình hay sử dụng CMS đóng gói (và các plugin phù hợp)?

Tôi là một kỹ sư phần mềm có ít kinh nghiệm web hiện đang trong quá trình muốn thực sự sử dụng Máy chủ web và tên miền của mình cho một thứ gì đó ngoài một tập tin bán phá giá cho các tệp mà tôi cần cho người khác truy cập. Kế hoạch của tôi là bằng cách nào đó triển khai một trang web và blog cá nhân/chuyên nghiệp, bằng cách sử dụng các sản phẩm có sẵn của FOSS, phần mềm tùy chỉnh hoặc các thành phần có sẵn với các mô-đun/plugin tùy chỉnh.

Yêu cầu của tôi là:

  1. HTML ngữ nghĩa (được hình thành tốt, sử dụng đúng các thuộc tính, microformats khi thích hợp, sử dụng CSS cho kiểu và HTML để đánh dấu)
  2. Xác thực HTML và CSS (XHTML, HTML4, HTML5 đều được chấp nhận - miễn là nó hợp lệ hóa ra khỏi hộp)
  3. Hỗ trợ cho một blog
  4. Hỗ trợ chỉnh sửa và quản lý sơ yếu lý lịch của tôi ở dạng HTML cũng như quản lý các tệp được tải lên ở định dạng PDF, ODT và DOC mà tôi có sẵn để tải xuống
  5. Được viết bằng ngôn ngữ mà tôi biết và Máy chủ lưu trữ của tôi hỗ trợ - PHP được ưa thích vì đó là cách dễ nhất đối với Máy chủ lưu trữ và tôi cũng quen với nó
  6. Dễ dàng để có được hoặc viết một chủ đề cho
  7. Hỗ trợ cho các trang tĩnh thay đổi không thường xuyên (về tôi), các trang tĩnh đôi khi thay đổi (danh sách dự án), trang động (blog, nhận xét) và biểu mẫu (liên hệ với tôi)
  8. Chơi độc đáo với các công cụ khác trong cùng môi trường - Tôi sử dụng Trac trên cùng một Máy chủ để quản lý dự án và có thể triển khai các phần mềm khác như triển khai MediaWiki cá nhân
  9. Dễ dàng tích hợp với các phương tiện truyền thông xã hội khác (Twitter? Facebook? Pandora?) - không bắt buộc, nhưng sẽ rất tuyệt
  10. Tạo và bảo trì sơ đồ trang web và/hoặc robot.txt

Những câu hỏi của tôi:

  • Điều gì, nếu có, giải pháp FOSS sẽ phù hợp với tôi? Tôi đã từng đùa giỡn với Drupal và WordPress trong quá khứ - WordPress đánh tôi như một công cụ vững chắc, nhưng vào thời điểm đó rất tập trung vào blog (tôi hiểu rằng nó đã thay đổi gần đây để giống CMS hơn).
  • Những giải pháp miễn phí (nhưng không phải nguồn mở) có thể phù hợp với tôi? Tôi muốn có quyền truy cập đầy đủ vào nguồn, nhưng đó không phải là một yêu cầu.
  • Nếu tôi sẽ tự lăn, tôi nên bắt đầu từ đâu? Tôi không muốn tự mình thực hiện - nền tảng kỹ thuật phần mềm của tôi nói với tôi rằng các yêu cầu của tôi phải phổ biến và tôi có thể tìm thấy một số giải pháp hiện có mà tôi có thể kết hợp để thực hiện công việc này.

Cảm ơn.

11
Thomas Owens

Câu hỏi mua-vs-build là một câu hỏi muôn thuở. Tôi sẽ nói WordPressDrupal cả hai đều đáp ứng tiêu chí của bạn. Tôi có nhiều kinh nghiệm hơn với WordPress vì vậy tôi sẽ làm điều đó trong WordPress. Để giải quyết các yêu cầu của bạn:

  1. HTML ngữ nghĩa (được hình thành tốt, sử dụng đúng các thuộc tính, microformats khi thích hợp, sử dụng CSS cho kiểu và HTML để đánh dấu)

    , hầu hết chủ đề cho WordPress sử dụng xhtml theo mặc định mà không gặp sự cố. Đánh dấu liên quan đến vi mô có thể bạn sẽ cần phải thực hiện bằng tay trong chế độ xem html, mặc dù có thể có các plugin tạo điều kiện thuận lợi cho việc đó.

  2. Xác thực HTML và CSS (XHTML, HTML4, HTML5 đều được chấp nhận - miễn là nó xác thực ngoài hộp)

    , hầu hết các chủ đề cho WordPress xác thực hoặc rất gần với xác thực mà không gặp nhiều rắc rối. Có tài liệu tuyệt vời cho chủ đề.

  3. Hỗ trợ cho một blog

    , hoàn toàn.

  4. Hỗ trợ chỉnh sửa và quản lý sơ yếu lý lịch của tôi ở dạng HTML cũng như quản lý các tệp được tải lên ở định dạng PDF, ODT và DOC mà tôi có sẵn để tải xuống

    , chỉ cần có sơ yếu lý lịch là một trang tĩnh và quản lý các tệp đã tải lên bằng công cụ quản lý Phương tiện gốc trong WordPress.

  5. Được viết bằng ngôn ngữ mà tôi biết và Máy chủ của tôi hỗ trợ - PHP được ưa thích vì đó là nơi dễ dàng nhất đối với Máy chủ lưu trữ của tôi và tôi cũng quen với nó

    , WordPress = PHP + MySQL + Apache hoạt động tốt nhất cho mod_rewrite

  6. Dễ dàng lấy hoặc viết chủ đề cho

    , xem Phát triển chủ đề

  7. Hỗ trợ cho các trang tĩnh thay đổi không thường xuyên (về tôi), các trang tĩnh đôi khi thay đổi (danh sách dự án), trang động (blog, nhận xét) và biểu mẫu (liên hệ với tôi)

    các trang được quản lý trong WordPress trong phần Trang của giao diện. Biểu mẫu liên hệ hoạt động tốt với các plugin như Biểu mẫu liên hệ 7

  8. Chơi độc đáo với các công cụ khác trong cùng môi trường - Tôi sử dụng Trac trên cùng một Máy chủ để quản lý dự án và có thể triển khai các phần mềm khác như triển khai MediaWiki cá nhân

    , mặc dù bạn có thể cần thêm một số quy tắc viết lại để không phải mọi thứ đều chỉ vào WordPress. Tôi chạy WordPress trong thư mục con và để nó xử lý mọi thứ thông thường. Bạn có thể cần thêm một công cụ xác định để có WordPress bỏ qua gốc thư mục MediaWiki.

  9. Dễ dàng tích hợp với các phương tiện truyền thông xã hội khác (Twitter? Facebook? Pandora?) - không bắt buộc, nhưng sẽ rất tuyệt

    , thông qua các plugin. Theo mặc định, bạn cũng có thể kéo các nguồn cấp RSS vào WordPress sidebars.

  10. Tạo và bảo trì sơ đồ trang web và/hoặc robots.txt

    , Trình tạo sơ đồ trang web của Google .

6
artlung

Tôi đã sử dụng Wordpress để thiết lập một số trang web, mỗi trang có nhu cầu khác nhau và tôi nghĩ rằng Wordpress cũng sẽ đáp ứng nhu cầu của bạn:

  • http://chaos.trader.name/ - Chủ yếu là một trang web thông tin hướng trang, với một số blog.
  • http://ludus.unicornsrest.org/ - Chủ yếu là một blog, nhưng với cấu trúc trang được lồng sâu. Tôi đã viết một plugin để tạo liên kết đến các trang trong bài viết trong khi cho phép tôi sắp xếp lại các trang.
  • http://driia.com/ - Trang web kinh doanh của vợ tôi, cả blog và trang web bán hàng. Tôi đã viết các plugin cho phép sẽ tự động nhóm các bài đăng lên các trang dựa trên danh mục và thẻ và để nhận ra rằng các bài đăng có thẻ cụ thể đại diện cho đồ trang sức hoặc tác phẩm nghệ thuật được bán. Giá bán được lưu trữ dưới dạng siêu dữ liệu trên các bài đăng.
  • http://barkingmad.org/ - Trang web quảng cáo cho một nhóm giải trí phi lợi nhuận.

Số lượng và chất lượng của các chủ đề và plugin có sẵn cho Wordpress thật đáng kinh ngạc, nhưng giấy phép GPL có nghĩa là mọi thứ không đáp ứng hoàn toàn nhu cầu của bạn đều có thể được cải thiện khi bạn thấy phù hợp.

2
Craig Trader

Tôi không nghĩ rằng bạn sẽ tìm thấy bất kỳ dự án FOSS nào thực hiện những gì bạn muốn nó làm OTB. WordPress là vững chắc nhưng bạn phải làm việc một chút để tạo ra những gì bạn muốn. Drupal có thể đau đầu hơn lúc đầu. Tôi biết mọi người yêu thích nó và tôi biết tôi đã cố gắng, nhưng tôi không lo lắng về việc phải duy trì nhiều bản hack giữa các lần nâng cấp phiên bản.

Thành thật mà nói, tôi sẽ đi với WordPress nếu tôi ở trong đôi giày của bạn và các plugin xây dựng tùy chỉnh cho những gì bạn cần, nếu bạn chưa tìm thấy một số FOSS.

Thông báo trước là kể từ khi Matt Mullenweg (CEO của Automattic, công ty đứng sau WordPress) bắt đầu lôi kéo Richard Stallman về mọi người, ông tin tưởng và ủng hộ rằng mọi chủ đề (mã chủ đề, không phải hình ảnh/css) và plugin (mã plugin) là GPL bởi vì nó là một tác phẩm phái sinh của WordPress trong quan điểm của anh ấy (những gì cá nhân tôi thấy bị bóp méo). Vì vậy, bạn sẽ tốt nếu bạn tự làm điều đó, nhưng nếu bạn có "phân phối", như khi cung cấp các plugin cho 2 người, bạn có thể bị ràng buộc về mặt pháp lý với chính họ, đó là điều bạn có thể hoặc không muốn làm .

1
intlect

Nó phụ thuộc vào những gì bạn muốn làm, và thoát khỏi nó:

  1. Tìm hiểu ngăn xếp công nghệ
    [.__.] Tôi đã viết hầu hết các mã cung cấp năng lượng cho trang web cá nhân của mình như một bài tập học để tăng tốc với những thay đổi mới nhất trong công nghệ mà tôi đang làm việc và đã thay đổi nó khi trọng tâm của tôi thay đổi - ban đầu là một tác phẩm kinh điển ASP trang web, sau đó nó chuyển sang ASP.NET 1.1, rồi 2.0 và hiện đang chạy trên ASP.NET MVC 2.0 sau khi nâng cấp gần đây từ ASP.NET MVC 1.0
  2. Chỉ cần chạy trang web của bạn
    [.__.] Cả ở nơi làm việc và trong một vài trang web của nhà thờ tôi chạy trong thời gian rảnh rỗi, tôi đã sử dụng phần mềm đóng gói - tại nơi làm việc, chúng tôi đang nói về "doanh nghiệp" CMS (MOSS, Tridion), cho các trang web của nhà thờ đó là FOSS ( N2 CMS ) - bởi vì họ cung cấp các tính năng ở trên và ngoài những tính năng tôi đã chuẩn bị để viết.

Nếu nghề nghiệp của bạn đang xây dựng trang web, thì sẽ có một cuộc tranh cãi về việc sử dụng công nghệ mà bạn đang "bán", nếu đó là một thứ khác, thì tôi khuyên bạn nên dành thời gian cho nội dung thay vì công nghệ.


Trả lời nhận xét

Sau đó, tôi sẽ khuyên bạn nên chọn một trong số đó - Tôi không thể đưa ra nhiều khuyến nghị trong lĩnh vực PHP vì đó không phải là chuyên môn của tôi. Nếu bạn có thể đối phó với một số C # N2 CMS thì rất linh hoạt, nhưng không có cơ sở plugin/chủ đề lớn của một cái gì đó như WordPress, mà âm thanh của nó có thể phù hợp với nhu cầu của bạn một cách công bằng tốt...

1
Zhaph - Ben Duguid

Tôi xây dựng CMS cấp doanh nghiệp để kiếm sống ... và cá nhân tôi ghét các hệ thống sẵn có như Joomla, Wordpress và Drupal. Đây là lý do của tôi:

1) Địa điểm tôi từng làm việc đã bị các gói (loại) này khai thác nhiều lần vì chúng tôi không đủ nhanh để cập nhật chúng .... và trong một số trường hợp, cập nhật có thể là hàng tuần. Khi bạn bị hack, bạn sẽ nghiêm túc đặt câu hỏi tại sao bạn đã từng đi trên con đường đó ... nó TUYỆT VỜI.

2) Các mẫu của Wordpress đang điên cuồng. Một người sẽ có một khu vực quản trị đầy đủ tính năng, trong khi khu vực tiếp theo không có và hy vọng bạn sẽ hack mã. Tìm ở đâu? AHHHHH !!! Tôi đã triển khai rất nhiều trong số họ, nhưng điều đó làm tôi đau đớn mỗi lần. Theo tôi, Wordpress là một hệ thống blog ... sử dụng nó cho những gì nó dự định làm.

3) Tôi đã đưa ra hàng trăm trang web Joomla (và Mambo) trong một công việc trước đây. Ngay cả khi bạn biết bạn đang làm gì, chúc may mắn thoát ra khỏi kiểu "bố cục Joomla" đó .... đặc biệt là nếu thời gian không đứng về phía bạn. Tương tự với Wordpress ... bạn có thể NÓI khi bạn đang ở trên một trang web Wordpress. Không, cảm ơn ... Tôi được trả tiền để từ bỏ công việc ban đầu.

4) Đào tạo. Hãy thử giải thích Joomla hoặc quản trị Drupal cho ai đó sau 5 phút hoặc ít hơn. CMS tôi xây dựng có thể được dạy cho ai đó với một đoạn hướng dẫn bằng văn bản (hoặc ít hơn) bởi vì tôi đã xây dựng nó để chỉ bao gồm các công cụ mà mỗi trang web cụ thể cần ... nếu không, nút sẽ biến mất. Tôi thách bạn cố gắng đào tạo ai đó với những chỉ dẫn ít hơn một cuốn sách điện thoại, đặc biệt nếu họ không rành về kỹ thuật.

5) Tuân thủ tiêu chuẩn ... đó là điều mà cá nhân tôi sẽ không thỏa hiệp. Tôi kiểm soát mọi thứ mà CMS của tôi xuất ra và tôi đã xây dựng nó sao cho hàng tá dòng mã có thể được chèn vào bất kỳ mẫu tuân thủ HTML nào trong vài phút để tạo mã tuân thủ mỗi lần. Wordpress không sao cả, Joomla và Drupal không phải lúc nào cũng nhiều.

6) Thị trường. Tất cả các CMS đều làm những điều tương tự. Nhưng hãy thử tiếp cận một khách hàng tiềm năng và nói rằng "Tôi muốn tính phí cho bạn rất nhiều để tùy chỉnh một sản phẩm miễn phí" so với "Đây là một hệ thống được xây dựng dành riêng cho nhu cầu của bạn" Nếu đó là một sản phẩm tốt, bạn sẽ giành được doanh nghiệp đó gần như mọi lúc. Trong trường hợp của bạn, điều này không thành vấn đề .... nhưng ai biết được, có lẽ bạn sẽ có thể xây dựng chức năng cho các dự án trong tương lai ... các dự án trả tiền ....

Tất nhiên có nhược điểm. Bạn tự xây dựng mọi thứ, cần có thời gian. Nếu bạn đang làm điều đó cho nhiều trang web, tính kinh tế của quy mô sẽ khiến bạn bị ảnh hưởng. Bạn không có một đội quân gồm những người tìm thấy các lỗ hổng ... một lần nữa, việc có nhiều triển khai có thể giúp mã phát triển. Nhưng, nếu bạn có kiến ​​thức để viết mã chất lượng, đó là một giải pháp tuyệt vời.

Chúc may mắn.

1
bpeterson76

Có vẻ như, đối với trường hợp sử dụng của bạn, một CMS đóng gói có thể là cách tốt nhất để đi.

Đã vài năm kể từ lần cuối tôi đánh giá PHP CMS, và tại thời điểm đó, yêu cầu chính của tôi là khả năng mở rộng sạch sẽ. Vào thời điểm đó, Joomla là một ứng cử viên mạnh mẽ và Xaraya trông thú vị về mặt trí tuệ mặc dù chu kỳ phát triển có vẻ chậm.

Nếu bạn muốn thử một vài thứ, thì trang opensourceCMS cho phép bạn thử mà không cần phải tự cài đặt. Lần trước tôi đã thử nó có vẻ ít quảng cáo hơn, nhưng tôi đoán bạn đã phải trả các hóa đơn. Nhiều CMS cũng chạy các trang demo của riêng họ (ví dụ: Joomla Demo , Xaraya Demo )

0
JasonBirch

Nếu bạn có rất nhiều thời gian và một cơn ngứa sẽ không biến mất - vâng, hãy tự mình lăn lộn. Nếu không thì cài đặt WordPress (" cài đặt nổi tiếng trong 5 phút ") và dành cho mình 2 giờ ... đó là tất cả những gì bạn cần để có một ý tưởng rất hay.

Tôi muốn đăng một vài bình luận để trả lời các câu trả lời trước đó - bạn chắc chắn có thể xây dựng các trang web là "trang" với WP không chỉ blog (và rất tốt để xây dựng trang web có blog tích hợp) và đồng ý @ nhận xét của intlect về chủ đề. Có thể có một sự khác biệt lớn về chất lượng của một số chủ đề (cũng là một nơi tốt để tìm hiểu/xem cách WP hoạt động) - Tôi đã bị cắn vài lần cũng nâng cấp WP để tìm chủ đề không tương thích với phiên bản mới hơn (và sau đó bạn tìm hiểu mức độ hỗ trợ của nhà phát triển tốt như thế nào).

0
Dan

Tất nhiên có tùy chọn thứ ba, bạn có thể sử dụng CMS ít "nặng" như MODX điều này sẽ cho phép bạn tùy chọn không phải phát minh lại bánh xe của tất cả các công cụ cms tiêu chuẩn ( quản lý người dùng, quản lý tài liệu, v.v.) trong khi cung cấp cho bạn một môi trường linh hoạt dễ dàng để tạo mã của riêng bạn. Tôi đã sử dụng một số CMS 'và tất cả chúng đều có sở thích riêng nhưng nếu bạn muốn thứ gì đó dễ phát triển và đủ nhẹ để bạn có thể hiểu nó mà không cần đào bới (một số hệ thống CMS là những con thú thực sự mạnh mẽ ... một cái gì đó bạn có thể không cần cho một trang web cá nhân). MODX về cơ bản được xây dựng cho loại điều bạn muốn làm, nó cung cấp cho bạn một tính năng cốt lõi và sau đó bạn thêm chính bạn vào đó. Thêm vào đó mọi người chia sẻ mã của họ, vì vậy bạn tìm thấy đoạn trích, mô-đun, vv mà những người khác đã sử dụng.

0
Astaldaran