Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-27049

Confluence's "Tiny Links" rely on the content ID never changing

    • We collect Confluence feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

      NOTE: This suggestion is for Confluence Server. Using Confluence Cloud? See the corresponding suggestion.

      Tiny links are cool because:

      1. they're smaller, and
      2. they don't rely on the page title to link to content.

      According to this page, Confluence's tiny links are generated by encoding the content ID of a page. Because this encoding is reversible, a page's content ID can be found directly from the link by Confluence without a database lookup.

      Unfortunately the (fairly common) scenario of migrating from self-hosted Confluence to Confluence OnDemand requires space imports, which means all content gets new IDs. This invalidates the 'tiny' part of all the tiny links someone may have used in other systems to link to their wiki content. If they had used non-tiny links, they could simply change the base URL part of the links, but now even that will not be sufficient to get the old links working again.

      This is a missed opportunity to make tiny links resilient. The tiny part of the link should be hashed and stored in the database in such a way that it comes across with a space import.

            [CONFSERVER-27049] Confluence's "Tiny Links" rely on the content ID never changing

            Hm, about importing issue - I think, it is possible to import old IDs into Confluence's DB (like renamed page's name resolving mechanism). But here we can have an IDs collision between old ID of imported page and ID of page, created right in current installation of Confluence. To solve this problem Confluence DEVs could create additional Action. It will show links to both pages to let user resolve ambiguousness by choosing between them. Sure, user should come by Tiny URL to see this action's page.

            Denis Yaparov added a comment - Hm, about importing issue - I think, it is possible to import old IDs into Confluence's DB (like renamed page's name resolving mechanism). But here we can have an IDs collision between old ID of imported page and ID of page, created right in current installation of Confluence. To solve this problem Confluence DEVs could create additional Action . It will show links to both pages to let user resolve ambiguousness by choosing between them. Sure, user should come by Tiny URL to see this action's page.

            Well, embedded Gliffy links don't work because of this (as per Gliffy support). Consider the following scenario:

            We have both local and OnDemand Confluence sites.
            I export a space from local and import to OnDemand.
            After import all is well except for links embedded in Gliffy diagrams.
            They product page not found errors.
            Tried with Gliffy Plugin enabled (free trial) on the OnDemand instance.
            Have licence on the local site.
            All other links work fine.
            Site in question is http://wikeroad.atlassian.net.

            Since we use Gliffy a lot, the OnDemand import from our local site is practically worthless. We wanted to use OnDemand to host "published" versions of local content to selected stakeholders. This defect (and it is a BIG one) renders the Gliffy diagrams practically useless.

            Mario Valverde added a comment - Well, embedded Gliffy links don't work because of this (as per Gliffy support). Consider the following scenario: We have both local and OnDemand Confluence sites. I export a space from local and import to OnDemand. After import all is well except for links embedded in Gliffy diagrams. They product page not found errors. Tried with Gliffy Plugin enabled (free trial) on the OnDemand instance. Have licence on the local site. All other links work fine. Site in question is http://wikeroad.atlassian.net . Since we use Gliffy a lot, the OnDemand import from our local site is practically worthless. We wanted to use OnDemand to host "published" versions of local content to selected stakeholders. This defect (and it is a BIG one) renders the Gliffy diagrams practically useless.

            Jesse Wagner added a comment - - edited

            @John Masson And if all you did was produce a mapping of the old links to the new ones, maybe as a option to doing a import, it would be simple to write the SQL to go in and change all of the links in the target system.

            Jesse Wagner added a comment - - edited @John Masson And if all you did was produce a mapping of the old links to the new ones, maybe as a option to doing a import, it would be simple to write the SQL to go in and change all of the links in the target system.

            Is there a workaround at least?

            Hector Ojeda added a comment - Is there a workaround at least?

            Marcos Minshew added a comment - - edited

            This caused a fairly massive waste of time and made my company look like idiots. We recommended our client use Confluence, which they didn't own at the time. While they pushed a Purchase Order through their system (which took months) we generously offered to let them use our system because it would a simple affair to export/import into their system once it was established. Knowing that links based on Page Titles is a loser (because Page Titles change and break the links) we recommended they use the Tiny Links for all internal/external linking. After the export every flipping link in the Space was now hopelessly broken. This is yet another reason (see CONF-2522, CONF-2814, & CONF-9293) we as policy no longer recommend Confluence to any of our clients.

            Marcos Minshew added a comment - - edited This caused a fairly massive waste of time and made my company look like idiots. We recommended our client use Confluence, which they didn't own at the time. While they pushed a Purchase Order through their system (which took months) we generously offered to let them use our system because it would a simple affair to export/import into their system once it was established. Knowing that links based on Page Titles is a loser (because Page Titles change and break the links) we recommended they use the Tiny Links for all internal/external linking. After the export every flipping link in the Space was now hopelessly broken. This is yet another reason (see CONF-2522 , CONF-2814 , & CONF-9293 ) we as policy no longer recommend Confluence to any of our clients.

            Unfortunately we don't have plans to make this change at the moment.

            I understand that it would help with the issue described but also think there is still a lot of work that has to happen anyway and do have to question whether the substantial work we would have to do for this would give more than an incremental benefit. People would still need to locate all the links to the original Confluence instance in other systems and then update them.

            We do save them the hassle of having to go and work out the new tiny link, but that is only part of a very time consuming task already.

            Also it would only be of benefit to the subset of people who used tiny URL's in the first place which I don't have data on. For those who used normal URL's (potentially the majority but no way to say) it wouldn't matter anyway.

            John Masson added a comment - Unfortunately we don't have plans to make this change at the moment. I understand that it would help with the issue described but also think there is still a lot of work that has to happen anyway and do have to question whether the substantial work we would have to do for this would give more than an incremental benefit. People would still need to locate all the links to the original Confluence instance in other systems and then update them. We do save them the hassle of having to go and work out the new tiny link, but that is only part of a very time consuming task already. Also it would only be of benefit to the subset of people who used tiny URL's in the first place which I don't have data on. For those who used normal URL's (potentially the majority but no way to say) it wouldn't matter anyway.

              jmasson@atlassian.com John Masson
              mknight@atlassian.com Michael Knight
              Votes:
              0 Vote for this issue
              Watchers:
              20 Start watching this issue

                Created:
                Updated:
                Resolved: