summaryrefslogtreecommitdiffstats
path: root/tdeio/DESIGN.mimetypes
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-01-27 01:04:16 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-01-27 01:04:16 -0600
commit5159cd2beb2e87806a5b54e9991b7895285c9d3e (patch)
tree9b70e8be47a390f8f4d56ead812ab0c9dad88709 /tdeio/DESIGN.mimetypes
parentc17cb900dcf52b8bd6dc300d4f103392900ec2b4 (diff)
downloadtdelibs-5159cd2beb2e87806a5b54e9991b7895285c9d3e.tar.gz
tdelibs-5159cd2beb2e87806a5b54e9991b7895285c9d3e.zip
Rename a number of libraries and executables to avoid conflicts with KDE4
Diffstat (limited to 'tdeio/DESIGN.mimetypes')
-rw-r--r--tdeio/DESIGN.mimetypes34
1 files changed, 34 insertions, 0 deletions
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.