Nhiệm vụ: Triển khai blog

Triển khai blog

Hiện thực hóa blog như một cách thể hiện riêng biệt của các concept hiện có thông qua hệ thống type, mà không cần tạo ra một thực thể kỹ thuật mới.

Bối cảnh

Cần phải tách biệt rõ ràng giữa tương tác thực tế cốt lõi với sản phẩm và lớp giải thích/tiếp thị.

Người dùng, đặc biệt là trẻ em, phải có khả năng truy cập trang web và sử dụng các cơ chế ngay lập tức mà không cần đọc sứ mệnh, lý thuyết, mô tả phương pháp luận, văn bản tiếp thị hoặc giải thích nguyên lý.

Đồng thời, toàn bộ lý thuyết dự án, lý luận, nghiên cứu, nguyên lý, giải thích cách tiếp cận và nội dung SEO phải được cung cấp riêng cho phụ huynh, giáo viên, học viên trưởng thành và những người dùng quan tâm khác.

Vì vậy, một blog là cần thiết.

Nguyên lý kỹ thuật cốt lõi

Blog không được là một thực thể kỹ thuật riêng biệt.

Nó phải được xây dựng dựa trên các concept đã tồn tại sẵn.

Cơ chế phân biệt chính là trường type trên concept.

Cần phải lên kế hoạch và triển khai trước thư mục các loại concept, trong đó các loại blog sẽ có một namespace thống nhất:

blog:default
blog:article

và các loại khác bắt đầu bằng:

blog:

Nói cách khác, blog không phải là một mô hình dữ liệu riêng biệt, mà là một cách phân loại, truy vấn và hiển thị các concept.

Những việc cần phải thiết kế và xử lý

  • định nghĩa hệ thống type chung cho các concept;
  • định nghĩa namespace blog:*;
  • quyết định những loại blog cụ thể nào là cần thiết;
  • chốt mục đích của từng loại;
  • xác định loại nào là cơ bản/mặc định;
  • xác định các trường concept nào được sử dụng để hiển thị blog;
  • định nghĩa quy tắc URL/định tuyến (routing);
  • định nghĩa quy tắc danh sách bài viết;
  • định nghĩa quy tắc hiển thị từng bài viết riêng lẻ;
  • xác định cách các concept blog liên kết với các concept kiến thức thông thường;
  • xác định xem các tài liệu giống nhau có thể đồng thời tham gia vào cấu trúc kiến thức và blog hay không;
  • định nghĩa bộ lọc theo type;
  • triển khai thư mục loại sao cho tránh việc rải rác các giá trị chuỗi khắp mã nguồn;
  • dự trù khả năng mở rộng loại trong tương lai mà không làm thay đổi mô hình dữ liệu;
  • định nghĩa các trường SEO và quy tắc cho tài liệu blog;
  • xác định cách cấu trúc blog có thể lập chỉ mục được hình thành;
  • định nghĩa điều hướng theo chủ đề mà không biến blog thành lối vào chính của sản phẩm.

Các loại tiềm năng

Ví dụ khởi đầu:

blog:default
blog:article

Các loại bổ sung cần được xác định riêng trong phạm vi nhiệm vụ. Các hướng đi có thể đánh giá:

  • tổng quan;
  • nghiên cứu;
  • tài liệu phương pháp luận;
  • ghi chú;
  • nghiên cứu tình huống (case study);
  • giải thích nguyên lý;
  • bài viết SEO.

Đồng thời, danh sách cụ thể không được cố định chỉ dựa trên các danh mục CMS quen thuộc — nó phải phản ánh cách sử dụng nội dung thực tế trong dự án.

Nguyên lý kiến trúc

Sản phẩm thực tế và blog phải tồn tại độc lập với nhau ở cấp độ lối vào của người dùng.

Logic cốt lõi:

sản phẩm trả lời cho câu hỏi "tôi có thể làm gì ngay bây giờ?"

