Drupal7使用日记

我在建一个blog+CMS+wiki的站点群。想建立一个完整的cosmology的学习体系。
Blog用了wordpress,CMS选用drupal7,wiki使用mediawiki。
[现在就差三者之间共用用户数据了,都怪我用来drupal7,现在的解决办法都是D6和D6以前版本的,现在有几个办法,就是我不懂php,所以不知道如何实现……]
测试用:
D7站点:http://multiverse.lamost.org/web
目前不支持直接注册,因为启用的school admin模块,所以只能通过注册成为student或者staff来注册……囧,我很快就会把这个去掉了,现在只是测试一下……
————–Drupal7———————-

Drupal是扩展性能极好的CMS框架,装好后的D7很简单,只有很少的几个功能,但是这正是我想要的:简洁的框架,强大的扩展能力,高度的稳定性。
0.阅读官方的Documentation。drupal.org,很丰富很强大的Documentation. 需要提及的是,Drupal里面有一个比较重要的概念是Node,node就是可以管理呈现的内容,同wp中的post类似,但是比post内容要丰富的 多,node包括article、book、page等等等等,还可以自己创建自己需要的node的形式。
1.安装:
system requirements: http://drupal.org/requirements
如果是D6,可以事先将中文翻译下载好放到相应的目录下再安装。D7无所谓,因为没有多少翻译……
上传,安装,无话可说。

2.初步配置

……

3.Modules
[Drupal要求用户所做的更改都放在sites目录下,所以下面上传modules、library和themes等等,都样防止sites相应的目录下。]
模块依据个人需求自行安装,两种方式:给出网址或从本地上传,注意D7所提示的压缩文档的格式。模块去drupal.org自行搜索下载,注意版本需求。
一般必装的模块有:
CCK:用来方便的创建fields,不需要懂编程也可以做出复杂的content type。
views:用来制造复杂漂亮的展示方式。比如用来制造复杂格式和内容的page。
panel:用来创建更改panels。
上面的三个模块,合力之下可以创建出复杂漂亮的站点,没有做不到只有想不到,当然,前提是水平足够。D7最容易做出来的是blog类型的网站,想做一个门户站,有了上面的三剑客,也不是已经麻烦事。

以后有时间详细谢谢一些模块的用途性能和稳定性。事实上我只是使用了很少的几个。
CKEditor:可以方便富文本编辑。D7默认的文本编辑都是plain text,丰富的文本内容需要借助代码实现,打开php filter之后甚至可以借助php代码实现。但是这样对于其他用户来说,尤其是对于不太懂代码的用户来说,用起来太不方便。CKEditor安装配置成功之后,可以在文本编辑框上部或下部呈现文本编辑按钮,比如加粗,斜体,删除线等等。
如果想要使用CKEditor的图像和flash上传功能,还需要借助于file browser类模块,这类模块比较著名的是IMCE和CKFinder。安装启用之后,到CKEditor的设置界面,编辑想要改变的profile下面去更改files browser的设置。

———-Added 2011-02-13———–
Drupal7中使用MathJax:
在我搭建mediawiki的过程中,发现mediawiki有一个叫做MathJax的extension,可以用来显示数学公式。装上之后,发现先当好用。首先,MathJax不会拖慢页面载入的速度,页面首先载入非公式部分,公式部分在MathJax渲染的过程中,是呈现为Latex或者MathML代码。其次,公式上可以点击右键,有很多功能,还可用自定义。
然后我就想装到D7上去。可是去module一搜,发现MathJax项目已经等效与Abandon了。于是我就去MathJax的官网,发现它给出了在很多平台上使用的教程。
按照这种方式加载的MathJax是使用的默认的配置文件,即/MathJax/config/MathJax.js。因为我有多站点,所以我就copy一份出来,改名为MathJax-XXX.js,然后在page.tpl.php里面采用下面的语言来加载:

< script type="text/javascript" src="your-path-to-MathJax/MathJax.js">
MathJax.Hub.Config({ config: "MathJax-XXX.js" });
< /script >

