Jump to: navigation, search

Changes


Auto-Delete Dead Links

1,532 bytes added, 18 February
The Auto-Delete Dead Links feature automatically detects can detect and removes remove dead links within in {{UBIK Studio}}. When If enabled, the system feature deletes unreachable links to reduce manual cleanupautomatically when encountered.
== Usage What is a Dead Link? ==Dead links are Guid property values without corresponding objects, with the consequence that a lot of time is spent looking up the non-existent object in the database when reading the property value as a {{UBIK}} object is attempted. A couple of such Dead Links can slow down a {{UBIK}} web service, Studio or Enterprise Service drastically, therefore they should be avoided or at least cleaned up as soon as possible.
=== How to Enable It deal with Dead Links ==* First of all, {{UBIK}} logs each encounter with a Dead Link (but only up to once per minute) as a warning including all relevant details like the owner ID, the property name and the faulty value. {{Version/ServerSince|4.9.0}}* One can enable the auto-deletion of Dead Links in the System Settings. Then, in addition to writing a log entry, {{UBIK}} deletes a faulty value when it is encountered. {{Version/ServerSince|5.0.0}} [[File:AutoDeleteDeadLinkMessage.png|200px|thumb|Notification displayed when a dead link is detected]]* There is the possibility to actively find and delete dead links for all instances of a MetaClass. If you know that there are Dead Links, you can do a bulk clean-up that way. {{Version/ServerSince|5.0.0}} The auto-deletion is not enabled by default because there can be use-cases where the data is legitimate but other issues lead to a failure to find the object.E.g., timing issues during import or missing plugin DLLs in a setup. == Enable Auto-Deletion of Dead Links in the System Settings {{Version/ServerSince|5.0.0}} ==
[[File:AutoDeleteDeadLinkSetting.png|200px|thumb|Auto-Delete Dead Links feature inside the System Settings]]
* In [[UBIK Studio]], navigate to System Settings.
* Locate the setting Auto-Delete Dead Links.
* Toggle the setting to enable the feature or Off to disable itthe feature.
==Actively delete Dead Links for a MetaClass {{Version/ServerSince|5.0.0}} = How It Works =This can be done from Who-Bert or custom code, or even via the {{UBIK}} Enterprise Service.<syntaxhighlight lang="csharp">MetaClass metaClassWithDeadLinks; // This should be a MetaClass where instances are known or suspected to contain Dead Links!UBIKEnvironment environment =anyObject.Environment;[[File:AutoDeleteDeadLinkMessageenvironment.png|200px|thumb|Notification displayed when a dead link is detected]]UBIKDataFactory().CleanDeadLinks(metaClassWithDeadLinks);</syntaxhighlight>
Once the feature is enabled, UBIK Studio automatically detects dead links when they are encountered. If a dead link is found, it is deleted immediately, and a notification message informs you whether the link was removed based on your current setting.== See also ==*[[UBIK_Studio_Basics#Database_specific_settings]]
The system saves this change automatically, ensuring the dead link does not reappear the next time you open UBIK Studio.    == See also ==*[[UBIK_Studio_BasicsCategory:Version 4.9|Auto-Delete Dead Links]]*[[#Database specific settingsCategory:Version 5.0|specific settings dialog for the currently connected databaseAuto-Delete Dead Links]]*[[UBIK_ConsoleCategory:Server|Auto-Delete Dead Links]]*[[UBIK_ActionsCategory:Studio|Auto-Delete Dead Links]]
1,966
edits