Skip to content

Latest commit

 

History

History
280 lines (209 loc) · 9.76 KB

README.md

File metadata and controls

280 lines (209 loc) · 9.76 KB

同济大学软件学院网站

该仓库是软院网站的主站部分。

Before Contribution

  1. 不要将照片放进仓库

  2. 不要将密码放进仓库

如何从本仓库开始开发

1. 安装 drush

composer global require drush/drush:dev-master -vvv --profile

具体参见 http://docs.drush.org/en/master/install/

2. 下载 Drupal 7 并 clone 本仓库和子仓库

drush dl drupal --drupal-project-rename=sseweb
cd sseweb
git init
git remote add origin https://github.com/TJUSSE/sseweb
git fetch origin
/bin/rm .gitignore
git checkout -b master --track origin/master
git submodule update --init --recursive

3. 下载插件

# cd sseweb
drush dl \
node_export uuid \
file_entity title stringoverrides \
node_save_redirect \
ds login_destination \
boost expire \
workbench workbench_moderation \
linkit entityreference \
advanced_help image_url_formatter \
filefield_sources imce menu_force \
imce_mkdir imce_plupload plupload \
conditional_fields field_group link \
module_filter admin_views views_bulk_operations \
ckeditor_blocks-7.x-1.x-dev insert_block \
imagemagick devel globalredirect \
entity_translation i18n variable \
rabbit_hole date \
backup_migrate jquery_update ctools \
pathauto token panels ckeditor views \
term_reference_tree menu_fields zen \
adminimal_theme adminimal_admin_menu admin_menu \
entity libraries l10n_update

4. Patch

某些插件有兼容性问题,或需要增加新功能,需要手工打补丁。

  1. 修复 term_reference_tree 和 I18N 插件的兼容性问题
# cd sseweb
patch sites/all/modules/term_reference_tree/term_reference_tree.module < patches/term_reference_tree.module.patch
patch sites/all/modules/term_reference_tree/term_reference_tree.widget.inc < patches/term_reference_tree.widget.inc.patch
  1. 为 ImageMagick 插件提供生成渐进式图像的选项。载入此类图像时,会先显示模糊的图片再逐渐变清晰
# cd sseweb
patch sites/all/modules/imagemagick/imagemagick_advanced/imagemagick_advanced.install < patches/imagemagick_advanced.install.patch
patch sites/all/modules/imagemagick/imagemagick_advanced/imagemagick_advanced.module < patches/imagemagick_advanced.module.patch
  1. 修复 Entity API 中翻译检测问题
# cd sseweb
patch sites/all/modules/entity/includes/entity.property.inc < patches/entity.property.inc.patch
  1. 修复 node_export 批量导出问题

    # cd sseweb
    patch sites/all/modules/node_export/node_export.module < patches/node_export.module.patch

5. 为 SSE 订阅插件和 SSE 登录插件安装第三方库

具体参见 https://github.com/TJUSSE/sseweb-subscriptionhttps://github.com/TJUSSE/sseweb-login

cd sites/default/modules/sse_subscription
composer install
cd -
cd sites/default/modules/sse_login
composer install
cd -

6. 编译 SSE 主题

具体参见 https://github.com/TJUSSE/sseweb-theme/tree/0.0.2

cd sites/default/themes/sse_theme
cnpm install --unsafe-perm
gulp
cd -
# 以下是下载 banner images
cd sites/default/themes/sse_theme/img/banners
wget http://cdug.tongji.edu.cn/sse/banners.tar.gz
tar xzf banners.tar.gz
/bin/rm banners.tar.gz
cd -

7. 添加自带附件

基础数据库镜像中包含一些附件,如图片等。如果您希望添加,请执行如下命令:

cd sites/default/files
wget http://cdug.tongji.edu.cn/sse/files.tar.gz
tar xzf files.tar.gz
/bin/rm files.tar.gz
cd -

8. 初始化网站

  1. 在初始化之前,您可能还需要配置 Apache 指向 Drupal 目录,例如:
<VirtualHost *:80>
        DocumentRoot /Users/Breezewish/Development/SSEWeb/sseweb
        ServerName ssedev.tongji.edu.cn
</VirtualHost>

<Directory "/Users/Breezewish/Development/SSEWeb/sseweb">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>
  1. 访问相应地址,如 http://ssedev.tongji.edu.cn

  2. 选择「软件学院网站」作为 profile 安装。只需要设定数据库链接,并填写初始账户信息即可,其他字段使用默认参数不需要修改。

9. 导入基础数据库镜像

数据库中包含了设置、菜单项、节点项等信息。该数据库是调试数据库,不包含线上数据。

  1. 访问 http://pan.baidu.com/s/1i3Cizbf 下载最新的数据库快照。

  2. 访问 http://ssedev.tongji.edu.cn/admin/config/system/backup_migrate/restore ,点击「Restore from an uploaded file」,选择刚才下载下来的 .mysql.zip 快照文件。其中 http://ssedev.tongji.edu.cn 是 Drupal 访问路径,请按照自己的配置进行修改。

  3. 点击 「Restore Now」。

10. 配置 ImageMagick

网站使用了 ImageMagick 来处理上传的图片。

请在本地安装 ImageMagick 二进制,然后访问 /admin/config/media/image-toolkit 地址配置路径。

邮件订阅

如果需要使用邮件订阅,请参考 https://github.com/TJUSSE/sseweb-subscription

教师账户登录

如果需要使用同济大学统一认证登录,请参考 https://github.com/TJUSSE/sseweb-login

提出建议

请在 issue 中创建建议。

Troubleshooting

  1. 安装完 Drupal 后出现错误 Notice: Undefined index: name in block_menu()

一般是因为 sites/default/themes/sse_theme/node_modules 下的 .info 文件没有删除

  1. 使用 Drupal 执行完更新后出现错误 Notice: Undefined index: .... in .... system.install).

一般是因为 SSE Profile 被 drush 奇妙地禁用了。请执行以下 SQL 命令:

UPDATE system SET status = 1 WHERE filename="profiles/sseweb/sseweb.profile"

再清空缓存:

# cd sseweb
drush cc all

升级 Drupal Core

如果有新的 Drupal 内核更新,您可以通过以下命令升级:

# cd sseweb
drush pm-update
git checkout -- .gitignore   # 恢复本项目的 .gitignore 文件

若升级后,访问网站出现 Notice 错误,见 Troubleshooting #2。

升级 Repository

如果该项目库有更新,您希望将更新应用到当前部署:

# cd sseweb
git pull
git submodule update

插件说明

License

MIT