From 5159cd2beb2e87806a5b54e9991b7895285c9d3e Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 27 Jan 2013 01:04:16 -0600 Subject: Rename a number of libraries and executables to avoid conflicts with KDE4 --- tdeio/DESIGN.mimetypes | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 tdeio/DESIGN.mimetypes (limited to 'tdeio/DESIGN.mimetypes') diff --git a/tdeio/DESIGN.mimetypes b/tdeio/DESIGN.mimetypes new file mode 100644 index 000000000..7f1d81b11 --- /dev/null +++ b/tdeio/DESIGN.mimetypes @@ -0,0 +1,34 @@ +TODO: servicetypes +TODO: mimetypes + +Service type inheritance (X-TDE-Derived) +======================================== +X-TDE-Derived is for service types. ST1 derives from ST2 means ST1 is more specific than ST2. +If a service implements ST1, it also implements ST2, but not the other way round. + +For instance, KoDocument derives from KParts/ReadWritePart, which derives from KParts/ReadOnlyPart, +so KWord's part (which implements KoDocument) can be used as a readonly viewer for KWord files +in Konqueror (which looks for a KParts/ReadOnlyPart). + +Mimetype "inheritance" +====================== +We need a mechanism to also say that "text/xml is a special case of text/plain", +or "text/docbook is a kind of text/sgml", or "application/x-smb-workgroup is a kind +of inode/directory", etc. See below. + +Why mimetype "inheritance" doesn't use X-TDE-Derived +==================================================== +The confusing thing is that we said "a mimetype is a servicetype". But that's not exactly correct. +As Waldo noted, "the ability to open a mimetype" is what's a servicetype. +So if text/xml said X-TDE-Derived=text/plain (i.e. ST1=text/xml, ST2=text/plain), +then an application opening text/xml (ST1) could also open text/plain (ST2) - which is not necessarily true. + +We want the other way round: to be able to open special kinds of text/plain in a plain text editor. +This is what X-TDE-IsAlso was introduced for. X-TDE-IsAlso kind of "works the other way" than X-TDE-Derived. +If M1 is a special kind of M2 (mimetypes), then "the ability to open M2" derives from "the ability to open M1" +So we say in text/xml: X-TDE-IsAlso=text/plain, and applications that can open text/plain can also open text/xml. + +Pattern Accuracy +====================== +In some cases of inheritance several mimetypes shares the same extension (with the primary case being Ogg Multimedia files). +This has been solved sofar by matching the extension to most generic mimetype. To indicate that the mimetype can be refined further, the flag X-TDE-PatternsAccuracy can be set. The value to X-TDE-PatternsAccuracy is a number between 0-100, with 100 being the default if not set. Any values below 100 is interpreted as the possibility of further mimetype refinement. -- cgit v1.2.1