ubc / examdb
考试数据库
Requires
- php: >=5.4
- doctrine/cache: <1.6
- doctrine/common: <2.6
- doctrine/doctrine-bundle: 1.6.*
- doctrine/doctrine-cache-bundle: ~1.3
- doctrine/orm: ~2.4
- egeloen/lucene-search-bundle: ~2.0
- elao/web-profiler-extra-bundle: ~2.3
- gorg/cas-bundle: dev-auth-provider
- incenteev/composer-parameter-handler: ~2.0
- knplabs/knp-paginator-bundle: ~2.4@dev
- lexik/form-filter-bundle: ~4.0
- pagerfanta/pagerfanta: ~1.0
- sensio/buzz-bundle: ~1.1
- sensio/distribution-bundle: ~3.0
- sensio/framework-extra-bundle: ~3.0
- sensio/generator-bundle: ~2.5
- snc/redis-bundle: ~1.1
- stof/doctrine-extensions-bundle: 1.1.*
- symfony/assetic-bundle: 2.8.*
- symfony/css-selector: 2.8.*
- symfony/dom-crawler: 2.8.*
- symfony/monolog-bundle: ~2.8
- symfony/swiftmailer-bundle: 2.3.*
- symfony/symfony: 2.8.*
- twig/extensions: 1.3.*
- ubc/ltcommons-bundle: ~0.1.1
- zendframework/zend-cache: <2.5.2
- zendframework/zend-config: <2.6
- zendframework/zend-eventmanager: <2.5.2
- zendframework/zend-json: <2.5.2
- zendframework/zend-math: <2.5.2
- zendframework/zend-serializer: <2.6
- zendframework/zend-servicemanager: <2.6
- zendframework/zend-stdlib: <2.5.2
- zendframework/zendsearch: ~2.0
Requires (Dev)
- doctrine/data-fixtures: ~1.0
- h4cc/alice-fixtures-bundle: dev-master
- liip/functional-test-bundle: ~1.0@dev
- m6web/symfony2-coding-standard: ~1.1
- mikey179/vfsstream: ~1.4
- pdepend/pdepend: 1.1.*
- phing/phing: 2.*
- phpdocumentor/phpdocumentor: dev-master
- phpmd/phpmd: 1.*
- phpunit/phpunit: 4.5.*
- sebastian/phpcpd: *
- squizlabs/php_codesniffer: 1.5.*
- symfony/phpunit-bridge: ~3.0
- ubc/ctlt-coding-standard: 1.0
This package is not auto-updated.
Last update: 2021-08-07 00:42:29 UTC
README
5分钟内运行
-
在 OpenShift 上注册账户。
-
安装 CLI
-
通过运行以下命令提供应用程序
rhc app create examdb php-5.4 mysql-5.5 phpmyadmin-4 --from-code=https://github.com/ubc/examdb.git -
通过自定义环境变量设置自定义参数:(有关可用环境变量的完整列表,请参阅 app/config/params.php)
rhc env set auth2_username=service_username auth2_password=service_password auth2_service_application=service_app -a examdb -
打开浏览器并输入上述命令结果打印的 URL。
详细版本
1) 提供应用程序
提供 PHP 应用程序(phpmyadmin-4是可选的)
rhc app create examdb php-5.4 mysql-5.5 phpmyadmin-4 --from-code=https://github.com/ubc/examdb.git
一旦应用程序创建完成,OpenShift 将提供应用程序的 URL、SSH 地址和 git 仓库。这些信息也可以通过运行以下命令获取
rhc app show examdb
数据库参数设置在 app/config/params.php 中,它由 app/config/config.yml 导入。
2) 检查系统配置
从命令行执行 check.php 脚本
ssh OPENSHIFT_SSH_ADDRESS
cd $OPENSHIFT_REPO_DIR
php app/check.php
如果所有必需的要求都已满足,脚本将返回状态码 0,否则返回 1。
要通过浏览器访问 config.php 脚本,需要创建 SSH 隧道,因为 config.php 仅从 localhost 可访问
rhc port-forward
然后从浏览器打开 URL
http://your_openshift_domain/config.php
如果您收到任何警告或建议,请在继续之前修复它们。
3) 直接访问其他组件
如果已安装 mysql 或其他数据库并且您想直接访问它。例如,使用 MySQLBench 或其他工具。您可以使用上述提到的端口转发。
rhc port-forward
该端口将被转发到 localhost,您可以将工具设置为连接到 localhost。
开发
安装
-
安装 Vagrant 项目环境可以通过 Vagrant 提供。首先按照网站上的说明安装 vagrant。然后,如果您希望 vagrant 为您管理 /etc/hosts,请安装 vagrant-hostmanager 插件。
vagrant plugin install vagrant-hostmanager vagrant plugin install vagrant-bindfs否则,您需要手动将以下行添加到您的 /etc/hosts
127.0.0.1 examdb.dev -
检出源代码
git clone git@github.com:ubc/examdb.git -
设置开发虚拟机
cd examdb && vagrant up -
从主机打开浏览器
http://examdb.dev:8089/app_dev.php -
开发!
运行测试
bin/phing test
注意
-
默认用户名和密码都是 "admin"
-
在测试学生功能时,学生用户 puid 应为 12345678,这是用于本地 SIS 数据存储库的 app/fixtures 数据中使用的 ID
-
测试用例包含两个部分:MATH 101 和 ENGL 100
-
更新依赖项:在运行
composer update时可能会遇到内存限制,因此请使用以下命令php -d memory_limit=-1 /path/to/composer update -
如果处于生产环境,请查看更改,然后您需要在控制台中运行几个命令来查看更改(即将从 src 文件夹移动到 web 文件夹)
php app/console cache:clear --env=prod -
生产环境的默认身份验证为 CAS,开发环境为内部登录。为了使系统独立运行(即跳过使用 CAS),您需要进行一些更改
- 修改 app/config/config_prod.yml 并将 security_cas.yml 更改为 security_internal.yml
-
从命令行创建用户
vagrant ssh cd /vagrant php app/console exam:user:create USERNAME PASSWORD ROLE_ADMIN -
如果存在现有的考试数据库,则必须重新构建搜索索引,以便搜索功能正常。
vagrant ssh cd /vagrant php app/console exam:index:build -
升级说明
sudo su app cd /www_data/app git pull chmod 775 app/data/uploads app/data/uploads/documents