1

虽然可以使用例如调用 PublishManager.PublishSmart 的计划任务轻松将已达到最终工作流状态的项目发布到 WEB 数据库,但我希望能够发布任何工作流中所有项目的最新版本状态到不同的发布目标(用于内部预览),基本上绕过了工作流程。

您会建议什么是执行此操作的最有效方法,请记住,这需要每天按计划发生几次,而不是每次修改项目和/或更改工作流状态时?

如果我通过说只有处于某些最终和/或非最终)特定工作流状态(例如待批准已批准)的项目需要按计划发布到预览发布目标来更改要求,那么该建议将如何改变?

4

3 回答 3

2

请参阅 Alex Shyba 的这篇博文:http: //sitecoreblog.alexshyba.com/2010/09/publish-to-pre-production-web-database.html。该工作流提供程序加上标准发布代理应该可以为您提供所需的内容。

于 2013-10-29T23:28:06.800 回答
1

<sites>具有enableworkflows=false.

未经测试,但类似于:

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();
        }

请参阅相反问题的答案

于 2013-11-02T01:12:34.320 回答
1

您可能只想配置一个指向主数据库的站点。请参阅有关设置预览站点的此 stackoverflow 答案:Sitecore 编辑器的预览站点

于 2013-11-01T13:46:46.240 回答