-
WizKnowledge和网文快捕(CyberArticle)的比较
发表于 2010年02月2日 8 条评论经常会有朋友问我,应该用WizKnowledge还是网文快捕(CyberArticle)。下面就做一个比较。WizKnowledge的设计目标:个人文字信息的管理以及简单的日程管理,提供随时随地的访问自己的资料的能力,并可以方便的共享自己的资料。CyberArticle设计的目标:完整保存网页,提供强大的管理功能,注重于制作电子书,同时提供局域网内的资料共享功能。 -
CyberArticle宏 – 高级排序
发表于 2009年06月18日 1 条评论利用这个宏,可以对节点进行高级排序:
1:从节点标题中提取第一个数字,然后按照从小到大的顺序排序。
2:从节点标题中提取两个数字,按照先比较第一个数字,再比较第二个数字的方式进行排序(从小到大)。例如通常标题的命名1.1, 1.2, …, 1.10, 1.11, 2.1, 2,2, …, 2.10, 2.11 …
3:从标题中提取中文数字,然后排序,例如第一章,第二章,第三章, …,第十章,第十一章…
注意:
- 提取中文数字功能,有一定的问题,主要是中文的零。例如一千零一夜,会当成101,而不是1001,使用的时候需要注意。
- CyberArticle宏排序,不是给文件夹的子节点排序,而是对选中的节点同级的节点进行排序。
- 您也可以使用这个宏作为模板进行修改,实现更多的排序方式。
请下载附件后解压缩,然后双击里面的文件,就可以进行安装。(CyberArticle 5.3或者更高的版本)。
-
SQL Server 和SQL Server Express书籍优化
发表于 2009年06月17日 3 条评论SQL Server 和SQL Server Express书籍,如果数据量很大,可以进行优化。优化后,可以获得很好的搜索速度,另外,点击文章里面的链接,反应速度也大大加快。
准备软件
- CyberArticle最新测试版本(2009年6月17号以及以后的版本)。从这个版本开始,优化了节点操作速度,支持SQL Server数据库全文搜索语法。
- SQL Server Management Studio或者SQL Server Management Studio Express,分别对应SQL Server和SQL Server Express。其中SQL Server Management Studio可以和SQL Server一起安装,SQL Server Management Studio Express可以在微软的网站下载。本文使用SQL Server 2008 180天开发版本。
注意:默认情况下,CyberArticle无法连接到 SQL Server 2008 / SQL Server Express 2008 数据库,请点击这里查看解决办法。
开启SQL Server全文搜索功能
1、在SQL Server Management Studio中,找到书籍数据库,在数据库名称上面点击右键,在菜单中选择属性

2、出现的对话框中,选择File,然后选择 Use full-text indexing(使用全文检索索引)。
点击OK(确定)按钮,关闭对话框。
3、展开数据库名节点,定位到数据库名StorageFull Text Catalogs,在这个节点上面,点击右键,选择 New Full-Text Catalog。

在出现的对话框里面,按照下图输入:
点击OK(确定)按钮就可以了。
4、展开数据库名节点,定位到数据库名Tablesdbo.Nodes,在这个节点上面,点击右键,选择 Full-Text index -> Define Full-Text index:

在出现的向导中,依次点击Next(下一步)按钮。在选择列的对话页面中,按照下面的方式选择:

在跟踪修改的页面中,根据自己的需要进行选择:

- 自动
- 手工
- 不跟踪修改
这些选项,主要用来设置 数据修改后,如何更新全文搜索引擎的方式。
然后下一步,选择Catalog,选择我们刚才创建的cyberarticle即可。

然后一直下一步,直至完成。此时,就设置好了全文搜索。您需要等待数据库进行全文索引的建立。这个过程可能需要很长的时间,例如几个小时甚至一整天或者更长,数据库的体积,也会不断地增大(我测试的数据库,从4G一直增加到8G,还没有结束)。
在CyberArticle里面启用数据库的全文搜索功能
在CyberArticle里面,打开书籍,然后在书籍节点上面,点击右键,选择“属性”,在属性对话框里面,切换到数据库Tab:

选中下面的“This database support full text search”。然后点击确定按钮。就可以在CyberArticle里面使用数据的全文搜索功能进行搜索。
测试结果
- 硬件:Thinkpad T42, 1.7G CPU, 1G内存,160G 5400转硬盘。
- 软件:Windows 7 RC,SQL Server 2008 开发版。
- 数据库:Nodes表有144057条数据,139013条记录是文章,数据库体积,在没有全文搜索之前3G多,增加全文检索后,7G多(还未完成)。
搜索速度比较:(最多返回50条记录)
- 优化前:搜索中文字符串,需要5分钟甚至更长的时间
- 优化后:15秒内,出现结果
在文章浏览器内点击一个链接,CyberArticle需要对这个链接进行搜索,查找是否已经保存在书籍中。
- 优化前:几分钟都没有反应
- 优化后:10秒内正确打开已经保存的网页
结论
利用优化后的数据库和CyberArticle,可以极大的加快搜索速度。因此,对于企业用户,按照上面的方式进行优化后,利用CyberArticle和SQL Server,完全可以胜任大型的知识库建立,并获得良好的效率。毕竟从上面的测试看,一个很老的笔记本,就可以达到这样的效率,如果更换成专用的数据库服务器,效率可以更高。
其它
如果您需要进行测试,请向我索取最新的支持数据库全文检索的CyberArticle测试版本。如果CyberArticle新的版本已经发布,请直接下载使用。
-
让CyberArticle支持SQL Server 2008或者SQL Server Express 2008
发表于 2009年06月17日 1 条评论默认安装的SQL Server 2008或者SQL Server Express 2008,CyberArticle无法连接到数据库。请按照下面的方式设置:
开始菜单 -> 所有程序 -> SQL Server 2008 -> Configuration Tools -> SQL Server Configuration Manager。
打开SQL Server Configuration Manager,切换到 SQL Server Network Configuration -> Protocols for MSSQLSERVER,如下图:

