SSD Nodes Learn Hosting plans →
Hướng dẫn Matt ConnorBởi Matt Connor

So sánh OnlyOffice và Collabora trên Nextcloud

Nên chọn OnlyOffice hay Collabora cho Nextcloud? Bài viết phân tích mức tiêu thụ RAM, độ tương thích .docx và giới hạn của bản miễn phí trên VPS từ 2 GB đến 4 GB RAM.

OnlyOffice và Collabora: lựa chọn cho VPS nhỏ

OnlyOffice và Collabora là hai công cụ xử lý tài liệu có thể kết nối với file server mà bạn đang chạy, thường là Nextcloud đối với hầu hết người dùng. Trên VPS 2 GB, hãy chọn Collabora và sử dụng phiên bản được tích hợp sẵn trong Nextcloud, vì nó không yêu cầu thêm container thứ hai hay địa chỉ web bổ sung. Với VPS từ 4 GB RAM trở lên, ONLYOFFICE Docs xứng đáng với lượng tài nguyên tiêu thụ nếu nhóm của bạn thường xuyên làm việc với .docx và .xlsx, vì đây là các định dạng mà trình soạn thảo của nó hỗ trợ trực tiếp.

Một cái tên thứ ba thường xuất hiện trong mọi kết quả tìm kiếm về vấn đề này. ONLYOFFICE DocSpace là một sản phẩm riêng biệt với giao diện độc lập, và nó không phải là thành phần mà Nextcloud kết nối tới. Việc cài đặt DocSpace chỉ vì một bài hướng dẫn nói "OnlyOffice" là lý do phổ biến nhất khiến người dùng lầm tưởng rằng nút chỉnh sửa trong Nextcloud yêu cầu một máy chủ cấu hình mạnh.

Ba sản phẩm thường bị nhầm lẫn

  • ONLYOFFICE Docs, còn gọi là Document Server, chỉ là engine chỉnh sửa. Nó không có file manager. Nextcloud connector kết nối đến sản phẩm này. Community Edition miễn phí và được phát hành theo GNU AGPL v3.
  • ONLYOFFICE DocSpace là một workspace gồm room, quản lý thành viên, chia sẻ và web interface riêng, với Docs được tích hợp bên trong. Nó chồng lấn với Nextcloud thay vì mở rộng Nextcloud. Các hướng dẫn cài đặt hiện tại gọi workspace này là ONLYOFFICE Apps. Mức tối thiểu được công bố, kiểm tra vào tháng 10 năm 2026, là 6 CPU core và 12 GB RAM cho install script; mức khuyến nghị là 8 core và 16 GB. Docker build dành cho development/testing cũng yêu cầu 6 core và 12 GB. Nó đóng gói các service của workspace vào một container duy nhất, nhưng vẫn chạy Document Server, MySQL và OpenSearch trong các container riêng; ONLYOFFICE đánh dấu build này dùng cho testing, không dùng cho production.
  • Collabora Online là LibreOffice chạy trên server. Tài liệu được dàn trang và render trên server, sau đó gửi đến browser dưới dạng hình ảnh. Bản miễn phí là CODE, viết tắt của Collabora Online Development Edition.

Nextcloud cung cấp 2 app cho phần Collabora. richdocuments, được liệt kê trong app store với tên Nextcloud Office, là connector đến Collabora server. richdocumentscode tích hợp CODE bên trong cài đặt Nextcloud, nên bạn không cần chạy container và không cần viết proxy rule. Manual của Nextcloud mô tả built-in server này phù hợp cho mục đích cá nhân hoặc team nhỏ, đồng thời khuyến nghị cài Collabora riêng để có hiệu năng tốt hơn.

Hãy cập nhật built-in CODE app lên 26.4.303 hoặc mới hơn: các phiên bản cũ hơn có lỗ hổng command injection nghiêm trọng trong proxy của app.

Nếu bạn chưa quyết định xong về file server, Seafile so với Nextcloud là quyết định cần làm trước, vì office server sẽ gắn với hệ thống bạn chọn. Nếu Nextcloud đã chạy, một instance Nextcloud trên VPS có TLS và backup là hệ thống mà hướng dẫn này giả định.

Mỗi thành phần cần bao nhiêu RAM?

