Skip to content

TJUSSE/sseweb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

同济大学软件学院网站

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

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

About

The main repository of sse.tongji.edu.cn

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published