> For the complete documentation index, see [llms.txt](https://ayakaleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ayakaleaf-pro.ayaka.space/on-premises/vi/quan-ly-nguoi-dung-va-du-an/project-management.md).

# Quản lý dự án

### Xem nhật ký kiểm tra của dự án

Quản trị viên có thể xem một **Nhật ký kiểm tra** cho từng dự án. Nhật ký kiểm tra này hiển thị các sự kiện như khi chia sẻ bằng liên kết thay đổi giữa chế độ riêng tư/dựa trên token, khi lời mời được gửi/chấp nhận và khi một người dùng tham gia dự án bằng token. Quản trị viên có thể xem các nhật ký này theo từng dự án thông qua **Phiên bản của bạn** -> **Quản trị** -> **Quản lý người dùng** sau đó:

* Tìm người dùng
* Nhấp vào **Dự án** tab
* Chọn một dự án
* Nhấp vào biểu tượng (i)
* Nhấp vào **Nhật ký kiểm tra** tab

Nếu một dự án được chia sẻ với một cộng tác viên được nêu tên (sử dụng địa chỉ email của họ), khi người nhận đã tham gia, họ sẽ được liệt kê trong hộp thoại Chia sẻ cùng với quyền của họ và hiển thị cho chủ sở hữu dự án. Thông tin này cũng sẽ được hiển thị cho Quản trị viên khi xem tab Thông tin dự án của dự án thông qua bảng quản trị.

### Khôi phục tài liệu đã xóa

1. Đăng nhập bằng thông tin quản trị viên của bạn
2. Nhấp vào **Quản trị** và chọn **Quản lý người dùng**
3. Sử dụng trường tìm kiếm, nhập email của người dùng mà bạn muốn khôi phục tài liệu cho
4. Nhấp vào địa chỉ email của họ trong danh sách kết quả trả về để mở trang thông tin người dùng của họ
5. Nhấp vào **Dự án** tab và sử dụng trường tìm kiếm để tìm dự án
6. Nhấp vào biểu tượng thông tin bên cạnh tên dự án để mở **Thông tin dự án**
7. Nhấp vào **Tài liệu đã xóa** tab
8. Nhấp vào **Khôi phục** nút bên cạnh tài liệu đã xóa để khôi phục nó trở lại dự án của người dùng.

Tệp đã khôi phục sẽ có định dạng sau: `FILENAME-TIMESTAMP.EXTENSION`. Ví dụ, một phiên bản đã khôi phục của `main.tex` sẽ được khôi phục vào thư mục gốc của dự án với tên tệp `main-2024-02-23-130441542.tex`.

### Chuyển quyền sở hữu dự án

Bảng quản trị trong Server Pro có một trang riêng cho từng dự án. Bạn có thể truy cập bằng cách tìm người dùng trên "/admin/user", rồi vào **Dự án** tab, tìm dự án trong danh sách và nhấp vào biểu tượng thông tin; hoặc bằng cách điều hướng trực tiếp đến trang với project-id đã biết [**https://your-instance-url/admin/project/**](https://your-instance-url/admin/project/). Trên trang thông tin dự án, bạn có thể tìm thấy một **Chuyển quyền sở hữu** nút, nút này mở một hộp thoại nơi bạn có thể chỉ định bất kỳ người dùng nào làm chủ sở hữu mới. Chủ sở hữu mới không cần phải là một cộng tác viên hiện có của dự án.

{% hint style="info" %}
Lưu ý rằng chủ sở hữu trước đó sẽ được thêm làm cộng tác viên với quyền đọc và ghi vào dự án như một phần của quá trình chuyển quyền sở hữu.
{% endhint %}

### Cập nhật thời gian chờ biên dịch dự án

Thời gian chờ biên dịch mặc định cho các dự án hiện được đặt là 180 giây. Có thể thay đổi giá trị này và cần một quy trình hai bước.

Trước tiên, chỉnh sửa **config/variables.env** tệp và thêm `COMPILE_TIMEOUT`biến môi trường và đặt giá trị của nó thành thời gian chờ mong muốn tính bằng giây. Ví dụ, `COMPILE_TIMEOUT=300` cho 5 phút.

{% hint style="danger" %}
Không đáng để tăng thời gian chờ quá 10 phút. Nếu bạn làm vậy, rất có thể bạn sẽ gặp lỗi hết thời gian chờ ở một thành phần khác của ứng dụng.
{% endhint %}

Sau khi thay đổi này được thực hiện, bạn sẽ cần tạo lại **sharelatex** container bằng cách chạy `bin/up -d`lệnh.

Việc đặt biến môi trường này sẽ chỉ cập nhật giá trị thời gian chờ cho người dùng mới **sẽ không** được áp dụng hồi tố cho người dùng hiện có vì nó được điền khi người dùng được tạo lần đầu.

Để điều chỉnh thời gian chờ cho người dùng hiện có, bạn sẽ cần thay đổi từng bản ghi người dùng trong cơ sở dữ liệu. Chúng tôi khuyên bạn hết sức thận trọng khi thực hiện việc này và khuyến nghị sao lưu đồng nhất trước khi thực hiện bất kỳ thay đổi nào.

Bạn có thể tìm thông tin về việc sao lưu [tại đây](/on-premises/vi/bao-tri/data-and-backups.md).

Để cập nhật giá trị thời gian chờ biên dịch cho tất cả người dùng hiện có, bạn cần chạy lệnh shell sau trên máy chủ Docker:

{% code overflow="wrap" %}

```bash
echo 'db.users.updateMany({}, {$set: {"features.compileTimeout": <value>}})' | docker exec -i mongo mongosh --quiet localhost/sharelatex
```

{% endcode %}

Bạn sẽ cần thay thế `<value>` trong truy vấn trên bằng giá trị thời gian chờ mong muốn tính bằng giây.

Sau khi lệnh hoàn tất, bạn sẽ thấy thông báo xác nhận kèm theo số bản ghi đã được sửa đổi. Sau đó, bạn có thể gõ exit rồi nhấn phím enter để quay lại shell của máy chủ.

### Theo dõi quyền truy cập dự án

Có thể xem ai và khi nào một dự án được tải bằng lệnh sau:

{% code overflow="wrap" %}

```bash
docker exec sharelatex bash -c 'grep "join project request" /var/log/overleaf/web.log'
```

{% endcode %}

Điều này sẽ cung cấp cả `dấu thời gian`, `user_id` và `project_id`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ayakaleaf-pro.ayaka.space/on-premises/vi/quan-ly-nguoi-dung-va-du-an/project-management.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
