/// <summary> /// Returns the <see cref="T:Tridion.ContentManager.ContentManagement.Fields.ItemFields" /> for the /// <see cref="T:Tridion.ContentManager.ContentManagement.Component" /> /// </summary> /// <param name="component"><see cref="T:Tridion.ContentManager.ContentManagement.Component" /></param> /// <returns><see cref="T:Tridion.ContentManager.ContentManagement.Fields.ItemFields" /></returns> public static ItemFields Fields(this Component component) { if (component != null) { return(ItemFieldsFactory.Get(component, component.Content, component.Schema)); } return(null); }
/// <summary> /// Returns the metadata <see cref="T:Tridion.ContentManager.ContentManagement.Fields.ItemFields" /> for the /// <see cref="T:Tridion.ContentManager.CommunicationManagement.Publication" /> /// </summary> /// <param name="publication"><see cref="T:Tridion.ContentManager.CommunicationManagement.Publication" /></param> /// <returns><see cref="T:Tridion.ContentManager.ContentManagement.Fields.ItemFields" /></returns> public static ItemFields MetadataFields(this Publication publication) { if (publication != null) { return(ItemFieldsFactory.Get(publication, publication.Metadata, publication.MetadataSchema)); } return(null); }
/// <summary> /// Returns the metadata <see cref="T:Tridion.ContentManager.ContentManagement.Fields.ItemFields" /> for the /// <see cref="T:Tridion.ContentManager.ContentManagement.RepositoryLocalObject" /> /// </summary> /// <param name="repositoryLocalObject"><see cref="T:Tridion.ContentManager.ContentManagement.RepositoryLocalObject" /></param> /// <returns><see cref="T:Tridion.ContentManager.ContentManagement.Fields.ItemFields" /></returns> public static ItemFields MetadataFields(this RepositoryLocalObject repositoryLocalObject) { if (repositoryLocalObject != null) { return(ItemFieldsFactory.Get(repositoryLocalObject, repositoryLocalObject.Metadata, repositoryLocalObject.MetadataSchema)); } return(null); }
/// <summary> /// Execute the transformation for the specified template /// </summary> /// <param name="Engine"><see cref="T:Tridion.ContentManager.Templating.Engine"/>.</param> /// <param name="Package"><see cref="T:Tridion.ContentManager.Templating.Package"/></param> public void Transform(Engine Engine, Package Package) { try { mTicksStart = Environment.TickCount; mEngine = Engine; mPackage = Package; // Actual template transformation PreTransform(); Transform(); PostTransform(); } catch (Exception ex) { String exceptionStack = LoggerExtensions.TraceException(ex); Logger.Error("TemplateBase.Transform Exception\n" + exceptionStack); StringBuilder sb = new StringBuilder(); sb.AppendLine(ex.Message); sb.AppendFormat("Publisher: {0}\n", Environment.MachineName); sb.Append(exceptionStack); // Re-throw to ensure Tridion knows what happened throw new Exception(sb.ToString(), ex); } // Ensure we always clean up, no matter what happens during the template transformation finally { Logger.Info("{0}: Render time {1:0.00000} seconds @ {2:dd/MM/yyyy hh:mm:ss tt} ", this.GetType().FullName, ProcessedTime / 1000.0, DateTime.Now); // Do not cache objects across template transformations ItemFieldsFactory.ClearCache(); // Clear published binaries list if it was used if (mPublishedBinaries.IsValueCreated) { mPublishedBinaries.Value.Clear(); } mPackage = null; mEngine = null; mLogger = null; mComponent = null; mComponentTemplate = null; mPage = null; mPageTemplate = null; mRootStructureGroup = null; mPublication = null; mPublishTransaction = null; mPublishingUser = null; mPublicationTarget = null; } }