My understanding that as of now there is no
effective support for separating code folder
vs user folder for J. It is expected that each
user has a separate J installation.

The issues here are

 - a "user" folder: startup.ijs should control
   per-user configuration, not profile.ijs

 - an "addons", which although installed like application,
   but some addons may write data to it's own folders,
   however they should probably write to "user" folders

Various J tools and scripts work off of "~small",
not "~Big" folders, which have only limited support
(ProjMan, Search).

In true separated environment, the code would be
in Program Files or /usr/local/... and user data
would be in HOME folder, which is resolved from
standard environment variables (or overriden with
special variable), e.g.
  My Documents\J Folder\...


--- "Sherlock, Ric" <[EMAIL PROTECTED]> wrote:

> > -----Original Message-----
> >On Behalf Of Oleg Kobchenko
> > ... 
> > Argument -jprofile does not specify a new profile, it 
> > suppresses loading of the profile.
> > So there is only profile--profile.ijs--it can be loaded or 
> > suppressed. Hence noun PROFILE is always the location of profile.ijs.
> 
> If this is the case (and after re-reading "Starting J - Tech Details" I
> can see that this is certainly a valid way of interpreting things), then
> I'd suggest that the current documentation helped confuse me. E.g. in
> the profile.ijs file:
> 
> NB. 2. You can modify this file, for example to change the directory
> paths.
> NB.    Alternatively, set up your own profile. To do so, make a copy of
> the
> NB.    file, then change the J startup parameter to point to the new
> file,
> NB.    e.g. under Windows:
> NB.      c:\j6\j.exe -jprofile c:\jx\myprofile.ijs
> 
> And
> 
> NB. 6. In J, PROFILE_z_ is the full profile filename, and ARGV_z_ are
> the
> NB.    command line args. A profile can redefine PROFILE_z_ and load it.
> 
> Early on when I was installing J, I was keen to 
> A) install J in "c:\program files\" along with my other programs
> B) keep my user files in my data area (D:\)
> C) enable different users on my home computer to be able to play with J
> but each have their own user area.(c:\documents and
> Settings\<USERNAME>\My Documents\Jprg\) (I'll ignore this bit below as I
> didn't worry about that for my work computer)
> 
> I followed (or at least think I followed) Chris's advice to Devon in the
> thread below and the info at the end of
> http://jsoftware.com/help/user/install.htm.
> http://www.jsoftware.com/pipermail/general/2006-October/027975.html
> 
> I made a copy of the default profiles.ijs and copied it to
> d:\jprg\user\config\profile.ijs. (so that upgrading to a new version
> doesn't write over my custom profile)
> I edited it so the systemfolders are end up being defined as follows:
> |addons |c:\program files\j601\addons            |
> |binary |c:\program files\j601                   |
> |config |d:\jprg\user\config                     |
> |help   |c:\program files\j601\system\extras\help|
> |home   |d:\jprg\user\config                     |
> |profile|d:\jprg\user\config                     |
> |system |c:\program files\j601\system            |
> |temp   |d:\jprg\user\temp                       |
> |user   |d:\jprg\user                            |
> 
> In this case it seemed to make no sense for PROFILE to refer to
> "C:\Program Files\j601\profile.ijs". And not knowing what PROFILE might
> get used for by J elsewhere, I therefore set it to be the path to the
> profile.ijs that is actually loaded. It seems that I needn't have
> bothered. If PROFILE had been named PROFILEDEFAULT I wouldn't have felt
> it might be necessary to touch it.
> 
> I'm sorry if this all sounds pedantic or dense, I'm just trying to
> unconfuse myself and hopefully help others not get confused in the first
> place!
> I'm not suggesting any change of functionality (if you forget the
> automatic assignment of PROFILE), just highlighting that I got confused
> by the current implementation. If I can help improve things by writing
> FAQ page or some such once I feel I've got the facts straight then I'm
> happy to. 
> 
> > Why would it be necessary to make distinctions below?
> 
> So it doesn't imply that the SYSTEMFOLDERS are related to the location
> of the PROFILE (if using a custom profile). Alternatively rename PROFILE
> to PROFILEDEF or something so that it is clear that we're always talking
> about the profile.ijs in the folder containing the JFE.
> 
> 
> I'm also wondering whether, despite the fact I'd have to watch out when
> upgrading, I'd be better just editing the default profile.ijs, to point
> to the location of my user folders.
> 
>  
> > 
> > --- "Sherlock, Ric" <[EMAIL PROTECTED]> wrote:
> > 
> > > I just wanted to comment features of the default profile.ijs that I 
> > > have found confusing.
> > > 
> > > In the default profile.ijs, one of the first things done is 
> > to set the 
> > > noun PROFILE_z_ to be the pathname of the default 
> > profile.ijs if it is 
> > > not already defined. My current thinking is that if you 
> > were using a 
> > > custom profile (via -jprofile on the command line) then PROFILE_z_ 
> > > should be set before the line.
> > > 
> > > if. notdef 'PROFILE' do. PROFILE_z_=: 1!:45'' end.
> > > 
> > > However later parts of profile.ijs (where the folder portion of 
> > > PROFILE is then used as a proxy for "the base folder of the J 
> > > installation") suggest to me that the idea is that PROFILE should 
> > > always point to the the default profile, whether a custom 
> > profile was 
> > > used or not. If so perhaps a better name would be 
> > PROFILEDEFAULT or PROFDEF or similar.
> > > 
> > > If in fact the idea is that PROFILE should point to the 
> > profile used 
> > > when J was started, perhaps this would be a useful change 
> > to the first 
> > > part of the script? (In other words if -
> > > 
> > > NB. =========================================================
> > > NB. various global definitions
> > > 3 : 0 ''
> > > notdef=. 0: ~: 4!:0 @ <
> > > if. notdef 'ARGV' do. ARGV_z_=: ,<'undefined' 
> > > elseif. (<'-jprofile') e. ARGV do.
> > >   PROFILE_z_=: (>:ARGV i. <'-jprofile'){:: ARGV end.
> > > if. notdef 'PROFILE' do. PROFILE_z_=: 1!:45'' end.
> > > PATHSEP_j_=: '/\'{~6=9!:12''
> > > jhostpath_z_=: PATHSEP_j_ & (I. @ (e.&'/\')@] }) ''
> > > )
> > > 
> > > Again assuming that PROFILE should point to the profile used when 
> > > starting the current J session, then it may be more transparent to 
> > > assign the system folders like this:
> > > 
> > > NB. =========================================================
> > > NB. create SYSTEMFOLDERS
> > > NB. the entry for binary is added in boot.ijs sep=. PATHSEP_j_
> > > prf=. PROFILE   {.~ PROFILE   i: sep
> > > bin=. (1!:45'') {.~ (1!:45'') i: sep
> > > add=. bin,sep,'addons'
> > > sys=. bin,sep,'system'
> > > tmp=. bin,sep,'temp'
> > > usr=. bin,sep,'user'
> > > cfg=. usr,sep,'config'
> > > hlp=. sys,sep,'extras',sep,'help'
> > > hom=. (0&e. { ;&prf) 2!:5 'HOME'
> > > ids=. ;: 'profile system addons temp user config help home'
> > > SYSTEMFOLDERS_j_=: ids ,. prf;sys;add;tmp;usr;cfg;hlp;hom
> > > 
> 
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> 



       
____________________________________________________________________________________Ready
 for the edge of your seat? 
Check out tonight's top picks on Yahoo! TV. 
http://tv.yahoo.com/
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to