Kooboo CMS技术文档之三:切换数据存储方式
切换数据存储方式包括以下几种:
将文本内容存储在SqlServer、MySQL、MongoDB等数据库中
将站点配置信息存储在数据库中
将后台用户信息存储在数据库中
将会员信息存储在数据库中
将图片、视频等媒体资源存储在网站目录以外的地方
切换内容数据库
Kooboo CMS默认文本数据使用XML文件存储的方式,媒体资源使用文件夹存储的方式,在多数据情况下,我们建议开发人员在开发时使用默认的存储方式,等到部署时再整站点导入到生产环境。
切换文本内容(TextContent)的存储方式
Kooboo CMS默认将文本内容以XML的形式存储,这里以存储到SqlServer为例简要描述步骤:
- 导出已经创建好的站点。
- 从https://github.com/Tsingbo-Kooboo/KoobooMvc5/releases/latest下载“Content_Providers.zip”并解压,找到里面的SQLServer子目录。
- 将SQLServer目录中的所有文件(Kooboo.CMS.Content.Persistence.SQLServer.dll与SqlServer.config)拷贝到Kooboo CMS的Bin目录中。
- 修改相应的连接串配置文件(SqlServer.config)。
- 重新创建或导入站点。
其它几种数据存储(站点配置信息、后台用户信息、会员信息)的切换方式都类似,就不一一详谈。
切换媒体内容(MediaContent)的存储方式
Kooboo CMS默认将媒体资源存储在站点内容目录下(位于/Cms_Data/Contents/{RepositoryName}/Media下),同时Kooboo CMS也支持将媒体资源存储在Azure blob storage或者自建的文件系统中。存储在Azure blob storage的切换方式与文本内容的切换方式类似,就不重复描述。
以下简要说说自建文件系统的搭建方法:
- 从这里下载“FileServer_Web.zip”并解压。
- 在IIS中新建一个站点(以下称之为“资源站”)并指向上一步解压的目录。
- 修改资源站中web.config里面appSettings中的几个值:
AccountName:账号名,可以设置自己喜欢的用户名,该用户名与CMS中的用户名没有关系。
AccountKey:密码,可以设置自己喜欢的密码。
BaseUri:域名地址,媒体资源的url会与此有关,请确保该地址的准确性,也可放空。
- 从“Content_Providers.zip”解压的目录里面找到FileServerProvider子目录,并把里面的所有文件拷贝到Kooboo CMS的Bin目录中。
- 修改配置文件(FileServerProviderSettings.config)中的几个值:
AccountName:账号名,需要与“资源站”的web.config中的值一样。
AccountKey:密码,需要与“资源站”的web.config中的值一样。
Endpoint:域名地址,填写“资源站”所在的URL地址。
切换数据库常见的问题
数据丢失
切换为无结构的数据库(MongoDB、CouchBase)后,如果站点没有重新导入,站点运行不会出错,但是内容数据将会丢失。提示Invalid object name
切换为有结构数据库(SQLServer,SQLCe,MySQL)后,如果站点没有重新导入,在运行时会出现找不到数据表的错误。因为有结构数据库,需要重新导入站点来重建数据表和导入数据。
Kooboo CMS技术文档之三:切换数据存储方式的更多相关文章
- Kooboo CMS技术文档之一:Kooboo CMS技术背景
语言平台 依赖注入方案 存储模型 1. 语言平台 Kooboo CMS基于.NET Framework 4.x,.NET Framework 4.x的一些技术特性成为站点开发人员使用Kooboo CM ...
- Kooboo CMS技术文档之五:站点配置管理
站点关系 管理站点间的关系,站点可以有子站点,子站点继承父站点的部分配置数据,同时子站点还可以根据需要,本地化由父站点继承而来的数据.通过继承和本地化,可以让子站点在用最小的改动代价,来完成一个与父站 ...
- Kooboo CMS技术文档之四:Kooboo CMS的站点组成部分
Kooboo CMS本着功能独立分离的原则,将站点分为三部分组成:用户管理,站点管理和内容数据库管理.各个功能之间既可独立使用,也可以容易组成在一起形成一个完整的系统. 用户管理 管理整个系统内的用户 ...
- Kooboo CMS技术文档之二:Kooboo CMS的安装步骤
在IIS上安装Kooboo CMS Kooboo CMS安装之后 安装的常见问题 1. 在IIS上安装Kooboo CMS Kooboo CMS部署到正式环境相当简单,安装过程是一个普通MVC站点在I ...
- 利用POI工具读取word文档并将数据存储到sqlserver数据库中
今天实现了利用POI工具读取word文档,并将数据存储到sql数据库中,代码如下: package word; import java.io.File; import java.io.FileInpu ...
- postgresql使用文档之一 初始化数据存储区
17.2. 创建一个数据库集群(Database Cluster) 在你能做任何事情之前,你必须在磁盘上初始化一块存储空间.我们称这为一个数据库集群(database cluster). 一个Data ...
- Kafka 技术文档
Kafka 技术文档 目录 1 Kafka创建背景 2 Kafka简介 3 Kafka好处 3.1 解耦 3.2 冗余 3.3 扩展性 3.4 灵活性 & 峰值处理能力 3.5 可恢复性 ...
- 使用Jupyter Notebook编写技术文档
1.jupyter Notebook的组成 这里它的组件及其工程构成,帮助大家更好的用好jupyter Notebook 组件 Jupyter Notebook结合了三个组件: 笔记本Web应用程序: ...
- RabbitMq 技术文档
RabbitMq 技术文档 目录 1 AMQP简介 2 AMQP的实现 3 RabbitMQ简介 3.1 概念说明 3.2 消息队列的使用过程 3.3 RabbitMQ的特性 4 RabbitMQ使用 ...
随机推荐
- python3 threading初体验
python3中thread模块已被废弃,不能在使用thread模块,为了兼容性,python3将thread命名为_thread.python3中我们可以使用threading进行代替. threa ...
- Windows 7上执行Cake 报错原因是Powershell 版本问题
在Windows 7 SP1 电脑上执行Cake的的例子 http://cakebuild.net/docs/tutorials/getting-started ,运行./Build.ps1 报下面的 ...
- nginx+php的使用
原文来自:windows下配置nginx+php环境 按照他的步骤走,亲测可用! 但是这里他后面说的根目录可能有些人有点懵. 其实在设置的时候就设置了: 网站根目录就是www这个目录,如果没创建请自行 ...
- 前端学Markdown
前面的话 我个人理解,Markdown就是一个富文本编辑器语言,类似于sass对于css的功能,Markdown也可以叫做HTML预处理器,只不过它是一门轻量级的标记语言,可以更简单的实现HTML ...
- 前端学HTTP之安全HTTP
前面的话 HTTP的主要不足包括通信使用明文(不加密),内容可能会被窃听:不验证通信方的身份,有可能遭遇伪装:无法证明报文的完整性,有可能被篡改 基本认证和摘要认证能够使得用户识别后较安全的访问服务器 ...
- 敏捷转型历程 - Sprint4 回顾会
我: Tech Leader 团队:团队成员分布在两个城市,我所在的城市包括我有4个成员,另外一个城市包括SM有7个成员.另外由于我们的BA离职了,我暂代IT 的PO 职位.PM和我在一个城市,但他不 ...
- 解决mysql插入数据时出现Incorrect string value: '\xF0\x9F...' for column 'name' at row 1的异常
这个问题,原因是UTF-8编码有可能是两个.三个.四个字节.Emoji表情或者某些特殊字符是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去. 我的解决方案是这样的 1.在mysql ...
- NV显卡Ubuntu14.04更新软件导致登录死循环,不过可以进入tty模式
注意:此方法只适用于nv显卡的电脑! 在网上寻找各种方法无果的情况下,选择重新安装显卡驱动,成功登录进入图形界面. 一.首先需要在另外一台电脑(windows系统也可以)上下载NVIDIA相应显卡驱动 ...
- 第14章 Linux启动管理(3)_系统修复模式
3. 系统修复模式 3.1 单用户模式 (1)在grub界面中选择第2项,并按"e键"进入编辑.并在"-quiet"后面加入" 1",即&q ...
- 智能头盔 "Livall携全球首款智能骑行头盔亮相CES"
LIVALL是全球首创集音乐.通讯.智能灯光为一体的智能骑行头盔的研发者,日前Livall携旗下智能骑行头盔BH 100和BH 60参展CES 2017,这也是目前世全球首款智能骑行头盔类产品,同时亮 ...