Hot answers tagged

16

Session.IsExistingObject Method will not throw exception


16

There are a number of APIs available for SDL Tridion. Here's an overview: TOM.NET - The CMS templating API, written in .NET, runs on the CM machine Core Service - A .Net web service API, allows you to interact with items in the CMS from another machine than the CMS server itself. Content Delivery - This is a front end API allowing you to work with ...


14

You really have to think of SDL Tridion in two parts (well two main parts - there's a lot more to it than that :)) The 'CMS' side - this could be content that is published or unpublished that lives inside the CMS - this is where you would use the 'Core Service' (a .Net web service) to put / pull content in the CMS, or perform other CMS related tasks. The '...


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


11

It is not possible to publish Taxonomies to the file system so the storage type mapping you describe is not viable. If you have a broker database storage element in your storage conf file, map the Taxonomy type to this (eg storageId="defaultDB")


9

As hinted at by Nick, the Criteria.AddCriteria method doesn't return a Criteria object, so you can't assign it as you're trying to. What you probably want is something like this: searchCriteria.AddCriteria(finalCriteria); myCriteria = searchCriteria; Note that if you do this, searchCriteria and myCriteria will be the same object instance, so changes to one ...


9

The TOM.NET API in 2009 was read-only, so your only option is the TOM API, and for .NET code, you can use the TOM Interop DLLs. You will need to reference Tridion.ContentManager.Interop.cm_tom.dll and Tridion.ContentManager.Interop.cm_defines.dll (found in the [Tridion]\bin\client\PIA folder on your CMS) Then you can use the TOM API in your .NET code (...


8

If you have valid sdl tridion world user id, you can download various resources including CHM files, manuals and whitepapers for various APIs. Below picture shows the link from where you can download the API documentations once you are logged into the SDL Tridion World


8

In 5.3 you were using .NET with Interop to COM with Interop to Java (and along with this you had a lot of other limitations like the COM calls being single-threaded and god knows what else). As from Tridion 2009 we removed the COM dependency, so your .NET API calls use in-process interops to Java, with a significant performance improvement - but the side-...


7

I always suggest for new Tridion developers to choose a site (news sites work well) and try to build this in Tridion, from the beginning. This means you will: Define the Blueprint Create Schemas Create Templates with the design of the chosen site Use Broker API to get Dynamic content (Java or .Net) Optionally, use DD4T + .Net MVC to build the site Then, ...


7

The proper way to get a publication already stored in the Broker storage is to use the PublicationDAO. Here is an example of how this could be done (for a publication if Id=3): final int publicationId = 3; final PublicationDAO publicationDAO = (PublicationDAO) StorageManagerFactory.getDAO(publicationId, StorageTypeMapping.PUBLICATION); final Publication ...


7

The Import Export API was introduced in Tridion 2013 SP1. Previous versions have to make use of Content Porter. See also this documentation page (requires login)


7

You can find 'Release notes' associated with each version of SDL Tridion in the online documentation. For example, these can be found on the PDF documentation downloads page in the online documentation for SDL Tridion 2013 SP1. This document is described as: The release notes describes new features, changed features, what has been fixed in this ...


6

The Content Delivery Web Service is mainly for delivery of content that is already managed and/or published by Tridion. To interact with the Content Manager programmaticaly, the recommended extension point is the Content Manager Core Service. From the online documentation (requires login): The Core Service is a Web service that allows applications to ...


6

Brilliant response from Alex, to answer your question from another angle though; you can avoid constantly passing a new instance by declaring a number of static instances. Review the use cases where you're accessing Core Service and what levels of data you're likely to need back. Then classify those data levels for easy access and maintenance. For example:...


6

After going through all possible API's, I got a solution to retrieve component template based on component template names. Mainly you need to use ItemTitleCriteria to retrieving the component templates by names. Thanks to @NickoliRoussakov for the clue given. using (ItemTypeCriteria mItemTypeCriteria = new ItemTypeCriteria(32)) { using (...


6

I have written a small tutorial about creating a core service client and reading checked-out items here. The Core Service DLL is in the Tridion/bin/client folder and is referenced in Visual Studio. Together, with the config, this will allow you to connect to Tridion. You don't need to be on the server for it to work, as long as the ports are open. Most of ...


5

I didn't find tridion constants in Core Service DLL but I'm using Tridion.Common.dll for all the Tridion Constants Example: Tridion.Constants.TcmNamespace Tridion.Constants.XlinkNamespace


5

Here are a couple of issues with your logic: new KeywordCriteria(yearTaxonomyId, yearIds.ToArray()) creates a criteria where an item is tagged with all the Keywords in your array. You seem to be looking for OR here. So you will need to create individual KeywordCriteria for each year and OR them together. new KeywordCriteria(yearTaxonomyId, yearIds.ToArray(...


5

I would strongly advise against connecting to the Content Manager (to retrieve content) from your client web application. As John says, there are two distinct parts and it is better to work with these than against them! Quite often Tridion is installed within the company network and publishes content out to a separate 'demilitarised zone' (DMZ). If ...


5

I hope the below picture helps with a very high level comparison of various SDL Tridion version from R5.x through 2013


5

Selection is a parent class of selections for Export, such as GroupsSelection, SubtreeSelection, etc. More about selections you can read in following blog: http://tridioninternals.blogspot.nl/2014/01/selecting-items-to-export.html In your case I suspect you want to export list of tcm-uris or webdav urls, which you read from file. In this case you should use ...


5

Binding for TM SOAP service looks like this Binding is netTcpBinding: <netTcpBinding> <binding name="TmNetTcpBinding" maxReceivedMessageSize="2147483647" receiveTimeout="00:10:00" sendTimeout="00:10:00"> <readerQuotas maxArrayLength="2147483647" maxStringContentLength="2147483647"/> </binding> </...


4

OK, as usual the answer was far more straight-forward than I'd originally imagined! cd_storage_conf.xml on the server running Tridion CD API was not updated to reflect that for this specific publication, the RESX and SITEMAP files are published to the dB. The deployer's cd_storage_conf.xml was right, hence why I could see content in broker. It wasn't being ...


4

Although Nuno is correct in saying your problem cannot be avoided it can be mitigated: the pain of having to put 70 jars in Tridion would be greatly reduced by making use of Tridion's webdav feature; you could simply copy in all 70 jars via Windows Explorer (I usually do this for images also) assuming your jar files are represented by multimedia components ...


4

Yes 100% Assuming you are using Tridion 2011 or later, SDL Tridion Core Service is the interface to interact with the content management system. You can start with Ryan's blog post, which matches your requirements pretty closely: http://www.building-blocks.com/thinking/creating-custom-pages-using-the-core-service-in-sdl-tridion-2011/ Ryan also has ...


4

I thought the argument was always required. I guess it didn't always validate it correctly. Anyway, you could check for null or TcmUri.IsValid before trying to parse it and use a default value of TcmUri.UriNull if you want it to work the same as before. That does require code changes but I don't see any way around that.


4

If I understand your question correctly. You need to retrieve description for a keyword. To achieve that you can use the getTaxonomyKeyword method on a instance of TaxonomyFactory class to return a Keyword object. And on the Keyword object you can call the getDescription method to retrive the description of the keyword. TaxonomyFactory tax = new ...


4

You could use the Tridion Content Manager Core Service in Tridion 2011. This is a web service that will allow you access to the items within the CMS (provided that you have permission). The Tridion 2011 SP1 documentation for the Core Service can be found in the online here: http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2011_SPONE/...


4

I don't believe this is possible via the CD API since it is designed to work within a specific context publication. However, you can publish your own hierarchy in form of XML similar to the concept of publishing PageList.xml for SG-based navigation. Also check out this post on language switchers in Tridion: http://www.tridiondeveloper.com/tridion-language-...


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