blog trả lời cho câu hỏi "tại sao nó lại được thiết kế như thế này?"

Người dùng có thể sử dụng trang web trong thời gian dài mà không cần ghé thăm blog.

Blog cần thiết cho việc:

  • khẳng định sứ mệnh và nguyên lý;
  • giải thích phương pháp luận;
  • xuất bản nghiên cứu và kết luận;
  • cung cấp lý lẽ cho phụ huynh và giáo viên;
  • SEO;
  • tích lũy kiến thức cộng đồng xung quanh dự án;
  • xây dựng niềm tin;
  • giải thích các quyết định sản phẩm cho những ai thực sự quan tâm.

Giới hạn

Không xây dựng blog như một phễu tiếp thị trung tâm đứng trước sản phẩm.

Không giới thiệu một thực thể mới chỉ vì blog nếu mô hình concept hiện tại đã đáp ứng được yêu cầu này.

Trước tiên cần thiết kế thư mục loại và quy tắc hiển thị, sau đó mới đến giao diện blog.

Ворклоги

Những gì đã được thực hiện

Blog thực tế đã được ra mắt ở cấp độ dữ liệu dưới dạng biểu diễn các concept hiện có thông qua type, mà không cần giới thiệu một thực thể kỹ thuật riêng biệt.

Phương pháp tiếp cận làm việc đã được xác nhận:

  • các bài viết blog được tạo dưới dạng concept thông thường;
  • type: "blog:article" được sử dụng cho các bài viết;
  • nội dung bài viết không chứa tiêu đề chính vì nó được hiển thị riêng biệt từ name;
  • các bài viết có thể liên kết với nhau và với các concept liên quan trong Conceptica;
  • blog vẫn là một lớp giải thích/tiếp thị riêng biệt và không được bắt buộc phải là điểm truy cập vào sản phẩm.

Các bài viết được xuất bản đầu tiên

Liên kết nội bộ

Các bài viết được liên kết với nhau theo ngữ nghĩa và trỏ đến các concept liên quan của Conceptica, bao gồm:

Như vậy, chúng ta đã có cụm nội dung blog liên kết đầu tiên xoay quanh việc đọc, chữ viết và logic học tập chung trong "Uchitsya - Legko!".

Kết quả

Nhiệm vụ tích hợp blog đã hoàn thành.

Tiến độ thực tế và Chi phí

Việc triển khai tốn nhiều thời gian hơn ít nhất 5 giờ so với dự kiến.

Nguyên nhân chính là do những hạn chế của lovable.dev: bạn không thể đơn giản chuyển bất kỳ dự án hiện có nào lên đó mà không cần điều chỉnh. Để sử dụng Lovable nhằm hoàn thiện phần giao diện và sau đó tái sử dụng kết quả trong dự án chính, phần lớn các component của chúng tôi đã phải được chuyển thủ công sang đó.

Điều này kéo theo các công việc kỹ thuật bổ sung:

  • chuyển các component từ dự án hiện tại sang môi trường Lovable;
  • cài đặt các dependency còn thiếu;
  • điều chỉnh môi trường;
  • sửa một lượng lớn lỗi kiểu dữ liệu (typing errors);
  • đưa các component đã chuyển về trạng thái có thể tiếp tục chỉnh sửa và sau đó đưa ngược lại dự án chính.

Kết luận

Công việc bổ sung này tốn kém về mặt thời gian, nhưng nó tạo ra một cơ sở hạ tầng hữu ích cho tương lai.

Giờ đây, việc tinh chỉnh các component giao diện qua lovable.dev sẽ dễ dàng hơn và sau đó có thể tái sử dụng trong dự án chính. Nói cách khác, phần lớn chi phí phát sinh là dành cho việc chuẩn bị môi trường và component một lần, điều này sẽ giúp giảm chi phí cho các lần tinh chỉnh giao diện tiếp theo.