Biểu đồVendor stated baseline RAM, October 2026
Dữ liệu đằng sau biểu đồ này
[
  {
    "label": "Collabora CODE",
    "min_ram_gb": 1
  },
  {
    "label": "ONLYOFFICE Docs (Docker)",
    "min_ram_gb": 4
  },
  {
    "label": "ONLYOFFICE DocSpace",
    "min_ram_gb": 12
  }
]

Đó là các con số do từng vendor công bố. Các con số của ONLYOFFICE đã được kiểm tra lại trên chính các trang của ONLYOFFICE vào ngày 27 October 2026, còn con số của Collabora lấy từ FAQ của Collabora và được xác nhận lần cuối vào ngày 25 October 2026. Các con số của Collabora và Docs áp dụng cho yêu cầu sizing của office server, còn con số của DocSpace áp dụng cho toàn bộ stack, bao gồm cả database và search engine; đây không phải là số đo mức sử dụng memory khi idle. FAQ của Collabora dự trù 1 GB cho system, cộng thêm 50 MB cho mỗi user. ONLYOFFICE yêu cầu 4 GB cho Docs chạy dưới Docker, cộng thêm 4 GB swap và 40 GB disk trống; trang hướng dẫn cài bằng package DEB và RPM của họ ghi mức 2 GB. DocSpace yêu cầu 12 GB và 6 CPU core khi cài bằng vendor script, đồng thời khuyến nghị 16 GB.

Bây giờ hãy thêm Nextcloud vào cùng máy đó. Các worker PHP-FPM (FastCGI process manager), database và background job runner đều cần memory. Kernel page cache, thành phần giúp việc liệt kê file nhanh hơn, cũng cần memory. Trên VPS 2 GB, Nextcloud và office server phải chia sẻ một budget memory rất nhỏ. App CODE tích hợp sẵn vẫn cần memory riêng: README của app ghi 1 GB cộng thêm 100 MB cho mỗi user. App này đóng gói các binary Collabora bên trong Nextcloud, còn Nextcloud proxy lưu lượng editor đến đó qua local connection. Cách này làm bạn mất tốc độ nhưng không phải chạy và bảo trì thêm một container.

Vì sao hai engine sử dụng memory theo những cách khác nhau

Collabora render trên server. Mỗi tài liệu đang mở có một process riêng bên trong container. Bạn có thể theo dõi các process này bằng docker exec collabora ps -ef trong khi có người chỉnh sửa tài liệu. Memory tăng theo số tài liệu được mở đồng thời. Vì vậy, server ở trạng thái idle sẽ tốn ít tài nguyên, còn 10 người chỉnh sửa cùng lúc thì không.

ONLYOFFICE Docs chuyển phần xử lý layout sang browser. Editor của nó là JavaScript. Server lưu file, điều phối việc co-editing và chạy chuyển đổi định dạng. Từ version 9.4, phát hành vào tháng 5 năm 2026, container Community Edition chạy nginx phía trước một server process hợp nhất duy nhất, không chứa PostgreSQL hoặc RabbitMQ bên trong. Hướng dẫn cài đặt bằng script của ONLYOFFICE, được kiểm tra vào ngày 2 tháng 11 năm 2026, ghi: "RAM: ít nhất 2 GB, nhưng còn tùy thuộc vào host OS. Nhiều hơn sẽ tốt hơn". Hướng dẫn cài đặt Docker của ONLYOFFICE vẫn liệt kê 4 GB, nhưng đây là yêu cầu cài đặt, không phải khẳng định về mức sử dụng memory khi không có ai kết nối. Version 10.0, phát hành vào ngày 10 tháng 10 năm 2026, bổ sung các công cụ AI nhưng không thể cài đặt các công cụ này trong Docs Community Edition. ONLYOFFICE Desktop Editors được cài đặt riêng; Docs Enterprise và Developer editions có sẵn các công cụ AI.

Các yêu cầu do vendor công bố không cho biết rõ đường cong sử dụng memory của hai engine khác nhau như thế nào. Hãy đo mức sử dụng khi idle và khi chịu tải chỉnh sửa bằng chính các tài liệu của bạn trước khi xác định cấu hình cho server dùng chung.

Giới hạn của các bản build miễn phí

