/// <summary>
        /// Gets the publish priority.
        /// </summary>
        /// <param name="publishPriority">The publish priority.</param>
        /// <param name="defaultReturnValue">The default return value.</param>
        /// <returns>The PublishPriority enum</returns>
        private PublishPriority GetPublishPriority(string publishPriority, PublishPriority defaultReturnValue = PublishPriority.Low)
        {
            PublishPriority priority = defaultReturnValue;

            try
            {
                if (!Enum.TryParse(publishPriority, true, out priority))
                {
                    priority = defaultReturnValue;
                }
            }
            catch
            {
                ////default to low priority
            }

            return(priority);
        }
 public PublishTransactionData[] Publish(string[] itemUris, PublishInstructionData publishInstructionData,
                                         string[] destinationTargetUris, PublishPriority publishPriority, ReadOptions readOptions)
 {
     return(_client.Publish(itemUris, publishInstructionData, destinationTargetUris, publishPriority, readOptions));
 }
Exemplo n.º 3
0
 public void UnPublish(string[] ids, UnPublishInstructionData instruction, string[] targets, PublishPriority priority)
 {
     this.Client.UnPublish(ids, instruction, targets, priority, new ReadOptions());
 }
        //TODO:
        //public static SessionAwareCoreServiceClient CreateCoreServiceClient(bool isSessionAware = false)
        //{
        //    if (!isSessionAware)
        //        bool.TryParse(ConfigurationManager.AppSettings["isSessionAware"], out isSessionAware);

        //    return CreateCoreServiceSession(isSessionAware).CoreServiceSessionAwareClient;
        //}

        public static PublishTransactionData[] Publish(string [] itemIds, string[] targets, PublishInstructionData publishInstruction = null, PublishPriority priority = PublishPriority.Normal, ReadOptions readOptions = null)
        {
            PublishTransactionData[] obj = null;
            CreateCoreServiceClient().Using(client =>
            {
                try
                {
                    if (readOptions == null)
                    {
                        readOptions = new ReadOptions {
                            LoadFlags = LoadFlags.Expanded
                        }
                    }
                    ;;
                    if (publishInstruction == null)
                    {
                        publishInstruction = new PublishInstructionData {
                        }
                    }
                    ;;

                    if (readOptions == null)
                    {
                        readOptions = new ReadOptions {
                            LoadFlags = LoadFlags.Expanded
                        }
                    }
                    ;
                    obj = client.Publish(itemIds, publishInstruction, targets, priority, readOptions);
                }
                catch (Exception e)
                {
                    obj = null;
                }
            });
            return(obj);
        }
Exemplo n.º 5
0
        public static PublishTransactionData[] PublishItems(this string[] items, string[] targets, PublishInstructionData publishInstruction = null, PublishPriority priority = PublishPriority.Normal, ReadOptions readOptions = null)
        {
            if (items == null || !items.Any())
            {
                throw new ArgumentNullException();
            }
            if (targets == null || !targets.Any())
            {
                throw new ArgumentNullException();
            }

            return(TridionCoreServiceFactory.Publish(items, targets, publishInstruction, priority, readOptions));
        }
Exemplo n.º 6
0
        public static PublishTransactionData[] PublishItems <T>(this T items, string[] targets, PublishInstructionData publishInstruction = null, PublishPriority priority = PublishPriority.Normal, ReadOptions readOptions = null) where T : IEnumerable <RepositoryLocalObjectData>
        {
            if (items == null || !items.Any())
            {
                throw new ArgumentNullException();
            }
            if (targets == null || !targets.Any())
            {
                throw new ArgumentNullException();
            }

            return(PublishItems(items.Select(x => x.Id).ToArray(), targets, publishInstruction, priority, readOptions));
        }
Exemplo n.º 7
0
        public static PublishTransactionData PublishItem <T>(this T item, string[] targets, PublishInstructionData publishInstruction = null, PublishPriority priority = PublishPriority.Normal, ReadOptions readOptions = null) where T : RepositoryLocalObjectData
        {
            if (item == null)
            {
                throw new ArgumentNullException();
            }
            if (targets == null || !targets.Any())
            {
                throw new ArgumentNullException();
            }

            return(PublishItems(new string[] { item.Id }, targets, publishInstruction, priority, readOptions).FirstOrDefault());
        }
Exemplo n.º 8
0
 public static void UnPublish(this IdentifiableObjectData objectData, string purpose, PublishPriority prio = PublishPriority.Low, DateTime?StartAt = null)
 {
     objectData.UnPublish(new[] { purpose }, prio, StartAt);
 }
