10个基于java的cms网站内容管理系统(DoraCMS开发指南DoraCMS安装指南安装1.2安装)

优采云 发布时间: 2021-11-05 12:18

  10个基于java的cms网站内容管理系统(DoraCMS开发指南DoraCMS安装指南安装1.2安装)

  朵拉cms开发指南

  朵拉cms开发指南

  一、 朵拉cms 安装

  1.1 安装 nodejs

  1.2 安装 Mongodb。

  1.3 运行朵拉cms

  1.3.1 启动mongodb

  1.3.2 插入初始数据

  1.3.3 跑朵拉cms

  1.3.4 访问地址

  二、 多尔cms 开发

  2.1 配置文件

  2.2 关于路由

  2.3 关于模板

  2.4 实体类

  2.使用了5个插件

  2.6 关于编码

  三、总结

  四、常见问题

  一、朵拉cms安装

  这部分有详细的介绍,具体查看以下文档:

  Doracms安装教程(windows平台)

  Doracms 安装教程(Linux平台)

  二、Dorcms 开发

  2.1 配置文件

  Doracms的主要配置在settings.js(/onlinecms/models/db/settings.js)中设置:

  //    数据库配置

    COOKIE_SECRET: 'doramart.com',

    URL: 'mongodb://127.0.0.1:27017/doracms',

    DB: 'doracms',

    HOST: '127.0.0.1', // 数据库地址

    PORT: 27017, // 数据库端口号

    USERNAME: 'doracms', // 数据库用户名

    PASSWORD: '000000', // 数据库密码

//    站点基础信息配置

    SITETITLE : '前端开发*敏*感*词*', // 站点名称

    SITEDOMAIN : 'http://www.html-js.cn', // 站点域名

    SITEICP : '粤ICP备15038960号-2', // 站点备案号

    SYSTEMMAIL : 'doramart@qq.com', // 管理员个人邮箱

    UPDATEFOLDER : process.cwd()+'/public/upload', // 默认上传文件夹本地路径

    TEMPSFOLDER : process.cwd()+'/views/web/temp', // 默认模板文件夹本地路径

    DATAOPERATION : process.cwd()+'/models/db/bat', //数据库操作脚本目录

    DATABACKFORDER : 'C:/softbak/mongodbConfig/mongodata/', // 服务端数据库操作脚本目录

    CMSDISCRIPTION : '前端开发*敏*感*词*,分享前端知识,丰富前端技能。汇集国内专业的前端开发文档,为推动业内前端开发水平共同奋斗。html,js,css,nodejs,前端开发,jquery,web前端, web前端开发, 前端开发工程师',

    SITEKEYWORDS : '前端开发*敏*感*词*,前端*敏*感*词*,DoraCMS,内容管理系统, 前端开发, web前端, 前端开发工程师,前端资源, angularjs, 前端开发工具, nodejs ,boostrap',

    SITEBASICKEYWORDS : '前端开发*敏*感*词*,前端开发,前端*敏*感*词*,DoraCMS', // 基础关键词

  对以上静态参数进行了详细注释。如果设置了数据库账号密码,这里需要做相应的配置,需要在Dbopt.js中做相应的数据库连接设置。

  

  Settings.js中有四个参数需要注意:

  UPDATEFOLDER : process.cwd()+'/public/upload', // 默认上传文件夹本地路径

TEMPSFOLDER : process.cwd()+'/views/web/temp', // 默认模板文件夹本地路径

DATAOPERATION : process.cwd()+'/models/db/bat', //数据库操作脚本目录

  以上三个参数原则上不需要修改。UPDATEFOLDER 指定上传文件的目录,TEMPFOLDER 是指定的模板文件夹,DATAOPERATION 是执行数据备份的脚本目录文件夹。

  DATABACKFORDER : 'C:/softbak/xxxx/', // 服务端数据库操作脚本目录

  DATABACKFORDER 指定数据备份的本地路径。

  以下配置为后台模块的静态参数:

  SYSTEMMANAGE : new Array('sysTemManage','DoraCMS后台管理'),  // 后台模块(系统管理)

ADMINUSERLIST : new Array('sysTemManage_user','系统用户管理'),

ADMINGROUPLIST : new Array('sysTemManage_uGroup','系统用户组管理'),

ADSLIST : new Array('sysTemManage_ads','广告管理'),

FILESLIST : new Array('sysTemManage_files','文件管理'),

DATAMANAGE : new Array('sysTemManage_data','数据管理'), // 数据管理

BACKUPDATA : new Array('sysTemManage_data_1','数据备份'), // 数据备份

CONTENTMANAGE : new Array('contentManage','内容管理'), // 后台模块(内容管理)

CONTENTLIST : new Array('contentManage_content','文档管理'),

