Nâng cấp từ tổng quan 2,5 lên 3.x


15

Đây là một cái gì đó tôi đã tò mò trong một thời gian xem xét một vài điều.

Việc nâng cấp "một cú nhấp chuột" sẽ cải thiện như thế nào trước EoL của Joomla! 2,5?

Hiện tại chúng tôi có tỷ lệ thành công rất thấp khi nâng cấp từ 2.5, có nhiều vấn đề tương thích không được giải quyết chỉ với việc nâng cấp và yêu cầu một vài chỉnh sửa thủ công để hoàn thành quá trình hầu hết thời gian (vấn đề với JHTML là vấn đề phổ biến nhất của tôi xem).

Bây giờ tôi nói "vấn đề" nhưng tôi chỉ có nghĩa là sau khi cập nhật mọi thứ không hoạt động như dự định, điều này không có nghĩa là thành phần "cập nhật" bị hỏng.

Tôi đã nhìn xung quanh nhưng chỉ tìm thấy như sau:

http://docs.j Joomla.org/J Joomla!_CMS_versions

http://developer.j Joomla.org/cms/roadmap.html

Các tiểu bang đầu tiên rằng tháng 12 năm 2014 này hỗ trợ cho 2,5 sẽ bị loại bỏ. Thứ hai nêu lộ trình cho 3.x. Tuy nhiên, ngay bây giờ rất khó để nâng cấp lên 2.5, trang web càng lớn thì càng khó. Tôi không chắc chắn điều gì khiến một số thành công và một số thì không, trong hầu hết các trường hợp, chúng tôi không thể tách biệt nó trực tiếp với các tiện ích mở rộng của bên thứ ba (trình quản lý tiện ích mở rộng và như vậy từ các bảng bị thiếu và trình quản lý tiện ích mở rộng là nơi bạn khắc phục điều đó).

Đây là vấn đề thực sự xảy ra với việc nâng cấp, nếu trang web sử dụng cơ sở dữ liệu lớn với thứ gì đó như sobipro, k2 hoặc trình xây dựng nội dung hoặc chỉ nhiều bài viết / mô-đun thì việc nâng cấp có thể thất bại dễ dàng hơn nhiều. Những thứ đó không thể bị xóa, vô hiệu hóa hoặc gỡ cài đặt (ví dụ: hơn 4000 mặt hàng sẽ bị mất khi gỡ cài đặt, tại thời điểm đó cũng có thể làm lại trang web sau đó nâng cấp).

Vậy có kế hoạch nào để cải thiện nâng cấp một lần nhấp cho 2,5 lên 3.x để phù hợp hơn với EoL không? (như bài đăng tin tức hoặc blog) Câu hỏi kỳ lạ nhưng tôi cảm thấy với bao nhiêu 2,5 trang web ngoài đó không thể nâng cấp nó có thể rất đáng giá.


Tôi chưa bao giờ nghe nói hoặc có bất kỳ vấn đề gì khi nâng cấp từ J2.5 lên 3.x. Thực tế, gần đây chúng tôi đã nâng cấp trang web của mình lên J3.3 với số lượng tiện ích mở rộng khá lớn, bao gồm K2, Community Builder và Kunena mà không gặp vấn đề gì.
Lodder

1
Chúng tôi chưa bao giờ có một thành công "không có vấn đề" thực sự trong khoảng 10 lần thử trong số 80 2.5 trang web chúng tôi có. Câu hỏi này chỉ nhằm mục đích xem liệu có bất kỳ loại kế hoạch nào để giảm lỗi không (tôi biết không có số nào phải được gỡ cài đặt để nâng cấp, tôi có thể đăng câu trả lời đó cho mình vì nó làm cho nó "giống" như một vấn đề cốt lõi và khó nhìn, không phải là điều duy nhất có thể xảy ra mặc dù). Tôi có nghĩa là cho câu hỏi này để hy vọng tập hợp một số nguồn khác nhau và giải quyết vấn đề cho nó.
Jordan Ramstad

1
Jordan có một điểm. Nâng cấp không phải lúc nào cũng đơn giản. Đây không phải là vấn đề đối với tôi, nhưng đối với người dùng trung bình có thể bị kẹt sau khi nâng cấp sẽ phá vỡ trang web của họ, do đó đây là vấn đề đối với Joomla, vì chúng tôi đang sống ở những năm "Thân thiện với người dùng" và " Phần mềm hoạt động "rất cần thiết.
FFrewin

