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 ...


14

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


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

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

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

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 ...


10

You could impersonate that specific user in your code and then request all publications as them. This should give you the complete list that they're able to access. Alternatively, you could get every publication and then iterate over them to determine whether the user (or a group that they're a member of) has any rights on that publication.


9

If you set a linked schema on folder and call GetDefaultData from Coreservice it will return a new component with the schema set and appropriate component type set multimedia or normal. Mandatory has no effect on returned default data. However, it has impact on saving the component as described below. From API docs If the linked Schema is not ...


9

You are not getting this error when you use the User Interface because it will won't allow you save the component if all the required information is not present. In this case the Core Services is telling you that the metadata has not been provided, you will need to set it in the Metadata property. component.Metadata = "<Metadata xmlns=\"http://acaf/azba\"...


9

If you set up a new instance of SDL Tridion and you would like it to run under a custom binding you need to ensure that the configuration files are set up correctly to handle it. The configuration files are mentioned in this question on setting up SDL Tridion with multiple hosts headers: https://stackoverflow.com/questions/9428360/i-set-up-my-sdl-tridion-...


9

You should be able to get all versions like this: VersionsFilterData versionsFilter = new VersionsFilterData(); XElement listOfVersions = client.GetListXml("(your tcm uri)", versionsFilter); foreach (var versionNode in listOfVersions.Descendants()) { var versionID = versionNode .Attribute("ID"); } Note: You should use GetListXml,...


9

Either ComponentData.BluePrintInfo.OwningRepository or ComponentData.BluePrintInfo.PrimaryBluePrintParentItem is what you are looking for, depending on whether you need the parent of the item or the item in the top of the BluePrint chain where it was created in.


9

Direct queries are not future proof, In future upgrade your queries might not work, extra effort will go to resolve those. using Select queries You have to understand the DB structure, if you are fine and getting expected results with it, logically i don't see any issue using that. But Core service is SDL recommended approach for all. Never, ever run update ...


9

You can use ItemLastPublishedDateCriteria criteria to specify the last published date filter that you are looking for, for retrieving the pages that were published after specific date. Given below is the sample code to achieve the same. var itemTypeCriteria = new ItemTypeCriteria(64); var lastPublishedCriteria = new ItemLastPublishedDateCriteria(<...


9

In your screenshot, notice how the "Content" attribute is null. For each component, you need to call: ComponentData component = (ComponentData)coreServiceClient.Read( componentTcmId, new ReadOptions()); Now you can parse the component.Content to read the field values. By the way, if you happen to have metadata fields as ...


9

For #1 publishing priority is the way to go. Maybe changing the default priority to "low" will give you enough of an override to push things through quickly. Using publishing priorities in conjunction with the information I share in the blog post on keeping threads available. Item #2 might need event system, but you should be careful of performance impacts. ...


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