THE MOMENT, THE MEMENTO

2008年02月20日

升级MY动力文章系统到PowerEasy_CMS2006或者PowerEasy_SiteWeaver

标签:, — 吴德文 @ 18:17

前面说到我去年开始接管一个ASP的网站,让我接管最主要的目的就是让我重新设计页面。

当我拿到这个网站,登录管理平台后才发现这个网站用的是动易的系统,但具体是哪个版本就不清楚了,显然不是最新版也不是2006版。问了之前的管理员,也得不到答复,曰忘记了。

设计或者应用一个新的网站系统很容易,可是数据才是网站最核心的东西,如何把原先网站的数据给迁移过来,过年前就一直困扰着我。在网上有搜索过,答案是可以升级,但是要一个版本一个版本的升。我的神呀,一个个版本的升那会要多少个步骤呀,而且还要每个步骤都很顺利,最重要的是现在这个是哪个版本还不晓得呢。

昨天在PowerEasy.net上面的下载页面里发现了一些升级程序,接着又发现了动力文章系统从1.0版本以来的主要版本:1.0、2.0、3.0、3.51、4.03、2005、2006、SiteWeaver(这个目前的开源版本,也是最新版)。其中3.0版到3.51版要做数据库升级,3.51版到4.03版要做数据库升级,4.03版到2005版要做数据库升级,2005版到2006版要做数据库升级,2006版到SiteWeaver版要做数据库升级。这样也就是说可能要执行5步的升级,等等,2005版可以直接升级到SiteWeaver版,那么又可以少一步了。

幸好能找全所有的版本,对比了一下目录结构和数据库结构以后,基本上可以确定现有的系统是3.51版本或者是这个系列的。现在就是看看怎么一层层的给它往上升了。想到这里我心里又忍不住要把过去的管理员责骂一顿,太懒了,怎么一次升级都没有做过呢。。。。。

想来,像我这样从这么低版本升级上来的估计很少数了,就把这个过程记录下来,作为纪念吧。

以前没有做过动易系统的升级工作,所以只能摸着石头过河。幸好,主要的升级方法基本都类似。先说前面的方法,从版本A升级到版本B需要在B的ASP代码环境下进行,所以要升级到新版本,就得先安装新版本的ASP代码。如果你有测试网站,那就好办了,升级完一个把代码清除就好了;如果没有测试网站而且希望升级不会对原网站有很大影响的话,那就只好建一个子目录如PE4、PE5、PE6,把新版的ASP代码放在里面,然后进行升级了。

下面说一下基本的升级步骤:

  1. 将新版ASP代码上传到测试环境(测试网站或者目录)中,要确保新版的数据库是新的
  2. 修改conn.asp中数据库文件的地址后,再上传
  3. 将旧版本的数据库上传到测试环境的根目录下
  4. 将升级程序上传到测试环境目录下
  5. 在浏览器上访问升级程序,记录下第一页显示的操作步骤,然后根据它的提示进行后续的操作
  6. 如果自己有测试网站,可以安装相应新版本的组件,然后登录测试。(根据上一步的提示可能会需要执行install.asp)
  7. 为了安全起见,将升级好的数据库下载下来,备份在一个地方(最好是压缩包,这样可以避免意外打开的修改)
  8. 将测试环境里的ASP代码清除

就这样每升级一个版本就重复操作一次。

完全升级完以后,现在发现几个问题。一个是原先的首页是自己修改index.asp(设计+代码函数)出来的,现在2006版的首页是从模板里生成出来的,所以首页就没法用了,要重新设计。其次是原先3.51版的动力文章系统没有频道的概念,所有的文章包括栏目都是在一起的,到了2006版以后,要根据功能划分出不同频道,同时还要把相应的文章移动到相应的频道去——事实上只有频道确定了,首页才好设计,所以栏目划分很重要。还有就是原先3.51版的动力文章系统里管理员和用户是独立的,即管理员可以没有前台的用户名。而2006版的系统里,除了超级管理员,普通管理员都还必须有一个前台用户名,因此还要给各个普通管理员建立前台用户。

这次升级测试只能想到这么多问题,也许要真正进行升级以后才能发现更多问题。


Related:

FTP传送扩展名为ASP的数据库要注意传输类型

标签:, , , — 吴德文 @ 17:10

去年开始接管一个单位的网站,是用ASP制作的,其数据库为了防止别人下载命名成了abc.asp的形式。

管理网站首要的任务就是备份、恢复了,尤其是数据库。通常都是用FTP下载下来, 在本地进行备份。

FTP一直都用图形化工具FileZilla,文件的传输类型(文本或者是二进制)默认都已经设定好了,所以也就基本上都忘记这回事了。

刚接管这个ASP网站的时候,用FTP下载下数据库,然后再传到一个新建的网站上做修改测试。可新网站提示说数据库格式无法识别。开始我还想是不是下载下来的数据库被我的Access 2003打开修改以后被保存成2003格式,所以机器上的旧ASP程序认不出来。此后,就一直小小心心不敢在本地直接修改数据库,只能通过管理界面提供的接口。有一次为了删除所有的垃圾留言,还特地修改asp源代码把删除一条的按钮改成删除全部。

过了一个年以后,就把这个约束给忘了。这次在无法登录的情况下想要修改数据库复制一个管理员出来,最后在回传数据库文件的时候又出问题了。理所当然的,我又以为是数据库格式问题。可是后来的发现证明的我想法是错的。一个发现是Access(不论是2003或者是2007)在打开数据库的时候会显示此数据库是什么格式,是2000或者2003,即便修改过以后,格式不会改变;另一个发现是我将未修改过的数据库回传会网站的时候也遇到这个问题。这就说明不是Access格式的问题了,而纯粹是FTP传输过程中改变文件内容了。当想到FTP传输过程的问题是,我突然想到自己传的是一个ASP文件,而FTP工具肯定将其作为文本文来传输了,文件内容自然就被改变了。

想到这点,赶紧在设置里将文本类型的ASP扩展名删除,再进行回传。这下就没有问题了。嗯,这下终于松了口气 ,以后可以随便修改数据库文件了。只是不知道以后再过多久我会不会又忘记这个设置的问题,而且那个时候会不会记得来看这篇文章。但愿是不要忘记的好。


Related:

Valid XHTML 1.1 Valid CSS! Creative Commons License WordPress 所驱动