Tôi cũng đã trải qua hơn một vài vấn đề nâng cấp, trên thực tế, tất cả các nỗ lực nâng cấp của tôi với nửa tá trang web đã cho tôi các vấn đề mà tôi phải vá, sau thực tế, theo nhiều cách khác nhau. Tôi đã phát hiện ra rằng hầu hết trong số này là do sử dụng mootool trong các phần mở rộng. Điều này đã khiến việc nâng cấp bị phá vỡ tại một số điểm, thường là ngay trước khi cập nhật cơ sở dữ liệu. Đối với các trang web mà tôi, trước khi nâng cấp, đã thay thế việc sử dụng MooTools, trong mọi nguồn được sử dụng, với phiên bản 3.x của nó ("JHtml :: _ ('behavior.framework');") dường như đã hoạt động hoàn hảo.
thoni56

Câu trả lời:


11

Nâng cấp "một cú nhấp chuột" hoạt động rất tốt cho Joomla! Lõi 2.5 .

Nhưng trang web của bạn có thể có một số mẫu hoặc tiện ích mở rộng cũng được nâng cấp.

Tôi cũng đang lên kế hoạch di chuyển "tháng 6" cho trang web chính của chúng tôi. Đây là kế hoạch của tôi:

  • Sao lưu trang web chính và tạo một trang web thử nghiệm mới
  • Xem lại các yêu cầu hệ thống cho Joomla 3.x và đảm bảo rằng môi trường máy chủ của bạn đáp ứng các yêu cầu đó.
  • Cài đặt và tùy chỉnh một Joomla mới! Mẫu tương thích 2,5 / 3
  • Cài đặt và tùy chỉnh tất cả Joomla! 2,5 / 3 phần mở rộng tương thích
  • Nếu một số tiện ích mở rộng không có phiên bản tương thích J3, thì nó phải được thay thế bằng một tiện ích mở rộng mới .... VÀ dữ liệu phải được di chuyển (trường hợp xấu nhất)
  • LƯU Ý : Các bước trước có thể được thực hiện ngoại tuyến, được kiểm tra và cuối cùng, bạn có thể thực hiện chúng trong Joomla hiện tại của mình! 2.5 trang web để giảm nguy cơ di cư một ngày.
  • Cập nhật trang web phát triển của bạn với trang web trực tiếp mới nhất
  • Bước cuối cùng: nâng cấp "một cú nhấp chuột" lên Joomla! 3 trên trang web phát triển
  • Kiểm tra và kiểm tra mọi thứ cho đến khi nó hoạt động
  • Di chuyển trang web trực tiếp (hoặc khôi phục ảnh chụp nhanh trang web phát triển mới nhất trên một lưu trữ mới .... chỉ trong trường hợp có sự cố và bạn phải kích hoạt lại trang web J2.5)
  • SỰ THÀNH CÔNG

1
Giải thích rất hay về một phương pháp an toàn để nâng cấp. Tôi cũng đang đi sâu vào tháng 7 và đã lo lắng về điều đó trong một thời gian. Sau khi đọc xong tôi cảm thấy tốt hơn rất nhiều. Cảm ơn = ^ D
Mathew Lenning

5

Để nâng cấp từ 2,5 lên 3,3, tôi cũng đã có nhiều may mắn hơn khi thực hiện nâng cấp thủ công. Đối với các phiên bản, tôi sẽ tăng lên 2.5.20-> 3.0.3-> 3.1.6-> 3.2.4-> 3.3.0.

