On Dec 19, 2008, at 3:08 AM, Troy A. Griffitts wrote:
Just a few comments.
... snip..
One of them is probably what BibleCS does right now-- putting
modules in ./ This does not allow another application to find the
installed module set. I THOUGHT (DM can comment on this) that we
set SWORD_PATH env variable on install. If this is the case, then
all SWORD apps will find current modules.
The BibleCS installer sets SWORD_PATH. I think I said that this is a
per user setting. I got this backward. It should be an all user
setting. But I don't remember.
The problem is that BibleCS looks first at ./sword.conf and ./mods.d
and because it's notion of . (the install directory) has mods.d (I
forget if it has sword.conf) it will never look for SWORD_PATH set by
some other program.
IF A USER CAN INSTALL OUR SOFTWARE TO PROGRAM FILE, then they should
be able to WRITE to program files to install modules. Yes?
The ball game is different under Vista. I don't have Vista. I don't
know of a Vista machine that I can use for testing. So, anything I say
is hearsay.
I heard that Vista has a two-level administrative permission scheme.
That is an administrator may be required to authorize an install.
If this is the case, then the permission to install is not the same as
the permission to write.
The other problem from Win XP (perhaps ME) onward is that if one user
has permission to install, that doesn't mean that another has
permission to write. This is the "shared module" problem.
Regarding private modules, If GS or another app wants to include
private modules, then they can call AugmentPath on SWMgr or else we
can agree to a common area and place that in our sword.conf
configuration file in our ./ app directory.
Just a comment: Vista still sucks and no business I have ever worked
for to this day has installed it on company computers. They all
take advantage of Microsoft's free 'Downgrade' to XP. Not that this
means much because our users are mostly home users running Vista,
XP, or earlier.
So, to sum up. I think we should:
Not supply app-specific config data to SWMgr, but let SWMgr default
through it's normal discovery process. This will let all SWORD apps
work the same.
I agree that it should not be app specific. But I do think it needs to
be OS friendly.
Be sure JSword follows the same rules as SWORD C++
Sort of. I outlined the differences in another reply. If BibleCS is
installed first, it will find it's module repository.
Talk about and agree where we think modules should live on any
number of versions of windows.
Then choose the appropriate discovery configuration options to find
modules in these places.
If we agree on a scheme which we discover we do need to augment the
engine to support, then we can do this, but I think we will find a
way to configure things using the existing mechanisms (SWORD_PATH, ./
sword.conf, ../library/ whatever).
And I STILL think Windows sucks and would personally throw my vote
in for NOT doing things the 'Windows' way, which will inevitably
change next release.
I like putting modules in a subfolder with our apps so we can move
them around, e.g.:
C:\Program Files\CrossWire\library\
C:\Program Files\CrossWire\The SWORD Project for Windows\
C:\Program Files\CrossWire\BibleDesktop\
This is what you and I agreed on, but the BibleCS installer and the
BibleDesktop installer do not do this.
Others are saying that under Vista this is problematic.
Or just leaving them under:
C:\Program Files\CrossWire\The SWORD Project for Windows\
where they are already installed for Windows users because of
BibleCS (and hopefully we are setting SWORD_PATH) The above name
doesn't sound too much like a frontend specific name because of how
uncreative we were with BibleCS' public name.
This would work if SWORD_PATH is looked for first. Otherwise, BibleCS
is not a good team player.
Other comments:
When was the last time a user looked in there HOME directory on
Windows, had any clue what any of the files in there were for or
cared if any of them started with .?
[r...@localhost Scribe]# pwd
/windows/c/Documents and Settings/Scribe
[r...@localhost Scribe]# ls -latd .??*
drwx------ 1 root root 8192 2008-11-13 00:24 .gimp-2.4
-rwx------ 2 root root 2086 2008-11-13 00:23 .recently-used.xbel
drwx------ 1 root root 4096 2008-05-22 15:31 .borland
drwx------ 1 root root 0 2008-05-22 15:31 .rwpgxhapeide
-rwx------ 2 root root 0 2007-09-09 16:27 .gtk-bookmarks
drwx------ 1 root root 0 2007-09-03 22:47 .cream
drwx------ 1 root root 0 2007-02-24 18:55 .DownloadManager
drwx------ 1 root root 0 2006-12-04 12:56 .flashcards
drwx------ 1 root root 0 2006-06-01 03:15 .dbpilot
drwx------ 1 root root 0 2006-06-01 03:12 .connections
-rwx------ 2 root root 2984 2006-06-01 03:12 .1149156731656.slip
-rwx------ 2 root root 3249 2006-04-29 13:39 .1146343195000.slip
drwx------ 1 root root 0 2005-09-15 20:43 .thumbnails
-rwx------ 2 root root 322715 2005-09-15 20:41 .fonts.cache-1
:)
-Troy.
Matthew Talbert wrote:
There's nothing wrong with a "." at the beginning of a file or
variable name. It simply hides the folder from regular user view,
which is how it should be. The data in there is not intended for
direct user interactions. If people want to see hidden folders/
files,
they can enable it.
No, on windows it doesn't hide the folder, which is the problem.
XP is still a recent version of the NT chain. It's still supported
and available on certain machines, and shares a significant amount
of
user popularity - that's my meaning of recent. I don't know when in
the NT family the concept was introduced of the User directory,
but I
know it's been in since at least XP. Not that it much matters,
because bending over backwards to support anything pre-XP is most of
the SWORD applications is going to be beyond tedious for minimal
gain.
8 years old is recent?
From how I understood Troy, it was merely for the installation of
modules - not the creation of them - that he was advocating putting
them in Program Files. Per-user data should probably still be
kept in
some sort of per-user location. But installing modules to be shared
across the front ends and users should be done in a more global
place.
Perhaps the path \Users\Public\Sword should be used for the
regularly
installed modules, and set to SWORD_PATH, then a per-user folder in
%HOME%\AppData\Sword or %HOME%\.sword
You are basically saying what GS intends to do, but that is certainly
not how I understood Troy.
(as for not having "." at the
beginning of folders, I currently have .dvdcss, .housecall6.6, .kde
and .VirtualBox in my home directory -- it's definitely not unheard
of).
I know, but it's like creating a visually unappealing program for a
Mac user. Littering the user's home directory with .folders is not
the
most user friendly thing that could be done.
I don't remember if XP supports the \Users\Public, but I think it
does. I know that World of Warcraft, in a recent patch, decided
that
it should recommend that users move the whole game folder to
\Users\Public\Games\World of Warcraft instead of \Program Files
\World
of Warcraft. After all, that's what the public is for -- shared
data
that users are allowed to read/write to. What to do on Windows
systems that are pre-user, I have no idea.
XP doesn't have \Users\Public. It does have All Users\Documents,
which
might be a more correct place to put shared things, but I'm not sure.
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page