+1-888-365-2779
Try Now
More in this section

Forums / Deployment / Cannot set dynamic hyperlink unless page is published

Cannot set dynamic hyperlink unless page is published

8 posts, 0 answered
  1. olav
    olav avatar
    76 posts
    Registered:
    22 Jan 2007
    24 Nov 2009
    Link to this post
    Hi,

    Hope someone can help me with a workaround, or that the Sitefinity Team will consider a change.
    I'm able to reproduce this:

    I create, save and approve a page that is set to be visible in navigation. From some other page I add the standard Dynamic Hyperlink control, and try to point the navigate URL to the recently created page by browsing. The page is at this stage not visible in the selection dialog. The same happens with a hyperlink (ctrl+k) within a generic control. Once published I'm able to browse to the page.

    I repeat the test and write the URL instead of browsing. After publishing, the link (from another page) is broken if I move the page. (just wanted to see if the link "became dynamic" during publishing)

    This is a little problem with one or two of our webs because we'd quite often like to:
    - Prepare a number of pages for simultaneous publishing.
    - The pages would have a number of cross references using hyperlinks within the text.
    - It is very likely that several pages will be moved around after some time.

    A staging server would bring more problems as we don't want to overwrite the users' forum activity (in the meantime) by publishing a database copy.
    I would probably solve this with minimal efforts by keeping a separate list of pages/hyperlinks that need to be updated as soon as possible after publishing. Still, it's doing part of the job twice.

    That is, unless there's a magic config setting to apply..
    It's not at all urgent, but I would really appreciate a solution in some while.
    Thanks.
  2. Ivan Dimitrov
    Ivan Dimitrov avatar
    16072 posts
    Registered:
    25 Nov 2016
    24 Nov 2009
    Link to this post
    Hello olav,

    The problem has been fixed in Sitefinity 3.7 SP1. In all selectors all pages should be visible if you use Sitefinity 3.7 SP1. I suggest that you should upgrade your project to the last official release. We are going to release a new SP at the end of the month with several new bug fixes.
    I could come up with a workaround but it will be more like than hack and it will require lots of efforts to get it working at your end - shortly you can bind the RadTreeView to a list of pages using CmsManager.GetPages();

    Let us know if there is anything else that I can do for you.

    Regards,
    Ivan Dimitrov
    the Telerik team

    Instantly find answers to your questions on the new Telerik Support Portal.
    Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
  3. olav
    olav avatar
    76 posts
    Registered:
    22 Jan 2007
    24 Nov 2009
    Link to this post
    Hi Ivan,

    I was pretty sure I had upgraded to v3.7SP1, and according to you version check procedure the meta tag displays the following build:
    <meta name="Generator" content="Sitefinity 3.7.1990.2:0" />
    This is 3.7SP1, right? (besides, properties/details/fileversion on the Telerik.Cms.dll says 3.7.1990.2)
    Or did something go wrong during my upgrade?
    Can't find exact build numbers in the download section.

    Otherwise, waiting for the next fix in the end of the month is really no problem.
    Good to hear that this has been, or will be, taken care of.
    Thanks.

    -olav
  4. Radoslav Georgiev
    Radoslav Georgiev avatar
    3370 posts
    Registered:
    01 Feb 2016
    25 Nov 2009
    Link to this post
    Hi olav,

    Thank you for getting back to us.

    As the article for checking your version number says you are using Sitefinity 3.7, not Sitefinity 3.7 SP1. You should download the upgrade patch to Sitefinity 3.7 SP1 from your Client.Net account. You can get the patch by following this link. You should also know that in about a week we will also release a Sitefinity 3.7 SP2.

    Kind regards,
    Radoslav Georgiev
    the Telerik team

    Instantly find answers to your questions on the new Telerik Support Portal.
    Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
  5. olav
    olav avatar
    76 posts
    Registered:
    22 Jan 2007
    30 Nov 2009
    Link to this post
    Hi,

    Yes, it turned out that I simply forgot to upgrade this project from 3.7 to SP1. After upgrading I had a very quick check to see if the problem was fixed, and happily ticked "answered" to your post.

    But I'm no longer able to reproduce the successful behavior. (I start to wonder if was a bit hasty during my verification)
    I get the same old result. No difference pointing to sibling or child pages. (just curious)

    Of course, I double checked the upgrade.
    Just wanted to let you know before publishing your announced update.

    Best
    Olav
  6. Radoslav Georgiev
    Radoslav Georgiev avatar
    3370 posts
    Registered:
    01 Feb 2016
    30 Nov 2009
    Link to this post
    Hello olav,

    Thank you for getting back to us.

    Can you, please explain again what exactly is not working in your current version of Sitefinity. When you are using workflow if a page is not published it will not be available on the public part of your website - on the front end it will be as the page does not exist. This means that if you request the url of a page that is not published you will get a 404 error.

    Now lets move to the controls in which you choose page from available cms pages to be shown as link. If in the Dynamic Hyperlink control you want to set the NavigateUrl property you will not see pages that have not been published at least once (there must be at least one version of the page so that when a user requests that page from the link the user will get the published version, and not get 404 for requesting the not published later version). The same goes with all other controls that let you select pages from Sitemap. The page that you want to link must have at least one version (be published at least once).

     In the latest versions we work with page IDs, this means that if you move a page in the Sitemap it does not break dynamic links - the page ID never changes so we are always able to resolve the url.

    Greetings,
    Radoslav Georgiev
    the Telerik team

    Instantly find answers to your questions on the new Telerik Support Portal.
    Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
  7. olav
    olav avatar
    76 posts
    Registered:
    22 Jan 2007
    30 Nov 2009
    Link to this post
    Hi Radoslav,

    Ok, so this is "by design" after all. I thought, from the first reply, that the ID would be accessible in 3.7SP1, no matter if the page had previously been published or not.

    The fact that the desired behavior is working with previously published pages is better. I also understand the dilemmas that may may have developing Sitefinity's workflow and stuff related. Still, you are really close to have a rather perfect self-contained workflow that even non-tech personnel can relate safely to.   

    Here's an example scenario to illustrate my point:
    The CMS is online and we have a number of new pages to be created and published simultaneously, say announcing a new product. The new pages should not be visible in the web's navigation after our desired moment of publication, and not before. Further, these pages have a number of hyperlinks referencing each other, and it would be great to be able to reference by ID (browse) once and for all. Taking the database offline is not an option.

    We are of course not stuck her. We can either set property "Show in navigation" to No for all pages part of a common publishing, publish once, edit links, and keep a list of pages meant to be visible in navigation, and finally set property "Show in navigation" to Yes for those pages. Or just keep a list of pages/links to be re-established, publish, edit, and publish.

    The workaround is ok except that it interferes with and complicates the workflow. That is, making special instructions for the editors and publishers would be tedious, for all parts.
    So far, this is actually the only spot where Sitefinity has turned out for us to be less than user friendly. But I guess that is not bad, compared to the strenghts of the system. Can live with it!

    Best,
    Olav
  8. Ivan Dimitrov
    Ivan Dimitrov avatar
    16072 posts
    Registered:
    25 Nov 2016
    30 Nov 2009
    Link to this post
    Hello olav,

    If you use DynamicHyperLink control and PageId property which comes with a built in selector your page will be available in the RadTreeView even not published, just saved after the initial creation. So you can shoose the page ID  and NavigateUrl will be automatically populated.

    Another option is just creating a custom WebUI TypeEditor as shown here. Here I am getting pages from the manager and all shuld be listed no matter you use workflow, hide/show a page etc.

    Sincerely yours,
    Ivan Dimitrov
    the Telerik team

    Instantly find answers to your questions on the new Telerik Support Portal.
    Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Register for webinar
8 posts, 0 answered