Heads up when creating a Property that connects to other pages
There are times you want to connect on of your pages to other pages of certain types. It could be some meta data structure or it could be relevant pages. There are other options out there like FilteredPageReference but if you want to make your own this is a blog post about what you should consider.
My first idea was to make this I just stored the id’s of the pages in a list. And implemented the IReferenceMap so I could handle import/export and hopeful the warning you get when you try to delete a page when a page is in use in an other page. But strangely the soft links doesn't use the IReferenceMap when it tries to find connected pages. Very strange. This should be fixed I think
The code that is run behind the scene to update the table with all pages that referrers to other pages is inside the LazyIndexer where this code is executed for each page
sealed class LazyIndexer
foreach (PropertyData current2 in current.Property)
if (!PageDB.IsIdentityData(current2.Name) && !current2.IsNull)
So my property needs to inherit from PropertyLinkCollection or have to be searchable and inherit from PropertyXhtmlString. and it needs to save the connected pages as hrefs.
So when one make a property that connects pages to each other and you want to ensure that the warning is given you have to make your property store links to those other pages. So if one inherits from PropertyLinkCollection one could easy add the property ListOfPageIds