虽然可以使用调用PublishManager.PublishSmart的计划任务轻松地将已达到最终工作流状态的项目发布到WEB数据库,但我希望能够发布所有项目的最新版本。在任何工作流状态下,到不同的发布目标(用于内部预览),基本上绕过工作流程。
您建议采用哪种高效方式执行此操作,请注意,这需要每天在时间表和不每次修改项目和/或更改工作流程状态?
如果我通过说只有某些(最终和/或不是最终>的项目来更改要求,该建议会如何变更? )特定工作流状态(例如待批准和已批准)是否需要按计划发布到预览发布目标?
答案 0 :(得分:2)
请参阅Alex Shyba撰写的这篇博客文章:http://sitecoreblog.alexshyba.com/2010/09/publish-to-pre-production-web-database.html。该工作流程提供程序以及标准发布代理程序可以帮助您获得所需内容。
答案 1 :(得分:1)
您可能只想配置指向Master数据库的站点。请参阅有关设置预览网站的stackoverflow答案:Preview site for Sitecore editors
答案 2 :(得分:1)
在具有<sites>
的网站(在enableworkflows=false
下的web.config中定义)的上下文中发布。
未经测试,但类似:
using (new SiteContextSwitcher(SiteContextFactory.GetSiteContext("system"))) // workflows not enabled
{
var options = new PublishOptions(Context.ContentDatabase, Factory.GetDatabase("web"), PublishMode.Smart, null, DateTime.Now);
options.PublishingTargets.Clear();
options.PublishingTargets.Add("internal preview");
new Sitecore.Publishing.Publisher(options).Publish();
}