edb68153e3
- kf6-knewstuff/kwallet: removed all-zero blake3 placeholders - CONSOLE-TO-KDE-DESKTOP-PLAN.md: 20→22 KF6 enabled count - BOOT-PROCESS-IMPROVEMENT-PLAN.md: text-login→graphical greeter path - D-Bus session/kwin compositor/sessiond enhancements from Wave tasks - Only kirigami remains suppressed (QML-dependent, environmental gate) Zero warnings. 24 commits total.
32 lines
1.4 KiB
Plaintext
32 lines
1.4 KiB
Plaintext
How to identify entries
|
|
-----------------------
|
|
|
|
The KNS2::CoreEngine uses id() for entries and pid() for providers to find out
|
|
a unique identifier which can be used to compare one of them to another one of
|
|
the same kind.
|
|
|
|
In KNS1, the name and the payload URL were used to compare the entries, as
|
|
they're guaranteed to exist. In KNS2, the internationalised nature of those
|
|
tags is honoured.
|
|
The proposed comparison algorithm is hence called "internationalised
|
|
identification" (i18n-id) and is already implemented by Hotstuff.
|
|
It will also be implemented by KNewStuff2.
|
|
|
|
How does i18n-id work?
|
|
Out of all the tags of an entry, one is taken randomly. Its content together
|
|
with its language form the identity tuple. When an entry is to be compared,
|
|
the tag with the same language as used in the id is used for comparison.
|
|
Note that i18n-id works even in the absence of a language attribute. However,
|
|
in GHNS, a language attribute will almost always be present. It'd be naive to
|
|
throw information away when it is present already.
|
|
|
|
What i18n-id assumes is that translations never vanish, once added. It would
|
|
of course be trivial to extend the algorithm to check through all of the
|
|
languages once present, hence it would work as long as at least one
|
|
translation is kept.
|
|
|
|
What i18n-id achieves is that one doesn't have to rely on "unique ids"
|
|
maintained by the server, which would definitely change if repositories are
|
|
merged.
|
|
|