AKCMS官方网站 » 关于AKCMS » 更新记录
3.0.3(2010.7.4)
修正了登录页面的注入漏洞,当后台路径暴露出去时会造成危害
修正了akcms_category.php、akcms_captcha两个接口的暴露后台路径的漏洞,当配置文件开启调试模式时会造成危害
修正了扩展字段中的特殊字符被两次转义的BUG
后台直接通过URL的删除操作全部加上校验码,防止社会工程学攻击
改进
当config.inc.php中指定$slowquery时,如果$iflog被设置为1,则只将执行时间超过$slowquery的查询记入日志
上传文件时检查文件名更加严格,xxx.php.123这种也禁止上传
水印文件也移到configs目录下
3.0.2(2010.7.1)
修正了评论、评分、投递三个互动接口,并增加了相关的在线文档
修正了在非IE内核浏览器下不能管理扩展字段的兼容性问题
修正了所属分类不存在内容时,更新文件名报错的BUG
修正了“排序值”文字显示不正确的BUG
删除了PHP5.3不再支持的函数相关代码
删除了页面管理中的“首页”
改进
getcategories当参数childcategory提供时,通过num="1"可获取最上层分类
3.0.1(2010.6.26)
3.0发布过于仓促,问题不少,此版本主要解决BUG,引入少量新功能
修复了不能修改密码的BUG
修复了批量生成静态页功能的BUG
修复了不能插入图片的BUG
修复了验证码无法显示的BUG
修复了标题样式无法编辑的BUG
修正了文章列表无法分页的BUG
修正了更新文件名不更新栏目文件名的BUG
修正了新增文件不更新文件名表的BUG
修正了部分字段别名不生效的BUG
默认模块ID原来是0,但是因为MySQL自身的问题导致数据导出导入会导致ID错乱,所以默认模块ID改为-1,因3.0版本使用者较少,因此不制作升级程序,由用户自行在后台执行SQL语句:UPDATE ak_modules SET id=-1 where id=0;然后更新缓存
改进
管理文章列表增加了真实URL,相当于2.x早期版本的真实地址预览
由原来用户可自定义后台的功能导航模板扩展到可自定义任何模板,只需在configs/templates/中放置同名文件即可
getitems标签增加模板中可通过[author_encode]调用经过urlencode过的作者信息
定制安装包,如果存在/install/custom.install.php,则跳转过去
getindexs标签增加firstpage参数,可以替换掉类似index-1.html这样的重复的首页
3.0(2010.4.1创建,原定为2.8,2010.4.6修改为3.0,2010.6.11发布)
此版本与2.x相比变化较大
====目录结构变化====
新增了configs目录,用于存放配置文件
语言包目录language由akcms根目录移到configs目录下
用于存放模板缓存的templates_c目录转移到cache/templates目录下
扩展字段由绑定到栏目改为绑定到模块,然后再通过模块与栏目绑定
安装锁定文件由include/install.lock改为configs/install.lock
====数据结构变化====
删除了ak_crons表
ak_item_exts表的ID字段取消自增属性
ak_modules表的ID字段取消无符号属性
放弃将ak_items表保持为定长表的努力,将char类型全部修改为varchar类型
ak_categories表删除了itemextfields字段
ak_categories表增加了value字段,类型是text,用于保存缓存的计算结果
增强了定制后台的功能:
1 可以通过增加configs/templates/admincp_menu.htm来更灵活的改变左侧菜单,取消了通过menu.lst增加菜单的功能
2 可以通过增加configs/customer.css来改变后台样式
3 增强了模块功能,还允许用户自定义文本框等表单对象的尺寸和显示顺序;模块功能完整支持了内容的全部字段(包括:2.7中不支持的附件等属性);支持为摘要字段和自定义启用所见即所得的富文本编辑器
增加getattachments模板函数,可以方便调用附件数据
附件增加了原文件名、排序值、栏目、缩略图等多个属性
附件大小的单位由B改为KB
模板函数getindexs可以调用get传过来的值而无需人工传递参数,可用于搜索结果分页等
语言包由PHP可执行文件方式转变为文本格式存储,轻微提高后台页面的打开速度
新增全局配置尽可能使用配置文件存储而非数据库,这样做的好处是方便升级
新增了默认模块,未指定模块的栏目都使用默认模块
新增了后台的资源消耗信息,除了数据库查询次数,新增了内存占用信息
针对部分站点栏目超过1000导致速度缓慢,内存占用大的问题进行了优化,测试站点books-list.com有2000分类50万数据,在以限制内存著称的主机托管商Dreamhost的服务器上运行稳定
应用配置文件中的$ifdebug变量,当$ifdebug不为空的时候开启调试模式,会把报错输出出来,当程序出错页面空白不知道是什么错的时候,应该把$ifdebug设置为1,可以看到报错,平时设为0
当$ifdebug=1时,getitems等模板标签后会在代码中以注释输出执行时间,方便调试。不设置$ifdebug也可以在具体某个模板标签中加入elapse=1的属性,也可以有同样效果
当$ifdebug=1时,后台页面下方可以点击查看前20条SQL语句的详情
应用配置文件中的$iflog变量,当$iflog不为空时会记录系统运行情况到一个log日志中
修正了一个用户体验的问题:原来创建新文章后自动生成htm文件当默认模板不存在时会报错;修改为当模板不存在不自动生成htm文件。
修正了后台使用英语时,菜单和界面等多处换行等样式问题
修正了修改附件个数会冲掉已经浏览的附件的问题,改为手动增加附件框
修正了使用GBK编码时文章中含有“玕”等特殊编码繁体字时操作失败的问题
修改了预览方式,由原来的打开静态页面预览改为打开动态页面预览
修正了getitems标签无法获取文章正文的BUG
修改了后台文本编辑器的字体样式与富文本编辑器统一
修改了插入的支持信息代码,由居中的div改为无样式的span,方便用户自行设置样式
取消了自带的数据库备份还原功能,将作为一个独立的产品发布
取消了自带的采集功能,采集功能作为一个独立的产品发布,以插件的形式运行
取消了定时重新生成页面功能,未来将提供接口,由服务器系统定时调用
取消了静态页不能生成在akcms目录、附件目录等特殊目录的限制,改由用户自行决定
取消了数据库名必须是英文和数字的规定,由用户自行决定
取消了静态页扩展名不能是php的限制(为安全考虑仅对admin用户)
取消了2.7新增加的benchmark功能
混淆了一个负责显示的函数render.inc.php
发布时压缩了模板中的空格和换行以减小文件大小,需要可编辑版本可以从SVN获取
2.7正式版(2010-04-01)
getitems函数增加了三个参数:year、month、day,可以选取某时间段的文章,比如:<{getitems year="2009" month="10">只选取2009年10月的文章,可以用于博客等。
getitems函数增加了一个参数:head,可以截取正文的前N个字,用[texthead]获取,比如:head="20" template="#[texthead]#"则显示为“#一二三四五六七八九十#”,一个汉字两个字节
新增在栏目首页和栏目分页可以实用$subcategories数组遍历下级栏目
新增可以通过ifhassubcategories函数知道某栏目是否存在下级栏目
后台富文本编辑器Ctrl+回车可以快速保存(只支持IE内核浏览器)
可以通过配置文件中的$pconnect设置是否使用数据库的持久连接,默认如果服务器支持持久连接就使用,可以通过$pconnect = 0;禁止持久连接
增加benchmark功能,测试当前服务器的性能并给出一个评分
针对部分网站栏目超多(数量级:千)导致系统缓慢的情况优化相关程序,大幅提高速度
当模块字段有默认值,而且是下拉菜单指定下拉项的值时,模块内容管理的列表页不显示默认值,而显示其对应的下拉项文字
取消文件名、目录名不得为纯数字的限制,对于栏目数字目录与栏目以ID为默认目录导致的冲突,由用户自行约束避免
取消了栏目别名不许重复的限制,由用户自行约束
取消了必填字段的“必填”两个字的提示,只用样式提示
取消了模板分类功能
修正了栏目URL多一个/的BUG
修正了栏目URL最多取2级的BUG,可以取出无限深度的栏目URL
修正了新增栏目无法绑定字段的BUG
修正了UTF-8编码下后台出现乱码,而且模块功能不可用的BUG
修正了取文章的时候能把页面也取出来的BUG
修正了模块功能无法编辑排序值的BUG
修正了在模块中搜索跳到文章列表的BUG
修正了查看模块文章明明栏目存在缺提示栏目已删除的BUG
修哼了直接输入后台地址:*********/admincp.php,提示找不到该网页的BUG
删除数百行冗余代码,涉及后台栏目管理等功能
删除了老版本中邮件报告功能的残留代码
删除了老版本中论坛设置、博客设置的残留代码
删除了默认水印文件,以免用户升级时不小心覆盖了自定义的水印
模板选择的下拉菜单中按照模板文件名排序方便查找(原来是乱排的)
Powered by AKCMS的链接改为只加在AKCMS上
修改了缓存的存储格式,由原来的PHP型缓存改为序列化后存储的文本缓存,提高缓存加载速度,也为日后扩展其他高效key-value缓存提供条件
2.7beta(2010-02-04)
增加了模块功能,大幅提高后台维护效率,让维护人员能够更快的上手。(详情:http://www.akcms.com/bbs/viewthread.php?tid=490)
增加了载入自定义菜单的功能,用户不需要修改AKCMS代码就可以在后台的左侧菜单中增加项目。(详情:http://www.akcms.com/bbs/viewthread.php?tid=494)
增加了动态PHP功能,二次开发者想让自己的程序运行,不需要修改AKCMS原有代码,只要按照规则把程序放在指定目录即可。(详情:http://www.akcms.com/bbs/viewthread.php?tid=493)
支持无限级栏目,此前akcms最后只支持到2级栏目
修正了20100124安全补丁涉及的漏洞
修正了使用SQLite数据库时采集不能正常入库、页面访问次数不能正常统计的BUG(感谢 王云涛 的反馈)
修正了在Opera浏览器下下拉菜单式扩展字段不能正常显示为设置的值(感谢 寒大山 的反馈)
修正了当服务器禁用mysql_pconnect函数提示连接数据库失败的兼容性问题(感谢 0557、lee 的反馈)
修正了新录入文章的最后更新时间字段,由0变成当前的时间
修正了评论接口评论发表后评论数不能正确更新的BUG
修正了评论接口一个不必要的调用语言包而产生的警告
后台左侧菜单宽度增加5像素
当数据目录不为空的时候为防止重复备份给出提示
2.6.2(2009-9-30)
从本版本起,每个新版本发布前都要经过英文操作系统UBUNTU+英文浏览器Firefox的测试 (没那么些功夫)
针对SQLite数据库启用了事务,大幅提高写操作速度,感受最明显的就是大量写数据的操作,如:在开发机上安装速度提升10倍以上,导入数据速度提升300倍以上,最常用的新建文章等操作的速度也有提升不过感觉不明显。至此AKCMS不管启用MySQL数据库还是SQLite数据库速度不相上下,都非常快。
getitems标签增加了nopicture属性,当取不到文章的缩略图时,用nopicture指定的图片地址代替
getitems标签增加了where属性,高级用户可以使用这个功能直接编写SQL语句以实现复杂功能,使程序的调用更加灵活
增强了对纯动态访问的支持,并提供了一个企业模板2.0的实例(单独发布)
增加了采集器的网页源码预览功能,可以看到服务器采集到的原始的网页
增强了对PNG图片水印的支持,可以获得比GIF水印更好地抗锯齿和半透明效果(感谢 1088 的反馈)
去掉了安装时导入默认模板的功能
去掉了数据备份时候雷锋模式,从此版本开始,只能备份AKCMS的数据
修正了编辑包含图片的页面时页面会乱掉的BUG(感谢 老村长 的反馈)
修正了当采集功能被禁用时仍可以编辑采集设置造成站长困扰的用户体验问题(感谢 zhlgame 的反馈)
修正了在SQLite某个版本下空数据会乱掉的BUG(感谢 老村长 的反馈)
修正了AKCMS在英文浏览器下富文本编辑器报错的BUG(感谢 老村长 的反馈)
修正了采集器页面,不再把新增的大表单展现在采集器页面中,需要新增时点击按钮在新页面打开,使用方便了许多(感谢 books 的反馈)
修正了当开启动态访问时如果栏目不存在显示一个error返回200而是返回一个404错误
修正了2.6在MySQL3.x下无法安装的兼容性问题(感谢 离言 的反馈并提供调试环境)
修正了管理文章中搜索条件不能保持的用户体验问题(感谢 Ajian 的反馈)
修正了管理文章时编辑完第N页的文章后又跳转回管理文章的第一页的用户体验问题,改为从第几页编辑的等编辑完毕就跳转回第几页(感谢 我妈 的反馈)
2.6.1(2009-9-7)
从本版本起MySQL与SQLite数据库的数据可以通过备份数据互相转换,备份出来的不是各自的SQL语句而是一种通用的中间格式
增强了采集功能:可以跨字符集采集,比如:GBK的站采集UTF-8的内容,不会有乱码,此功能无需设置自动判断(依赖iconv,如果服务器没有此组件无法自动转码,不影响正常采集)
增加了一键设置上一栏目的按钮,当栏目很多时方便连续多次录入文章设置栏目
完善了投递接口
伪静态访问时,如果内容不存在,返回404错误
增加了删除自定义字段功能(之前只能添加不能删除)
增加了文章正文页安全调用关键词的标签
增加了导入数据之后直接更新缓存的贴心小功能
去掉了统计功能需要的数据采集,只保留了访问数统计,提高了执行效率
修正了2.6版本出现的安装时会覆盖根目录的config.inc.php文件的BUG
修正了编辑文章时出现的一个JS报错
修正了栏目列表排序参数不可用的BUG
修正了在某免费主机上无法安装的兼容性问题
修正了全局关键字在某些情况下显示链接错乱
修正了取栏目URL时的几个设定(不再在URL上加入index.htm等)
修正了题目是空格也被采集入库的BUG
修正了默认栏目的是否生成静态和是否启用文件名两个设置,由“否”变成“执行全局设置”
增强了几个极端情况下的程序健壮性
2.6(2009-6-11)
从本版本起不再分为MySQL版和SQLite版,只有一个AKCMS,在安装时让使用者选择数据库类型
从本版本起使用zip压缩格式打包而不用rar格式,因为有用户直接wget到压缩包在Linux服务器下解压缩不方便
增加插件系统,PHP开发者可以自己编写插件来增加AKCMS的功能(插件是什么?能做什么?)
增加了采集规则导入导出、采集器导入导出,不会采集的朋友,只要把高手共享的一段字符串导入即可完成采集规则、采集器的创建,在批量建站的时候也非常方便,稍作修改即可
增加了采集规则的过滤功能:特征关键字和跳过关键字。前者是带关键词的才采集;后者是带关键字的不采集
增强了缩略图功能,增加了取文章列表时自动补齐完整URL
增加采集后自动命名文件名选项,允许通过关键字分析文件名,也允许通过题目分析文件名
增加了编辑文章发布时间的功能
增强了getitems标签的功能,timelimit属性可以设置是否取比当前时间更新的文章
增强了getcategories标签的功能,可以同时在内容页方便的实现多级分类的面包屑导航
去掉了默认对Discuz的支持,将以插件形式提供
去掉了默认对X-space的支持,将以插件形式提供
去掉了来路统计功能,请使用第三方的统计系统
修正了新建采集规则不能保存替换设置的BUG
修正了采集的正文内容里的标签清理不干净的BUG
修正了定时更新静态页时URL错乱的BUG
修正了编辑文章后附件不能正常显示的BUG
2.5.1
原“管理专题”功能命名有歧义,从这个版本改为“管理页面”
增加了采集列表的功能,可以批量采集n-m页(之前只能采集某一页)
将采集列表和采集规则的预览都做成单独的页面,提高列表页的打开速度
简化了访问统计功能,不再分析来路是什么搜索引擎,什么搜索词,保持基本功能,加快展示速度
优化自动分析关键字功能,去掉了一直有问题的不依赖词库也能分析关键字的功能,提高了性能
去掉了词库在线编辑功能
去掉了采集规则的采集文章数的属性
修正了多个隐藏的前端接口的注入漏洞(投稿接口,评分接口,评论接口,给评论评分接口等),但仍不推荐使用
修正了栏目页面无法调用栏目别名的问题
修正了smarty模板在某些主机无法创建临时文件导致白页面的兼容性问题
修正了第11-20采集项无法生效的问题
修正了评论数更新失败的问题
修正了采集的替换规则未正确入库的问题
修正了SQLite版本提示信息方式:如果服务器不支持SQLite第一步就提示而不是让用户都填写一堆信息后再提示
修正了在godaddy的免费空间(有广告)下的兼容性问题
修正了自定义字段超过三个无法增加的bug
2.5
2.4版本引入了很多新的特性,但是由于步子迈得过大,2.4版本发布后出现了很多问题,我们向站长表示真挚的歉意。为杜绝这种大跃进的情况再次发生,从2.5之后的版本开始遵从几个AKCMS天条:
1 每个新版本发布前都要至少在5个站点测试过。
2 不为了功能牺牲品质,不为了赶进度牺牲品质。
从这个版本开始,AKCMS分为MySQL版和SQLite版同时发布
增强了自定义字段功能,自定义字段不但支持字符串还支持下拉菜单,而且可以为栏目指定字段,也可以将采集的内容保存到扩展字段,扩展字段不但可以在最终页展现也可以在列表页展现
优化了细节的用户体验,比如:点击单选框的文字介绍也可以执行选中操作
去掉了有问题的栏目首页的定时更新功能
增加了文章的三个可排序的整数字段
修正2.4版因修改了防注入实现方式导致的一些BUG
2.4正式版
增强了执行SQL语句功能,如果是SELECT语句,则将查询结果以表格的形式列出来
修正了在IIS环境的某种配置下,无法上传文件的BUG
修正了当启用目录型文件名时,编辑后文件名会多一个/的BUG
2.4 beta
从这个版本开始,记录下详细的版本更新记录
从这个版本开始,提供升级脚本,第一个脚本update2.3-2.4.php
修改了文章存储地址设置,可以自定义地址
增加了附件存储地址设置,可以自定义地址
增加了缩略图存储地址设置,可以自定义地址
增加了图片存储地址设置,可以自定义地址
增加了栏目的文章存储地址设置,如果指定则优先应用本栏目的设置,如果不指定则取全局设置
重新支持了栏目分页列表的静态化(在2.2版本中曾去掉了这个功能)
主题分页列表实现了静态化
主题分页列表、主题首页地址支持自定义
栏目分页列表、栏目首页地址支持自定义
针对alibaba网站防采集的问题,增加了采集器的agent,使采集器看来是个浏览器(也适用于采集其他网站)
取消了华而不实的两种分页统计方式
将是否启用文件名和是否生成静态页分开,支持了不生成静态页通过rewrite方式的SEO友好的静态页。(参见http://www.zlck.com,这个网站启用了文件名,未启用静态页)
自定义变量增加描述字段,同时修改了变量编辑页面,可以让使用者更容易找到需要的变量
必填字段用更直观的样式显示
getlists标签增加了num属性,用来表示最多显示多少项。增加了iteminurl、iteminhtml两个模板标签,用来表示URL中的文字的和HTML中的文字
发布版的报错级别设置为0,尽可能忽略不严重的问题
增加了主题导入功能,并首次自带默认主题(包括:模板、CSS样式、图片、初始数据)
调整了后台模板,缩小了菜单栏宽度,增大工作区域面积
对SEO更加友好,支持目录型网址:http://domain/book/jinpingmei/
修正了正文内链接为同一个关键字只显示一次
修正了文件名判断时在某些环境下出错的BUG
修正了在php4.x版本下判断程序路径不正确的BUG
修正了在PHP4.x版本下替换函数无法指定替换次数的BUG
修正了文章长度属性无法应用到无样式标题的BUG
修正了当关键字互相包含时(比如:文章中含有“宝钢股份”和“宝钢”这两个关键字)文内链接飞掉的BUG
2.3正式版
1 改进采集功能,增强对不同服务器环境的兼容 已完成
细节:针对阿里巴巴等防采集的网站修改采集器agent,让他看起来更像一个浏览器
2 文章中插入图片不光可以通过附件上传,也可以通过所见即所得方式,浏览图片上传,更方便直观 已完成
3 发表评论可以使用验证码 已完成,请参考http://www.yubosun.cn/
细节:验证码功能在后台有开关可以关闭
4 后台增加对评论的管理功能 已完成
细节:可以封IP、删除评论
5 增大了后台的可编辑区域,放弃800*600分辨率用户,重点照顾1024*768 已完成
6 其他细节的改变。已完成
7 新增:修正安装时不会记住时差的老BUG 已完成
细节:这个老BUG存在了至少有10个月了,真是老寿星啊。
8 新增:(技术实现细节)语言包合并 已完成
细节:原来语言包分散成七八个包,根本没有必要,集中到一起也只有20几KB。
2.2正式版
1 修正 采集功能,增强兼容性,关闭allow_url_fopen的虚拟主机也可以正常采集
2 新增 文章列表标签按照题目首字的拼音字母排序功能
3 新增 评论功能接口
4 新增 DIGG功能接口
5 新增 打分功能接口
6 优化 对Discuz!论坛数据的引用
7 新增 模板压缩功能(可选功能)用户看到的网页源码无多余的空格、tab、换行。节约服务器带宽,加快用户打开速度,演示效果参见百度首页和www.akcms.com源代码
8 修正 在mysql-3.23.58下无法安装的BUG,至此,理论上没有akcms不兼容的MySQL了
9 优化 数据库备份功能,在DreamHost等限制CPU的虚拟主机上稳定运行
10 新增 数据库备份恢复的“雷锋模式”,可备份、恢复同库其他应用的数据表,比如:Discuz!
11 新增 分类的两个可选字段“别名(alias)”、“关键字(keywords)”,可用于SEO
12 新增 随机模板功能,可有效防采集
13 新增 是否生成静态页的配置,更加灵活(原来必须全部生成静态页)
14 修正 一些提示信息和用户感受挫败的操作界面
15 修正 其他一些细小的BUG
16 删除 默认模板和演示数据
本文URL:http://www.akcms.com/about/akcms-changelog.htm
● 兼容性好,对主机要求低
● 体积小巧(220KB),精简高效
● 灵活自定义,适于SEO
● 超强负载能力,可支持百万PV
可免费使用,页面显示AKCMS的支持信息:powered by akcms