CONTENTCATEGORYS : new Array('contentManage_cateGory','文档类别管理'),

CONTENTTAGS : new Array('contentManage_tag','文档标签管理'), //标签管理

CONTENTTEMPS : new Array('contentManage_temp','文档模板管理'), //模板管理

MESSAGEMANAGE : new Array('contentManage_msg','留言管理'), // 留言管理

USERMANAGE : new Array('userManage','会员管理'), // 后台模块(会员管理)

REGUSERSLIST: new Array('userManage_user','注册用户管理'),

  修改后的参数对应后台模板文件adminTemp.ejs中的模块列表:

  

  也就是说,如果添加新的模块,则需要在配置文件(settings.js)和adminTemp.ejs中配置相应的cid。

  此属性是权限控制所必需的。另外,添加新模块后,需要在权限管理模块中添加新模块并配置相应的cid

  

  2.2 关于路由

  Doracms中的所有请求都是通过nodejs路由处理的,原理类似于java中的struts。

  路由文件位于 routes 文件夹中:

  

  admin.js,后台管理所有模块的路由

  Content.js 前端文档相关

  Index.js 主页相关(还包括文档列表和文档相亲日期)

  System.js 系统操作相关路由(如文件上传、邮件发送等)

  Users.js 用户中心相关请求请看这里

  Validat.js 后台权限控制(如果没有授予管理权限(session),直接过滤掉请求)

  2.3 关于模板

  Doracms 基于ejs模板引擎来表示前端页面。我选择 ejs 是因为它比玉更容易理解。属性js的童鞋也可以接受ejs的语法来显示数据。Doracms的模板文件都在views文件夹下,前台在web目录下,后台在manage目录下:

  

  分析:

  1、views index.ejs是首页的主要内容,sitemap.ejs是站点地图的主要内容,sitemap.ejs是展示给用户的,不需要手动更新。

  2、web是前台的所有模板文件,web根目录下的do404.ejs、do505.ejs、dosuccess.ejs是处理前台结果反馈的模板操作过程,这些一般都是需要用到的。

  3、Users 是一个用户相关的页面模板。

  5、公共模板位于公共文件夹中。

  

  6、Manage 收录后端的所有页面模板,adminTemp.ejs 是模板shell,里面收录了各种模块的列表和一些公共引用。

  

  7、public文件夹为public目录,主要存放静态文件,包括前台后台的静态js和css,以及Doracms使用的jquery插件。Public下的文件都是public,设置在app.js中。

  2.4 实体类

  在这里称它为“实体类”可能是错误的。在Java中,这部分确实叫做实体类,它代表了每个对象的属性。这些文件存储在模型文件夹中。

  

  每个对象都有详细的注释,开发者可以自行查看。

  2.使用了5个插件

  在开发过程中,很*敏*感*词*不是自己写的。使用了npm上一些优秀的插件。以下是其中的一些介绍。所有插件都在node_modules下

  1、Express nodejs框架,Dora的基础框架cms

  2、gm 图片缩略图,为上传的图片生成指定大小的缩略图

  3、时刻格式化工具,非常强大

  4、Nodemailer nodejs 邮件发送组件

  5、强大的文件上传组件

  7、Qr-image 用户自定义链接生成二维码图片组件,轻巧方便

  8、Archiver 文件夹压缩工具,将指定文件夹压缩成zip

  9、实体类中使用Shortid生成short id而不是mongodb long id

  10、Validator 用户服务器数据验证,提供多种验证数据的方法

  11、ueditor-nodejs集成了nodejs和百度的ueditor,这个组件感觉很好用

  12、Mongoose 用于nodejs连接mongodb,提供丰富的数据处理接口

  2.6 关于编码

  对于1、Doracms的编码,前台主要使用ejs模板和ejs语法来展示数据;后台主要使用ejs和angularjs来展示数据。不熟悉angularjs的童鞋,简单理解,后台展示数据很方便,但是不适合前台,因为angularjs不适合seo。

  2、Doracms是基于nodejs+express写的,所以前端基本是div+css+js,服务端主要是js。懂js的前端开发者很容易上手。

  3、朵拉cms 80%的代码都做了注释,介绍了界面的用途和详细的处理,方便查看。

  三、总结

  Doracms的开发时间比较短,功能也不是很丰富,不过麻雀虽然小而全,但基本功能都具备。由于Doracms是我自己独立开发的,由于技术有限,难免会有一些不好的处理,或者一些明显的bug(虽然我在不断改进),如果你发现问题,请不要'请告诉我,如果有问题,我会继续更新,这就是开源的目的。如果你对朵拉cms有更好的解决方案或者更好的想法,也可以通过我的博客联系我,让我们一起讨论,共同进步。

  四、常见问题

  具体问题参考文档:朵拉cms安装常见问题详解

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线