Nhiệm vụ: Triển khai lại các biểu mẫu và tích hợp công khai hiện tại từ đầu
Triển khai lại các biểu mẫu và tích hợp công khai hiện tại từ đầu
Không chuyển nguyên văn mã nguồn biểu mẫu cũ (legacy), mà chỉ thiết kế lại các kịch bản người dùng thực sự cần thiết trên haih-cms.
Mục tiêu
Chỉ triển khai trên nền tảng mới những biểu mẫu và kịch bản tích hợp công khai thực sự cần thiết cho trang web mới.
Việc cần làm
- Dựa trên kết quả kiểm kê, xác định các biểu mẫu và hành động người dùng thực sự cần thiết.
- Không tự động chuyển mã nguồn biểu mẫu cũ, Devise/OAuth hoặc các tích hợp khác chỉ vì chúng tồn tại trong dự án cũ.
- Đối với mỗi kịch bản cần thiết, hãy thiết kế phương án triển khai mới bằng haih-cms và công nghệ hiện tại.
- Cấu hình xác thực (validation), thông báo lỗi và xác nhận gửi thành công.
- Kiểm tra cơ chế chống spam thông thường và việc gửi trùng lặp.
- Chỉ kết nối các tích hợp bên ngoài khi có nhu cầu được xác nhận.
Kết quả
Trang web mới bao gồm tập hợp các biểu mẫu và tích hợp công khai cập nhật mà không phụ thuộc vào mã nguồn cũ.
Tiêu chí hoàn thành
- Tất cả các kịch bản người dùng cần thiết đã được triển khai.
- Các tính năng OAuth lỗi thời và tích hợp cũ khác không được di chuyển tự động.
- Các biểu mẫu hoạt động độc lập với ứng dụng Ruby.
- Các tham số nhạy cảm không được ghi nhận trong tác vụ công khai.
Ворклоги
Thay đổi cách tiếp cận đối với biểu mẫu và tích hợp
Việc triển khai cũ (legacy) của các biểu mẫu, OAuth và tích hợp bên ngoài không được chuyển đổi tự động. Chỉ những kịch bản người dùng thực sự cần thiết mới được triển khai lại trên trang web mới.
Điều này giúp loại bỏ sự phụ thuộc vào các gem Rails cũ và các nhà cung cấp lỗi thời, đồng thời tránh việc giữ lại tính năng chỉ vì lý do tương thích.
Lỗi kế thừa: Đăng nhập mạng xã hội trong biểu mẫu phản hồi không hoạt động
Giao diện biểu mẫu phản hồi cung cấp cho người dùng bốn tùy chọn đăng nhập mạng xã hội:
- Google+ (
/auth/gplus) - Vkontakte (
/auth/vkontakte) - Twitter (
/auth/twitter) - Facebook (
/auth/facebook)
Trên thực tế, không có kịch bản nào trong số này hoạt động ở thời điểm hiện tại.
Tại sao điều này quan trọng
Đây là một ví dụ rõ ràng khác về sự suy giảm chức năng kế thừa: giao diện tiếp tục hứa hẹn với người dùng các tính năng mà về mặt kỹ thuật không còn tồn tại hoặc không còn được hỗ trợ. Đối với khách truy cập, điều này trông giống như một trang web bị hỏng, và đối với đội ngũ bảo trì, nó tạo ra một phạm vi chức năng ảo mà họ phải mất công tìm hiểu riêng.
Đặc biệt đáng chú ý là sự hiện diện của Google+ — một dịch vụ đã đóng cửa đối với người dùng phổ thông từ lâu. Bản thân việc giữ lại mục như vậy trong giao diện hiện tại cho thấy các tích hợp bên ngoài dễ dàng biến thành "nợ kỹ thuật" (technical debt) như thế nào nếu chúng không được xem xét thường xuyên.
Kết luận cho phiên bản mới
Không nên mang theo tính năng đăng nhập mạng xã hội chỉ vì nó có sẵn trong giao diện cũ. Đối với haih-cms, cần phải xác định lại xem người dùng có thực sự cần đăng nhập hay không, và nếu cần — chỉ triển khai các kịch bản thực sự phù hợp và được hỗ trợ.
Thà có một con đường phản hồi đơn giản và hoạt động tốt còn hơn là một tập hợp các phương thức đăng nhập hấp dẫn về mặt hình ảnh nhưng lại không hoạt động.
Ảnh hưởng thực tế đối với quá trình di chuyển
Các tuyến đường OAuth cũ nên được xem xét như một tính năng lịch sử thay vì là một yêu cầu bắt buộc đối với việc triển khai mới. Sự hiện diện của chúng cần được tính đến trong quá trình kiểm kê, nhưng không được tái tạo lại nếu không có giá trị người dùng được xác thực.