mustached-robot / core
Mustached Robot的核心
Requires
- php: >=5.3.3
- fuelphp/upload: 2.0
- monolog/monolog: 1.5.*
- mustached-robot/calendar: dev-master
- mustached-robot/checkin: dev-master
- mustached-robot/twitter: dev-master
- mustached-robot/user: dev-master
- twig/twig: 1.*
This package is not auto-updated.
Last update: 2024-09-23 14:44:14 UTC
README
描述
Mustached Robot是一个开源的协同工作空间签到平台。
开发团队
- Florent Gosselin - 用户体验设计师 (@fgosselin)
- Jérémie Pottier - 开发者 (@dzey)
欢迎新开发者和设计师加入项目。如果您想参与,请在twitter上联系我们 (@fgosselin,@dzey)!
路线图
v. 0.5(当前版本)
- 协同工作者可以创建账户并签入协同工作空间
- 协同工作空间管理者可以访问漂亮的仪表板上的协同工作空间数据:当前在此的协同工作者,协同工作者个人资料,协同工作空间统计信息
- 提供了一个API,任何允许的开发者都可以玩转协同工作空间数据
v. 0.6
- 插件系统的基本框架,允许任何人开发插件和主题,而无需修改核心文件(例如:通过Freshbook的账单管理系统,特定CRM的连接等)。
v. 1.0
- 协同工作者的账户管理(电子邮件确认,密码找回等)
- 技能管理(协同工作者可以添加或更新自己的技能)
- 仪表板视图,显示协同工作者的个人资料和协同工作空间中的即将发生的事件(此视图可以用于协同工作空间的大型电视屏幕上)
- 移动端友好
安装
查看安装文档
文档
您想参与吗?查看开发者文档
API文档
还提供了API迷你文档。一旦Mustached Robot安装并配置在服务器上,开发人员可以使用此API访问协同工作空间数据。
项目状态和错误报告
您可以在GitHub问题跟踪器上查看项目状态或报告任何错误
帮助和讨论
如果您需要帮助或想讨论胡子,您可以在twitter或这个Google Group上进行。
插件
插件是一个独立的模块,通过与应用程序的几个战略位置交互来扩展Mustached Robot的功能。插件仍在开发中,我们可能需要在它们稳定之前打破向后兼容性。
使用插件,您可以
- 在几个特定的视图中添加任何您想添加的内容
- 添加表单元素,并根据这些元素在应用程序中触发操作
- 自定义应用程序的外观和感觉
而且,这一切都不会破坏您的Mustached Robot安装(即您将能够独立更新核心功能和插件)。
开发插件
插件是FuelPHP模块。它们通过composer集成到项目中。
要开发插件,您需要
- 为您的模块创建一个特定的仓库,并在根目录下创建一个 composer.json 文件。您必须指定包的 "type" 为 "fuel-module"(参见composer 安装器文档)。这将允许 composer 将插件移动到您安装的正确目录。
- 在项目的 composer.json 中将插件添加为项目的依赖项。
例如,一个名为 twitter 的插件在 Github 上可用,并集成到默认项目中。
以下是您当前可以使用的类
- 表单 - 它允许您在应用的一些表单上添加表单元素。
- 触发器 - 它允许用户在执行特定操作后做任何想做的事情(例如:用户签到后,我想让我的插件发推文并给我发短信)。
- 主题 - 它允许您自定义 CSS 并将图像添加到项目中。每个共享工作空间都可以使用自己的主题。
语言
所有语言字符串都必须按照 FuelPHP 规范存储在插件的 "language" 文件夹中。我们通常使用 .yml。
配置
您可以通过在您的模块中创建一个 "config" 文件夹以及一个与您的插件同名的 .php 文件来向应用管理员请求配置参数。此配置文件将自动为共享工作空间的管理员生成一个设置表单。
您的配置文件必须遵循一些约定
- 它必须是一个关联数组
- 数组的键必须是参数的名称
- 数组的值必须是一个包含三个键值对的数组:** 'label':将在表单上显示的标签 ** 'type':字段的类型(参见FuelPHP 表单类型)** 'value':参数的默认值
这是 Twitter 插件的配置文件的示例
'consumerKey' =>
array(
'value' => '',
'type' => 'text',
'label' => 'settings.consumerKey',
),
'consumerSecret' =>
array(
'value' => '',
'type' => 'text',
'label' => 'settings.consumerSecret',
),
如果用户更改了默认配置,它将保存到他的本地安装配置文件(/fuel/app/config/mustached.php)中,因此他可以在不删除自己的参数的情况下完全更新插件。
如果一些用户已经安装了您的插件,并且在未来版本中您决定使用一些额外的设置,新设置将提供给用户,但他们将保留他们之前在本地保存的设置。
要访问插件的配置参数,请使用以下函数
\Mustached\Plugin::getConfig($pluginName, $configName)
- pluginName:插件名称
- configName:配置参数的名称(使用 "." 作为数组分隔符)
此函数将返回用户设置的参数或,如果没有设置,则返回插件的默认参数。您应该始终使用此函数而不是 FuelPHP 核心函数,如 \Config::get();
可自定义的表单
一些表单是可以自定义的。
签到表单
如果您想配置签到表单,请在您的模块中创建一个 "Form" 类,并添加方法 addElementOnPublicCheckin()
默认情况下,新元素(s)将被添加到最后一个字段之后。您可以通过使用两个参数(第一个是当前表单中元素的名称,第二个是您的新字段相对于第一个参数的位置 -- 'before' 或 'after')来覆盖此设置。
可自定义的操作
一些操作可以扩展。
用户签到时执行某些操作
如果您想在用户签到时执行某些操作,请在您的模块中创建一个 "Trigger" 类,并添加方法 postCheckin()
此方法发送一个包含一个具有 'fieldset' 键的参数 $options,其中包含用户在签到表单上提交的字段(如果您之前已配置签到表单,则您的插件添加到表单上的数据也将可用,请参阅 twitter 插件示例进行参考)。
主题
插件可以用作应用的部分或全部的皮肤。一个皮肤示例可在GitHub上找到。
CSS
要在整个应用中加载CSS文件,请在您的模块中添加一个皮肤类,并添加一个“getCss”函数,返回CSS文件的路径和该文件的版本号。
public function getCss()
{
return array(
'path' => 'assets/main.css',
'version' => 1,
);
}
当插件从用户处更新(通过composer)时,此文件将被复制到主项目(在/public/assets/css/plugins/[plugin_name]/文件夹中),并在应用中加载。
图片
要在项目中使用图片,请将它们插入到/assets/img目录中。当运行composer install或update时,该目录中的所有图片将被复制到项目目录/public/assets/img/[plugin_name]/。
插件更新
用户可以通过运行composer update命令来更新插件。此命令将获取插件的最新版本,并安装CSS和图片。