waltertamboer/sabredav-module

SabreDav模块的一个Zend Framework 2模块,在尊重ZF2应用程序流程的同时与SabreDav一起工作。

dev-master 2015-07-19 23:05 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:20:23 UTC


README

一个在处理SabreDav时尊重Zend Framework应用程序流程的Zend Framework 2模块。

入门

建议通过 Composer 安装此库。

{
    "require": {
        "waltertamboer/sabredav-module": "dev-master"
    }
}

接下来,将配置文件从 vendor/waltertamboer/sabredav-module/config/sabredav.config.global.dist.php 复制到 config/autoload/sabredav.config.global.php

配置

配置文件包含一个 sabredav 键,它是一个数组。数组中的每个条目都被视为SabreDav的入口点。这样就可以将CalDav、CardDav和WebDav URL分开。基本配置如下所示

'sabredav' => array(
    'dav' => array(
        'enabled' => true,
        'route' => 'my-route',
        'nodes' => array(
            // All nodes that are supported
        ),
        'plugins' => array(
            // All plugins that are supported
        ),
    ),
),

dav 键很重要。它应该匹配稍后解释的控制器的名称。数组包含四个条目:启用、路由、节点和插件。

  • 启用 简单地表示此入口点是否当前启用。
  • 路由 包含用于调用此入口点的路由名称。
  • 节点 是支持SabreDav节点的列表。这样就可以只为CardDav设置,例如。
  • 插件 是支持SabreDav插件的列表。

节点

可以配置服务器,以便为CalDav、CardDav和WebDav创建不同的入口点。也可以将这三个合并到一个入口点中。默认配置文件(如模块中提供)包含一个将CalDav、CardDav和WebDav组合在一起的设置。

每个节点都是一个具有 nameoptions 元素的数组。名称应该是有效的节点服务。选项数组用于将额外的参数传递给节点服务。支持以下节点

  • caldav - 为服务器添加CalDav支持。
  • carddav - 为服务器添加CardDav支持。
  • directory - 为服务器添加WebDav支持。
  • principal - 为服务器添加多个用户的支持。

插件

插件可用于向SabreDav服务器添加额外支持。它们简单地对应于SabreDav提供的插件。

每个插件都是一个具有 nameoptions 元素的数组。名称应该是有效的插件服务。选项数组用于将额外的参数传递给插件服务。支持以下插件

  • acl
  • auth
  • browser
  • caldav
  • carddav
  • lock
  • mount
  • partial
  • property
  • schedule
  • subscription
  • sync

路由器

此模块包含一个名为“sabredav-dav”的预设路由。可以添加其他路由以创建新的入口点。设置路由类型为 SabreDavModule\\Mvc\\Router\\Http\\SabreDav,它简单地充当通配符路由。

控制器名称 必须sabredavmodule. 开头。点之后的所有内容将被视为入口点的名称。此字符串将用于在 sabredav 配置数组中查找配置。

'router' => array(
    'routes' => array(
        'sabredav-dav' => array(
            'type' => 'SabreDavModule\\Mvc\\Router\\Http\\SabreDav',
            'options' => array(
                'regex' => '/dav/(?<slug>.*)',
                'spec' => '/dav/%slug%',
                'defaults' => array(
                    'controller' => 'sabredavmodule.dav',
                    'action' => 'index',
                ),
            ),
        ),
    ),
),

待办事项

  • 此模块尚未进行单元测试。
  • 一旦编写了单元测试,应该将Travis CI连接起来。
  • 缺少Docblocks
  • README文件应包含显示模块稳定性的徽章。