18

Install the module Get the .psm1, .psd1 and DLL files from the project. You can also copy the CoreService DLL from the %TRIDION_HOME%bin\client\CoreService folder on your Content Manager Create a directory C:\Users\username\Documents\WindowsPowerShell\Modules\CoreService C:\Users\username\Documents\WindowsPowerShell\Modules\Tridion-CoreService Copy the ....


17

Via core service you can retrieve PublishTransactionData object, which contains all info about transaction itself: PublishTransactionData transaction = (PublishTransactionData)Client.Read(transactionID, new ReadOptions()); PublishTransactionState transactionState = transaction.State; DateTime transactionStateChange = transaction.StateChangeDateTime; string ...


15

Looks like you need to add a resolve instruction object to your publishing. I did something similar when I wrote the PagePublish Power tool (you can view the full code here: https://code.google.com/p/tridion-2011-power-tools/source/browse/trunk/PowerTools.Model/Services/PagePublisher.svc.cs) The main bits you need are: The call to publish : coreService....


14

You need to cast LocationInfo to PublishLocationInfo, something like this: ((PublishLocationInfo)page.LocationInfo).PublishLocationUrl


13

Pass the WebDAV URL in the id parameter of IsExistingObject. Most (if not all) places the core service accepts an id you can use either a WebDAV URL or a TCM URI. Notice you can read an object so you get all WebDAV URLs instead of TCM URIs as well, simply set the ReadOptions.LoadFlags to LoadFlags.WebDavUrls.


13

Nuno had started this topic for Tom.net in another question: Getting additional keyword information from item Xml?. It's the same for Core Service. Need to use LoadFlags as follows: ReadOptions readOptions = new ReadOptions(); readOptions.LoadFlags = LoadFlags.KeywordXlinks; ... var pageData = (PageData)client.TryCheckOut(id, readOptions);


13

The LoadFlags differs a lot than say the ListBaseColumns enumeration, in that its actually a flag based property and not just a standard enum. While ListBaseColumns allows you to choose only ONE of the options, the LoadFlags lets you add mix and match by choosing one or many of the options. When you create a new ReadOptions(), the LoadFlags property is set ...


13

You'll need LoadFlags.Expanded, and then you can get the items from the PublishContexts. I've just done a little POC with the following code and a published Structure Group and both resolvedItems and processedItems arrays have four items in them. void Main() { ReadOptions opt = new ReadOptions() { LoadFlags = LoadFlags.Expanded}; string ...


12

Looks like I have to set the MetaDataSchema to an "empty" LinkToSchemaData object instead of null var organizationalItem = (FolderData)client.Read(organizationalItemID, new ReadOptions()); var emptySchema = new LinkToSchemaData(); emptySchema.IdRef = "tcm:0-0-0"; organizationalItem.MetadataSchema = emptySchema; organizationalItem = (FolderData)client.Save(...


12

The CoreServiceFault error codes are not documented in the API documentation and I think the list of error codes is not in the Tridion.ContentManager.CoreService.Client.dll either. Maybe this could be explained because it is up to the Core Service to throw the fault, the client cannot have a complete list of all fault codes. I think you should check e....


12

You can access the error code by catching the exception as FaultException<CoreServiceFault> and then accessing the Detail property. For example: try { client.Delete(itemId); } catch (FaultException<CoreServiceFault> ex) { switch (ex.Detail.ErrorCode) { case "PermissionDenied": // Do something specific to the user ...


12

How about: client.IsExistingObject(uri);


12

The event system code loads when the Tridion Content Manager Service Host service loads, and you can see this in the Windows Event Viewer. As each event handler loads you will see the status showing that the TCM Extension has been initialized. or


11

After running some test, it appears you can pass in a WebDav path to the Category, although the webdav path is in no means intuitive, it takes the format, /webdav/publication name/category name/ CategoryData category = (CategoryData)_coreService.Read("/webdav/publication name/category name/", defaultReadOptions); thanks Ibrar Hussain for pointing me in ...


11

You can only use ECL URIs in the following places: 1) Client side (so in the Anguilla JavaScript code) 2) In DataExtenders placed after the ECL data extenders. 3) In the ECL API (accessible from for example templates) The Tridion core service simply do not know what an ECL URI is. So your links will be treated as unmanaged links - and unmanaged links do ...


11

Assuming you are using Tridion 2011/2013, Page Metadata can be read in several ways. Templates @@Page.Metadata.field@@ (Dreamweaver Syntax) ItemFields metaFields = new ItemFields(page.Metadata, page.MetadataSchema); (TOM.Net) Event System ItemFields metaFields = new ItemFields(page.Metadata, page.MetadataSchema); (TOM.Net) Core Services PageData page = ...


11

TCM URIs are not guaranteed to be the same across systems (quite the opposite, in fact). They are basically assigned in the order you create items. So sometimes, items might have the same URIs because they are created by the system at installation time -- but you cannot rely on it. Anyway, what you want to do is ask the system for the Schema ID. For that, ...


11

What have you tried? If you're just starting your search then the docs references below are a great start. Both the TOM.NET and Core Service APIs are available but it shouldn't be about what's easiest. It would be interesting to understand if there some technical or business reason you want to consider using the Event System? If you have Alchemy installed,...


10

Chris, I think.. To make it a Bundle you need to change TypeSchema to be a Bundle Schema and set another Configuration XML: var bundle = (VirtualFolderData) client.GetDefaultData(ItemType.VirtualFolder, "tcm:2-3-2", new ReadOptions()); bundle.Configuration = "<Bundle xmlns=\"http://www.sdltridion.com/ContentManager/Bundle\"><Items /></Bundle&...


10

Your example seems to be correct (provided coreservice namespace is defined), the only problem is casing. It's [coreservice.RenderMode]::PreviewDynamic This in Powershell: $renderInstruction = new-object coreservice.RenderInstructionData -property @{RenderMode = [coreservice.RenderMode]::PreviewDynamic} Is this in C#: renderInstruction = new ...


10

You have not impersonated the Core service client call with your Identity. As per my experience, I won't suggest to use administrator access to impersonate and do processing the request. Example: SessionAwareCoreServiceClient ProxyClient = new SessionAwareCoreServiceClient("wsHttp_2011"); ProxyClient.Impersonate(HttpContext.Current.User.Identity.Name);


10

You need something like this VersionsFilterData versionsFilter = new VersionsFilterData(); IdentifiableObjectData[] versionList = client.GetList("tcm:7-15210", versionsFilter );


10

As Will recalls in his answer, you can try the TaxonomiesOwlFilterData. Here a sample TaxonomiesOwlFilterData filter = new TaxonomiesOwlFilterData(); filter.RootCategories = new LinkToCategoryData[] { new LinkToCategoryData() { IdRef = "[CategoryId]" } }; XElement result = channel.GetListXml("[PublicationId]", filter); It will return you data in the ...


10

If you really want the XML you can get it. Basically, the CoreService response is actually in XML, and the WCF client will serialize/deserialize from/to XML, and what you can do is tell WCF that you want the XML for a given object. Like this. (originally posted here) SessionAwareCoreServiceClient client = new SessionAwareCoreServiceClient("wsHttp_2011"); ...


10

You can use following if your requirement is just to check the status public bool IsPublished(string itemId, string publicationTargetId, bool isPublishedInContext)


10

Unfortunately, there is no version history stored for any of the organisational items (Folders, Structure Groups, Categories, Publications, etc), so you will not be able to get this, even if you use the Core Service. I have seen an implementation in the past that used the Event System to store a copy of the Structure Group information every time it was ...


10

The Tridion Search Host service is indeed nothing more than Tomcat in disguise. It hosts the Tridion SOLR search index. It doesn't depend on Content Manager and/or Core Service. The Tridion Search Indexer service is the one monitoring the CM search queue, obtaining the data to be indexed from CM (normally on the same machine) and sending it to the SOLR ...


10

I think you can use FullVersionInfo by getting the component's VersionedItemData. Something like this: VersionedItemData versionedItemData = (VersionedItemData) client.Read(organisationItem.FirstAttribute.Value, new ReadOptions()); FullVersionInfo fullVersionInfo = (FullVersionInfo)versionedItemData.VersionInfo; string userComment = fullVersionInfo....


10

As the comments indicate your original question lacked a lot of information, your edit does provide a bit more information, however they don't really show a lot of effort from you in looking for an answer yourself. You seem to have found the Core Service API already, and I do suggest checking out the API documentation for it in more detail (it can be ...


10

Obviously it will depend on what technology you are using for the client. For example in a .NET programme, you could host both the 2011 client and the 8.5 version, but then you'd have to create separate appdomains which might be more work than you'd like. Your best chance is to use the 2011 client assembly to communicate with both. That will mean that you ...


Only top voted, non community-wiki answers of a minimum length are eligible