<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>94smart's Blog &#187; 内容管理系统</title>
	<atom:link href="http://blog.94smart.com/cache/category/%e7%bd%91%e7%ab%99%e8%bf%90%e8%90%a5/%e5%86%85%e5%ae%b9%e7%ae%a1%e7%90%86%e7%b3%bb%e7%bb%9f/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.94smart.com</link>
	<description>移动或不移动的互联网</description>
	<lastBuildDate>Sat, 10 Apr 2010 14:53:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>继续流水账：Wiki和协作、沟通</title>
		<link>http://blog.94smart.com/cache/2008/0319_1230.html</link>
		<comments>http://blog.94smart.com/cache/2008/0319_1230.html#comments</comments>
		<pubDate>Wed, 19 Mar 2008 11:16:59 +0000</pubDate>
		<dc:creator>94smart</dc:creator>
				<category><![CDATA[Wiki]]></category>
		<category><![CDATA[内容管理系统]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[随笔]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[协作]]></category>
		<category><![CDATA[工作报告]]></category>
		<category><![CDATA[沟通]]></category>
		<category><![CDATA[知识库]]></category>

		<guid isPermaLink="false">http://blog.94smart.com/cache/2008/0319_1230.html</guid>
		<description><![CDATA[关于Wiki，水是这样流下来的：

前传：对于Wiki和维基百科我是早有了解，05-06年的时候曾经先后用CooCooWakka和MediaWiki在94smart.com架过，基本都是玩两下就放弃了，当时好像是因为编写习惯和权限设置的问题。
去年11月开始看《维基经济学》，可能是因为个人口味不同，这本书读到今年也没读完，也不打算继续读下去了。
今年二月底公司开始培训新的内部办公工具（据说是EA内部使用很久的组合方式），其中之一就是用Wiki写工作报告，起先我很不理解曾在twitter上说：&#8221;有人听说过，用MediaWiki作公司内部报告系统的吗？&#8221;，言下之意相当的不屑。
在看了大BOSS写的快速入门后，在Wiki填充内容，从[[给文档加链接]]开始，起初不适应Wiki代码，网上搜索了很久也没找到合适的所见即所得编辑器，最后只好继续手写代码，还好后来习惯了。
我们需要把个人简历、联系方式及工作报告都填进去，就现在来看在Wiki里面写简历不是很舒服，所以我在Blog上写了个非公司版本的个人简历。
起先发现在Wiki里面的图片好像都不直接加外链，多数都是连图片描述页，也许是为了方便其他人补充说明或评论吧。
Wiki好像不是用来发布纯文本重复内容的工具吧？我认为内部链接才是Wiki的王道，能连接内部内容绝对不考虑外部链接。
使用Wiki一段时间，其间又看了些Wiki的相关资料，发现之前的部分理解有误，我很想收回之前说过的话，其实用Wiki进行工作报告是有实际意义的。
公司的内部办公工具主要由内容发布/知识库、邮件、文件版本控制及论坛组成，MediaWiki架设的Wiki主要负责工作记录/报告、内部事项通知、经验分享及岗位培训等内容发布。
Wiki的优点在于强调文档结构化，在内部关联上处理得很合适，且用户不需了解复杂的代码即可进行超文本内容编写，牺牲了部分灵活换来了相对容易的协作。
另外，Wiki可以作为Web版的文档版本管理工具，可以比对修改、恢复历史内容等。
Wiki的文档可以很开放，用来做知识库、新闻、个人资料、通讯录、Blog、Life Stream等都很合适，我现在就用Wiki来做网摘（并用ROR写了一个网摘的Wiki代码生成器）。
Wiki需要制定现实中的更新规范，比如谁可以编辑这里谁不行之类的。
最近总是听见公司同事喊：把某某事情写在Wiki里。我觉得Wiki还是作备忘吧，并不能代替直接、实时的沟通。
其实工具就是工具，不止是Wiki、CVS、SVN这些协作相关的，最后还是需要通过各种形式的直接沟通去解决冲突问题。
幻想一下，如果在Wiki监视的页面可以通过im提醒就好了，邮件提醒还是比较不及时。
我开始看好用Wiki进行内部网建设，因为贡献内容的用户可以非常多，基于工作原因大多数人都需要别人更好的协作、配合，所以贡献的内容可以比较靠谱。
……

本流水账可以写完，多亏互联网有twitter的存在~
还好有twitter，让我可以随时把想法发出来，不用憋很久憋成blog，也许憋到后来都忘光了、没感觉了；还要感谢twitter，因为它丢信息不是特别的频繁，让我可以找到之前记下的内容。
   
Technorati : Wiki, 协作, 工作报告, 沟通, 知识库
]]></description>
			<content:encoded><![CDATA[<p>关于Wiki，水是这样流下来的：</p>
<ol>
<li>前传：对于Wiki和维基百科我是早有了解，05-06年的时候曾经先后用CooCooWakka和MediaWiki在94smart.com架过，基本都是玩两下就放弃了，当时好像是因为编写习惯和权限设置的问题。</li>
<li>去年11月开始看《维基经济学》，可能是因为个人口味不同，这本书读到今年也没读完，也不打算继续读下去了。</li>
<li>今年二月底公司开始培训新的内部办公工具（据说是EA内部使用很久的组合方式），其中之一就是用Wiki写工作报告，起先我很不理解曾在twitter上说：&#8221;有人听说过，用MediaWiki作公司内部报告系统的吗？&#8221;，言下之意相当的不屑。</li>
<li>在看了大BOSS写的快速入门后，在Wiki填充内容，从[[给文档加链接]]开始，起初不适应Wiki代码，网上搜索了很久也没找到合适的所见即所得编辑器，最后只好继续手写代码，还好后来习惯了。</li>
<li>我们需要把个人简历、联系方式及工作报告都填进去，就现在来看在Wiki里面写简历不是很舒服，所以我在Blog上写了个<a href="http://blog.94smart.com/cache/2008/0311_1228.html" target="_blank">非公司版本的个人简历</a>。</li>
<li>起先发现在Wiki里面的图片好像都不直接加外链，多数都是连图片描述页，也许是为了方便其他人补充说明或评论吧。</li>
<li><span class="entry-title entry-content">Wiki好像不是用来发布纯文本重复内容的工具吧？我认为内部链接才是Wiki的王道，能连接内部内容绝对不考虑外部链接。</span></li>
<li>使用Wiki一段时间，其间又看了些Wiki的相关资料，发现之前的部分理解有误，我很想收回之前说过的话，其实用Wiki进行工作报告是有实际意义的。</li>
<li>公司的内部办公工具主要由内容发布/知识库、邮件、文件版本控制及论坛组成，MediaWiki架设的Wiki主要负责工作记录/报告、内部事项通知、经验分享及岗位培训等内容发布。</li>
<li>Wiki的优点在于强调文档结构化，在内部关联上处理得很合适，且用户不需了解复杂的代码即可进行超文本内容编写，牺牲了部分灵活换来了相对容易的协作。</li>
<li>另外，Wiki可以作为Web版的文档版本管理工具，可以比对修改、恢复历史内容等。</li>
<li>Wiki的文档可以很开放，用来做知识库、新闻、个人资料、通讯录、Blog、Life Stream等都很合适，我现在就用Wiki来做网摘（并用<a href="http://blog.94smart.com/cache/2008/0312_1229.html" target="_blank">ROR</a>写了一个网摘的Wiki代码生成器）。</li>
<li>Wiki需要制定现实中的更新规范，比如谁可以编辑这里谁不行之类的。</li>
<li><span class="entry-title entry-content"><span class="entry-title entry-content">最近总是听见公司同事喊：把某某事情写在Wiki里。我觉得Wiki还是作备忘吧，并不能代替直接、实时的沟通。</span></span></li>
<li><span class="entry-title entry-content"><span class="entry-title entry-content">其实工具就是工具，不止是Wiki、CVS、SVN这些协作相关的，最后还是</span></span>需要通过各种形式的直接沟通去解决冲突问题。</li>
<li><span class="entry-title entry-content"><span class="entry-title entry-content">幻想一下，如果在Wiki监视的页面可以通过im提醒就好了，邮件提醒还是比较不及时。</span></span></li>
<li><span class="entry-title entry-content"><span class="entry-title entry-content">我开始看好用Wiki进行内部网建设，因为贡献内容的用户可以非常多，基于工作原因大多数人都需要别人更好的协作、配合，所以贡献的内容可以比较靠谱。</span></span></li>
<li><span class="entry-title entry-content"><span class="entry-title entry-content">……</span></span></li>
</ol>
<p><span class="entry-title entry-content"><span class="entry-title entry-content">本流水账可以写完，多亏互联网有twitter的存在~</span></span></p>
<p><span class="entry-title entry-content"><span class="entry-title entry-content">还好有twitter，让我可以随时把想法发出来，不用憋很久憋成blog，也许憋到后来都忘光了、没感觉了；还要感谢twitter，因为它丢信息不是特别的频繁，让我可以找到之前记下的内容。</span></span></p>
<p class="zoundry_bw_tags">   <!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --><br />
<span class="ztags"><span class="ztagspace">Technorati</span> : <a href="http://technorati.com/tag/Wiki" class="ztag" rel="tag">Wiki</a>, <a href="http://technorati.com/tag/%E5%8D%8F%E4%BD%9C" class="ztag" rel="tag">协作</a>, <a href="http://technorati.com/tag/%E5%B7%A5%E4%BD%9C%E6%8A%A5%E5%91%8A" class="ztag" rel="tag">工作报告</a>, <a href="http://technorati.com/tag/%E6%B2%9F%E9%80%9A" class="ztag" rel="tag">沟通</a>, <a href="http://technorati.com/tag/%E7%9F%A5%E8%AF%86%E5%BA%93" class="ztag" rel="tag">知识库</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.94smart.com/cache/2008/0319_1230.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>小试Prototype：为静态文章列表加上标志</title>
		<link>http://blog.94smart.com/cache/2006/0726_826.html</link>
		<comments>http://blog.94smart.com/cache/2006/0726_826.html#comments</comments>
		<pubDate>Wed, 26 Jul 2006 06:49:59 +0000</pubDate>
		<dc:creator>94smart</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[内容管理系统]]></category>
		<category><![CDATA[随笔]]></category>
		<category><![CDATA[IM]]></category>
<category>Javascript</category><category>内容管理系统</category><category>随笔</category>
		<guid isPermaLink="false">http://blog.94smart.com/2006/07/26/826.html</guid>
		<description><![CDATA[昨天，用Prototype.js解决了一个以前一直解决不了的问题，即静态文章列表加上New标志。
工作上一直使用静态的CMS（内容发布系统），好处是发布的内容全部都有静态页面、唯一地址，访问速度也比较稳定，缺点是放弃了动态的效果，比如文章动态链接、列表更新等等，以及今天要说的根据文章发布时间给标题加New标志。
原理是用Javascript分析列表代码里面带有时间的条目，时间是不是在时间限制之后，如果是，就在这个条目的时间代码段前面加上New的标志代码。
首先对文章列表进行改造，发布系统生成&#60;ul&#62;，每篇文章都是一个&#60;li&#62;，每个&#60;li&#62;里面用&#60;a&#62;包含标题，用&#60;samp&#62;来包含发布时间（还可以选择&#60;span&#62;或其他标签，我特意选了不常用的&#60;samp&#62;），最外层用&#60;div&#62;包含（看具体使用来定，也可以使用&#60;table&#62;等），并增加ID属性。以下是列表的代码：
&#60;div id="News"&#62;&#60;ul&#62;&#60;li&#62;&#60;a href="link" target="_blank"&#62;Title&#60;/a&#62;&#60;samp&#62;2006-07-26 10:20&#60;/samp&#62;&#60;/li&#62;&#60;li&#62;&#60;a href="link" target="_blank"&#62;Title&#60;/a&#62;&#60;samp&#62;2006-07-25 10:20&#60;/samp&#62;&#60;/li&#62;&#60;li&#62;&#60;a href="link" target="_blank"&#62;Title&#60;/a&#62;&#60;samp&#62;2006-07-25 10:20&#60;/samp&#62;&#60;/li&#62;&#60;li&#62;&#60;a href="link" target="_blank"&#62;Title&#60;/a&#62;&#60;samp&#62;2006-07-24 10:20&#60;/samp&#62;&#60;/li&#62;&#60;li&#62;&#60;a href="link" target="_blank"&#62;Title&#60;/a&#62;&#60;samp&#62;2006-07-23 10:20&#60;/samp&#62;&#60;/li&#62;&#60;/ul&#62;&#60;/div&#62;
Javascript脚本部分，我设定的时间限制是前天0点，也就是说前天发的内容都会加上New的标志。shownew.js代码如下：

//shownew.js//email: 94smart(AT)gmail.com//url: http://blog.94smart.com
var TheDay = new Date(); //初始化时间TheDay.setDate(TheDay.getDate()-2); //将时间设定为前天，看实际需要而定TheDay.setHours(0,0,0); //将时间设定为前天0点var newImage = '&#60;img src="images/icon_new.gif" border="0" alt="New" /&#62;'; //New字样图片的代码
function showNew(listId){ //参数listId是要处理列表的IDvar thisList = $(listId).getElementsByTagName('li');var listArray = $A(thisList);listArray.each(function(listItem){theSamp = listItem.getElementsByTagName('samp'); //取li里面的samp标签的内容theSamp = theSamp[0];theTime = theSamp.innerHTML; //得到文章的发布时间theTime = new Date(theTime.replace(/\-/g, "/")); //替换时间格式为yyyy/mm/dd [...]]]></description>
			<content:encoded><![CDATA[<p>昨天，用Prototype.js解决了一个以前一直解决不了的问题，即静态文章列表加上New标志。</p>
<p>工作上一直使用静态的CMS（内容发布系统），好处是发布的内容全部都有静态页面、唯一地址，访问速度也比较稳定，缺点是放弃了动态的效果，比如文章动态链接、列表更新等等，以及今天要说的根据文章发布时间给标题加New标志。</p>
<p>原理是用Javascript分析列表代码里面带有时间的条目，时间是不是在时间限制之后，如果是，就在这个条目的时间代码段前面加上New的标志代码。</p>
<p>首先对文章列表进行改造，发布系统生成&lt;ul&gt;，每篇文章都是一个&lt;li&gt;，每个&lt;li&gt;里面用&lt;a&gt;包含标题，用&lt;samp&gt;来包含发布时间（还可以选择&lt;span&gt;或其他标签，我特意选了不常用的&lt;samp&gt;），最外层用&lt;div&gt;包含（看具体使用来定，也可以使用&lt;table&gt;等），并增加ID属性。以下是列表的代码：</p>
<blockquote><p><code>&lt;div id="News"&gt;<br />&lt;ul&gt;<br />&lt;li&gt;&lt;a href="link" target="_blank"&gt;Title&lt;/a&gt;&lt;samp&gt;2006-07-26 10:20&lt;/samp&gt;&lt;/li&gt;<br />&lt;li&gt;&lt;a href="link" target="_blank"&gt;Title&lt;/a&gt;&lt;samp&gt;2006-07-25 10:20&lt;/samp&gt;&lt;/li&gt;<br />&lt;li&gt;&lt;a href="link" target="_blank"&gt;Title&lt;/a&gt;&lt;samp&gt;2006-07-25 10:20&lt;/samp&gt;&lt;/li&gt;<br />&lt;li&gt;&lt;a href="link" target="_blank"&gt;Title&lt;/a&gt;&lt;samp&gt;2006-07-24 10:20&lt;/samp&gt;&lt;/li&gt;<br />&lt;li&gt;&lt;a href="link" target="_blank"&gt;Title&lt;/a&gt;&lt;samp&gt;2006-07-23 10:20&lt;/samp&gt;&lt;/li&gt;<br />&lt;/ul&gt;<br />&lt;/div&gt;</code></p></blockquote>
<p>Javascript脚本部分，我设定的时间限制是前天0点，也就是说前天发的内容都会加上New的标志。shownew.js代码如下：</p>
<blockquote>
<p><code>//shownew.js<br /><a>//email: 94smart(AT)gmail.com</a><br />//url: http://blog.94smart.com</p>
<p>var TheDay = new Date(); //初始化时间<br />TheDay.setDate(TheDay.getDate()-2); //将时间设定为前天，看实际需要而定<br />TheDay.setHours(0,0,0); //将时间设定为前天0点<br />var newImage = '&lt;img src="images/icon_new.gif" border="0" alt="New" /&gt;'; //New字样图片的代码</p>
<p>function showNew(listId){ //参数listId是要处理列表的ID<br />var thisList = $(listId).getElementsByTagName('li');<br />var listArray = $A(thisList);<br />listArray.each(function(listItem){<br />theSamp = listItem.getElementsByTagName('samp'); //取li里面的samp标签的内容<br />theSamp = theSamp[0];<br />theTime = theSamp.innerHTML; //得到文章的发布时间<br />theTime = new Date(theTime.replace(/\-/g, "/")); //替换时间格式为yyyy/mm/dd h:m:s，如果正好是Javascript的时间格式就不需要这行<br />if (theTime&gt;=TheDay) {<br />new Insertion.Before(theSamp, newImage); //如果发布时间比设定的时限晚就在samp标签前面插入New图片代码<br />}<br />});<br />}</code></p>
</blockquote>
<p>使用的时候在<code>&lt;head&gt;</code>区插入代码：<code>&lt;script src="prototype.js" type="text/javascript"&gt;&lt;/script&gt;</code>和<br /><code>&lt;script src="shownew.js" type="text/javascript"&gt;&lt;/script&gt;，</code>在列表的HTML代码下方加入：<code>&lt;script type="text/javascript"&gt;showNew('News');&lt;/script&gt;</code>，ok，刷新你的页面，看到New了吗？<a href="http:///blog.94smart.com/html/list_show_new.html">没有的话看这里</a>。</p>
<p>上面的代码还可以再挖掘一下，这里就不继续了，希望我的代码对其他人有所帮助。</p>
<p>需要说明的是，用的Prototype是Prototype v1.4.0，别的版本没试，应该也可以。Prototype库真的很强大，尤其是对于我这样的懒人，懒得自己写底层的业余JS人员。</p>
<p>  Technorati : <a href="http://technorati.com/tag/Javascript" rel="tag">Javascript</a>, <a href="http://technorati.com/tag/Prototype" rel="tag">Prototype</a>, <a href="http://technorati.com/tag/XHTML" rel="tag">XHTML</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.94smart.com/cache/2006/0726_826.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
