To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cad.devOpen lugnet.cad.dev in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / Development / 9550
9549  |  9551
Subject: 
Re: LDRAWPREDIRS LDRAWPOSTDIRS - additional search paths
Newsgroups: 
lugnet.cad.dev, lugnet.cad.dev.mac
Date: 
Mon, 1 Mar 2004 23:03:15 GMT
Viewed: 
5733 times
  
Where to store the preferences?

While I've been aware of this thread, I haven't actually been following it, so
correct me if I've got the wrong end of the stick.

Ok now as Travis pointed out, we still need to find the LDRAWDIR
directory.  We also need environment variables to find the other
places ldraw.ini (or .ldrawrc) could reside; the WINDIR, USERPROFILE,
and HOME directories.  So we can't completely abandon environment
variables.  However there are there are reasons like java and macos9
why we might want to limit their use.

MacOS 9 and earlier is a single user environment and it was easy to place (and
therefore find) any environment variables in the "Preferences" directory.

However, with the migration to MacOS X the rules changed and there is both a
main "System" directory as well as seperate user directories.

As far as I can tell this discussion relates to what information should be
stored in the "System" directory so that all compatable applications can
automatically access a series of global variables such as the location of the
LDRAW directory.

As James has indicated, under MacOS X to make changes to the system directory
the user has to have administration priveleges, this means that the proposed
.ini file would need to static once installed.

With my "full install" version of MBC, I include the LDRAW directory which my
installer then loads into the "System" directory. With this approach, any user
has access the LDRAW files and more importantly, updates made by the
administrator will be automatically available to all users. Likewise, casual
users cannot mess with the LDRAW directory or it's files.

However this does have two distinct disadvantages - uninstalling MBC under this
approach requires more than just dragging the application to the trash (not very
Mac-like) and only administrators can update the LDRAW directory.

Another thing regards the location of the ini file. In past weeks I
got several questions regarding the central installation of LDraw
and MLCad, where universities and schools are trying to install
everything on a server, read-only for the user. Users should either
not have the possiblity to change configs ore should be restricted
somehow.

So my suggestion is to have one ini file in the ldraw directory
itself, and another one optionally in the users home directory.

In the users home directory, I (or actually MacOS X) stores the .plist file
containing my applications settings. At present, this includes MBC specific
settings as well as the location of the LDRAW directory.

Personally I favor having each user store ther own configs seperately. Also
consider something else, under MacOS X the system itself stores information in
the users .plist file that even the programmer may not be aware of. For example,
if I look in the MBC .plist file there are window location details that I don't
put there, likewise when I activated the "Open recent" command, MacOS X then
uses MBC's .plist file to store this info. So at least under MacOS X, it must be
considered that any preferences file may be altered without the programmers or
users knowledge.

I think we need to allow for an ldraw.ini in the Windows directory
for backwards compatibliity with old programs and older single user
Windows systems, but it should be the last place searched.  Ie.
search HOME, LDRAWDIR, and then Windows.  Also, you may want to do
a different search for the LDRAWDIR.  First look in the environment,
then the HOME directory, then the WINDOWS directory.  On unix/MacOsX
could we substitute /etc for the Windows directory?

Andrew, it'd be nice if an active Mac developer spoke up on this.

Finally, if we start putting ldraw.ini in the LDRAWDIR, how do we
decide what belongs in ldraw.ini and ldconfig.ldr?  For instance if we
go with the <LDRAWDIR>p form (without the slash character), the
default search paths are platform independent and could conceivably be
worked into the ldconfig.ldr file.

Personally, I see this as the crux of the issue - what is stored in the
environment file?

If it's static information only such as the location of the LDRAW / LGEO
directories etc, then the main System directory would be OK under MacOS X.

Finally, MBC automatically, first searches the LDRAW directory, the open models'
file directory and then the users directory for files. So for me storing the
location of finding the LDRAW directory isn't as critical as protecting this
directory from unwanted invasions (in the case of puplic or multi user
environments).

Andrew...



Message is in Reply To:
  Re: LDRAWPREDIRS LDRAWPOSTDIRS - additional search paths
 
(...) I'm only willing to abandon environment variables if you're willing to go the distance and really try to work out a standard that we all can use. I, like Lars, was quite disappointed when you got impatient and cut short the previous discussion (...) (21 years ago, 1-Mar-04, to lugnet.cad.dev, lugnet.cad.dev.mac)

132 Messages in This Thread:
(Inline display suppressed due to large size. Click Dots below to view.)
Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR