Giao diện
@digiforce-nc/plugin-public-forms
Plugin form công khai — tạo form có thể truy cập công khai (không cần đăng nhập) để thu thập dữ liệu từ bên ngoài vào Collection.
Plugin này làm gì?
Khi cần thu thập dữ liệu từ khách hàng, ứng viên, hoặc bất kỳ ai bên ngoài hệ thống (đăng ký sự kiện, khảo sát, liên hệ...), plugin tạo public URL cho form. Người dùng bên ngoài truy cập link, điền form, dữ liệu tự động lưu vào Collection — không cần tài khoản Digiforce.
Cơ chế hoạt động
Tính năng chính
| # | Tính năng | Mô tả |
|---|---|---|
| 1 | Public URL | Tạo link truy cập không cần đăng nhập (/public-forms/:name) |
| 2 | JWT Token | Token tạm thời (1h) để xác thực form submission |
| 3 | Password protection | Bảo vệ form bằng mật khẩu (tùy chọn) |
| 4 | Schema-based rendering | Render form từ UI Schema — hỗ trợ mọi field type |
| 5 | Association support | Hỗ trợ relation fields (Nester, SubTable, PopoverNester) |
| 6 | Workflow trigger | publicSubmit → create — kích hoạt workflow như bản ghi thường |
| 7 | Multi data source | Hỗ trợ form cho Collection từ nhiều data source |
Database
| Bảng | Mô tả |
|---|---|
publicForms | Cấu hình form: key (uid), title, type, collection, description, enabled, password |
API endpoints
| Endpoint | Mô tả | Quyền |
|---|---|---|
publicForms:* | CRUD quản lý form (create, list, update, delete) | Admin |
publicForms:getMeta | Lấy metadata form (schema, token, collections) | Public |
publicSubmit | Submit dữ liệu (chuyển thành create action) | Token (X-Form-Token) |
Thành phần client
| Thành phần | Mô tả |
|---|---|
PublicFormPage | Trang render form cho người dùng bên ngoài (route: /public-forms/:name) |
AdminPublicFormPage | Trang admin cấu hình form cụ thể |
AdminPublicFormList | Danh sách tất cả public forms (Settings) |
ConfigureLink | Component chia sẻ link form |
Dependencies
| Package | Vai trò |
|---|---|
@digiforce-nc/server | Server framework |
@digiforce-nc/client | Client UI framework |
@digiforce-nc/plugin-client | Client plugin framework |
@digiforce-nc/plugin-ui-schema-storage | Lưu trữ và đọc UI Schema |