camdram / camdram
Camdram - 剑桥业余戏剧的门户网站
Requires
- php: >7.0.0
- abraham/twitteroauth: ^0.5.4
- doctrine/doctrine-bundle: ~1.8
- doctrine/doctrine-fixtures-bundle: ~2.4
- doctrine/doctrine-migrations-bundle: 1.3.*
- doctrine/orm: 2.5.*
- egeloen/google-map-bundle: ~2.2
- excelwebzone/recaptcha-bundle: 2.6.*@dev
- facebook/graph-sdk: ^5.6
- friendsofsymfony/elastica-bundle: ^4.1
- friendsofsymfony/jsrouting-bundle: 2.2.*
- friendsofsymfony/oauth-server-bundle: 1.5.*
- friendsofsymfony/rest-bundle: ^2.3
- hwi/oauth-bundle: ^0.6
- incenteev/composer-parameter-handler: ~2.1
- jms/serializer-bundle: ^2.3
- knplabs/github-api: ^1.7
- leafo/scssphp: 0.6.*
- liip/imagine-bundle: ~1.9
- oneup/uploader-bundle: ^1.9
- pagerfanta/pagerfanta: 1.0.*
- php-http/guzzle6-adapter: ^1.1
- php-http/httplug-bundle: ^1.10
- sabre/vobject: ~3.3
- sensio/buzz-bundle: 1.*
- sensio/distribution-bundle: ~5.0
- sensio/framework-extra-bundle: ~3.0
- stof/doctrine-extensions-bundle: 1.3.*
- symfony/assetic-bundle: ~2.8
- symfony/monolog-bundle: ~3.2
- symfony/swiftmailer-bundle: ~2.6
- symfony/symfony: 2.8.*
- twig/extensions: ~1.2
- zendframework/zend-feed: 2.4.*
- zendframework/zend-servicemanager: 2.4.*
- zurb/foundation: 4.*
Requires (Dev)
- behat/behat: 2.5.*@stable
- behat/mink: 1.6.*@stable
- behat/mink-extension: 1.3.*
- behat/mink-goutte-driver: 1.1.0
- behat/symfony2-extension: 1.1.*
- phpunit/phpunit: 5.7.*
- sensio/generator-bundle: ~3.0
- dev-master
- 20180710
- 20180704
- 20180616
- 20180320
- 20180307
- 20180224
- 20180224-rc3
- 20180224-rc2
- 20180211
- 20180128
- 20180119
- 20171221
- 20170630
- 20161002
- 20151223
- 20151027
- 20151013
- 20150605
- 20150602
- 20150514
- 20150330
- 20150225
- 20150130
- 20150107
- 20141208
- 20141201
- 20141119
- 20141102
- 20141010
- 20141008
- 20141006
- 20141003
- 20141002
- 20140920
- 20140703
- 20140614
- 20140604
- 20140602
- 20140508
- 20140507
- 20140417
- 20140313
- 20140305
- v2.99
- v2.98
- v2.97.4
- v2.97.3
- v2.97.2
- v2.97.1
- v2.97
- v2.96
- v2.95
- v2.94
- v2.93
- v2.92
- v2.91.3
- v2.91.2
- v2.91.1
- v2.91
- v2.90
- v2.89
- v2.88
- v2.87
- v2.86
- v2.85
- v2.84
- v2.83.2
- v2.83.1
- v2.83
- v2.82
- v2.81
- v2.80.2
- v2.80.1
- v2.80
- v2.79
- v2.78.3
- v2.78.2
- v2.78.1
- v2.78
- v2.77.1
- v2.77
- v2.76
- v2.75.2
- v2.75.1
- v2.75
- v2.74.3
- v2.74.2
- v2.74.1
- v2.74
- v2.73.1
- v2.73
- v2.72.2
- v2.72.1
- v2.72
- v2.71
- v2.70
- v2.69
- v2.68.1
- v2.68
- v2.67
- v2.66
- v2.65.3
- v2.65.2
- v2.65.1
- v2.65
- v2.64
- v2.63
- v2.62
- v2.61
- v2.60.2
- v2.60.1
- v2.60
- v2.59
- v2.58.1
- v2.58
- v2.57
- v2.56
- v2.55
- v2.54
- v2.53
- v2.52.1
- v2.52
- v2.51
- v2.50
- v2.49
- v2.48
- v2.47
- v2.46
- dev-dependabot/npm_and_yarn/eslint-9.11.1
- dev-dependabot/composer/knplabs/github-api-3.15.0
- dev-dependabot/npm_and_yarn/sass-loader-16.0.2
- dev-dependabot/npm_and_yarn/eslint-9.11.0
- dev-dependabot/composer/phpstan/phpstan-doctrine-1.5.3
- dev-dependabot/npm_and_yarn/express-4.21.0
- dev-dependabot/composer/symfony/polyfill-intl-messageformatter-1.31.0
- dev-dependabot/composer/twig/twig-3.14.0
- dev-dependabot/composer/twig/twig-3.13.0
- dev-dependabot/composer/liip/imagine-bundle-2.13.2
- dev-dependabot/npm_and_yarn/webpack-5.94.0
- dev-dependabot/composer/php-http/httplug-bundle-1.34.3
- dev-dependabot/composer/symfony/intl-7.0.8
- dev-dependabot/composer/symfony/debug-bundle-6.4.8
- dev-dependabot/composer/doctrine/dbal-3.8.6
- dev-dependabot/composer/symfony/browser-kit-7.1.1
- dev-dependabot/npm_and_yarn/ws-8.17.1
- dev-dependabot/composer/laminas/laminas-code-4.14.0
- dev-dependabot/composer/symfony/css-selector-7.1.1
- dev-dependabot/composer/symfony/expression-language-6.4.8
- dev-dependabot/composer/symfony/dotenv-6.4.8
- dev-dependabot/composer/doctrine/doctrine-fixtures-bundle-3.6.1
- dev-dependabot/composer/dama/doctrine-test-bundle-8.1.0
- dev-dependabot/composer/doctrine/doctrine-migrations-bundle-3.3.1
- dev-dependabot/npm_and_yarn/github/hotkey-3.1.1
- dev-dependabot/composer/oneup/uploader-bundle-5.0.1
- dev-dependabot/composer/knplabs/github-api-3.14.1
- dev-dependabot/npm_and_yarn/symfony/webpack-encore-4.6.1
- dev-dependabot/npm_and_yarn/imports-loader-5.0.0
- dev-dependabot/composer/hwi/oauth-bundle-2.2.0
- dev-dependabot/composer/sentry/sentry-symfony-4.14.0
- dev-dependabot/composer/abraham/twitteroauth-7.0.0
- dev-dependabot/composer/friendsofsymfony/jsrouting-bundle-3.5.0
- dev-dependabot/composer/laminas/laminas-stdlib-3.19.0
- dev-dependabot/composer/stof/doctrine-extensions-bundle-1.10.1
- dev-dependabot/composer/incenteev/composer-parameter-handler-2.2.0
- dev-dependabot/composer/doctrine/doctrine-bundle-2.10.3
- dev-dependabot/composer/symfony/monolog-bundle-3.10.0
- dev-dependabot/composer/symfony/webpack-encore-bundle-2.1.1
- dev-dependabot/composer/laminas/laminas-feed-2.22.0
- dev-dependabot/composer/laminas/laminas-escaper-2.13.0
- dev-bump-uploader-bundle
- dev-dependabot/composer/doctrine/orm-2.14.3
- dev-bump-test-deps
- dev-fixtests
- dev-dependabot/npm_and_yarn/terser-5.15.0
- dev-dependabot/npm_and_yarn/eslint-8.20.0
- dev-no-jquery
- dev-cypress
This package is auto-updated.
Last update: 2024-09-24 04:43:43 UTC
README
Camdram 是一个由志愿者团队为剑桥业余戏剧社区利益开发的开源项目。我们使用此存储库托管 Camdram 运行的代码并协调我们的工作,但我们欢迎任何人贡献错误并提出新功能。
以下详细说明了设置 Camdram 开发签出的步骤。为了简洁起见,这些说明假设读者熟悉许多技术,例如在基于 Linux 的平台上开发、使用 Git 和 GitHub。
新版本会在 master
分支上定期发布,使用 GitHub 界面进行。这将自动生成变更日志并将新版本推送到 https://www.camdram.net/ 上的生产环境。最新的更改可以在 https://development.camdram.net/ 上看到,它始终反映此存储库的 HEAD
状态。
如果您在下述说明中遇到任何问题,请 创建 GitHub 问题 或发送电子邮件至 support@camdram.net。我们还在 Gitter 上有一个 实时聊天,您可以使用它快速非正式地与开发团队取得联系。
Docker 安装
Docker 是一种隔离应用程序的方法,它充当运行 "容器" 的平台。这是一种在尽可能少的麻烦的情况下设置开发环境的绝佳方式,并且应该可以在 Windows、macOS 和 Linux 上跨平台工作。首先,您需要通过上述链接安装 Docker,然后克隆 Camdram 存储库并构建必要的 Docker 镜像。
git clone git@github.com:camdram/camdram.git && cd camdram
docker-compose build
docker-compose up
这将自动创建和配置完整的 Camdram 堆栈,并在本地端口 8000 上启动服务器。
本地安装
与 Docker 安装程序相比,本地安装程序要复杂得多,因此我们将其分解为几个步骤。
1) 安装程序
您需要安装运行 Camdram 所需的必要包依赖项。强烈建议使用 PHP 版本 8.2 或更高版本。
Debian/Ubuntu 及其衍生版本
以下命令可以在最近的基于 Debian 的发行版上运行(包括 Ubuntu 和 Windows Subsystem for Linux)。
sudo apt-get install git-core php php-cli composer php-curl php-intl php-sqlite3 php-gd php-json php-mbstring php-xml php-zip
macOS
您需要安装 Homebrew。以下命令 似乎(从最小测试中)在 macOS 的最新版本上安装了所有必需项。
brew install git php composer
其他发行版和操作系统的安装方法可能会有所不同。
2) 创建 Camdram 的本地版本
以下步骤假设 Composer PHP 包管理器已在全球范围内安装到您的系统上。如果它不在您的发行版的存储库中,可以在 https://getcomposer.org.cn/download/ 上找到替代安装方法。
注意:以下composer
命令中执行的某些SQL数据库操作是内存密集型的。PHP的默认安装往往将PHP脚本的内存限制设置为一个肯定会引发致命错误的值。为了防止这种情况,找到您的php.ini
文件(位置因系统而异)并更改memory_limit
设置,例如将其更改为memory_limit = 1G
(一个千兆字节绝对足够——如果您愿意,可能可以用更少的内存完成)。或者,您可以像这样调用PHP解释器:
php -d memory_limit=1G $(which composer) etc.......
以下命令将在名为camdram
的新文件夹中下载并设置Camdram的检出
composer create-project camdram/camdram camdram dev-master --no-interaction --keep-vcs
在获取代码副本后,切换到新创建的目录并启动本地Web服务器
cd camdram
php app/console server:run
然后您应该能够在Web浏览器中访问http://127.0.0.1:8000/以查看Camdram主页的个人版本。
为了获得对网站大多数功能的访问权限,您需要创建一个管理员账户。为了在每次重置数据库时自动完成此操作,打开app/config/parameters.yml
并替换设置default_admin_idents
的行
default_admin_idents: "[ { \"name\": \"Your Name\", \"email\": \"yourcrsid@cam.ac.uk\" } ]"
然后运行
php app/console doctrine:fixtures:load --no-interaction
然后您应该能够使用Raven登录并拥有完整的管理员权限。
3) 运行测试套件
Camdram有一个有限但正在增长的自动化测试套件,可以用来确保您的检出正在工作,并在做出更改后检查某些回归。可以通过运行以下命令来执行:
./runtests
4) 创建分支
Camdram的开发模式遵循GitHub上托管的开源项目所使用的标准习语。如果您只是想实验代码库,则不需要进一步的操作,但如果您想做出贡献,则需要创建一个分支。
创建个人分支后,您可以使用以下命令重新定位您的检出。
git remote rename origin upstream
git remote add origin git@github.com:your-github-username/camdram.git
我们以功绩为基础运行Camdram:任何有合理数量的被接受的pull请求的人都将被授予直接提交到Camdram仓库的权限
5) 编写一些代码
在开始开发之前创建一个“功能分支”是个好主意,这样pull请求的名称就会相应地命名
git checkout -b my-cool-feature
一些有用的提示
- 该网站使用Symfony PHP框架 - 阅读文档。
- 使用GitHub问题跟踪器发现和讨论要解决的问题。如果您认为知道如何完成某事,编写代码,提交它,并提交pull请求。
- 如果您想讨论如何实现新功能或如何修复错误,请联系一位开发者。在开始任何重大项目之前联系可能是明智的,以避免徒劳的努力!
- 如果您不熟悉Git,请访问http://try.github.io/。
- 代码应尽可能遵守以下风格指南:http://www.php-fig.org/psr/psr-2/。如果这太令人畏惧,则一个格式不佳但功能齐全的改进比没有改进要好。您可以使用http://cs.sensiolabs.org/在编写代码后(主要)清理您的代码。
根据更改的类型,确保它作为已登录和/或未登录的访客工作。您可以通过运行以下命令授予您的用户账户管理权限(这允许您创建和修改任何Camdram内容):
php app/console camdram:admins --grant=youremail@domain.com
6) 提交您的更改
- 运行
git add file1.php file2.php
为您想要提交的每个文件 - 运行
git commit
并输入描述您所做更改的消息 - 运行
git push
将您的更改发送到GitHub
在提交消息的末尾包含相关的issue编号(以哈希#开头)是一个好习惯 - 这会使您的提交链接到GitHub上的issue页面。
一旦您的更改推送到了GitHub上的Camdram分支,您可以 提交一个pull request 以将其包含在Camdram中。
请注意:我们自动在我们的 开发页面 上显示一些贡献者的名字,以此表示感谢!通过提交您的更改,您承认您愿意这样做。
7) 拉取其他人的更改
在将来某个时刻,一旦您的本地仓库与GitHub不同步(因为其他人已经做了更改),您可以运行以下命令来拉取其他人的更改并更新您的检出:
git fetch upstream
git merge upstream/master
如果依赖项、数据库模式或JS/CSS资产已更改,则可能需要在上述命令之后运行以下命令。
composer install
php app/console camdram:database:refresh
php app/console camdram:assets:download
8) 阅读Wiki
Wiki 中包含了有关Camdram当前版本和开发版本的各种信息。阅读这些页面可以深入了解系统的更复杂部分。您可以使用上面的联系信息提出创建新文章的建议。
以下Wiki页面详细说明了如何创建一个与https://www.camdram.net/上的Camdram版本更相似的服务器设置。
版权
Camdram是根据GNU通用公共许可证的第二个版本发布的。
版权 (C) 2014–2021 Camdram网络团队成员和其他贡献者。