CODE không giới hạn số tài liệu hoặc kết nối trong chế độ mặc định. Nhân viên Collabora đã xác nhận điều này trên forum của chính Collabora vào tháng 9 năm 2026. Giới hạn 10 tài liệu và 20 kết nối mà các hướng dẫn cũ thường đề cập chỉ áp dụng khi bật tùy chọn Home Mode; tùy chọn này mặc định không bật. Điểm khác biệt giữa CODE và bản Collabora Online trả phí là độ ổn định và hỗ trợ. Collabora mô tả CODE là bản rolling release được phát triển liên tục, không có SLA hoặc hỗ trợ dài hạn, phù hợp cho mục đích sử dụng tại nhà và các nhóm nhỏ, không phù hợp cho production. Collabora Online là bản ổn định, có Long Term Support, SLA và các bản cập nhật bảo mật. Về sizing, FAQ của Collabora, theo lần xác nhận gần nhất vào ngày 25 tháng 10 năm 2026, đề xuất 10 người dùng trên mỗi CPU thread và 50 MB RAM cho mỗi người dùng, cộng thêm 1 GB cho system.

ONLYOFFICE Docs Community Edition không còn giới hạn kết nối kể từ version 9.4; version này đã bỏ giới hạn cũ là 20 kết nối đồng thời. Trang yêu cầu hệ thống Docker của sản phẩm, tách biệt với hướng dẫn cài đặt Docker, đưa ra các mức sizing thay thế: 100 đến 200 người dùng trên máy 2 core 2.8 GHz với 4 GB RAM, và 200 đến 400 người dùng trên máy 4 core. Trang này lưu ý rằng số lượng thực tế phụ thuộc vào kích thước và loại tài liệu mà người dùng mở. Hãy xem các con số này là giới hạn do vendor đưa ra, được đo trong điều kiện của vendor.

Công cụ nào xử lý .docx và .xlsx tốt hơn?

ONLYOFFICE làm việc trực tiếp trên định dạng Office Open XML (OOXML), vì vậy một tệp .docx sẽ được mở, chỉnh sửa và ghi lại đúng định dạng ban đầu. Collabora chạy trên nền tảng LibreOffice, vốn sử dụng định dạng gốc là OpenDocument (ODF), nên mọi tệp OOXML đều phải qua bước import khi mở và export khi lưu. Cả hai đều đáp ứng tốt nhu cầu soạn thảo văn bản thông thường. Sự khác biệt chỉ xuất hiện trên các tệp được tạo bằng Microsoft Word hoặc Excel với định dạng phức tạp, thường là các thay đổi nhỏ về bố cục thay vì mất dữ liệu.

Đừng quyết định dựa trên các trang so sánh, kể cả trang này. Hãy lấy hai tệp tệ nhất của bạn, một tệp có bật tính năng theo dõi thay đổi (tracked changes) và một tệp có bảng pivot table, mở từng tệp trong cả hai trình chỉnh sửa, lưu lại, tải về và so sánh với bản gốc. Chỉ cần 20 phút thực hiện việc này là bạn sẽ trả lời được câu hỏi về độ chính xác cho tài liệu của mình, đây là cách duy nhất để có câu trả lời thực tế.

Nếu chỉ có một người chỉnh sửa tệp không thường xuyên, một bộ ứng dụng văn phòng đơn lẻ sẽ giúp bạn tránh việc phải chạy cả một document server.

Giấy phép và vị trí của dòng sản phẩm trả phí

ONLYOFFICE Docs Community Edition được cấp phép theo GNU AGPL v3 và kèm các điều khoản bổ sung yêu cầu ghi công, giữ thông báo bản quyền và gắn nhãn rõ ràng cho các phiên bản đã sửa đổi. Giấy phép không cấp quyền sử dụng trademark của ONLYOFFICE. Source của Collabora Online được cấp phép theo Mozilla Public License 2.0. Cả hai dự án đều là open source và cả hai công ty đều bán build có hỗ trợ.

Những gì build miễn phí không có khác nhau trong từng trường hợp. Build miễn phí của Collabora không giới hạn trong chế độ mặc định; phần bị thiếu là độ ổn định và hỗ trợ: đây là rolling development release không có SLA. Build miễn phí của ONLYOFFICE không giới hạn, còn ONLYOFFICE bán các edition Enterprise và Developer có thêm hỗ trợ và tính năng. Với hộ gia đình hoặc team nhỏ, cả hai build miễn phí đều đủ dùng. Với công ty, hãy đọc các điều khoản license trước khi lập kế hoạch triển khai, vì nghĩa vụ theo AGPL và chi phí tính theo user là hai vấn đề riêng, cần hai cách xử lý riêng.

