<?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>群英汇博客 &#187; 沟通系统</title> <atom:link href="http://blog.ossxp.com/category/comm/feed/" rel="self" type="application/rss+xml" /><link>http://blog.ossxp.com</link> <description></description> <lastBuildDate>Wed, 14 Sep 2011 03:52:03 +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>群英汇邮件列表更新</title><link>http://blog.ossxp.com/2010/11/2070/</link> <comments>http://blog.ossxp.com/2010/11/2070/#comments</comments> <pubDate>Fri, 12 Nov 2010 09:13:51 +0000</pubDate> <dc:creator>崔贵林</dc:creator> <category><![CDATA[新闻]]></category> <category><![CDATA[沟通系统]]></category> <category><![CDATA[Mailman]]></category> <category><![CDATA[邮件列表]]></category><guid
isPermaLink="false">http://blog.ossxp.com/?p=2070</guid> <description><![CDATA[经过近两周的工作，群英汇邮件列表系统（Mailman）更新了，主要修正了以下四个方面的问题。
归档附件链接由绝对路径改为相对路径
发给邮件列表的邮件若有附件，Mailman 在生成归档网页时会将附件保存到相应文件，并在归档网页中建立链接。通常会用华丽的分割符“&#8212;”来界限，然后是相应的链接。链接是相应归档附件的绝对地址，即用 http打头，紧跟着是域名，可以点击链接查看或下载附件。
群英汇邮件列表有一个改进就是将绝对地址转换为相对地址，这样当用户的邮件列表主机的域名修改后或者因为安全上的需要由HTTP转换为HTTPS协议的时候，归档的链接也依然有效。否则，在更换域名时这些网页必须重新生成，这对有大量邮件存档的服务器来说将是一个梦魇。
但是，群英汇之前的实现有一个副作用，就是当使用相对路径则没有生成链接，而只是文本显示出来
-------------- next part --------------
一个HTML附件被移除...
URL: &#60;/mailman/private/tech/attachments/20101111/79f938b2/attachment.htm&#62;在经过反复的研究之后，终于定位在代码 Mailman/Archiver/HyperArch.py：
158 #  Argh!  This pattern is buggy, and will choke on URLs with GET parameters.
159 # MAS: Given that people are not constrained in how they write URIs in plain
160 # text, it is not possible to have a single regexp to reliably match them.
<a
href="http://blog.ossxp.com/2010/11/2070/" class="more-link">阅读全部内容 &#187;</a>]]></description> <wfw:commentRss>http://blog.ossxp.com/2010/11/2070/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>群英汇 Mailman 人性化设计(6): 存档安全性</title><link>http://blog.ossxp.com/2010/05/1142/</link> <comments>http://blog.ossxp.com/2010/05/1142/#comments</comments> <pubDate>Sun, 30 May 2010 08:08:07 +0000</pubDate> <dc:creator>蒋 鑫</dc:creator> <category><![CDATA[沟通系统]]></category> <category><![CDATA[Mailman]]></category><guid
isPermaLink="false">http://blog.ossxp.com/?p=1142</guid> <description><![CDATA[Mailman 本身包含两种邮件存档策略：公开的和成员。即或者所有用户均可访问，或者只有订阅者有权访问。当设置为成员访问时，访问列表需要输入密码，而密码是在订阅时输入的，而且可能每月一变，新的密码会发到邮箱中。
我们发现企业用户对邮件列表存档访问的需求有：只允许公司内部人员访问，不允许其它人员访问
访问存档的身份认证不要那么复杂，每月一变的密码，让用户访问起来非常不便于是我们在存档访问时也使用单点登录认证，并在存档访问增加了“认证用户”的新的策略。
即群英汇最新实现的 Mailman 支持三种存档策略：群英汇在 Mailman 上还有更多的界面上的改进，如 CSS 支持等，不再一一列举。
]]></description> <wfw:commentRss>http://blog.ossxp.com/2010/05/1142/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>群英汇 Mailman 人性化设计(5): 创建新列表</title><link>http://blog.ossxp.com/2010/05/1139/</link> <comments>http://blog.ossxp.com/2010/05/1139/#comments</comments> <pubDate>Sat, 29 May 2010 07:48:52 +0000</pubDate> <dc:creator>蒋 鑫</dc:creator> <category><![CDATA[沟通系统]]></category> <category><![CDATA[Mailman]]></category><guid
isPermaLink="false">http://blog.ossxp.com/?p=1139</guid> <description><![CDATA[创建新列表，在 Mailman 中是如何进行的呢？看看 Python 的邮件列表的新建页面。输入列表名称，以及一系列列表的设置
在表单的最后，需要输入口令，即：List creator&#8217;s (authentication) password即 Mailman 本身的创建列表的授权，是通过简单的密码检查完成的。这样的实现存在安全问题和管理问题：密码认证在不安全的 http 信道内进行，存在密码泄漏风险
只有密码，没有用户名的不完整的认证。知道密码的可能有多个人，无法得知是谁完成的操作
密码管理，需要在命令行下执行 mmsitepass 命令重置管理员密码或者列表创建密码群英汇扩展的Mailman解决这个问题，是通过双因子认证完成的。
访问邮件列表创建页面，必须先经过认证
即访问邮件列表创建的 URL（http://&#8230;/mailman/create），首先需要经过认证关。如果没有经过认证是看不到列表创建页面的。
而认证，会跳转到单点登录平台进行双因子认证。
双因子认证，验证用户授权
双因子的含义是：不但要确认你知道什么（口令），还要确认你有什么。如你的指纹，你的虹膜，你的声音，再如你的权限&#8230;
群英汇的单点登录平台基于 CoSign 进行了改进，加入了身份何时的双因子认证。在用户管理平台如果给用户分配了 admin_list 授权，则用户成为列表管理员。
只有具有列表管理员身份的用户，才能通过双因子认证。
通过认证后，显示列表创建页面比照 Mailman 原来的设计，会发现一些变动：没有了列表初始密码设置项
因为列表的管理员认证，不再通过密码认证，而是通过单点登录进行身份认证。
没有了列表创建者密码输入项
因为当看到这个页面时，已经通过双因子认证，管理员的身份已经核实了。下一个博文，我们将介绍“邮件列表安全性改进：订阅策略和存档安全性设置”。
]]></description> <wfw:commentRss>http://blog.ossxp.com/2010/05/1139/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>群英汇 Mailman 人性化设计(4): 列表订阅策略</title><link>http://blog.ossxp.com/2010/05/1249/</link> <comments>http://blog.ossxp.com/2010/05/1249/#comments</comments> <pubDate>Thu, 27 May 2010 07:15:50 +0000</pubDate> <dc:creator>蒋 鑫</dc:creator> <category><![CDATA[沟通系统]]></category> <category><![CDATA[Mailman]]></category><guid
isPermaLink="false">http://blog.ossxp.com/?p=1249</guid> <description><![CDATA[Mailman 本身只包含三种订阅策略，有：确认, 要求核准 和 确认并核准。这三种订阅策略都要求用户手工输入自己的邮件地址，以及一个口令。例如：Python-idea 列表的订阅。
这样的邮件列表使用起来不方便，尤其对于企业用户可能有着下面的需求：只允许使用公司内部的邮件地址订阅，不允许使用其它非企业邮箱订阅；
如果员工用外网邮箱订阅，会出现员工离职但是邮件通知仍然通过外网邮箱获取，导致信息泄漏；
企业都有相应的用户管理中心甚至认证中心，应该允许认证用户直接订阅，而不必手工输入邮件地址信息；群英汇扩展了邮件列表系统的订阅策略，增加了两个新的订阅策略。
增加的两个新的订阅策略：登录后方能订阅，以及登录并经管理员审核后订阅。
登录后方能订阅如果没有登录，提示用户需要先登录才能订阅登录后，直接点击按钮即可订阅，而无须再输入邮件地址登录并经管理员审核后订阅
订阅界面和上面的订阅策略类似，但是当发出订阅请求后，订阅不是马上生效，还需要管理员手工处理。当管理员审核通过后，订阅才告成功。这适合于需要严格身份审核的列表。
在订阅界面上会显示需要审核的提示信息：]]></description> <wfw:commentRss>http://blog.ossxp.com/2010/05/1249/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>群英汇 Mailman 人性化设计(3): 列表订阅的人性化设计</title><link>http://blog.ossxp.com/2010/05/1136/</link> <comments>http://blog.ossxp.com/2010/05/1136/#comments</comments> <pubDate>Mon, 17 May 2010 05:21:12 +0000</pubDate> <dc:creator>蒋 鑫</dc:creator> <category><![CDATA[沟通系统]]></category> <category><![CDATA[Mailman]]></category><guid
isPermaLink="false">http://blog.ossxp.com/?p=1136</guid> <description><![CDATA[在邮件列表一览页面，当点击某个列表，将进入相应列表的首页。在 Mailman 本身的实现中，这个首页会包含该列表的订阅对话框（需要手动填写），还包含该列表的订阅编辑对话框。例如：Python-idea 列表的首页 。
而群英汇为每个列表的首页都加入的身份认证的判别。如果用户已经登录，则显示类似下面的界面：如果列表已经订阅，会显示“用户已经订阅本列表”的信息
如果用户尚未订阅列表，会显示订阅对话框，不过对话框中的邮件地址信息已经自动填好。
在花名册查看对话框以及订阅编辑对话框等，不再显示口令输入等输入对话框，而是简化成一个按钮，因为认证已经完成或者认证会在点击对话框后开始。另外一个主要的不同，订阅的策略的改进，增加了新的订阅策略，更加符合公司/团队的使用习惯。请听下回分解。
]]></description> <wfw:commentRss>http://blog.ossxp.com/2010/05/1136/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>群英汇 Mailman 人性化设计(2): 管理员认证方式和管理员面板的变化</title><link>http://blog.ossxp.com/2010/05/1133/</link> <comments>http://blog.ossxp.com/2010/05/1133/#comments</comments> <pubDate>Sun, 09 May 2010 09:04:40 +0000</pubDate> <dc:creator>蒋 鑫</dc:creator> <category><![CDATA[沟通系统]]></category> <category><![CDATA[Mailman]]></category><guid
isPermaLink="false">http://blog.ossxp.com/?p=1133</guid> <description><![CDATA[Mailman 的管理员界面缺省并不进行认证（例如：Mailnan 项目本身的 admin 页面），这有点说不过去：管理员界面中的创建新列表链接，需要口令认证
管理员界面中的其他链接，指向各个列表的配置界面，也需要口令认证
因为管理员界面不进行认证，因此非公开列表也不显示，管理员也成了瞎子&#8230;在我们为 Mailman 增加了新的认证机制后，管理员界面必须登录才能访问，并能够显示列表概要信息。下面显示的是登录后的管理员面板：可以看出：在欢迎信息中，会显示管理员的姓名
列表名称加粗，并标注了星号的列表，是登录管理员已经订阅了的邮件列表
斜体非加粗的列表，是登录管理员尚未订阅的邮件列表
用删除线标识的列表，是隐含列表，不会显示在 listinfo （列表一览页面）中
配置标识，显示了该列表的概要信息第一段：由三个字母组成，代表订阅和取消订阅的策略第一个字母若为 C ，含义为订阅需要经过邮件确认 (Confirm)
第一个字母若为 L ，含义为必须先登录才能订阅 (Login)
第一个字母若为 &#8211; ，含义为订阅无须确认和登录
第二个字母若为 A ，含义为订阅须经管理员审核 (Approve)
第二个字母若为 &#8211; ，含义为订阅无须管理员审核
第三个字母若为 A ，含义为退订须经管理员审核 (Approve)
第三个字母若为 &#8211; ，含义为退订无须管理员审核第二段：由一个字母组成，代表查看花名册的策略第一个字母若为 L ，含义为登录后才能查看花名册
第一个字母若为 M ，含义为只有列表成员才能查看花名册
第一个字母若为 A ，含义为只有管理员才能查看花名册
第一个字母若为 X ，含义为任何人都可以查看花名册第三段：由一个字母组成，代表存档策略第一个字母若为 L ，含义为登录后才能查看历史存档
第一个字母若为 M ，含义为只有列表成员才能查看历史存档
第一个字母若为 P ，含义为任何人均可查看历史存档第四段：由两个数字组成，表示列表的订阅人数第一个数字为即时收信的订阅者人数
第二个数字为所有订阅者，包含通过摘要收信的用户新的管理员面板，不但让管理员能够看到非公开列表，也能通过概要信息检查各个列表的隐私设置是否合理，订阅成员的统计信息等。无疑大大方便了管理员。
下一个博客我们将介绍 “邮件列表订阅界面的人性化设计”。
]]></description> <wfw:commentRss>http://blog.ossxp.com/2010/05/1133/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>群英汇 Mailman 人性化设计(1): 列表一览页增加登录和已订阅列表加亮</title><link>http://blog.ossxp.com/2010/05/1129/</link> <comments>http://blog.ossxp.com/2010/05/1129/#comments</comments> <pubDate>Sat, 01 May 2010 11:12:45 +0000</pubDate> <dc:creator>蒋 鑫</dc:creator> <category><![CDATA[新闻]]></category> <category><![CDATA[沟通系统]]></category> <category><![CDATA[Mailman]]></category><guid
isPermaLink="false">http://blog.ossxp.com/?p=1129</guid> <description><![CDATA[群英汇为 Mailman 增加了独创的认证插件，从根本上改变了 Mailman 原有的基于简单 COOKIE 加口令的认证方式。为普通用户和管理员使用邮件列表提供了更为人性化的设计。
首先，我们介绍一下在 listinfo 页面，就是 列表一览 页面的改进。
列表一览页中的登录链接
Mailman 本身缺乏用户身份认证机制，在 listinfo 页面上根本不存在用户登录的概念。参照：Mailnan 项目本身的 listinfo 页面。
在 群英汇 邮件列表的listinfo 页面中，提供了一个登录的链接。对于使用过并且熟悉 Mailman 的人来说，会觉得不可思议。因为在 Mailman 传统概念中，根本就没有用户的概念，有的只是一个一个订阅的邮件地址。那么如果点击登录后，会有什么反应呢？首先跳转到单点登录页面。例如： https://weblogin.ossxp.com/
登录成功后，会跳转回到 listinfo 页面登录后的列表一览页面
这就是登录后的截图：可以看出：你的大名在第一行的欢迎信息中出现了
列表一览的表格中，列表名称有的加亮显示（并在结尾用星号标识），有的斜体显示
加亮显示（并用星号标识）的列表是登录用户已经订阅的列表
斜体显示的列表是登录用户尚未订阅的列表
登录后显示的列表数目比登录前增加了，这是因为用户订阅了非公开列表。订阅的非公开列表在登录后，显示在了 listinfo 页面。下一个博文，我们看看“管理员认证的变化和管理员面板的变化”。
]]></description> <wfw:commentRss>http://blog.ossxp.com/2010/05/1129/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>wordpress日志评论时间错误问题</title><link>http://blog.ossxp.com/2010/01/238/</link> <comments>http://blog.ossxp.com/2010/01/238/#comments</comments> <pubDate>Thu, 14 Jan 2010 13:49:19 +0000</pubDate> <dc:creator>雷 魏魏</dc:creator> <category><![CDATA[博客软件]]></category> <category><![CDATA[沟通系统]]></category> <category><![CDATA[wordpress]]></category> <category><![CDATA[日志留言]]></category> <category><![CDATA[时间问题]]></category><guid
isPermaLink="false">http://blog.ossxp.com/?p=238</guid> <description><![CDATA[也许这个问题在你的服务器中不是常见的，但是偶然间还是会碰到的，它就像定时炸弹一样，说不定
下一秒钟在你的服务器上爆发了。
关于这个问题的解决过程真的不敢妄自菲薄，我先把问题叙述一下。这个是我们错误显示的截图：当你看到那个醒目的&#8221;大约－1年&#8221;时，不知道你作何敢想。原来鼎鼎大名的Wordpress也有这样的
错误，其实细查下来才会发现这是当前主题和Wordpress内部函数共同酿成的苦果。
有了以往查找错误的经验，先查找“大约-1年前”出现的变量的地址，然后就可以按图索骥了，根
据变量你很快就能定位到“主题名/functions.php“文件中，在functions.php下的timeSince函数中
有这样一个变量：$since,
$since = current_time('timestamp',$wp_time_offset ? get_option('gmt_offset') : 0) - $startTimestamp;
它的值为当前时间－发表评论的时间，你可以打一下这个
current_time('timestamp',$wp_time_offset ? get_option('gmt_offset') : 0)
,结果显示那条错误的评论和那些正确的评论取出的当前时间都是正确的，说明问题还不在于此。
继续往下找，在真正输出时间的地方，该主题又对发表评论的时间进行了处理，如下：
comment_date));?&#62;
，
用echo命令输出的信息表明$comment-&#62;comment_date所取出的时间并没有错误，错误就发生
在strtotime,这个PHP内部函数上，PHP内部函数也会出问题？我的第一个反应就是这样。
我们看一下PHP的这个函数，下面是对该函数的说明：
The function expects to be given a string containing a US English date format
and will try to parse that format into a Unix timestamp (the number of seconds
since January 1 1970 00:00:00 UTC), relative to the timestamp given in now ,
or the current <a
href="http://blog.ossxp.com/2010/01/238/" class="more-link">阅读全部内容 &#187;</a>]]></description> <wfw:commentRss>http://blog.ossxp.com/2010/01/238/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (user agent is rejected)
Database Caching 9/17 queries in 0.008 seconds using disk

Served from: blog.ossxp.com @ 2012-02-09 17:06:38 -->
