How to Read the Tridion Page URL from the publication using Core Services?

117 Views Asked by At

I have a list of Tridion page URL's in an excel sheet, which should be unpublished on Click of a button for which I am developing a custom page. How do I read the URL from the publication.? For example, the URL looks like "https://www.example.com/us/en/abc/cde/index.html" (us/en - country/language; abc- folder in structure group, cde- subfolder in abc, index.html is the page) Now index.html should be unpublished.

1

There are 1 best solutions below

2
On BEST ANSWER

If I understand you correctly, you have the URL of a page and you want to find the corresponding page in Tridion. First the bad news: The core service (the CM API) does not support a 'find by url'. The quick and dirty approach would be to use the CD API to retrieve the page. This will give you Page back which has an ID property. You can then use the core service to unpublish the page.

You can also do it with a pure core service approach but it's a bit more work and it's slow. It goes like this:

  • Start from the top level directory (in your example 'us')

  • List all structure groups inside the root using a filter like this:

    var filter = new OrganizationalItemItemsFilterData() { ItemTypes = new ItemType[] { ItemType.Page }, IncludePathColumn = true };

  • Use Linq to find the one with the top-level directory you're after

  • Move to the next directory and repeat with the child structure group you found