Cài một trong hai tùy chọn sẽ tạo một container duy nhất

ONLYOFFICE Docs, bind vào loopback vì reverse proxy sẽ thực hiện TLS termination (transport layer security) ở phía trước:

sudo docker run -i -t -d -p 127.0.0.1:8081:80 --restart=always \
  -e JWT_SECRET=replace_this_with_a_long_random_string \
  onlyoffice/documentserver

Tự đặt JWT_SECRET. JWT (JSON web token) signing đã được bật mặc định từ ONLYOFFICE Docs 7.2. Nếu không cung cấp secret, container sẽ tự tạo một secret. Secret được tự tạo có thể thay đổi khi container được tạo lại, khiến connector ngừng hoạt động mà không hiển thị thông báo hữu ích trên màn hình.

Lần khởi động đầu tiên có thể mất vài phút. Kiểm tra bằng lệnh:

curl http://127.0.0.1:8081/healthcheck

Endpoint đó trả về true khi các editor bên trong container đã sẵn sàng sử dụng. Bất kỳ kết quả nào khác, kể cả false, đều có nghĩa là cần đọc docker logs trên container trước khi chỉnh các thiết lập Nextcloud.

Collabora CODE:

docker run -t -d --name collabora --restart always \
  -p 127.0.0.1:9980:9980 \
  -e "aliasgroup1=https://cloud.example.com:443" \
  -e "extra_params=--o:ssl.enable=false --o:ssl.termination=true" \
  collabora/code

aliasgroup1 là danh sách các địa chỉ Nextcloud mà container này chấp nhận request từ đó; phải thêm cả port vào danh sách này. Đặt ssl.enable=false để coolwsd, tiến trình server của Collabora, dùng HTTP thuần bên trong container vì reverse proxy phía trước đang thực hiện TLS. Đặt ssl.termination=true để cho Collabora biết TLS kết thúc tại proxy. Kiểm tra bằng lệnh:

curl http://127.0.0.1:9980/hosting/capabilities
curl http://127.0.0.1:9980/hosting/discovery

Lệnh đầu tiên trả về JSON, lệnh thứ hai trả về XML. Kết nối bị từ chối có nghĩa là container vẫn đang khởi động hoặc đã thoát, vì vậy hãy đọc docker logs collabora.

Kết nối trình soạn thảo với Nextcloud

Với Collabora, hãy cài app Nextcloud Office, mở phần cài đặt Administration, rồi vào Office, chọn tùy chọn sử dụng server riêng và nhập địa chỉ mà trình duyệt của người dùng có thể truy cập, chẳng hạn như https://office.example.com. Nextcloud lưu các file, còn Collabora lấy chúng qua WOPI (web application open platform interface), vì vậy phải hoạt động được 4 đường mạng riêng biệt:

  • Trình duyệt truy cập được Nextcloud.
  • Trình duyệt truy cập được server Collabora.
  • Nextcloud truy cập được server Collabora.
  • Collabora truy cập được Nextcloud.

Hãy kiểm tra thủ công 2 đường cuối. Từ server Nextcloud, curl https://office.example.com/hosting/capabilities phải in ra JSON. Từ bên trong container Collabora, curl https://cloud.example.com/status.php phải in ra JSON trạng thái của Nextcloud. Đường nào không hoạt động thì cần sửa đường đó.

Với ONLYOFFICE, hãy cài app connector, rồi điền địa chỉ ONLYOFFICE Docs và secret key trong phần cài đặt. Secret phải khớp chính xác với JWT_SECRET. Nếu container tự tạo secret, hãy đọc secret bên trong container bằng /etc/onlyoffice/documentserver/local.json, tại services.CoAuthoring.secret.inbox.string. Sau đó, từ thư mục Nextcloud, chạy lệnh dưới đây với user của web server để kiểm tra:

php occ onlyoffice:documentserver --check