Exemplo n.º 9
0
        public static void UnPublish(this IdentifiableObjectData objectData, string[] purpose, PublishPriority prio = PublishPriority.Low, DateTime?StartAt = null)
        {
            var unPubInst = new UnPublishInstructionData()
            {
                ResolveInstruction = new ResolveInstructionData()
                {
                    IncludeChildPublications = false,
                    Purpose = ResolvePurpose.UnPublish,
                    StructureResolveOption = StructureResolveOption.OnlyItems
                },

                RollbackOnFailure = false
            };

            if (StartAt.HasValue)
            {
                unPubInst.StartAt = StartAt;
            }

            Wrapper.Instance.UnPublish(new string[] { objectData.Id.ToString() }, unPubInst, purpose, PublishPriority.Low, new ReadOptions());
        }
 /// <summary>
 /// Publishes a <see cref="T:Tridion.ContentManager.IdentifiableObject" /> to the current <see cref="T:Tridion.ContentManager.CommunicationManagement.PublicationTarget" /> and
 /// with <see cref="T:Tridion.ContentManager.Publishing.PublishPriority" /> using the current <see cref="P:PublishingUser"/>
 /// </summary>
 /// <param name="Item"><see cref="T:Tridion.ContentManager.IdentifiableObject" /></param>
 /// <param name="Priority"><see cref="T:Tridion.ContentManager.Publishing.PublishPriority" /></param>
 public void PublishItem(IdentifiableObject Item, PublishPriority Priority)
 {
     PublishItem(PublishingUser, Item, Priority);
 }
 /// <summary>
 /// Publishes a <see cref="T:Tridion.ContentManager.IdentifiableObject" /> to the current <see cref="T:Tridion.ContentManager.CommunicationManagement.PublicationTarget" /> and
 /// with <see cref="T:Tridion.ContentManager.Publishing.PublishPriority" />
 /// </summary>
 /// <param name="PublishUser"><see cref="T:Tridion.ContentManager.Security.User" /></param>
 /// <param name="Item"><see cref="T:Tridion.ContentManager.IdentifiableObject" /></param>
 /// <param name="Priority"><see cref="T:Tridion.ContentManager.Publishing.PublishPriority" /></param>
 public void PublishItem(User PublishUser, IdentifiableObject Item, PublishPriority Priority)
 {
     PublishItem(PublishUser, Item, Engine.PublishingContext.PublicationTarget, Priority);
 }
        /// <summary>
        /// Publishes a <see cref="T:Tridion.ContentManager.IdentifiableObject"/> to a given <see cref="T:Tridion.ContentManager.CommunicationManagement.PublicationTarget"/> and
        /// with <see cref="T:Tridion.ContentManager.Publishing.PublishPriority"/>
        /// </summary>
        /// <param name="PublishUser"><see cref="T:Tridion.ContentManager.Security.User"/></param>
        /// <param name="Item"><see cref="T:Tridion.ContentManager.IdentifiableObject"/></param>
        /// <param name="Target"><see cref="T:Tridion.ContentManager.CommunicationManagement.PublicationTarget"/></param>
        /// <param name="Priority"><see cref="T:Tridion.ContentManager.Publishing.PublishPriority"/></param>
        /// <param name="startDate"><see cref="T:System.DateTime"/></param>
        public void PublishItem(User PublishUser, IdentifiableObject Item, PublicationTarget Target, PublishPriority Priority, DateTime startDate)
        {
            if (Engine.RenderMode == RenderMode.Publish)
            {
                if (startDate == null)
                {
                    startDate = DateTime.Now;
                }

                using (Session session = new Session(PublishUser.Title))
                {
                    PublishInstruction publishInstruction = new PublishInstruction(session)
                    {
                        StartAt  = startDate,
                        DeployAt = startDate
                    };
                    RenderInstruction renderInstruction = new RenderInstruction(session);

                    renderInstruction.RenderMode         = RenderMode.Publish;
                    publishInstruction.RenderInstruction = renderInstruction;

                    PublishEngine.Publish(new IdentifiableObject[] { session.GetObject(Item.Id) }, publishInstruction, new PublicationTarget[] { Target }, Priority);
                }
            }
        }
 /// <summary>
 /// Publishes a <see cref="T:Tridion.ContentManager.IdentifiableObject"/> to a given <see cref="T:Tridion.ContentManager.CommunicationManagement.PublicationTarget"/> and
 /// with <see cref="T:Tridion.ContentManager.Publishing.PublishPriority"/>
 /// </summary>
 /// <param name="PublishUser"><see cref="T:Tridion.ContentManager.Security.User"/></param>
 /// <param name="Item"><see cref="T:Tridion.ContentManager.IdentifiableObject"/></param>
 /// <param name="Target"><see cref="T:Tridion.ContentManager.CommunicationManagement.PublicationTarget"/></param>
 /// <param name="Priority"><see cref="T:Tridion.ContentManager.Publishing.PublishPriority"/></param>
 public void PublishItem(User PublishUser, IdentifiableObject Item, PublicationTarget Target, PublishPriority Priority)
 {
     PublishItem(PublishingUser, Item, Engine.PublishingContext.PublicationTarget, PublishTransaction.Priority, DateTime.Now);
 }