0

In a scenario wherein I have many country sites and each site having a lot of content in common, I could create a master website and clone it across country sites. We know that cloning will establish connection between items from Master site and the cloned site. The question i have is will cloning create additional item records in Link Database when compared to creating country sites through 'copy' operation from Master Site?

The reason for asking this is - Link table contains relationships between items, such as which item 'is referred to' or 'referred by another' item and it can go across databases. Cloning maintains inheritance between items, whereas copy doesn't. That being the case Would Site cloning put more item entries into Links Table when compared to Site Copy from Master Site ?

If we are talking of 100's of country sites created through cloning, will it cause significant size growth in the Links Table?

2 Answers 2

2

Adding to what @mark-cassidy said:

  • Links Database stores relations between field values, and items for each database (web, master, core, and additional ones), language and version.
  • A Clone keeps a reference back to it's originator item in the __Source field. This will add 1 entry to the Links database per item, field, database, version, and language.

See in the image below the entries in the Links database for a cloned item:

Entries in the Links database for a cloned item

For the sake of illustration, I cloned the sample Home page that comes in a vanilla XP 9.1.1 installation, published it, and checked the links database.

enter image description here

The cloned item (Cloned Home) has a total of 22 rows, while the original one (Home) has a total of 41 rows.

While it is true to say that cloned items produce less entries in the database - as long as they continue as clones -, they still produce nearly half the amount of the original one.

In the image below the first set of records are from the cloned item. The second are from the original item.

enter image description here

1
  • Thanks for the insight Joao. If we had not used cloning but copy (in the example you posted above), what I understand is that we'll have 82 entries, 41 for each of the site. Off-course, we have not considered here the opportunity to optimize content between Site 1 and Site 2 through sharing. I understand each of this option (copy or clone) is driven by architectural requirements and long term goal, but I don't see one having a significant upper-hand in terms of performance gain or performance degradation unless we are doing things grossly wrong be it copy or clone. Your views?
    – S Keshav
    Sep 25, 2019 at 11:46
1

Technically speaking, the LinkDatabase does not store relations between items. It stores relations between field values, and items. This may not seem relevant, but it can be.

And the answer to your question is "yes". Creating Clones will increase the number of entries in the LinkDatabase. But not right away, and maybe not in all cases.

Let's start with the obvious. A Clone keeps a reference back to it's originator item in the __Source field. This will add 1 entry to the LinkDatabase per item.

The caveat

Item clone field values don't actually exist, until you change them. Meaning they will refer their field value back to the [original value] until changed. Almost like how Standard Values work. An [original value] does not exist in the LinkDatabase. This means a massive savings in LinkDatabase records, unless all of the Cloned items are actually updated with new values. With a Copy of the site, ALL field values would go to LinkDatabase right away.

So it's not as simple as "one is always better than the other".

2
  • Thanks for the insight Mark, that helped. Is an enormous Link Table a reason for concern? I am looking at a project which has 15 million records in it. What i understand is there are approx. 400 sites with many items having multiple versions. So apart from optimizing the sites and content (for. eg removing item versions not needed) and better managing item operations (delete, update, version creation, version removal etc.) as it impacts link table, are there some best practices around link table management?
    – S Keshav
    Sep 20, 2019 at 21:17
  • If the LinkDatabase is only used in your Content Editing environment, I would not worry. Unless you're telling me you have 100s of editors working as power users all throughout the day - and even so, I'm still not sure it would be a problem. 9.2 offers LinkDatabase enhancements as well come to think of it. Sep 20, 2019 at 21:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.