Lệnh này sẽ xác nhận kết nối hoặc in ra lỗi mà connector gặp phải. Cách này nhanh hơn đọc browser console. ONLYOFFICE connector cũng có các trường nâng cao cho trường hợp địa chỉ trình duyệt và địa chỉ server-to-server khác nhau, chẳng hạn khi Nextcloud truy cập trình soạn thảo qua mạng private. Hãy điền các trường đó thay vì để traffic nội bộ đi ra địa chỉ public rồi quay ngược trở lại.

Tại sao trình chỉnh sửa không hoạt động sau reverse proxy

Hầu hết các báo cáo về lỗi "không mở được" đều xuất phát từ một trong các nguyên nhân sau.

Sai lệch giao thức. Nextcloud trên https với địa chỉ máy chủ văn phòng được ghi là http sẽ thất bại, vì trình duyệt từ chối tải một frame không bảo mật bên trong một trang bảo mật. Hãy sử dụng https cho cả hai.

Thiếu quy tắc proxy cho Collabora. Proxy phải chuyển tiếp /browser, /hosting/discovery, /hosting/capabilities, /cool, /cool/adminws và các kết nối websocket trên /cool/(.*)/ws đến cổng 9980. Nếu thiếu quy tắc websocket, frame tài liệu sẽ tải xong nhưng để trống, vì trình chỉnh sửa mở một kết nối websocket ngay sau khi tải và không bao giờ nhận được phản hồi.

Sai aliasgroup1. Container từ chối các yêu cầu từ một địa chỉ mà nó không được cấu hình để nhận, và docker logs collabora ghi lại No acceptable WOPI hosts found. Giá trị này phải khớp với URL Nextcloud mà người dùng của bạn nhập vào, bao gồm cả cổng.

Nextcloud từ chối gọi một địa chỉ cục bộ. Theo mặc định, Nextcloud chặn các yêu cầu gửi đến các địa chỉ cục bộ và riêng tư, và dòng log sẽ là Host violates local access rules. Hãy thiết lập 'allow_local_remote_servers' => true trong config.php khi trình chỉnh sửa thực sự chỉ có thể truy cập được qua một địa chỉ cục bộ.

Danh sách cho phép WOPI quá hẹp. Cài đặt Office của Nextcloud chứa một danh sách cho phép (allow list) cho các yêu cầu WOPI, giới hạn các địa chỉ được phép lấy file. Đây là một thiết lập tốt, nhưng cũng là cách dễ gây lỗi chỉnh sửa sau khi một container khởi động lại với địa chỉ IP mới. Nếu tài liệu ngừng mở ngay sau khi rebuild, hãy kiểm tra trường này đầu tiên.

ONLYOFFICE không thể tải xuống file. Connector báo lỗi Error while downloading the document file to be converted.. Máy chủ tài liệu đã được yêu cầu lấy file từ Nextcloud nhưng không thể thực hiện: địa chỉ được cung cấp không thể truy cập được từ bên trong container của nó, hoặc Nextcloud trình ra một chứng chỉ mà nó không chấp nhận, hoặc secret không khớp. Hãy chạy curl với đúng URL đó từ bên trong container bằng docker exec, lý do thường sẽ xuất hiện chỉ trong một dòng.

Những gì thực sự chạy được trên 2 GB và 4 GB

Trên máy 2 GB, hãy chạy Nextcloud với app CODE tích hợp sẵn rồi dừng ở đó. Cách này chậm hơn server độc lập, lần đầu mở một bảng tính lớn có thể mất vài giây và hoàn toàn không cần cấu hình proxy. Với một hộ gia đình, đây là lựa chọn phù hợp.

Trên máy 4 GB, hãy chạy Nextcloud cùng một container CODE độc lập và cấu hình swap để một đợt tải tăng đột biến không làm máy bị sập. Đây là mức mà việc chỉnh sửa bắt đầu cho cảm giác bình thường.

Nếu chạy ONLYOFFICE Docs bên cạnh Nextcloud, hãy dự trù 6 đến 8 GB hoặc cấp cho Docs một server nhỏ riêng. Yêu cầu cài đặt Docker 4 GB của Docs không cho biết mức sử dụng bộ nhớ khi idle và cũng không chứng minh rằng mọi server dùng chung 4 GB sẽ phải dùng swap. Các hướng dẫn về script và package liệt kê tối thiểu 2 GB, tùy hệ điều hành máy host; Nextcloud cần thêm bộ nhớ ngoài mức đó.

