Hot answers tagged

9

You can also try the Export Item List alchemy plugin. It can be downloaded from here: https://www.alchemywebstore.com/plugins/Export-Item-List If you want to customize or extend it the code is also available at https://github.com/saurabhgangwar/Alchemy.Plugins/tree/master/Alchemy.Plugins.ExportItemList


9

You would have to make CSS updates through a GUI extension besides using the new line (\n) in your exception message. In your event system exception, you will be using the new line like this: throw new Exception("Some text before new line.\nSome text after new line."); In the GUI extension, set the CSS white-space property to pre-wrap in the div element of ...


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


8

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.


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

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.


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

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

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


6

The ProcessSummary class does have methods that provide information with regards to the items exported/imported. The screen shot below is the preview of the ProcessSummary class in Visual Studio. To get the list of items that has been successfully imported use the DoneItems property. The Values contain the WebDAV URL of items. To determine if an imported ...


6

Instantiating Session object in the constructor of ES doesn't work from version 8 and beyond. We had this issue when we did the upgrade from 2013 to 8.5. So what we did is moved it to all event subscriptions methods. Please use it like that and forget about using Core Service in event system because it is an abomination, a Frankenstein which shouldn't exist ...


6

As Neil and Mark have noted, what you are looking for is a GUI extension extending the FormatArea.js and three other JavaScript and ASPX files: %Tridion Home%\Web\WebUI\Core\Controls\FormatArea\FormatArea.js %Tridion Home%\Web\WebUI\Editors\Base\Views\Popups\Link\Link.aspx %Tridion Home%\Web\WebUI\Editors\Base\Views\Popups\Link\Link.js %Tridion Home%\Web\...


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

It's true - you can't extend it as per Velmurugan states. I can't suggest an alternative for your web app purposes as it's not clear what you're using the description for but I would add: If you translate keywords the translation will not be imported if the translated value is over 255 characters; so 'fixing' this with a GUI extension may not suffice. If ...


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


5

I wrote a working example of that here: "Validating Content on Save, Part 1". Part 2 and 3 were published by Robert Curlette here: http://www.curlette.com/?p=913


5

Well, code sample for publish is: I added a screenshot on purpose so that you will need to retype it and see what IntelliSense does and what overload methods do. :) What is more important is that you know what each of the parameter means. So to publish an item you need following: you need an array of items you want to publish. Here you need to provide an ...


5

Assuming it's C# .NET, you can try using the Environment.NewLine property from the System namespace. NewLine actually equals \r\n. String.Format("NewLine: {0} first line{0} second line{0} third line", Environment.NewLine);


4

Binary should be treated as a separate entity similar to pages and component presentations. In your case, you would need your Rest service to serve your binary as a stream. Like Mark highlighted, you would only need the relative path in the JSON to avoid further manipulation. A DD4T relevant example can be found at https://github.com/dd4t/DD4T.RestService....


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


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