(上面的脚本有些地方不应过有空格,您懂的。这里不知道为什么,即使加了code,script也是不能显示出来,只能加空格隔开script和>了。)其中,your-path-to-MathJax可以填写相对路径,这样加载更快。
更多设置请看:http://www.mathjax.org/resources/docs/?/configuration.html

然后我依照官网的instructions更改了/MathJax/config/MathJax-XXX.js的设置。请看官网的instructions:
http://www.mathjax.org/resources/docs/?/tex.html

如果有更多的问题可以去 官网仔细阅读documentation。
官网:http://www.mathjax.org/resources/docs/?/tex.html

———————————————–

4.主题
只是最烦人的一部分了。[提醒,如果想要在自带的默认主题上做更改,首先将默认主题copy一份到sites的themes目录下,这样使得站点框架更清楚,便于维护]
与wordpress不同,D7的主题不够多,不够炫。D7的主题只是提供了一个主题的框架,相同的主题制作出来的网站可能看起来完全不同。
主题安装,与模块安装大同小异。
主题的更改与制作,可以自旋google参考。

—————–小感想和小计划——————————
目前我感觉到的是,D7在管理功能上确实强大很多,比如说用户管理,非常强大,但是上手比较慢。相比而言,wordpress虽然管理功能不是那么强大,但是上手很快。所以为了稳定保险起见,我还是使用wordpress作为我的blog站,D7只是拿来作为写一下逻辑性层次性强的文章。虽然Drupal7也有wiki模块,但是为了通用性和可移植性,选用mediawiki作为词条管理站点,为了加强站点之间互动,采用interwiki来实现D7引用自己的wiki小站。

P.S.

我测试过的modules列表:


Aggregator
Block
Blog
Book
Color
Comment
Contact
Content translation
Contextual links
Dashboard
Database logging
Field
Field SQL storage
Field UI
File
Filter
Forum
Help
Image
List
Locale
Menu
Node
Number
OpenID
Options
Overlay
Path
PHP filter
Poll
RDF
Search
Shortcut
Statistics
Syslog
System
Taxonomy
Testing
Text
Toolbar
Tracker
Trigger
Update manager
User
-----
Biblio
Biblio - BibTex
Biblio - CiteProc
Biblio - Crossref (DOI Lookup)
Biblio - EndNote Tagged
Biblio - EndNote XML
Biblio - MARC
Biblio - PubMed
Biblio - RIS
Biblio - RTF
-----
CCK
Content Migrate
-----
Bulk Export
Chaos tools
Chaos Tools (CTools) AJAX Example
Chaos Tools (CTools) Plugin Example
Custom content panes
Custom rulesets
Page manager
Stylizer
Views content panes
-----
BookMadeSimple
-----
Taxonews
-----
Features
-----
Interwiki
-----
LDAP Authentication
LDAP Authorization
LDAP Authorization - Drupal Roles
LDAP Help
LDAP Servers
-----
IMCE
-----
MediaFront
-----
Open Standards Media Player
-----
Mediawiki auth bridge
-----
Advanced Forum
Advanced help
Advanced help example
Bakery
Book Block
cas
CAS Server
Colorbox
Custom Page
Custom Page Admin UI
Featured Content
File viewer
Google Friend Connect
jsMath
Libraries
MultiBlock
Node Convert
Pathauto
Superfish
-----
Mini panels
Panel nodes
Panels
Panels In-Place Editor
-----
Attendance
Class Lists
Classes and Lessons
Room Booking
School Administration
-----
CAPTCHA
Image CAPTCHA
-----
Google Analytics
-----
Taxonomy Menu
-----
CKEditor
Enforce revlog
Gallery Formatter
jCarousel
Menu UX
-----
Booktree
Gallery Summary
-----
Views
Views exporter
Views Galleriffic
Views Slideshow
Views Slideshow: Cycle
Views UI
-----