Chạy DocSpace trên một VPS nhỏ là lựa chọn cần tránh. Mức tối thiểu được công bố cho cài đặt bằng script là 12 GB RAM và 6 CPU core; mức khuyến nghị là 16 GB và 8 core. Hãy kiểm tra guide cài đặt những gì trước khi làm theo, đồng thời kiểm tra lần gần nhất các yêu cầu mà guide trích dẫn được đối chiếu với trang của vendor là khi nào. Install script cũng chỉ là một cách triển khai. Docs và CODE là các container đơn lẻ mà bạn tự start, stop và delete, nên dễ hiểu và kiểm soát hơn một script tự triển khai cả stack.

Nếu xét rộng hơn về những gì thực sự nên chạy trên một server nhỏ, những gì đáng tự host trong năm 2026 trình bày danh sách rút gọn.

FAQ

Collabora hay ONLYOFFICE phù hợp hơn cho Nextcloud?

Không có lựa chọn nào tốt hơn trong mọi trường hợp; yếu tố thường quyết định là bộ nhớ. Collabora bắt đầu từ mức cơ bản 1 GB mà FAQ của dự án đưa ra khi được xác nhận lần cuối vào ngày 25 October 2026. Bản CODE miễn phí không giới hạn tài liệu hoặc kết nối ở chế độ mặc định, nhưng Collabora hướng bản này đến mục đích dùng tại nhà và các nhóm nhỏ thay vì môi trường production. ONLYOFFICE Docs yêu cầu 4 GB khi cài đặt bằng Docker và ít nhất 2 GB trong hướng dẫn cài bằng script, chưa tính nhu cầu riêng của Nextcloud. Sản phẩm này không còn giới hạn số kết nối từ version 9.4 và hoạt động trực tiếp với .docx và .xlsx, nên giữ định dạng Microsoft Office gần với bản gốc hơn. Hãy chọn Collabora cho VPS nhỏ. Hãy chọn ONLYOFFICE khi nhóm làm việc cả ngày với các định dạng Office và bạn có thể cấp riêng bộ nhớ cho trình chỉnh sửa.

Tôi cần bao nhiêu RAM để chỉnh sửa tài liệu trong Nextcloud?

Với server 2 GB, hãy bắt đầu bằng app CODE server tích hợp sẵn của Nextcloud. App này yêu cầu 1 GB cộng thêm 100 MB cho mỗi user chỉ riêng cho office server. App được cài cùng Nextcloud và Nextcloud tự khởi động app, nên không cần triển khai container thứ hai, dù Collabora server vẫn chạy như một process riêng. 4 GB là mức thoải mái cho Nextcloud cùng một container Collabora CODE độc lập. ONLYOFFICE Docs yêu cầu 4 GB khi cài bằng Docker và ít nhất 2 GB trong hướng dẫn cài bằng script, tùy host OS. Vì vậy, hãy dự trù 6 đến 8 GB khi chạy chung trên một máy với Nextcloud, hoặc đặt nó trên một server riêng.

Vì sao khung tài liệu mở rồi bị trắng?

Editor tải qua HTTPS rồi mở websocket, nên khung trắng gần như luôn có nghĩa là websocket chưa kết nối được. Với Collabora chạy phía sau nginx, hãy xác nhận proxy chuyển tiếp /cool/(.*)/ws cùng các header connection upgrade, đồng thời chuyển tiếp cả /browser, /hosting/discovery và /hosting/capabilities. Sau đó đọc docker logs trên container: No acceptable WOPI hosts found có nghĩa là giá trị aliasgroup1 không khớp với địa chỉ Nextcloud mà browser đã dùng, bao gồm cả port.

Tôi có cần ONLYOFFICE DocSpace để chỉnh sửa file trong Nextcloud không?

Không. DocSpace là một workspace độc lập, có interface và user account riêng, còn Nextcloud connector không kết nối đến đó. Thành phần mà Nextcloud kết nối là ONLYOFFICE Docs, tức document server. DocSpace công bố yêu cầu tối thiểu 12 GB RAM và 6 CPU core khi cài bằng script, đồng thời khuyến nghị 16 GB. Vì vậy, các hướng dẫn cài DocSpace khiến người đọc tưởng rằng chỉnh sửa tài liệu trên browser cần một server lớn.

Bài viết này có hữu ích không?