参考文档
参考文档
相关源文件
本章引用的主要源码文件:
mayan/apps/documents/apps.pymayan/apps/documents/icons.pymayan/apps/documents/links/document_version_links.pymayan/apps/documents/managers.pymayan/apps/documents/permissions.pymayan/apps/documents/tasks.pymayan/apps/documents/urls.pymayan/apps/documents/views/document_type_views.pymayan/apps/documents/views/document_version_views.pymayan/apps/documents/views/document_views.pymayan/apps/metadata/tests/__init__.pymayan/apps/permissions/links.pymayan/apps/smart_settings/apps.pymayan/apps/smart_settings/classes.pymayan/apps/smart_settings/icons.pymayan/apps/smart_settings/links.pymayan/apps/smart_settings/literals.pymayan/apps/smart_settings/management/commands/settings_revert.pymayan/apps/smart_settings/permissions.pymayan/apps/smart_settings/settings.pymayan/apps/smart_settings/tests/literals.pymayan/apps/smart_settings/tests/mixins.pymayan/apps/smart_settings/tests/mocks.pymayan/apps/smart_settings/tests/test_classes.pymayan/apps/smart_settings/tests/test_utils.pymayan/apps/smart_settings/tests/test_views.pymayan/apps/smart_settings/urls.pymayan/apps/smart_settings/utils.pymayan/apps/smart_settings/views.pymayan/apps/task_manager/literals.pymayan/apps/task_manager/locale/bs/LC_MESSAGES/django.pomayan/apps/task_manager/locale/cs/LC_MESSAGES/django.pomayan/apps/task_manager/locale/el/LC_MESSAGES/django.pomayan/apps/task_manager/settings.pymayan/settings/testing/base.py
本节为使用 Mayan EDMS 的高级用户和开发者提供全面的参考材料。内容涵盖三个关键领域:通过智能设置系统进行配置管理、完整的数据模型架构以及 REST API 端点。
有关一般系统架构和组件关系,请参见核心架构。有关具体的开发工作流和设置说明,请参见开发与运维。
概述
Mayan EDMS 参考文档分为三个主要类别:
- 配置参考(7.1)——智能设置系统中所有配置设置、环境变量和配置选项的完整目录
- 数据模型参考(7.2)——所有 Django 模型及其字段、关系、方法和管理器的详细文档
- API 参考(7.3)——完整的 REST API 文档,包括所有端点、请求/响应格式、认证方法和使用示例
这些参考文档专为需要了解 Mayan EDMS 内部机制详细技术信息的开发者、构建自定义解决方案的系统集成商以及需要精确配置细节的管理员而设计。
配置系统架构
Mayan EDMS 的配置系统基于智能设置框架构建,该框架提供了一个分层、可校验且可迁移的配置管理系统。
智能设置组件结构
来源:mayan/apps/smart_settings/classes.py:1-417, mayan/apps/smart_settings/utils.py:1-443
配置解析流程
来源:mayan/apps/smart_settings/classes.py:325-417, mayan/apps/smart_settings/utils.py:137-175
数据模型架构
数据模型架构以文档管理系统为核心,并包含用于元数据、权限和工作流管理的支持模型。
核心文档模型关系
来源:mayan/apps/documents/models/document_models.py, mayan/apps/documents/models/document_type_models.py, mayan/apps/documents/models/document_version_models.py
管理器类与查询优化
来源:mayan/apps/documents/managers.py:20-322
REST 接口结构
REST API 遵循 Django REST Framework 约定,采用按资源类型组织的分层 URL 结构。
API 端点组织
来源:mayan/apps/documents/urls.py:522-689, mayan/apps/documents/api_views/
API 视图类层次结构
来源:mayan/apps/documents/api_views/document_api_views.py, mayan/apps/documents/api_views/document_file_api_views.py, mayan/apps/documents/api_views/document_version_api_views.py
集成点
参考文档涵盖了这些系统相互连接的几个关键集成点:
| 系统 | 集成机制 | 代码位置 |
|---|---|---|
| 配置 | MayanAppConfig.ready() 方法在应用初始化期间加载设置 | mayan/apps/documents/apps.py:218-1004 |
| 权限 | ModelPermission.register() 将模型连接到权限系统 | mayan/apps/documents/apps.py:437-518 |
| 事件 | ModelEventType.register() 启用审计追踪和通知 | mayan/apps/documents/apps.py:336-383 |
| 搜索 | DynamicSerializerField.add_serializer() 启用搜索索引 | mayan/apps/documents/apps.py:285-288 |
| 缓存 | ModelQueryFields 通过 prefetch/select_related 优化数据库查询 | mayan/apps/documents/apps.py:519-553 |
这三个参考部分通过具体示例、配置选项和实现细节,全面覆盖了这些集成点。
来源:mayan/apps/documents/apps.py:1-1004, mayan/apps/smart_settings/classes.py:1-417, mayan/apps/documents/urls.py:1-689