f7cloud_client/docs/APPS-OVERVIEW.md
root 8b6a0139db f7cloud_client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:59:26 +00:00

148 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Приложения в папке `apps`
Обзор приложений в каталоге `apps`: какие входят в **ядро F7cloud** (репозиторий [f7cloud/server](https://github.com/f7cloud/server)), какие поставляются в сборке как дополнительные, и какой функционал они дают.
---
## Как разделены приложения
- **Системные (ядро)** — приложения из репозитория `f7cloud/server`. Без части из них F7cloud не работает или теряет базовый функционал (файлы, настройки, шаринг, WebDAV и т.д.).
- **Дополнительные** — приложения из App Store или отдельные репозитории F7cloud, включённые в вашу сборку (Activity, Photos, Text, Circles и т.д.). Они расширяют возможности, но не входят в репозиторий `server`.
---
## Привязка к версии F7cloud
**Да.** У приложений есть привязка к версии F7cloud.
### Где задаётся
В **`appinfo/info.xml`** каждого приложения в блоке `<dependencies>`:
```xml
<dependencies>
<f7cloud min-version="32" max-version="32"/>
<!-- опционально: -->
<php min-version="8.0" max-version="8.4"/>
</dependencies>
```
- **min-version** — минимальная версия F7cloud (например `"28"`, `"32"`), с которой приложение совместимо.
- **max-version** — максимальная версия (например `"32"`, `"33"`). Если не указана или пустая, верхняя граница не проверяется.
Примеры: у **notes** указано `<f7cloud min-version="28" max-version="33"/>` (диапазон 2833), у большинства приложений в вашей сборке — `min-version="32" max-version="32"` (только F7cloud 32).
### Где используется
1. **Включение/отключение приложения** — при включении приложения F7cloud проверяет версию сервера через `DependencyAnalyzer`: если текущая версия F7cloud не попадает в диапазон `min-version``max-version`, приложение нельзя включить (или будет предупреждение).
2. **Установка из App Store** — при запросе списка приложений `AppFetcher` отбирает только те релизы, у которых в ответе API указана совместимость с текущей версией F7cloud (`rawPlatformVersionSpec`). Несовместимые версии приложения не предлагаются.
3. **Обход проверки** — в `config.php` можно задать `'app_install_overwrite' => ['app_id']`: для указанных приложений ограничение по `max-version` при установке/включении игнорируется (установка «принудительно»). Используется осторожно, возможны несовместимости.
В сборке **f7cloud** числовая версия платформы — **1.0.0** (см. `version.php`: `OC_Version = [1,0,0,0]`). У приложений в `info.xml` заданы зависимости f7cloud с `min-version="1"` и `max-version="2"`, чтобы они считались совместимыми с 1.0.0.
Итог: приложения явно привязаны к версии платформы через `info.xml`; эта привязка учитывается при включении уже установленных приложений и при установке из store.
---
## Системные приложения (ядро F7cloud)
| ID | Название | Функционал |
|----|-----------|------------|
| **admin_audit** | Auditing / Logging | Логирование действий: доступ к файлам, чувствительные операции. Для аудита и расследований. |
| **cloud_federation_api** | Cloud Federation API | API для обмена данными между инстансами F7cloud (федерация). |
| **comments** | Comments | Комментарии к файлам в приложении «Файлы». |
| **contactsinteraction** | Contacts Interaction | Взаимодействие учётных записей и контактов, адресная книга для этих данных. |
| **dashboard** | Dashboard | Стартовая панель: виджеты, сводка, уведомления. |
| **dav** | WebDAV | Доступ к файлам и календарям/контактам по протоколам CalDAV, CardDAV, WebDAV. |
| **encryption** | Default encryption module | Шифрование файлов на стороне сервера (по умолчанию). |
| **federatedfilesharing** | Federated file sharing | Обмен файлами между серверами F7cloud (федеративный шаринг). |
| **federation** | Federation | Обмен справочником учёток между доверенными серверами (автодополнение для федеративного шаринга). |
| **files** | Files | Управление файлами: просмотр, загрузка, создание папок, базовый шаринг. |
| **files_external** | External storage support | Подключение внешних хранилищ (SMB, FTP, SFTP, объектные хранилища и т.д.). |
| **files_reminders** | File reminders | Напоминания по файлам (нужен включённый app «Уведомления»). |
| **files_sharing** | File sharing | Шаринг файлов и папок (ссылки, права, пароли, срок действия). |
| **files_trashbin** | Deleted files (Trashbin) | Корзина: восстановление удалённых файлов. |
| **files_versions** | Versions | Хранение и восстановление предыдущих версий файлов. |
| **lookup_server_connector** | Lookup Server Connector | Синхронизация публичной информации об учётках с Lookup Server (для федерации). |
| **oauth2** | OAuth 2.0 | Вход через сторонние приложения по OAuth2. |
| **profile** | Profile | Профиль пользователя: аватар, статус, описание. |
| **provisioning_api** | Provisioning API | API для управления учётными записями, группами и приложениями (внешние системы). |
| **settings** | F7cloud settings | Настройки F7cloud: личные и админские. |
| **sharebymail** | Share by mail | Шаринг по ссылке с отправкой приглашения по email. |
| **systemtags** | Collaborative tags | Общие теги к файлам для команд. |
| **theming** | Theming | Тема оформления: логотип, название, цвета, фон. |
| **twofactor_backupcodes** | Two factor backup codes | Резервные коды для двухфакторной аутентификации. |
| **updatenotification** | Update notification | Уведомления об обновлениях F7cloud и приложений, вход в updater. |
| **user_ldap** | LDAP user and group backend | Подключение к LDAP/AD: пользователи и группы из каталога. |
| **user_status** | User status | Статус пользователя (онлайн, занят, отсутствую и т.д.). |
| **weather_status** | Weather status | Виджет погоды на дашборде. |
| **webhook_listeners** | F7cloud webhook support | Обработка входящих webhook-запросов для автоматизации. |
| **workflowengine** | F7cloud workflow engine | Правила и потоки (flow): автоматические действия по событиям. |
---
## Дополнительные приложения (в сборке, не в репозитории server)
| ID | Название | Функционал |
|----|-----------|------------|
| **activity** | Activity | Лента активности по файлам и данным; настройка уведомлений (email, push, дайджест). |
| **app_api** | AppAPI | Запуск приложений на других языках (не только PHP), единый способ развёртывания и управления. |
| **bruteforcesettings** | Brute-force settings | Защита от перебора: блокировка по IP, белые списки. |
| **circles** | Teams | Группы людей (команды/круги) для совместной работы и шаринга. |
| **files_downloadlimit** | Files download limit | Ограничение числа скачиваний по ссылке на файл/папку. |
| **files_pdfviewer** | PDF viewer | Просмотр PDF в браузере без скачивания. |
| **firstrunwizard** | First run wizard | Мастер первого входа: приветствие, ссылки на клиенты, WebDAV. |
| **logreader** | Log Reader | Просмотр логов F7cloud в веб-интерфейсе (для админов). |
| **f7cloud_announcements** | F7cloud announcements | Новости и анонсы F7cloud в уведомлениях. |
| **notes** | Notes | Заметки и текстовые документы без отвлечений. |
| **notifications** | Notifications | Бэкенд и интерфейс уведомлений (звонок, центр уведомлений). |
| **password_policy** | Password policy | Политика паролей: длина, сложность, срок действия, история. |
| **photos** | Photos | Фото и альбомы, хронология, превью. |
| **privacy** | Privacy | Центр приватности: где хранятся данные, кто имеет доступ. |
| **recommendations** | Recommendations | Рекомендованные файлы (недавняя активность) для быстрого доступа. |
| **related_resources** | Related Resources | Боковая панель «связанные ресурсы» к текущему элементу. |
| **serverinfo** | Monitoring | Мониторинг: загрузка CPU, RAM, диск, число пользователей и т.д. |
| **support** | Support | Доступ к поддержке, консультациям и подписке (Enterprise). |
| **survey_client** | Usage survey | Анонимная статистика использования для улучшения F7cloud. |
| **suspicious_login** | Suspicious Login | Обнаружение подозрительных входов (IP, устройство) и предупреждения. |
| **text** | Text | Совместное редактирование текстовых документов в реальном времени. |
| **twofactor_f7cloud_notification** | Two-Factor via F7cloud notification | 2FA вторым фактором через уведомление на устройстве F7cloud. |
| **twofactor_totp** | Two-Factor TOTP Provider | 2FA по TOTP (RFC 6238), совместимость с приложениями-аутентификаторами. |
| **viewer** | Viewer | Просмотр файлов (изображения, медиа) и слайд-шоу. |
---
## Включение по умолчанию (`default_enable`)
Часть приложений при первой установке **включаются автоматически**`info.xml` указано `<default_enable />`). В вашей сборке это, в частности:
- **viewer** — просмотр файлов
- **text** — совместное редактирование
- **serverinfo** — мониторинг
- **recommendations** — рекомендации файлов
- **privacy** — центр приватности
- **password_policy** — политика паролей
- **logreader** — просмотр логов
- **files_pdfviewer** — просмотр PDF
- **circles** — команды
Остальные включаются вручную в разделе «Приложения» в настройках.
---
## Краткая сводка по ролям
| Категория | Приложения |
|-----------|------------|
| **Файлы и хранилище** | files, files_sharing, files_external, files_trashbin, files_versions, files_reminders, files_downloadlimit, files_pdfviewer |
| **Федерация и обмен** | federation, federatedfilesharing, cloud_federation_api, sharebymail, lookup_server_connector |
| **Безопасность и администрирование** | encryption, admin_audit, bruteforcesettings, password_policy, oauth2, twofactor_*, suspicious_login |
| **Календарь, контакты, WebDAV** | dav, profile, user_status, contactsinteraction |
| **Совместная работа** | comments, systemtags, circles, activity, text, notes |
| **Уведомления и интерфейс** | notifications, dashboard, theming, firstrunwizard, viewer, recommendations, related_resources |
| **Админ и мониторинг** | settings, provisioning_api, logreader, serverinfo, updatenotification, support, survey_client |
| **Каталог и автоматизация** | user_ldap, workflowengine, webhook_listeners, app_api |
| **Медиа и контент** | photos, notes, weather_status |
Если нужно, могу вынести этот обзор в отдельный раздел документации или добавить таблицу «системные / дополнительные» в виде одного списка по алфавиту.