在右边的TCP/IP上面,点击右键,菜单中选择Enable (启用)。
然后停止并重新启动SQL Server服务,就可以了:
处理后,CyberArticle就可以正常连接到SQL Server 2008数据库了。
-
将网博士的数据转换到CyberArticle(网文快捕)中
发表于 2009年06月16日 4 条评论WebSaver(网博士) to CyberArticle xbook 1.0-2009.4.26社区版
将WebSaver保存的资料数据,转换成CyberArticle5.2以上版本的xbook数据格式
使用前提环境:
1. 操作系统:Windows 2000/XP/2003/Vista
2. 已安装.Net FrameWork 2.0以上环境(下载http://www.greendown.cn/soft/9476.html)
3. 已安装CyberArticle 5.3(下载http://wizbrother.com/cyberarticle)
4. 建议WebSaver请升级到新版本4.3以后使用反馈地址:
http://cn.wizbrother.net/thread-774-1-1.html
使用说明
1. 选择WebSaver的数据文件wsb文件
2. 点击“转换为目录”,将wsb文件转换为候选的目录树
3. 在生成的树中,选择要导入的内容
4. 点击“开始转换”,即可生成一个新的xbook文件
5. 处理大的word文档转换会有些慢,请耐心等待。 -
将Mybase的数据转换到CyberArticle(网文快捕)中
发表于 2009年06月16日 3 条评论Mybase to CyberArticle xbook 1.0-2009.4.26社区版
将Mybase保存的资料数据,转换成CyberArticle5.2以上版本的xbook数据格式
使用前提环境:
1. 操作系统:Windows 2000/XP/2003/Vista
2. 已安装.Net FrameWork 2.0以上环境(下载http://www.greendown.cn/soft/9476.html)
3. 已安装CyberArticle 5.23(下载http://wizbrother.com/cyberarticle)
4. 建议Mybase请升级到新版本5.5以后使用(下载http://wjjsoft.com)
阅读全文 » -
将FireFox ScrapBook插件保存的资料转换成CyberArticle的数据
发表于 2009年06月16日 2 条评论ScrapBook to CyberArticle xbook 1.0-2009.4.26社区版
将Firefox插件ScrapBook保存的网页,导出成CyberArticle5.2以上版本的xbook数据格式
使用前提环境:
1. 操作系统:Windows 2000/XP/2003/Vista
2. 已安装.Net FrameWork 2.0以上环境(下载http://www.greendown.cn/soft/9476.html)
3. 已安装CyberArticle 5.23(下载http://wizbrother.com/cyberarticle) -
删除CyberArticle书籍中的导入的附件URL(文件名)
发表于 2009年06月16日 2 条评论问题
导入的附件能不能搞个选项,可以选择要不要包含哪个URL呀,因为就本人而言有很多附件都是在本地导入的,我不想把这附件的原始路径显示出来,去又去不掉,实在是碍眼呀。
解决办法
下载解压缩附件,然后安装这个宏,就可以了。在CyberArticle里面,选中一个书籍,然后执行这个宏。可以将书籍中所有导入的附件(也就是附件URL是本地文件),URL全部清空。
宏代码
var objCA = new ActiveXObject(“CyberArticle.CAAutomationApp”);
//
var objSelectedNodes = objCA.SelectedNodes;
if (objSelectedNodes != null && objSelectedNodes.Count > 0)
{
var objSelectedNode = objSelectedNodes.Item(0);
var objBook = objSelectedNode.Book;
var attachments = objBook.Attachments;
for (var i = 0; i < attachments.Count; i++)
{
var att = attachments.Item(i);
var url = att.URL;
if (0 == url.indexOf(“http://”))
continue;
//
att.url = “”;
}
} -
利用CyberArticle定时自动下载保存博客的新文章
发表于 2009年06月15日 5 条评论利用CyberArticle的二次开发功能,可以很容易的写一个下载博客文章的脚本。然后利用计划任务,定时运行,就可以自动下载保存任意博客的文章了。
下面就是脚本代码:(善用佳软的例子)
/*
功能:
定期将博客中新增的文章,保存到 [博客集合] 书籍中。注意:
对于Windows Vista/7系统,如果您开启了账户控制,第一次运行本脚本的时候,请这样操作:
1:资源管理器,找到CyberArticle安装目录,例如:C:\Program Files\WizBrother\CyberArticle
2:找到regfiles.bat文件,然后在上面点击鼠标右键,选择“以管理员运行”(Run as Administrator)
其他操作系统,不需要这个操作。使用说明:
请修改以下参数:
BOOK_NAME:默认的书籍名称。您可以修改这个参数,将数据保存到您指定的书籍中。也可以不作修改,CyberArticle会自动创建这个书籍。
BLOG_NAME:博客名称,例如善用佳软,魏拾俊的博客等等。
RSS_URL:博客的RSS地址。
注意:
每个博客,只保存一次,即使有新的回复,也不会重新保存。新保存的文章,保存在 博客集合\博客名称\XXXX年\X月\X日 文件夹内使用:
双击运行这个脚本就可以了。运行后会自动将新的文章保存到书籍中。
技巧:
您可以将这个脚本放在程序的启动组里面,每次启动电脑后,可以自动运行。
或者添加到计划任务中,在每天空闲的时刻,例如中午吃饭时间运行。吃完饭后,就可以看到最新的文章了。
如果您同时喜欢看很多的博客,您可以利用这个脚本,制作多个这样的脚本,然后加入计划任务,自动运行,每天都可以自动将所有的博客自动保存。
//
http://weishijun.com/
*/
//
//—————————————————-
//博客定时保存脚本参数
//注意:引号必须是英文半角
//书籍名称
var BOOK_NAME = “博客集合”;
//Blog名称
var BLOG_NAME = “善用佳软”;
//Blog的RSS地址
var RSS_URL = “http://feed.xbeta.info/”
//
//
//
//—————————————————-
var objShell = new ActiveXObject(“WScript.Shell”);
var objCommonUI = new ActiveXObject(“CyberArticleCommonUI.CACommonUI”);
function jsAlert(msg)
{
return objShell.Popup(msg, 10000, “CyberArticle”, 0);
}
//获得MyBooks文件夹。如果是绿色版本,则默认保存在安装目录下面的My Books文件夹
function GetMyBooksPath()
{
var strMyBooksPath = objShell.RegRead(“HKEY_CURRENT_USER\\Software\\WizBrother\\CyberArticle\\MyBooksFolder”);
if (strMyBooksPath == null || strMyBooksPath == “”)
{
var objCyberArticleAppPath = objCommonUI.CyberArticleAppPath;
return objCyberArticleAppPath + “My Books\\”;
}
//
if (strMyBooksPath[strMyBooksPath.length - 1] != ‘\\’)
strMyBooksPath = strMyBooksPath + “\\”;
//
return strMyBooksPath;
}
//有些系统无法正常创建BookBuilder对象,先注册BookBuilder.exe
function RegBookBuilder()
{
var objCyberArticleAppPath = objCommonUI.CyberArticleAppPath;
var filename = objCyberArticleAppPath + “bookbuilder.exe”;
var commandline = “\”" + filename + “\” /RegServer”;
//
objShell.Exec(commandline);
//等待2秒钟
WScript.Sleep(2000);
}
/*
function RunBookBuilder()
{
RegBookBuilder();
//
var objCyberArticleAppPath = objCommonUI.CyberArticleAppPath;
var filename = objCyberArticleAppPath + “bookbuilder.exe”;
//
var oExec = objShell.Exec(filename);
//
//等待2秒钟
WScript.Sleep(2000);
}
*/
//找到channel
function GetItemNodes()
{
var objXml = new ActiveXObject(“MSXML.DOMDocument”);
objXml.async = false;
objXml.load(RSS_URL);
//
var channelNode = objXml.selectSingleNode(“/rss/channel”);
//
return channelNode.childNodes;
}
//c查找书籍,按照书籍名称
var objBookCollection = new ActiveXObject(“CyberArticleBook.CABookCollection”);
var bookguid = null;
for (var i = 0; i < objBookCollection.Count; i++)
{
if (objBookCollection.BookName(i) == BOOK_NAME)
{
bookguid = objBookCollection.GUID(i);
break;
}
}
//如果没有找到,新增
if (bookguid == null || bookguid.length == 0)
{
var strNewBookFileName = GetMyBooksPath() + BOOK_NAME + “.xbook”;
var objBookTools = new ActiveXObject(“CyberArticleBookTools.CABookTools”);
bookguid = objBookTools.CreateAccessBook(strNewBookFileName);
}
//打开书籍
var objBook = new ActiveXObject(“CyberArticleBook.CABook”);
objBook.Open(bookguid);
//
var myDate=new Date();
var year = myDate.getFullYear();
var month = myDate.getMonth() + 1;
var day = myDate.getDate();
//
var folderpath = BLOG_NAME + “\\” + year + “年\\” + month + “月\\” + day + “日\\”;
//
//
var arrayLinks = new Array();
//
var nodes = GetItemNodes();
for (var i = 0; i < nodes.length; i++)
{
var node = nodes[i];
//
if (node.nodeType != 1)
continue;
//
if (node.nodeName != “item”)
continue;
//
var linkNode = node.selectSingleNode(“link”);
if (null == linkNode)
continue;
//
//
var link = linkNode.text;
if (link == null || link.length == 0)
continue;
//
try
{
//检查是否已经保存,如果保存,继续
var nodesBook = objBook.NodesFromURL(link);
if (nodesBook != null && nodesBook.Count > 0)
continue;
}
catch (e)
{
}
//
var titleNode = node.selectSingleNode(“title”);
var title = null;
if (titleNode != null)
title = titleNode.text;
if (title == null)
title = “”;
//
arrayLinks.push(link);
arrayLinks.push(title);
}
//下载任务
if (arrayLinks.length > 0)
{
RegBookBuilder();
//
var objCABookBuilder = new ActiveXObject(“CyberArticle.CABookBuilderAutomationApp”);
//
for (var i = 0; i < arrayLinks.length; i += 2)
{
var link = arrayLinks[i];
var title = arrayLinks[i + 1];
//
if (title.length == 0)
{
objCABookBuilder.AddJob(bookguid, folderpath, link, title, “Default”, 0, false, true, 0);
}
else
{
objCABookBuilder.AddJob(bookguid, folderpath, link, title, “Default”, 0, true, true, 0);
}
}
//
objCABookBuilder.StartDownload();
}附件是我制作的三个脚本,您可以拿来进行修改。以满足您的需求。
如果您制作了其它的脚本,可以到这里共享给其他用户。
http://cn.wizbrother.net/forum-23-1.html
-
CyberArticle无法新建,打开任何书籍的解决办法
发表于 2009年06月5日 8 条评论如果CyberArticle无法新建,打开任何书籍,通常的情况,就是Windows 的MDAC组件出现了问题。您可以尝试按照下面的方法解决:
下载最新版本的MDAC组件。目前最新版本是MDAC 2.8 Sp1。可以在这里下载:
您也可以自己到微软的网站,搜索合适的版本,然后下载。
下载后可以直接运行安装。如果提示无法安装,如下图:

按照下面的方法解决:
在我的电脑里面,找到您下载的文件,在MDAC_TYP.exe上面点击右键,然后选择用压缩软件解压缩(WinZip, WinRAR, 7-Zip)都可以进行解压缩

解压缩后,进入解压缩后的目录,找到mdacxpak.inf文件,然后在上面点击右键,选择安装(Install)。
通常情况下,就可以安装然后提示重新启动系统。重新启动后,CyberArticle可以恢复正常。(我在WinXP sp2下面测试通过)。
如果仍然不能安装,您可以按照下面的方式处理:
1. 在前面的目录里面,找到MDACXPAK.CAB,然后解压缩这个文件到任意一个文件夹(WinZip, WinRAR, 7-Zip都可以解压缩)。
2. 在解压缩后的目录里面,建立一个批处理文件MAKEDIRS.BAT,然后运行。 批处理内容如下:
md ADO
copy /b MSADER15.DLL ADO\*.*
copy /b MSADO15.DLL ADO\*.*
copy /b MSADO20.TLB ADO\*.*
copy /b MSADO21.TLB ADO\*.*
copy /b MSADOMD.DLL ADO\*.*
copy /b MSADOR15.DLL ADO\*.*
copy /b MSADOX.DLL ADO\*.*
copy /b MSADRH15.DLL ADO\*.*
copy /b MSJRO.DLL ADO\*.*md MSADC
copy /b MSADCE.DLL MSADC\*.*
copy /b MSADCER.DLL MSADC\*.*
copy /b MSADCF.DLL MSADC\*.*
copy /b MSADCFR.DLL MSADC\*.*
copy /b MSADCO.DLL MSADC\*.*
copy /b MSADCOR.DLL MSADC\*.*
copy /b MSADCS.DLL MSADC\*.*
copy /b MSADDS.DLL MSADC\*.*
copy /b MSADDSR.DLL MSADC\*.*
copy /b MSDAPRSR.DLL MSADC\*.*
copy /b MSDAPRST.DLL MSADC\*.*
copy /b MSDAREM.DLL MSADC\*.*
copy /b MSDAREMR.DLL MSADC\*.*
copy /b MSDFMAP.DLL MSADC\*.*md “OLE DB”
copy /b MSDADC.DLL “OLE DB\*.*”
copy /b MSDAENUM.DLL “OLE DB\*.*”
copy /b MSDAER.DLL “OLE DB\*.*”
copy /b MSDAORA.DLL “OLE DB\*.*”
copy /b MSDAOSP.DLL “OLE DB\*.*”
copy /b MSDAPS.DLL “OLE DB\*.*”
copy /b MSDASC.DLL “OLE DB\*.*”
copy /b MSDASQL.DLL “OLE DB\*.*”
copy /b MSDASQLR.DLL “OLE DB\*.*”
copy /b MSDATL2.DLL “OLE DB\*.*”
copy /b MSDATT.DLL “OLE DB\*.*”
copy /b MSDAURL.DLL “OLE DB\*.*”
copy /b MSXACTPS.DLL “OLE DB\*.*”
copy /b OLEDB32.DLL “OLE DB\*.*”
copy /b OLEDB32R.DLL “OLE DB\*.*”
copy /b OLEDB32X.DLL “OLE DB\*.*”3. 复制三个字文件夹(ADO,MSADC,OLE DB)到C:\Program Files\Common Files\System\,覆盖存在的文件和文件夹。
注意,如果您的操作系统没有安装在C盘,则需要自己修改上面的路径。
4. 在C:\Program Files\Common Files\System\文件夹里面,创建一个 REGFILES.BAT,然后运行。内容如下:
regsvr32 /u /s ADO\msado15.dll
regsvr32 /u /s ADO\msador15.dll
regsvr32 /u /s ADO\msadrh15.dll
regsvr32 /u /s ADO\msadomd.dll
regsvr32 /u /s ADO\msadox.dll
regsvr32 /u /s ADO\msjro.dll
regsvr32 /u /s MSADC\msadce.dll
regsvr32 /u /s MSADC\msadcf.dll
regsvr32 /u /s MSADC\msadco.dll
regsvr32 /u /s MSADC\msadds.dll
regsvr32 /u /s MSADC\msdaprst.dll
regsvr32 /u /s MSADC\msdarem.dll
regsvr32 /u /s MSADC\msdfmap.dll
regsvr32 /u /s “OLE DB\oledb32.dll”
regsvr32 /u /s “OLE DB\msxactps.dll”
regsvr32 /u /s “OLE DB\msdaenum.dll”
regsvr32 /u /s “OLE DB\msdaurl.dll”
regsvr32 /u /s “OLE DB\msdatt.dll”
regsvr32 /u /s “OLE DB\msdasql.dll”
regsvr32 /u /s “OLE DB\msdaosp.dll”
regsvr32 /u /s “OLE DB\msdaora.dll”
regsvr32 /u /s “OLE DB\msdaps.dll”regsvr32 /s ADO\msado15.dll
regsvr32 /s ADO\msador15.dll
regsvr32 /s ADO\msadrh15.dll
regsvr32 /s ADO\msadomd.dll
regsvr32 /s ADO\msadox.dll
regsvr32 /s ADO\msjro.dll
regsvr32 /s MSADC\msadce.dll
regsvr32 /s MSADC\msadcf.dll
regsvr32 /s MSADC\msadco.dll
regsvr32 /s MSADC\msadds.dll
regsvr32 /s MSADC\msdaprst.dll
regsvr32 /s MSADC\msdarem.dll
regsvr32 /s MSADC\msdfmap.dll
regsvr32 /s “OLE DB\oledb32.dll”
regsvr32 /s “OLE DB\msxactps.dll”
regsvr32 /s “OLE DB\msdaenum.dll”
regsvr32 /s “OLE DB\msdaurl.dll”
regsvr32 /s “OLE DB\msdatt.dll”
regsvr32 /s “OLE DB\msdasql.dll”
regsvr32 /s “OLE DB\msdaosp.dll”
regsvr32 /s “OLE DB\msdaora.dll”
regsvr32 /s “OLE DB\msdaps.dll”以上操作,如果您的系统是Vista或者Win7,您需要使用管理员身份运行。
经过操作后,应该就可以恢复正常了。
参考文章:
http://www.trinet.co.uk/support/kb.aspx?kbid=000027








最近评论