Skip to content

The ics_website_new is refined version of the original one, fixed some errors and add documentations for easier deploy

License

Notifications You must be signed in to change notification settings

PanYicheng/ics_website_new

Repository files navigation

ics.pku.edu.cn setup

Official Website for Intelligent Computing and Sensing Laboratory, Peking University.

Install

ics.pku.edu.cn is built on Node.js and powered by [Brick.JS][brick.js]. redis-server, mongodb, and gulp are need:

Download and install Redis-Server:

http://redis.io/

Download and install MongoDB:

https://www.mongodb.com/download-center#community

First install node v8.0.0. Then install [gulp][gulp]:

npm install gulp -g

Build and Run

Clone and build:

git clone git@github.com:smart-sensing-lab/ics.pku.edu.cn.git
cd ics.pku.edu.cn && npm install
gulp build

Create config.json, and do your configuration:

cp config.example.json config.json
vim config.json   # make configurations as needed

Run ics with mongoDB and Redis:

mongod &
redis-server &
sh ldap/gen-cert.sh
node ldap/ldap-server.js &
npm start

gen-cert.sh的时候,common name写ldap-server的url,目前是localhost

编辑portainer的authentication选项,选择ldap选项。LDAP server是上面ldap/ldap-server.js运行的url(host.docker.internal是docker容器指向宿主机所用的域名),ReaderDN和Password与config.json中保持一致

user/group search的选项一样填就行了

image-20210318214627532

image-20210318214627532选择save setting保存

初始化时,mongodb中是没有用户的,按照Admin Users中的说明添加第一个user

Development

Build and Serve:

gulp

Admin Users

Update admin users:

  1. Update config.admin (make sure config.mongodb is valid)
  2. Run MongoDB
  3. node ./bin/update-admin.js

上传和下载文件

  1. 登录 http://ics.pku.edu.cn: username: ics password: ics1800
  2. 下载文件或数据集:主页导航栏->资源下载->学术文章->下载文件; 数据下载->下载数据集
  3. 上传文件或数据集:主页顶层导航->用户名—>管理页面->内容管理: 文件管理->上传文件(文件命名格式如下)

注意:

  • PPT或者word需要转换成 PDF格式,文件中需要给出参考文献。
  • 文件命名: 方向_详细的文章名称_YYYYMMDD_姓名.pdf

示例:

  • 复杂事件处理_XXXXXX_20180101_姓名.pdf
  • 物联网中间件_XXXXXX_20180101_姓名.pdf
  • 智能交通_XXXXXX_20180101_姓名.pdf
  • 智慧医疗_XXXXXX_20180101_姓名.pdf
  • 自言语言处理_XXXXXX_20180101_姓名.pdf
  • 图像视频处理_XXXXXX_20180101_姓名.pdf
  • 网络安全_XXXXXX_20180101_姓名.pdf

网站架构

网站使用node编写,也使用node运行,见runWeb.sh和package.json。node的http服务默认监听在3008端口,如果要修改可以修改config.json的express项下的内容;同时网站需要redis server作为数据支持,默认端口在6379上,也在config.json中配置。

运行

采用systemctl的service运行网站,这样就可以支持自动重启服务。

修改网页

网页的内容全部放在bricks文件夹内,页面按照一个个模块的放在每个子的目录内,由js组织在一起呈现。

上传公开文件的话在public/upload目录内,建议按照时间标记命名上传的文件方便迭代。在html上访问公开文件的链接格式为"/upload/xxx.txt"

Mongoose schema

mongoose scheme是一个在mongodb数据库中组织js对象的方式,可以轻松的实现任意对象的添加、查询、修改和删除。

  • 添加:具体操作就是创建这样的一个具有具体值的对象并调用它的save函数
  • 查询:调用schema文件的find(obj, selcs, handler)函数,其中obj限定了查询的结果应满足的条件,可以为空;selcs以字符串给出了要提取的属性;handler是处理返回值的函数,参数为(err, docs) [gulp]: http://gulpjs.com/ [brick.js]: https://github.com/brick-js/brick.js

LDAP

LDAP目录是一种有层次的树形结构,它查询速度快,写入性能差,适合做登录认证的业务。市面上的大部分产品都会对LDAP做支持。在ldap-server中可以编写server的add、search、bind等方法,处理相应的接口,具体参考ldapjs官方的文档。

ldap.js: http://ldapjs.org/

portainer官方关于LDAP的文档

About

The ics_website_new is refined version of the original one, fixed some errors and add documentations for easier deploy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •