Drupal 初次使用感受,后续补充。

很久以前就接触过,下载下来安装,结果界面太丑,太难看,直接删除。

最近重新想到开源CMS,好奇看到那么多人推崇drupal,也便下载来重新研究了下。

刚接触了下,不过整体使用感觉很差,尤其几个地方:

1)本地安装都非常缓慢,途中还提示执行超时。

可想而知,如果放到网上去,会怎么样的卡资源?空间提供者非封了网站不可。

2)数据库表没有前缀。

这多都多少年代了,数据库表还是直接一次性安装连前缀都不给了。对比中国的那些CMS 开源产品真的是太落伍了。

3)数据库设计非常耗费资料。

看了一些网上对drupal的博文,描述得神乎其神,尤其是提到drupal是一款CMF,内容管理框架(一种万能的感觉),也就是可以用drupal来开发任何想要的程序。

万能的?看了数据库结构,确实可以开发任何东西,因为他一个文章都分了N个表来存储,但是问题是,这样的运行对服务器配置要求相当高,查询一篇文章都得查询多个表。

想象一下,像国产dedecms这类都是MyISAM,直接2个表查询。他这样的设计模式,drupal这样的设计模式非常耗费资源。

4)不支持生成静态

国外的那些CMS,压根就不支持静态。而是一种插件化的思路。他们的思路都是一种拓展方式。但是安装的插件/拓展越多,就会越卡。这对于中国的使用者来说,太奢侈。

就好比国外的软件现在基本上都是在线安装,几百MB的都在线安装。chrome也玩在线安装,结果很多人根本安装不了,问题在于大部分中国人的网速根本1M都没有,30K~50K就不错了。国情~ 国外的人基本上都是用VPS,国内的大部分都是虚拟主机,几百个网站同一个服务器上。如果不支持生成静态,每次都直接查询数据库,只会非常卡,且无法承受多少访问量。

5)官网几乎打不开,下载更是很久

drupal的官网都很难打开,我是使用的goagent代理才打开的。下载drupal总是失败,后来用迅雷才下载成功,估计是从迅雷分享资源里面的,而不是从drupal直接地址下载来

(后续补充 default7#zbphp.com)

Drupal 初次使用感受,后续补充。

时间: 2024-08-25 04:02:08

Drupal 初次使用感受,后续补充。的相关文章

Git的一些东西(后续补充)

查看帮助,要装git-doc,另外推荐git的图形客户端gitg,比gitk好看多了,用apt-get install就可 HEAD是当前工作版本的指针 --global保存的是当前用户的配置,配置文件保存在~/.gitconfig --system是系统中所有用户,配置文件一般在/etc/gitconfig 什么都不加就是当前目录下项目的配置文件,在项目的.git文件夹中 git config --list 可以查看所有配置信息,有重名的因为有不同的配置文件,实际会采用最后一个 基本设置 gi

Java中一些零碎知识点集合(后续补充)

-----------------------------------关于封装------------------------------------- 封装原则 将不需要对外提供的内容隐藏起来. 把属性隐藏,提供公共方法对其进行访问.之所以对某些信息进行封装然后提供公共接口让外人进行访问,是因为可以对访问操作方式进行控制,来规范用户输入的数据,限制不合理信息,提高代码的健壮性. -----------------------------------构造函数方法-----------------

spring循环依赖问题分析——待后续补充

新搞了一个单点登录的项目,用的cas,要把源码的cas-webapp改造成适合我们业务场景的项目,于是新加了一些spring的配置文件. 但是在项目启动时报错了,错误日志如下: 一月 08, 2016 11:01:34 下午 org.apache.catalina.core.StandardContext filterStart 严重: Exception starting filter springSecurityFilterChain org.springframework.beans.fa

cocos2dx Scene 生命周期(replaceScene,popScene后续补充)

cocos2dx 在多场景切换中,生命周期打印的效果如下: 从 MyScene 场景进入,切换到 HelloWorld 场景,再推出 HelloWorld 场景,流程图(见附件,,,,不知道怎么上传图片,不能粘贴图,郁闷...) 打印 log 如下, MyScene 代码: MyScene::MyScene() { CCLog("wangss------------->MyScene"); } MyScene::~MyScene() { CCLog("wangss---

有关IDEA的Settings常用设置(后续补充....)

1.字体设置  Editor-->Font 2.文档注释设置 Editor-->File and Code Templates-->Includes-->File Header /** @author songke @company xxx @create ${YEAR}-${MONTH}-${DAY} ${TIME} */ 效果如下: 原文地址:https://www.cnblogs.com/songxiaoke/p/12165867.html

Python 爬取 北京市政府首都之窗信件列表-[后续补充]

日期:2020.01.23 博客期:131 星期四 如果想要看到前面的铺垫,请看第130期博客! [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 我试着改写了一下爬虫脚本,试着运行了一下,第一次卡在了第27页,因为第27页有那个“投诉”类型是我没有料到的!出于对这个问题的解决,我重新写了代码,新的类和上一个总体类的区别有以下几点: 1.因为要使用js调取下一页的数据,所以就去网站上下载了FireFox的驱动 安装参考博客:https://www.cnblogs.com

Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用(后续)

在[Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用]里面提到了Microsoft 身份认证,其实这也是一大块需要注意的地方,特作为后续补充这些知识点.上章是使用了Microsoft Authentication Library (MSAL)类库做认证,其实最后使用的是Azure AD V2.0 的OAuth2.0认证,而且支持所有用户身份认证: 个人用户(@live.com.@outlook.com.@hotmail.com) 企业(工作或学校)用户(@xxx.onmicr

JavaScript从入门到放弃之补充篇

上回说到,基础之篇,看久必新,新久必看. 这回我们来说说除了基础篇之外的一些花里胡哨的东西. 数组 以字面量方式创建数组 //字面量方式创建 var colors = ['red','white','black'] console.log(colors) 输出结果如下: 使用构造函数创建 // 使用构造函数创建数组 var heroes = new Array(); heroes[0] = 'Marvelous'; heroes[1] = 'Riven'; heroes[2] = 'Lee Si

linux驱动面试题整理

资料来自网上,简单整理,答案后续补充...... 1.字符型驱动设备你是怎么创建设备文件的,就是/dev/下面的设备文件,供上层应用程序打开使用的文件? 答:mknod命令结合设备的主设备号和次设备号,可创建一个设备文件. 评:这只是其中一种方式,也叫手动创建设备文件.还有UDEV/MDEV自动创建设备文件的方式,UDEV/MDEV是运行在用户态的程序,可以动态管理设备文件,包括创建和删除设备文件,运行在用户态意味着系统要运行之后.那么在系统启动期间还有devfs创建了设备文件.一共有三种方式可