Đây là toàn bộ quá trình:

  1. Tải xuống tất cả các phiên bản và giải nén trên máy cục bộ (đây là một tài nguyên tốt: http://www.whitefirdesign.com/resource/j Joomla-release-archive.html )
  2. Sao lưu bằng Akeeba
  3. Tạo trang web nhân bản trong thư mục con bằng Akeeba Kickstart (tạo / sử dụng cơ sở dữ liệu mới)
  4. Trong phần cuối của trang web, gỡ cài đặt tiện ích mở rộng "có vấn đề" (xem phần dưới của bài đăng)
  5. Trong FTP, tải lên tất cả các tệp từ phiên bản Joomla mới ngoại trừ thư mục / install /.
  6. Trong phần cuối của trang web, hãy truy cập EXTENSION-> EXTENSION QUẢN LÝ-> DATABASE và nhấn FIX
  7. Sau đó, đi đến EXTENSION-> EXTENSION QUẢN LÝ-> KHÁM PHÁ, nhấn khám phá và cài đặt cho bất cứ thứ gì nó tìm thấy
  8. Chuyển đến Trình quản lý ACL (nếu bạn không có, tôi rất khuyến nghị) và khắc phục mọi sự cố ACL mà nó tìm thấy. http://aclmanager.net
  9. Lặp lại quy trình với phiên bản tiếp theo của Joomla

Sau khi bạn nhận được phiên bản mới nhất:

  1. Cài đặt lại phần mở rộng "vấn đề"
  2. Sao lưu phiên bản mới
  3. Trang web kiểm tra các vấn đề
  4. Di chuyển trang web gốc vào thư mục con
  5. Di chuyển trang web mới vào root để đi vào hoạt động

Toàn bộ quá trình này mất nhiều thời gian vì thời gian tải lên cho các phiên bản đầy đủ, nhưng nó giúp tiết kiệm đau đầu.

Đối với các phần mở rộng có vấn đề, đây chỉ là những phần gây ra sự cố trong quá trình nâng cấp cho tôi. Giả thuyết của tôi là gói cài đặt thực sự có các phiên bản khác nhau cho J2.5 so với J3.3 nên nó bị lẫn lộn khi bạn nâng cấp. Nếu bất cứ ai đã tìm thấy những người khác, xin vui lòng cho tôi biết.

  • Tiện ích mở rộng NoNumbers (Trình quản lý NN, Trình dọn dẹp bộ đệm, Trình quản lý mô-đun Adv, Mô-đun mọi nơi, v.v.)

Các tiện ích mở rộng này có thể gây ra sự cố nếu không sử dụng bản phát hành gần đây nhất:

  • RSForm
  • JW AllVideos
  • RokBox
  • RSForm
  • Dấu trang xã hội
  • Bản đồ

Các hình thức Blueflame cũng gây ra vấn đề.
một lập trình viên

3

Tôi không thể nâng cấp thư mục từ 2.5.7 lên 3.2.0. Tôi đã gặp nhiều lỗi khác nhau trong các lần nâng cấp này, đôi khi không thể nâng cấp được.

Con đường nâng cấp tôi phải thực hiện là:

2.5.7 → 3.0.1 → 3.1.5 → 3.2.0

Kể từ đó tôi đã có thể nâng cấp bình thường. Tôi đang chạy 3.2.2 và dự định nâng cấp lên 3.3.


Nâng cấp được hỗ trợ từ phiên bản 2.5.x mới nhất (tính đến ngày hôm nay là 2.5.20!). Từ phiên bản này, bạn có thể nâng cấp trực tiếp lên 3.3.0. Vì vậy, thay vì thực hiện một số bước nhỏ, trước tiên bạn nên cập nhật phiên bản 2.5.7 cũ lên 2.5.20 rất cũ và từ đó lên 3.3.0.
Bakual

Dường như YellowWebMonkey có cùng một vấn đề từ 2.5.20, xem câu trả lời của anh ấy để biết thêm chi tiết.
ContextSwitch

Cá nhân tôi sẽ quan tâm đến các lỗi bạn gặp phải trong khi cập nhật trực tiếp từ 2.5.20 đến 3.3.0. Chỉ nói về cốt lõi ở đây, không phải bên thứ 3.
Bakual

Tôi sẽ nói rằng thật khó để sao chép nếu bạn không có vấn đề gì, điều tương tự xảy ra từ 1.7, trước tiên chuyển sang 2.5.1 gần như không có lỗi nhưng đi thẳng đến bản mới nhất luôn có vấn đề. Tôi nghi ngờ bất kỳ lỗi nào của các nhà phát triển, có thể là một số thời gian chờ khi áp dụng số lượng lớn tệp cập nhật SQL cho tất cả các phiên bản? Nếu đó là vấn đề có lẽ bản cập nhật Joomla nên có trình cài đặt độc lập và cài đặt các bản cập nhật theo trình tự, thay vào đó hãy áp dụng tất cả chúng cùng một lúc (dù sao cũng là lõi). Tuy nhiên, chỉ là một ý tưởng ngẫu nhiên, câu trả lời này cho tôi một ý tưởng về lỗi có thể xảy ra ở đâu, chỉ là "lý thuyết".
Jordan Ramstad

Tôi sẽ xem nếu tôi vẫn có một bản sao của cơ sở dữ liệu 2.5.7 của chúng tôi. Nếu tôi có thể tìm thấy nó cập nhật câu trả lời với các vấn đề tôi đã gặp phải.
ContextSwitch

2

Để trả lời câu hỏi chính:

Việc nâng cấp "một cú nhấp chuột" sẽ cải thiện như thế nào trước EoL của Joomla! 2,5?

Không có kế hoạch để cải thiện nó. Nó hoạt động mà không có vấn đề cho cốt lõi. Mẫu sẽ phải được thay thế do đầu ra mở rộng thay đổi. Các phần mở rộng khác cần phải được kiểm tra thủ công, nó phụ thuộc vào cách chúng được xây dựng. Có thể viết các phần mở rộng hoạt động trên cả 2.5.15+ và 3.x với cùng một cơ sở mã. Nhưng người ta phải kiểm tra xem bằng cách thử hoặc bằng cách liên hệ với nhà phát triển (hoặc đọc Câu hỏi thường gặp của họ).

Điều duy nhất có thể được cải thiện trong 2.5 là thêm kiểm tra khả năng tương thích trước khi nâng cấp. Có một số công việc được thực hiện cho điều đó nhưng nó bị đình trệ. Một người nào đó trong cộng đồng sẽ phải nhặt nó lên và kết thúc nó.


Việc thiếu kiểm tra tính tương thích trong 2.5 là một trong những lý do khiến bạn phải kiểm tra các phiên bản PHP trên nền tảng nâng cấp. Cập nhật "một lần nhấp" từ 2.5 đến 3.2. * + khiến nhiều người có trang web trống trước và sau.
BodgeIT

2

Đây là một số thông tin hữu ích tôi đã tìm thấy khi nâng cấp.

Đối với một, nếu trang web ban đầu là 1.6, sau đó được nâng cấp lên 2.5 thì ngay cả trong các phiên bản 2.5 mới nhất, tất cả các tiện ích mở rộng vẫn sẽ hoạt động. Tuy nhiên, để nâng cấp lên 3.x yêu cầu cài đặt lại. Điều này là do sự khác biệt trong khu vực "cập nhật" có nghĩa là nếu là 1.6 thì máy chủ cập nhật sẽ không đọc chính xác các bản cập nhật, vì vậy, nếu đó là thành phần 1.6, thì ít nhất là trong hầu hết các trường hợp (tôi đã thấy điều này trong DJ Image Slider và BreezingForms) sẽ không cập nhật khi được nâng cấp lên 2.5.

Vì vậy, một bản nâng cấp thủ công của các phần mở rộng này là cần thiết tại một số thời điểm trong vòng đời của nó trong 2.5. Tôi tin rằng tùy thuộc vào phần mở rộng cũng có thể có vấn đề với bản cập nhật sql bình thường, nhưng chỉ cần một cái gì đó để nhận biết.

Đôi khi các tiện ích mở rộng có thể được đổi tên hoặc "đổi mới", điều này sẽ khiến Joomla đôi khi đọc nó như một thành phần mới, dẫn đến nhiều mục của cùng một thành phần, cũ và mới. Nếu bạn gỡ cài đặt, nó vẫn sử dụng cùng một bảng cơ sở dữ liệu, vì vậy nó sẽ xóa chúng nếu bạn đã cài đặt chúng.

Ý tưởng: Vì vậy, một điều tôi nghĩ sẽ hữu ích trong trường hợp này là thêm vào trình quản lý tiện ích mở rộng để kiểm tra các tiện ích mở rộng dành cho các phiên bản cũ hơn, để dễ dàng nhìn thấy chúng, điều này có thể được thực hiện bằng cách xem "ngày cập nhật" cuối cùng và đó là trước một sự thay đổi tiềm năng trong Joomla nếu phiên bản hiện tại đã qua phiên bản đó.

Dù bằng cách nào, trong trường hợp một trang web đi từ 1.6 đến 2.5 sau đó đến 3.x tại bất kỳ thời điểm nào cũng có thể buộc cài đặt lại do đó sẽ xóa dữ liệu.

Một ý tưởng khác: Nếu "cài đặt lại" được thêm vào bên cạnh cập nhật, sử dụng theo dõi phiên bản cũ hơn và máy chủ cập nhật của nó hoặc url / tải lên tùy chỉnh để cơ bản gỡ cài đặt thành phần mà không xóa dữ liệu. Sau đó cài đặt lại nó trong khi sử dụng các bản cập nhật sql để cập nhật các bảng cơ sở dữ liệu sẽ vô cùng tiện dụng.

Tôi đang sử dụng một trang web ban đầu là 1.6 vì nó sẽ hiển thị những vấn đề này thường xuyên hơn, nó có thể xảy ra với các trang web bắt đầu từ 2.5.

Điều này giải thích nhiều vấn đề có thể xuất phát từ các tiện ích mở rộng có thể chưa bao giờ nâng cấp để thêm khả năng tương thích lên 3.x, các plugin là tồi tệ nhất vì ngay cả trong bảng quản trị cũng có lỗi khiến bảng quản trị không thể sử dụng được.

Một ý tưởng khác: Trình quản lý cập nhật Joomla có thể tự động vô hiệu hóa tất cả các plugin của bên thứ ba, sau đó một số (như akeeba, vì nó theo dõi các bản cập nhật) sau đó cập nhật. Sau khi nó kích hoạt lại tất cả các plugin một lần nữa nhưng "kiểm tra" các plugin hệ thống để tìm lỗi. Ý tôi là nó tự động kích hoạt các sự kiện khác nhau bằng một lần thử / bắt để xem có lỗi hay không, nếu có thì vô hiệu hóa và thông báo.

Bây giờ tất cả điều này giả định không có vấn đề cốt lõi, đó là những gì không thường xảy ra trong một bản cập nhật.

Những ý tưởng tôi đăng ở trên có ý nghĩa với đội ngũ phát triển, phần còn lại là thông tin tốt cho bất cứ ai cập nhật. Các ý tưởng tôi đã đưa ra thậm chí có thể cho phép cập nhật mà không cần gỡ cài đặt / vô hiệu hóa các tiện ích mở rộng trước tiên có khả năng bổ sung thêm nhiều công việc vào quy trình. Với một số bổ sung cho trình cập nhật đã tuyệt vời, thậm chí các bản cập nhật tự động hoàn toàn (giống như wordpress) có thể có thể trong tương lai.


1

Tôi thấy có rất nhiều điều cần xem xét khi nâng cấp, đơn giản là không thể coi đó là quá trình "một cú nhấp chuột".

Các phiên bản PHP là điều đầu tiên cần xem xét. Các phiên bản Joomla cũng vậy ... luôn nâng cấp lên phiên bản cuối cùng trong bất kỳ cây nào trước khi leo lên thang tiếp theo. Sử dụng Akeeba CMS Updater để chọn các bản cập nhật bạn muốn áp dụng và từ chi nhánh nào.

Phần mở rộng là nơi nó thực sự có lông.

Sử dụng tiện ích mở rộng như SP Transfer có thể giảm các sự cố bằng cách tạo một trang web thứ cấp có thể được cài đặt sẵn ở phiên bản mới với tất cả các thành phần được cài đặt cho phiên bản đó và sau đó kéo tất cả dữ liệu cần thiết từ cơ sở dữ liệu qua.

Quá trình này không dành cho người dùng hàng ngày nói chung.

Thường xuyên hơn không, tôi thấy một số mức độ vấn đề với bảng tài sản và thường phải sử dụng chẩn đoán của Trình quản lý ACL để sửa các mục mồ côi hoặc thiếu trong bảng.


1

Quy trình tôi sử dụng đã phát triển qua khoảng 40 lần di chuyển mini Joomla 2.5 đến 3.x. Nó không chính xác là "một cú nhấp chuột" nhưng giúp tránh những cạm bẫy phổ biến nhất. Hầu hết các trang web tôi chăm sóc đều sử dụng các mẫu RocketTheme và có các phiên bản tương đương Joomla 3.x của các mẫu Joomla 2.5 đã giảm các vấn đề di chuyển mẫu cho tôi nhưng số dặm của bạn có thể thay đổi.

  1. Kiểm tra môi trường lưu trữ phù hợp với Joomla 3.x

  2. Chạy sao lưu trước!

  3. Gỡ cài đặt mọi tiện ích mở rộng không tương thích Joomla 3.x

  4. Cập nhật lên Joomla 2.5.28 nếu chưa có trên 2.5.28 và cập nhật tất cả các tiện ích mở rộng của bên thứ ba lên các phiên bản Joomla 2.5 mới nhất hiện có

  5. Vô hiệu hóa plugin "Hệ thống - Ghi nhớ"

  6. Vô hiệu hóa plugin "Hệ thống - Sao lưu khi cập nhật" nếu Akeeba Backup được cài đặt

  7. Trong Cấu hình toàn cầu, Đặt báo cáo lỗi thành "Phát triển" (để hiển thị lỗi sau khi di chuyển - nếu bạn bỏ lỡ bước này, bạn có thể phải sử dụng FTP, v.v. để tải xuống tệp.php, chỉnh sửa nó để bật tin nhắn và sau đó tải lên phiên bản cập nhật qua FTP, đó là một nỗi đau)

  8. Thay đổi thành phần -> Cập nhật Joomla -> Tùy chọn thành "Hỗ trợ ngắn hạn"

  9. Trong Thành phần -> Cập nhật Joomla, nhấp vào "Cài đặt bản cập nhật" để cập nhật từ 2.5.x lên 3.5.1, 3.5.1 đến 3.6.5 và sau đó 3.6.5 lên phiên bản mới nhất. Xóa bộ đệm Joomla và xóa bộ đệm trong Tiện ích mở rộng -> Trình quản lý tiện ích mở rộng -> Cập nhật và thử lại nếu bản cập nhật không được cung cấp. Bạn có thể phải xác nhận lại một hoặc hai lần khi cập nhật mã thông báo phiên được thực hiện

  10. Thay đổi thành phần -> Cập nhật Joomla -> Tùy chọn -> Cập nhật kênh thành "Mặc định" nếu nó chưa được đặt lại thành "Mặc định"

  11. Cài đặt lại các tiện ích mở rộng Joomla 3.x mới nhất trên đầu mọi tiện ích mở rộng đã cài đặt, đặc biệt là ChronoForms và mọi Hành động ChronoForms nếu bạn đã cài đặt bất kỳ tiện ích nào trong số này.

  12. Xóa bộ đệm Joomla và bộ đệm trình duyệt web của bạn

  13. Trong Cấu hình toàn cầu, đặt Báo cáo lỗi trở lại thành "Không"

  14. Kích hoạt lại plugin "Hệ thống - Sao lưu khi cập nhật" nếu Akeeba Backup được cài đặt

  15. Kích hoạt lại plugin "Hệ thống - Ghi nhớ"

  16. Tắt plugin "Hệ thống - Joomla! Cập nhật thông báo" để tắt thông báo cập nhật Joomla (tùy chọn)

  17. Xóa các mẫu Joomla 2.5 (nguyên tử, beez5, beez_20, bluestork)

  18. Bật kiểm soát phiên bản trong Nội dung -> Bài viết -> Tùy chọn -> Chỉnh sửa bố cục nếu thích hợp (điều khiển phiên bản bị tắt theo mặc định)

  19. Vô hiệu hóa "Cho phép đăng ký người dùng" tại Người dùng -> Quản lý -> Tùy chọn -> Tùy chọn người dùng nếu phù hợp (điều này được bật như mặc định trong Joomla 2.5)

Bước 11 rất quan trọng để cho phép các tập lệnh cài đặt thực hiện bất kỳ bước cụ thể nào của Joomla 3 có thể chưa được chạy khi chúng được cài đặt ban đầu trên Joomla 2.5.

Hãy nhớ cập nhật phiên bản PHP nếu thích hợp. PHP 5.3 đã hết tuổi thọ và PHP 5.6 hoặc PHP 7.0 trở lên là lựa chọn tốt hơn cho Joomla 3.x bây giờ.

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.