a PLONE pages validator
collective.validator.base的Python项目详细描述
验证工具
简介
validationtool是plone 3的web验证程序。它验证了plone站点的所有页面。 这个包是一个基本工具,它设置了一些选项字段,需要插件包来进行有效的验证。 每个插件允许设置不同类型的验证(如css、xhtml strict或transitional)。
每个软件包都有一些测试,也有意大利语翻译。
基本工具是一个安装产品,插件只需要放在"src"目录中,并在buildout.cfg中注册即可。
验证日志可以存储在单独的日志中。 要保存到单独的日志中,需要将名为validator_log_file的环境变量设置到buidout.cfg的instance部分 以及日志文件的路径。(例如:/opt/validator.buildout/val/log/validator.log)
可以将名为validator_portal_url的环境变量设置到buildout.cfg的instance部分。 在创建验证报告期间,此变量用作门户的url。 如果必须直接从服务器(如wget)调用验证,并且url包含"localhost"和 实例端口。
使用Quick Installer安装包后,您可以在"站点设置"->;"其他产品"中查看并设置其字段。 如果您单击它,您将进入一个允许我们查看验证报告列表或配置我们的工具的页面。
如果页面属于 选定的类型。
另一个功能是远程验证。它允许使用"url_the_site/remote_validator"运行站点验证。 例如,如果您希望使用诸如"cron"之类的问题安排定期验证,则可以使用此功能。
内容
在"配置"页中,以下字段分为3部分:
配置:
- 验证类型:用于设置集成验证的验证程序类型的选择字段
- 验证器url:文本字段,可在其中设置要使用的w3c验证器的url。例如,官方的w3c验证器,或具有w3c源的本地验证器
- 睡眠间隔:设置每个验证调用之间的延迟
- 启用集成验证代码:启用允许验证单个页面的选项
验证:
- 验证类型:用于设置门户验证的验证程序类型的选择字段
- 要验证的门户类型:列出要验证的所有可用门户类型的多选字段
- 要验证的审阅状态:列出要验证的审阅状态的多选字段
- 匿名验证:如果选中此控件,则该工具将HTML页面代码作为匿名用户视图
- 上次修改后的最大天数:上次修改内容后的最大天数。保留0忽略筛选器
- 创建报表文档:在名为"atreport"的特殊文档对象中创建报表
- 创建文件文档:在.txt文件中创建报告。此文件比报表轻
- 将报告发送到电子邮件地址:如果要通过电子邮件发送报告,请选择该字段
- 传递地址:要发送报告的地址列表
调试:
- 要验证的门户类型:列出要调试的所有可用门户类型的多选字段
- 将报告发送到电子邮件地址:如果要通过电子邮件发送报告,请选择该字段
- 传递地址:要发送报告的地址列表
代理:
- 代理地址
- 代理端口
- 代理用户ID
- 代理密码
然后您可以保存选项、取消更改、保存并运行验证/调试或转到报告页。
每次验证站点时,都会创建一个包含验证结果的报告页并将其存储在该工具中,如果需要的话 也通过电子邮件发送给您。
添加新验证程序
要创建新的验证器,必须执行以下步骤:
使用"paster create-t nested_namespace collective.validator.type_to_validate"创建一个egg。
在collective.validator.your_validator/collective/validator/your_validator/中,应该是以下文件:
- 使用此字符串配置.zcml:<;adapter factory=".adapter.class_name_the_adapter"/>;
- adapter.py扩展了"parser"类,实现了"iadapter_name"接口,并适应了"ivtplone"接口。 它应该有包含验证器url和类型的"val_url"和"val_type"字符串 您想要使用的验证器(看我如何在其他适配器中编写它)。那么它应该有一个 "getValidationResults"metohd,它设置与远程验证器的连接并调用XML解释器。 搜索所选页面的"runvalidation"方法,为每个页面调用"getvalidationresults"并创建报表 "rundebugvalidation"方法,尝试验证其他视图,如edit和news。 返回URL和类型值的"getValidatorUrl"和"getValidatorType"方法
- 包含init.py模块和定义适配器类的interfaces.py文件的interfaces文件夹
- i18n用于控制翻译文件的文件夹
- 包含测试文件的测试文件夹
把这个包放在buildout的"src"文件夹中,在buildout.cfg中注册,重新构建buildout,它就会工作。
学分
这是一个由卢卡·法布里和米尔科·安吉利尼发起的项目,我刚刚对它进行了修改并完成了它的功能。 感谢所有帮助我完成此项目的红海龟技术团队。