View Single Post
Old 09-04-2012, 03:25 AM   #32
BetterRed
null operator (he/him)
BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.
 
Posts: 22,116
Karma: 30277960
Join Date: Mar 2012
Location: Sydney Australia
Device: none
Quote:
Originally Posted by kovidgoyal View Post
You're right, on windows it is in CSIDL_PERSONAL, which is My Documents. And that is not going to change.
For those that don't know, CLSID is "Constant Special Item ID"

CLSID_PERSONAL was aliased (half hearted deprecated) to CLSID_DOCUMENTS when Win 98 with its My Pictures & My Music hit the streets in May '98.

CLSID as a 'brand' was deprecated in the Vista release of Jan 2007 by KNOWNFOLDERID, so continued support of CLSID's in Windows cannot be guaranteed. That said MS, like IBM, have a legacy of supporting users legacy applications long after their users stop using them

The KNOWNFOLDERID Equivalent of CLSID_PERSONAL/CLSID_DOCUMENTS is FOLDERID_DOCUMENTS.

So when Kovid writes in windows it is in CSIDL_PERSONAL, which is My Documents. And that is not going to change, he is in fact referring to a Windows 95 artefact, does Calibre run on Win 95 - probably not,

MS describe CLSID_PERSONAL thus, the same definition is carried forward to FOLDERID_DOCUMENTS, it is known elsewhere as the Document Paradigm.

Quote:
Originally Posted by Microsoft
The file system directory used to physically store a user's common repository of documents.
In one of their developer guidelines you'll find this

Quote:
Originally Posted by Microsoft
Per user Documents are “Document” type files that users create/open/close/save in the application that handles that "“Document” type" on a per user.

Example: MyDoc.doc

Access Via
Windows 7: Libraries

Vista: %USERPROFILE%\Document
XP: %USERPROFILE%\My Documents
Environment Variable: Not applicable

Known Folder ID: FOLDERID_Documents

CSIDL: CSIDL_MYDOCUMENTS, CSIDL_PERSONAL

System.Environment.SpecialFolder: System.Environment.SpecialFolder.MyDocuments
IMO by those definitions & guidelines Calibre does not "manage" its data according to the Document Paradigm, that's fine I have no problem with that, its perfectly acceptable and more importantly it works.

However I do have a problem with the fact that by default Calibre dumps its non-Document compliant data into a location whose stated purpose is to store Documents. And then to rub salt into the wound the 'support community' berate users for having the temerity to treat the Calibre data as if it did conform to the Document (create/open/close/save) Paradigm.

Whats more Calibre only does this on one platform, Windows, on the other two platforms,OS/X & Linux, it puts its data where it ought to be - in a Calibre directory in the users home directory - in Windows parlance that's what you get from %USERPROFILE%.

A conspiracy theorist might imagine its part of the ongoing plot to undermine M$ by the Apple fanboi and Linux bigot communities - but I'm not conspiracy theorist.

BR

Last edited by BetterRed; 09-04-2012 at 03:29 AM.
BetterRed is offline   Reply With Quote