# Edocman Lite – Hướng dẫn Quản trị Backend (Tiếng Việt)

Tài liệu này hướng dẫn sử dụng toàn bộ tính năng quản trị backend (WordPress admin) của plugin Edocman Lite:

- [Cấu hình (Configuration)](#1-cấu-hình-configuration)
- [Danh mục (Categories)](#2-danh-mục-categories)
- [Tài liệu (Documents)](#3-tài-liệu-documents)

---

## 1. Cấu hình (Configuration)

**Đường dẫn menu:** Edocman Lite → Configuration

Trang Configuration kiểm soát cách plugin lưu trữ và tiếp nhận tài liệu.

### Các thiết lập

| Trường | Mặc định | Mô tả |
|---|---|---|
| **Documents Path** | `{wp-root}/edocman` | Đường dẫn tuyệt đối trên server nơi lưu các file tài liệu đã tải lên. Nhấn **Reset** để khôi phục giá trị mặc định. Hiển thị cảnh báo nếu thư mục không có quyền ghi. |
| **Hierarchical Folders** | Tắt | Khi bật, các tài liệu sẽ được lưu trong các thư mục con phản ánh cấu trúc danh mục (ví dụ: `edocman/phap-ly/hop-dong/file.pdf`). |
| **Allowed File Types** | pdf, doc, docx, xls, xlsx, ppt, pptx, txt, zip, rar | Tích chọn các định dạng file mà người dùng được phép tải lên. |
| **Maximum File Size (MB)** | 10 | Dung lượng file tối đa được phép tải lên (tính bằng MB). Giá trị tối đa bị giới hạn bởi cài đặt `upload_max_filesize` trong PHP của server. |

### Thông tin phiên bản

Phía dưới trang hiển thị phiên bản plugin đang cài đặt. Edocman Lite kiểm tra bản cập nhật từ WordPress.org mỗi 12 giờ một lần; nếu có phiên bản mới hơn, một thông báo sẽ xuất hiện ở đầu trang kèm link tải về.

### Lưu cài đặt

Nhấn **Save Configuration** để áp dụng các thay đổi.

---

## 2. Danh mục (Categories)

**Đường dẫn menu:** Edocman Lite → Categories

Danh mục giúp bạn tổ chức tài liệu thành cấu trúc phân cấp. Danh sách hiển thị tất cả danh mục theo thứ tự cây (danh mục con được thụt lề dưới danh mục cha).

### 2.1 Danh sách Danh mục

| Cột | Mô tả |
|---|---|
| **Title** | Tên danh mục. Các mục thụt lề là danh mục con. |
| **Description** | Đoạn trích ngắn từ mô tả của danh mục. |
| **Status** | ✅ Đã xuất bản / ❌ Chưa xuất bản |
| **Date** | Ngày tạo danh mục. |

**Hành động trên từng hàng** (hiện ra khi di chuột qua tên danh mục):

- **Edit** — mở form chỉnh sửa danh mục đó.
- **Delete** — xóa vĩnh viễn danh mục (có hộp thoại xác nhận).

**Tìm kiếm:** Sử dụng ô tìm kiếm ở phía trên để lọc danh mục theo từ khóa.

**Thêm mới:** Nhấn nút **Add New** (góc trên bên phải) để tạo danh mục mới.

---

### 2.2 Thêm / Chỉnh sửa Danh mục

Form thêm mới và chỉnh sửa có cùng các trường:

| Trường | Bắt buộc | Mô tả |
|---|---|---|
| **Title** | ✅ Có | Tên hiển thị của danh mục. |
| **Parent Category** | Không | Chọn danh mục cha để tạo cấu trúc lồng nhau. Chọn `-- None (Root Category) --` để tạo danh mục cấp cao nhất. |
| **Folder Name** | Khi Hierarchical Folders được bật | Tên thư mục vật lý để lưu tài liệu (chỉ dùng chữ cái, số, dấu gạch ngang và gạch dưới). Trường này chỉ xuất hiện khi **Hierarchical Folders** được bật trong Configuration. |
| **Description** | Không | Mô tả danh mục dạng rich-text (sử dụng trình soạn thảo WordPress đầy đủ). |
| **Image** | Không | URL ảnh đại diện. Nhấn **Select Image** để chọn từ thư viện Media. |
| **Ordering** | Không | Số nguyên dùng để sắp xếp thứ tự danh mục. Số nhỏ hơn hiển thị trước. |
| **Published** | Không | Tích để danh mục hiển thị phía frontend. |

#### Xem trước đường dẫn thư mục (chỉ khi Hierarchical Folders được bật)

Khi **Hierarchical Folders** được bật, phần xem trước đường dẫn thời gian thực được hiển thị phía trên ô nhập Folder Name:

```
Full Path:    /thu-muc-cha/thu-muc-con
Parent Path:  /thu-muc-cha           (chỉ đọc, xác định bởi Danh mục cha đã chọn)
Folder Name:  [thu-muc-con_______]   ← có thể chỉnh sửa
```

Khi bạn thay đổi Danh mục cha hoặc nhập Folder Name, phần Full Path được cập nhật ngay lập tức. Trường ẩn `path` sẽ được gửi cùng form và lưu vào cơ sở dữ liệu.

> **Lưu ý:** Thay đổi tên thư mục của danh mục đã có **không** tự động di chuyển các file đã lưu trong thư mục cũ. Bạn cần di chuyển thủ công các file đó trên server.

#### Các nút thao tác

| Nút | Hành động |
|---|---|
| **Save & Close** | Lưu danh mục và quay về danh sách. |
| **Apply** | Lưu danh mục và ở lại trang chỉnh sửa. |
| **Cancel** | Hủy thay đổi và quay về danh sách. |

---

## 3. Tài liệu (Documents)

**Đường dẫn menu:** Edocman Lite → Documents

Tài liệu là các file được quản lý bởi plugin. Mỗi tài liệu có thể thuộc một **Danh mục chính (Main Category)** — xác định nơi lưu file — và bất kỳ số lượng **Danh mục bổ sung (Additional Categories)** nào.

### 3.1 Danh sách Tài liệu

| Cột | Mô tả |
|---|---|
| **Title** | Tên tài liệu. |
| **File** | Tên file gốc với biểu tượng loại file. |
| **Size** | Dung lượng file đã định dạng (ví dụ: 1,2 MB). |
| **Downloads** | Số lần tài liệu đã được tải xuống. |
| **Status** | ✅ Đã xuất bản / ❌ Chưa xuất bản |
| **Date** | Ngày tạo tài liệu. |

**Hành động trên từng hàng** (hiện ra khi di chuột):

- **Edit** — mở form chỉnh sửa.
- **Delete** — xóa tài liệu và file liên quan (có xác nhận).

#### Lọc và Tìm kiếm

- **Lọc theo danh mục** — chọn danh mục từ dropdown và nhấn **Filter** để chỉ hiển thị tài liệu trong danh mục đó.
- **Ô tìm kiếm** — nhập từ khóa và nhấn **Search Documents** để lọc theo tiêu đề tài liệu.

#### Hành động hàng loạt (Bulk Actions)

Chọn một hoặc nhiều tài liệu bằng checkbox, chọn hành động từ dropdown **Bulk Actions**, rồi nhấn **Apply**:

| Hành động | Mô tả |
|---|---|
| **Delete** | Xóa vĩnh viễn các tài liệu đã chọn và file liên quan. |
| **Publish** | Đặt trạng thái các tài liệu đã chọn thành Đã xuất bản. |
| **Unpublish** | Đặt trạng thái các tài liệu đã chọn thành Chưa xuất bản. |

---

### 3.2 Thêm / Chỉnh sửa Tài liệu

**Thêm mới:** Nhấn nút **Add New** (góc trên bên phải) trên trang danh sách tài liệu.

| Trường | Bắt buộc | Mô tả |
|---|---|---|
| **Title** | ✅ Có | Tên hiển thị của tài liệu. |
| **Main Category** | Không | Dropdown chọn một danh mục. File tài liệu sẽ được upload vào thư mục của danh mục này. Danh mục này được lưu với `is_main_category = 1` trong cơ sở dữ liệu. |
| **Additional Categories** | Không | Danh sách multi-select (giữ **Ctrl** hoặc **Cmd** để chọn nhiều mục). Các danh mục này được lưu với `is_main_category = 0`. Danh mục chính sẽ tự động bị loại trừ. |
| **Document File** | ✅ Khi thêm mới | File cần tải lên. Chỉ chấp nhận các định dạng đã bật trong Configuration. Ở form chỉnh sửa, tải file mới lên để thay thế; để trống nếu muốn giữ file hiện tại. |
| **Short Description** | Không | Tóm tắt ngắn dạng văn bản thuần hiển thị trong danh sách tài liệu. |
| **Description** | Không | Mô tả đầy đủ dạng rich-text (trình soạn thảo WordPress). |
| **Thumbnail Image** | Không | URL ảnh đại diện cho tài liệu. Nhấn **Select Image** để chọn từ thư viện Media. |
| **Ordering** | Không | Số nguyên dùng để sắp xếp thứ tự tài liệu. Số nhỏ hơn hiển thị trước. |
| **Published** | Không | Tích để tài liệu hiển thị phía frontend (mặc định: đã tích). |

#### Cách lưu trữ file

Khi **Hierarchical Folders** **tắt**, file được lưu trong thư mục con `documents/` bên trong Documents Path đã cấu hình:

```
{Documents Path}/documents/tailieu.pdf
```

Cột `filename` trong cơ sở dữ liệu lưu đường dẫn tương đối:

```
documents/tailieu.pdf
```

Khi **Hierarchical Folders** **bật** và đã chọn Danh mục chính, file được lưu trong thư mục của danh mục đó:

```
{Documents Path}/phap-ly/hop-dong/tailieu.pdf
```

Cột `filename` lưu:

```
phap-ly/hop-dong/tailieu.pdf
```

Mặc định, `{Documents Path}` là `{Thư mục gốc WordPress}/edocman` (ví dụ: `/var/www/html/edocman`). Đường dẫn tương đối này đủ để xác định vị trí file khi tải xuống — không cần truy vấn thêm bảng danh mục.

#### Các nút thao tác

| Nút | Hành động |
|---|---|
| **Save & Close** | Lưu tài liệu và quay về danh sách. |
| **Apply** | Lưu tài liệu và ở lại trang chỉnh sửa. |
| **Cancel** | Hủy thay đổi và quay về danh sách. |

---

## Tổng quan cấu trúc Menu Admin

```
Edocman Lite
├── Documents       → danh sách, thêm, sửa, xóa tài liệu
├── Categories      → danh sách, thêm, sửa, xóa danh mục
└── Configuration   → cài đặt plugin
```

---

## Các tác vụ phổ biến

### Thêm danh mục cấp cao nhất
1. Vào **Edocman Lite → Categories**.
2. Nhấn **Add New**.
3. Nhập **Title** (tên danh mục).
4. Để **Parent Category** là `-- None (Root Category) --`.
5. Nếu Hierarchical Folders đang bật, nhập **Folder Name** (ví dụ: `bao-cao`).
6. Nhấn **Save & Close**.

### Thêm danh mục con
1. Vào **Edocman Lite → Categories**.
2. Nhấn **Add New**.
3. Nhập **Title**.
4. Chọn danh mục cha trong dropdown **Parent Category**.
5. Nếu Hierarchical Folders đang bật, nhập **Folder Name** cho cấp này.
6. Nhấn **Save & Close**.

### Upload tài liệu mới
1. Vào **Edocman Lite → Documents**.
2. Nhấn **Add New**.
3. Nhập **Title**.
4. Chọn **Main Category** (khuyến nghị nhưng không bắt buộc).
5. Tùy chọn chọn thêm **Additional Categories**.
6. Nhấn **Choose File** bên cạnh **Document File** và chọn file cần tải lên.
7. Điền các trường bổ sung (mô tả, ảnh đại diện...).
8. Đảm bảo đã tích **Published** nếu muốn tài liệu hiển thị ngay.
9. Nhấn **Save & Close**.

### Duyệt và xuất bản tài liệu từ frontend
Tài liệu được gửi qua shortcode `[edocman_lite_upload_document]` phía frontend được lưu với **Published = Không** (chờ duyệt).

1. Vào **Edocman Lite → Documents**.
2. Tìm tài liệu chưa xuất bản (biểu tượng ❌ ở cột Status).
3. Nhấn **Edit**, tích **Published**, nhấn **Save & Close**.

   — hoặc —

   Chọn một hoặc nhiều tài liệu chưa xuất bản, chọn **Publish** trong **Bulk Actions**, nhấn **Apply**.

### Xóa tài liệu
- **Xóa từng cái:** Di chuột qua tên tài liệu và nhấn **Delete**.
- **Xóa hàng loạt:** Chọn các tài liệu bằng checkbox, chọn **Delete** trong **Bulk Actions**, nhấn **Apply**.

> ⚠️ Việc xóa là vĩnh viễn. File vật lý trên server cũng sẽ bị xóa theo.
