Bỏ qua để đến nội dung

Khái niệm chính

Định nghĩa ngắn các thực thể trong Admin as a Service và quan hệ giữa chúng.

5 phút đọc

Trang này giải thích các thuật ngữ dùng trong giao diện. Bảng đối chiếu Việt–Anh đầy đủ có ở trang Thuật ngữ.

Không gian riêng của một công ty trên Admin as a Service. Mọi tài khoản và project nằm trong một tổ chức. Mỗi tổ chức tách biệt hoàn toàn với tổ chức của khách hàng khác. Người quản lý tổ chức là Owner; chỉ owner tạo được tài khoản và project.

Đơn vị làm việc của một đội hay một sản phẩm, ví dụ “Support Tools”. Môi trường, data source, action, view, job và nhật ký đều thuộc về đúng một project. Người dùng chỉ thấy project mình được link vào, với vai trò admin, editor hoặc viewer trong project đó. Xem Vai trò.

Một bản tách biệt của project, ví dụ dev và prod. Mỗi môi trường có kết nối data source, biến và secret, IP allowlist và danh sách người được vào riêng. Môi trường có thể được đánh dấu production; khi môi trường này được chọn, giao diện hiện cảnh báo màu đỏ. Môi trường đang làm việc được chọn ở thanh trên cùng. Xem Môi trường.

Một kết nối tới hệ thống bên ngoài: PostgreSQL, MySQL hoặc HTTP API. Data source được khai báo một lần cho project. Thông tin kết nối (host, user, mật khẩu, TLS…) được nhập riêng cho từng môi trường và lưu ở dạng mã hoá. Xem Data source.

Giá trị theo môi trường dùng trong action. Biến ({{$var.KEY}}) là giá trị không bí mật, editor đọc lại được. Secret ({{$secret.KEY}}) chỉ ghi được: sau khi lưu, không ai đọc lại được, kể cả admin và owner. Xem Biến và secret.

Một thao tác đã định nghĩa sẵn, có tên, slug, tham số, quyền và version. Có hai loại action:

  • SQL: một câu lệnh chạy trên data source PostgreSQL hoặc MySQL, ở kiểu Chỉ đọc hoặc Ghi dữ liệu.
  • JavaScript (JS action): không kết nối tới cơ sở dữ liệu nào, chỉ điều phối bằng cách gọi các action khác.

Hiện chưa có loại action HTTP. Data source HTTP chỉ lưu cấu hình theo môi trường và thử kết nối; action gọi data source này chưa có. Xem Action và JS action.

Ô nhập của action, viết trong SQL dạng {{tenParam}}. Mỗi param có kiểu (string, number, integer, boolean, date, datetime, enum), nhãn, thuộc tính bắt buộc và giá trị mặc định. Form chạy action được sinh từ danh sách param. Giá trị param luôn được truyền tách khỏi câu SQL, không ghép chuỗi. Xem Tham số.

Hàm JavaScript ngắn, không bắt buộc, dùng để biến đổi kết quả của action trước khi hiển thị: đổi tên cột, định dạng ngày, thêm link hoặc ảnh. Transformer chạy trên máy chủ trong môi trường cách ly và không truy cập được mạng.

Mọi chỉnh sửa trên action hoặc view được lưu thành nháp; nháp không chạy được. Publish chạy các bước kiểm tra an toàn rồi tạo một version mới. Version mới có hiệu lực ngay ở các môi trường mà action được áp dụng. Có thể so sánh các version và quay về một version cũ (rollback) mà không tạo version mới.

Action, view và lịch được tạo chung cho project, sau đó được chỉ định cho từng môi trường. Theo mặc định, action mới áp dụng ở mọi môi trường trừ production. Bật cho production là một bước riêng, có xác nhận.

Màn hình tuỳ biến do editor viết bằng React/TSX, gọi các action của project. Trình soạn view có gợi ý kiểu, preview trực tiếp và trình dựng kéo-thả để sinh code khởi đầu. View cũng được publish theo version. Xem View.

Một view đã publish, nhìn từ phía người dùng. Màn hình xuất hiện ở mục Màn hình khi view được bật cho môi trường đang chọn. Màn hình chạy bằng quyền của chính người đang xem. Việc publish một view không cấp thêm quyền cho bất kỳ ai. Xem Màn hình.

Mỗi lần một action được chạy, từ trang Chạy action, từ màn hình, từ JS action hoặc từ job. Lịch sử chạy lưu thời điểm, người chạy, môi trường, thời gian chạy, số dòng và lỗi. Dữ liệu trả về không được lưu. Xem Chạy action.

Một lần chạy ở nền. Job được tạo khi người dùng chọn Đưa vào hàng đợi, Chạy hàng loạt (nhiều bộ tham số trong một lượt), hoặc khi một lịch tới giờ. Đưa vào hàng đợi và chạy hàng loạt chỉ áp dụng cho action SQL kiểu Ghi dữ liệu. Job hiển thị tiến độ và có thể huỷ.

Chạy một action SQL định kỳ theo biểu thức cron 5 trường (giờ UTC), với tham số cố định. Lịch chạy bằng quyền của người tạo lịch hoặc người bật lại lịch gần nhất. Xem Job và lịch.

Bản ghi chỉ thêm, không sửa được, của mọi lần chạy và mọi thay đổi trong project (action, quyền, môi trường, biến, secret…), kể cả lần bị từ chối. Xem Nhật ký.

  • Một tổ chức có nhiều project; mỗi project có nhiều môi trường.
  • Data source thuộc project, nhưng kết nối của data source được lưu riêng cho từng môi trường. Biến và secret cũng theo môi trường.
  • Action SQL dùng một data source và các param, và có thể đọc biến, secret. JS action gọi các action khác.
  • View gọi action. Khi được publish và bật cho một môi trường, view trở thành màn hình.
  • Trang Chạy action, màn hình, JS action và job/lịch đều đi qua cùng một điểm thực thi. Mỗi lần chạy được kiểm tra quyền ở máy chủ và ghi vào nhật ký.
  • Vai trò trong project quyết định ai được xây dựng thành phần nào. Quyền trên action và quyền vào môi trường quyết định ai được chạy action nào, ở đâu.