honeybee/honeybee-agavi-cmf-project
Composer 安装命令:
composer create-project honeybee/honeybee-agavi-cmf-project
包简介
Project (template) for building content-management applications, based on Agavi and the Honeybee CQRS library.
README 文档
README
The Honeybee-Agavi Content Management Framework (CMF) is based on the Honeybee CQRS and Event Sourcing library which includes framework bindings for the Agavi MVC framework. It provides a modular and scalable application infrastructure to facilitate construction of sophisticated content managment systems (CMS) while supporting a Domain Driven Design (DDD) methodology.
- Installation
- Installation inside a VM
- Installation locally (coming soon...)
- Initialisation
- Cookbook
This project is in active development. Changes may be frequent until releases are provided.
#Installation
Installation of an application can be done directly from this project repository following the instructions provided.
##Installing the application inside a VM
These instructions detail the procedure for boostrapping your application on a virtual machine (VM). The VM will be provisioned and configured with the required environment for Honeybee applications.
###Prerequisites
VirtualBox- https://www.virtualbox.org/wiki/DownloadsVirtualBox Guest Additions- https://www.virtualbox.org/manual/ch04.html#idm1784git- https://git-scm.comvagrant- http://downloads.vagrantup.comcomposer- https://getcomposer.org/download- A Github account and repository for your application
- Some knowledge of the Agavi MVC framework is advantageous
###Creating a new project
Creating a project with composer will guide you through configuring a project and VM for a new application. We ignore platform requirements because the project will be installed inside the VM.
# replace the last argument with your chosen folder name if required
composer create-project -sdev --ignore-platform-reqs --no-install \
honeybee/honeybee-agavi-cmf-project honeybee-agavi-cmf-project
The repository will be cloned and a post-install script will be executed which will prompt you with some simple configuration questions.
- When asked for a Github repository you should pick a repository name that you have write access to and is accessible by your VM. Your application will need to be pushed to this repository so the VM can launch, clone and install.
- When asked to configure a VM you should answer
yes - When asked for a hostname, you can accept the default based on your repository name or choose another HTTPS URL instead, where your application will be hosted inside the VM.
- When asked by
composerif you wish to keep the VCS files, you may answerno
###Initialising your repository
Your application is now configured and ready for committing to your own repository. Detailed instructions on creating new repositories on Github from source can be found here. We have summarised the commands as follows:
# first create repository at Github cd honeybee-agavi-cmf-project git init git add . git commit -m 'Initialising project' # replace the following Github repository url with your own git remote add origin git@github.com:honeybee/honeybee-agavi-cmf-project.git git push -u origin master
###Launching the VM
When your new repository is publicly available, the VM is ready to launch. When the VM is first initialised, it will clone the Github repository you just created. You can start the machine with the following commands:
# ensure VirtualBox guest additions are installed! # vagrant plugin install vagrant-vbguest cd honeybee-agavi-cmf-project/dev/box vagrant up # please wait, the virtual machine will be downloaded and installed # provisioning can take up to 30 minutes depending on resources
You will see console output as the machine image is downloaded and provisioned. During the provisioning you maybe prompted for input and can accept the default in all cases.
###Completing installation
When your VM is up and running you can finish installation by executing the following commands:
vagrant ssh cd /srv/www/honeybee-agavi-cmf-project.local composer install # when prompted you should accept the project installation sudo service nginx restart
The application will install all dependencies and build all required resources. This may take several minutes.
###Accessing the CMS
When successfully setup the application should be accessible at:
https://honeybee-agavi-cmf-project.local/
At this point it is ready for use and development, however it will not contain any data at this point. If you have not created a Honeybee application before we recommend that you review the cookbook. The cookbook will guide you through the creation of a demo application from scratch, explaining many of the concepts you will need to know to build applications on this framework.
Alternatively you may wish to intialise the application from scratch as explained here.
###Mounting the source
- Mac OSX:
- In the Finder menu:
- Select Connect to Server... (⌘K)
- Enter the following address:
nfs://honeybee-agavi-cmf-project.local/srv/www/
- In the Finder menu:
- Ubuntu/Linux:
mount honeybee-agavi-cmf-project.local:/srv/www/ /home/${USER}/projects/honeybee-agavi-cmf-project
###Controlling system services
The following main services are running on the VM and are controlled via systemd:
- Couchdb
- http-endpoint: http://honeybee-agavi-cmf-project.local:5984
- web-client: http://honeybee-agavi-cmf-project.local:5984/_utils
- Elasticsearch
- http-endpoint: http://honeybee-agavi-cmf-project.local:9200
- web-client: http://honeybee-agavi-cmf-project.local:9200/_plugin/head/
- Converjon
- http-endpoint: https://honeybee-agavi-cmf-project.local/converjon
- web-status: https://honeybee-agavi-cmf-project.local/converjon/status
In order to start/stop services or get the status, use the corresponding sudo command within the VM.
sudo systemctl status|start|stop|restart couchdb|elasticsearch|converjon
Turning the VM on/off
Whenever possible stop the box with:
vagrant suspend
and wake it up again using:
vagrant resume
This will send the box asleep, instead of completely shutting it off and thus runs faster. The box's network interfaces are not reconfigured using suspend/resume though. For this the virtual machine needs to be completely rebooted, which can be done by calling:
vagrant reload # is the same as: vagrant halt && vagrant up
##Installation locally
Coming soon...
##Initialisation
When a Honeybee CMF project is first installed, the databases are not initialised and there is no data in the system.
###Initialising the stores
System migrations are provided for creating administration users. We can execute all pending migrations and initialise the data stores using the following command:
composer migration-run -- --all
On completion you will see a summary of which migrations were executed. There is no data in the system at this point.
###Creating an administrative user
We can create an administration user with the following command.
composer user-create
The command will prompt for a user name and email address. Enter your choices following the command instructions, then follow instructions for setting a password. You may then login to the system at https://honeybee-agavi-cmf-project.local/ with your newly created account.
######User registration and email services In normal user registration flows, users are sent account verification emails. In a development environment the mail service is stubbed and will not actually send emails.
honeybee/honeybee-agavi-cmf-project 适用场景与选型建议
honeybee/honeybee-agavi-cmf-project 是一款 基于 Ruby 开发的 Composer 扩展包,目前已累计 23 次下载、GitHub Stars 达 9, 最近一次更新时间为 2015 年 08 月 17 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「honeybee」 「agavi」 「project-template」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 honeybee/honeybee-agavi-cmf-project 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 honeybee/honeybee-agavi-cmf-project 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 honeybee/honeybee-agavi-cmf-project 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Vendor library that is used in the honeybee-agavi-cmf-project.
A template to initialize an application to use Symfony as a micro-framework
HTTP Software Application Template
Project template for starting a project based on the Rabble admin system.
CouchDB 1.x adapter for Honeybee.
Elasticsearch 2.x adapter for Honeybee.
统计信息
- 总下载量: 23
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 9
- 点击次数: 13
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-08-17