We’re rewarding the question askers & reputations are being recalculated! Read more.

Hot answers tagged

8

There's no 'out of the box' way to make the Key field of a Keyword mandatory, unfortunately. I recommend that you do this using the Tridion Events System. It should be quite simple to write the code that intercepts the save action (as it's initiated) and prevents the successful saving of the Keyword unless the Key field is populated. You'll probably want ...


8

There is no 'out of the box' way via the GUI, but you can do this using the Core Service. Something like the following code (which outputs a CSV) should give you a good start: void Main() { List<PageData> allPages = Client.GetList("tcm:25-1234-4", new OrganizationalItemItemsFilterData { Recursive = true, ItemTypes = new[] { ItemType.Page } })....


8

You should be able to add a pipeline element after the "Tridion-Commit-TX" pipeline and before the Cleanup Step, which then should act as a PostCommit. In XO, the same happens: <!-- Add the following pipelines after the existing "Tridion-Commit-TX" pipelines --> <Pipeline Id="Tridion-Process-PostCommit" Action="Deploy" Verb="Process"> <...


8

In order to debug against the "TcmTemplateDebugHost" locally, you need to setup Remote Debugging (link below). If you have access to the CM server itself, you can also run Template Builder on the CM and debug directly against the TcmTemplateDebugHost process assuming Template Builder is running. There used to be some extensions required which would run the ...


7

Using Fiddler I found out that the TokenService was registered on the localhost domain. That's why the webapplication (which was running on my local machine) couldn't access the TokenService on the development server. See screenshot below: I configured the TokenService with a domainname and now it works.


7

AFAIK: It's not possible to extend Keyword description field size it's tied with Database ITEM table Description field size, currently, it's designed to allow 255 characters only. If you're looking to keep bigger description content on a keyword level. you could create a metadata schema with a custom description field as a text field or RTF field depends on ...


6

As per Jonathan, and here this is not possible. Concatenating class names in the current control will work (I've done this as a one-off for a client) but be very clear on the limitations of scaling. I would also be wary of templating (or per the link above XSLT'ing) changes to change the actual content as this will become confusing for the end user very ...


6

This looks like a typical timeout issue and there are a lot of similar question on this topic. The first thing to check is whether you have regular database maintenance performed? If not, do one (and start doing it on a regular basis, if possible daily) and try again. Database maintenance (Tridion specific) described here. You could increase the timeouts as ...


6

There are various reasons to your page loading for the first time call will get slow. The first request to a publication requires downloading & parsing of a lot of binary files with publication configuration after that page and used images and components links resolving calls for that page. To gain the performance caching is important to enable in your ...


6

Take a look at the following, Purging finished publish transactions This allows you to delete success or failed transactions, you can even define how old the transactions need to be in order to be processed. Of course you can always develop your custom solution if this is missing any advanced features you might need.


6

As you've realized, this cannot be achieved using templating. If you wish to do this this way, you will need to use a different extension point, namely ITransportPackageHandler. See my TDS presentation for more information here. But... why don't you do this on the CM side? Make use of the Event System and the SetPublishStateEventArgs class. This is only ...


6

it does get stored on DB from SDL 8.6. you can find the details [APP_DATA] table CM Database. You can use the following code to read the value using core service: var client = CMSession.GetInstance().CoreServiceClient; var appData = client.ReadApplicationData(null, APPDATA_CUSTOMPAGES_ID); if (appData != null) { var ada = new ApplicationDataAdapter(...


5

Besides everything Jonathan said in his answer, I would like to clarify a bit what is the purpose of Content Porter and how it works. It is used for transferring mainly components, templates or pages to ease out the DTAP deployment. What is more important, during import/export current security model on server is applied. So in your case, you would try to ...


5

It looks like this is an error in the documentation. The Non-exportable items page lists the items that will not be included in the Content Port. This list includes: Permissions for Publications, Folders, and Structure Groups However, permissions are not ported between environments for any ‘organisational item’. This includes Categories. Therefore, I ...


5

This is a defect in the DXA 2.0 Model Service, which has already been hotfixed. See https://github.com/sdl/dxa-model-service/commit/77c2043ba690ae15f3efee9c3f598cb7bd79a4e8 Contact SDL Customer Support to receive this hotfix.


5

Short answer: it is the preferred way, yes. Longer answer: For unpublish you can only use the ITransportHandler. For publish you can use both the RenderedItem.AddInstruction and ITransportHandler, but it's better to use the AddInstruction because it's an API call and not direct XML manipulation. Note that you can use the RenderedItem.AddInstruction from ...


5

ContentProvider getEntityModel developed to work with MVC data. So it require registering view model. You can use dummy view to register your model. In case you need full data which is returned by model service, you can write your custom provider by extending contentprovider. For reference you can check DefaultContentProvide code at https://github.com/sdl/...


5

This is expected behaviour as you shouldn’t be able to use the same url for two sites (within Topology Manager). You’re going to have to either: Specify a different port Use a different hosts name (and probably update your hosts file /DNS), or Use the machine name / machine IP Address (e.g. http://192.168.0.22:9080) Try to use http://127.0.0.1:9080 ...


5

This is used to inject markup from entity views to placeholders in page views, for example additional CSS/JS includes, JS snippets to be executed after jQuery has been initialised etc. This makes it easier to make DXA modules more self-contained when it comes to needed resources. This is used for example in the Instant Campaign module to inject campaign ...


5

I think the issue is only with the slash special character. Rest of the special characters are fine. For instance, if I call the getLinkAsString method (getLink method in your Java code snippet will be calling getLinkAsString I suppose) like the below code snippet, I am able to get the page URL. Note the link text property has no backslash before the span ...


5

I think the problem lies in the fact that your event handler is asynchronous (and you're subscribing to the TransactionCommitted phase). A Save action normally happens on the dynamic version (v0) of an item. So, the -v0 in the TCM URI is no surprise. However, if you do a typical save-and-close/checkin transaction, the check-in action typically results in ...


5

I got rid of that error from the logs by adding the TokenService back to the cd_client_conf.xml on the webapp side. <TokenService ClientId="clientID" ClientSecret="encrypted:password"/> This seems like a bug with DXA where even after you have the oAuth disabled, you need the token service tag with client id and client secret in the webapp. For some ...


5

Using pages is ideal when there are lots of different pieces of content that need to appear on a single webpage. For example, a banner carousel at the top, some 'article' content, some promos, a form, etc. Having lots of content on the webpage like this would be difficult to scale and for editors to understand what content will appear where using a component-...


5

First, I highly recommend Will Price's excellent post on "DCP Ettiqutte:" http://www.tridiondeveloper.com/dcp-etiquette-why-would-you-make-a-component-template-dynamic Let me also add that there are actually three options with pages and "dynamic" content: 3 types In my "Dynamic Vs. Static Component Presentations Vs..." post, I explained we have: (...


5

It looks like you are using an IBM JVM (at com.ibm.jsse2.k.a(k.java:24)). This JVM has some specific setting that allows you to enable or disable use of TLS V1.2. This is explained here https://www.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/jsse2Docs/matchsslcontext_tls.html#matchsslcontext_tls ...


5

After playing with install scripts, I was finally able to install services with domain URL containing context path. To help others with similar requirement, I am writing the steps to install service with a custom URL: When services are installed as a window service: Following changes required in installService.ps1 -Add spring boot variables to pass as a ...


4

Q: Does SDL provide Docker Container? A: No, AFAIK only docker file can get it from SDL Q: Is it possible to get such Docker Container from Docker hub? A: No Q: Is it required to create a Docker Container by myself? A: Yes @Peter Kjaer Created docker files, If you want to run the UDP CD services in Docker containers, hopefully, this can serve as a ...


4

You need to connect to Content svc via CIL. Here are a couple links: https://shahideqamuddin.blogspot.com/2017/11/getting-started-with-tridion-cil.html https://community.sdl.com/product-groups/sdl-tridion-dx/tridion-sites/b/blog-posts/posts/getting-started-with-content-interaction-library-cil-in-web-8-it-39-s-really-quite-simple


4

Example: using log4net; using System; using System.Collections.Generic; using Tridion.ContentDelivery.DynamicContent.Query; namespace SDL.CIL.Test { internal static class Program { private static readonly ILog Log = LogManager.GetLogger(typeof(Program)); private static void Main(string[] args) { Query query = ...


4

For MTSUser is_predefined field of Trustees table was set to 0 after setting it to 1 the issue get resolved


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