Yes, there is. In the cd_link_conf.xml of the (Session-enabled) Content Service there is a OverrideDiscoveryService attribute. If you set that to true, the Content Service will switch back to old-style link resolving using the mappings defined in cd_link_conf.xml and if you don't define any mappings in there, you will get relative URLs.
Unfortunately, the ...
Apart from the empty <ul/> you are also going to face the issue of empty <li/> tags if individual links do not resolve, so you will be better off going the list of Tridion.ContentDelivery.Web.Linking.ComponentLink option.
As already answered by Rob and Quirijn, the LinkFactory from DD4T only does Component Linking. You can use the core Tridion Content Delivery API to page link though. Check the Tridion.ContentDelivery.Web.Linking.PageLink class and it's various GetLink methods.
//create a new PageLink instance for publication 199
var pageLink = new PageLink(199);
This NoClassDefFoundError error usually comes in case of any of the following scenario:
As you have also listed in your question, there are some dependent .jar or .war file which is missing or have wrong path set somewhere (in configs or code)
Your existing java installation (JDK or JRE) is corrupted (You may check by running java -version client to verify)
The linking level is configurable with "expandLinkDepth" parameter in the Core Template Building Blocks "Render Page Content" and "Render Component Content"
Render Page Content
\100 Master\Building Blocks\Framework\Developer\Templates\Sdl.Web.Tridion.Templates\Render Page Content
Another approach would be to use a Templated Web Control. You can have something similar to this.
<asp:ResolvedAwareLink runnat="server" ComponentUri="[TcmUri]">
<a href="<%# Container.Link%>"><%# Container.LinkText %></a>
Another approach is to "extend" your tcdl:Link Renderer (REL) and make sure that if the link is not resolved, you don't get those extra html elements... Unfortunately there's not an elegant way of avoiding the li/ul empty elements other than taking care of them by evaluating whether the link has or has not been resolved prior to rendering them. To me the "...
Linking service is moved to root of the content service. You can access it like
For example to get Component link
I will suggest to check logs files & validate your bin/config/cd_licenses.xml file, linking problem usually occurs when you have invalid license file.
You could have following issues in file
Machine name not matching with the name in license file
No of cores in your system are more than allowed limit in license.
Use the core service to grab the tcmid from the text field and and format the necessary syntax to pop that as the component link directly into the new field.
A few simple Google’s will serve the format/structure you need.
What Mark says is indeed the way to go - use core services to write a script that does the update for you.
I would work as follows:
Create a new field in your schema for the component link, and keep the text field
Build a core service script that does the following
get all components that use the schema (using code example below)
get the TCM id from the ...
Yes this should be possible, Tridion allows you to do a lot in terms of path configuration:
Inside here you can configure your publish path e.g /appBeta/app
In the storage_conf.xml file in your deployer you can specify the file system path, for example c:/webapps - combined above the publication would publish to c:/webapps/...
Bart pointed me in the right direction; TryGetBinary does indeed not populate the Url property but it does load the contents of the binary from the broker which is not what I would want when resolving links anyway.
Fortunately the source reveals the GetUrlForUri() method which does exactly what I need:
// Attempt to resolve as binary link
targetUrl = this....
In addition to Rick's correct answer...
You can indeed use the OverrideDiscoveryService to get relative URLs.
The default cd_link_conf.xml in the content, session and preview micro services contains the following comment which I found confusing.
OverrideDiscoveryService - specifies whether OData discovery endpoint configuration should be overridden
What you want to avoid here is having to republish every page each time the navigation changes. It sounds like you are including the navigation as a TBB in each page, which is inefficient.
In this situation, in my mind anyway, you want the navigation to be a page in its own right. You can then include that in your page template (via a JSP/.NET include or ...
You can specify additional inline elements (such as abbr) to accept in your rich text fields in the following configuration file on the Content Manager server:
In your scenario of:
A uses B
Publishing A does not cause B to be published.
Publishing B causes A to be published (A uses B, B is used by A).
It gets a bit more confusing once you add publishing status to the formula. Basically, it becomes Republish all components that THIS item is used by).
You can get a good feel for how it's all calculated by ...
You can also use some of the attributes on the link controls themselves to control how the links are displayed. For instance, TextOnFail='false' will make the web control not render anything if the link isn't resolved.
Here is the link to the list of all supported attributes (login required): http://sdllivecontent.sdl.com/LiveContent/content/en-US/...
When your website is showing old linking information, this usually means you have a caching problem. Best way to check if it is related to an outdated cache, is to restart your web/application server (SDL Tridion Broker cache is memory based, so it will be cleared after a restart) and check the page again. After the restart when you request the page, you ...
Links to other Tridion items must be "managed", i.e., they have to be identified to Tridion as an xlink object rather than just an href. If you look at how Tridion Component Links are created in a rich text field, you'll see that they're stored as:
<a xlink:href="tcm:123-132">Some text</a>
Tridion then has enough information to convert this to ...
My issue has been resolved after applying the Hotfix Rollup #1 for SDL Tridion 2013 SP1.
Also I got Tridion.ContentManager.Publishing.dll from SDL to replace with the existing dll and also some config changes in Tridion.ContentManager.config file.
In general, CD Linking generates absolute URLs if you define Publication mappings in cd_link_conf.xml.
If you prefer server-relative URLs (which is often the case), you should not define any Publication elements in cd_link_conf.xml (Maybe it also works if you do define Publication elements, but no Host elements; never tried that).
I'm not sure if I really get your questions, but let me try and give an answer to numbers 1-3.
If you know the URL you can use that in your href attribute, if you know the URI, you can use a Dynamic Page Link, for instance with TCDL:
<tcdl:Link type="Page" origin="tcm:5-199-64" destination="tcm:5-206-64"
Assuming you were in the rich text editor and entering HTML ... the RTE will tidy up invalid HTML syntax. tridion:href does not exist in any HTML implementation and is a custom tag so is likely just removed.
This if memory serves, of course.
Why don’t you simply use Tridion GUI to create a link in richtext field?
It should result something like this:
<a href="tcm:8-299" title="component Title">TEST</a>
Try using it.
AFAIK : the tridion:href is used in DWT and the links are resolved by linkResolver.
If you are creating a navigation menu you have multiple options and you have to decide one based on your requirement (eg. structure group, taxonomy based). You can check thislink
The link describes how you can create navigation for your website but for both the approaches you will have to write a c# TBB to push link in your sitemap. sample TBB which you ...
You need to have Content Delivery to resolve Component links and Page links on the website.
On Navigation TBB, you need to render the hyperlinks in the form of TCDL tags. Where Content deployer will change TCDL tags cooresponding to your Component Link and Page Link Controls on the published page.