Hi Tony,
Thanks for the input. Yes I think we are the same 'track'; but I have
no learned some more with assistance from the team at DB; and wish to
share this new-found knowledge with others who may hit the same
issues.
FWIW, part of the problems I was having are because I could not get
the correct set of documents. Something weird happening with
attempting to download pdf files. Both IE7 & Chrome would 'bleep' when
clicking on the link. Bearing in mind the link is actually a db form
[probably an onscreen report] which is trying to open a modal form
with the pdf in it. I dummo, but I couldn't get it to "go" no matter
what I disabled on my system. Anyway, no matter Rick emailed me the
pdfs, which ceratinly helps. So my first tip to others: don't assume
you have all the documents; they are NOT all in the install set; you
need 'flavour' specific instructions and d3 is no different!
Moving on...
My next 'Thank you' is to you Tony for giving me syntax to copy files
from on d3 account to another without the use of Q-Pointers. I knew
that can be done, but have found this type of fully-resolvable
pathname type naming syntactically confusing and hard to remember; so
for an old goat like me, Q-Pointers do the trick!!
Now, this is what I learned today [I may have some minor detail wrong,
but I think this may help most get their head around things].
Firstly db by default is designed to sit inside the one account, for
example DBI.DEMO contains all the definitions AND all the data files
for that 'development'. Some may find that a bit weird, but there you
go. I guess DB still separates 'application' from 'data' while in this
form from the perspective of designbais ITSELF; but that does not
[IMHO] create separation for developed apps. Anyway, the point is:
there is a way to do so & I shall outline the steps here. It is a
combination of what I think everyone has been trying to do, but is
'officially' part of DB:
1. As suggested by Rick, replicate the DBI.DEMO account via some
means. Account-save & account-restore spring to mind as the easiest
method. Give this account a suitable name that makes sens to your app.
This is what I would call a 'program account' but is what DB calls a
'shared' definition account; lets all think of it as the
'application'.
2. In your application DATA account [assuming you already have one, if
not create one] create a pointer to your 'application' account called
DBI which points to the file 'DBI'. Many ways to do that but for me
the easiest is to use SET-FILE {accountname} DBI <Enter> then COPY MD
QFILE (D <Enter> DBI <Enter>.
3. If done correctly you will be able to LIST, SORT or whatever 'DBI'.
Check that.
4. Run a program in DBI called DBI.P.ACCOUNT.SETUP [for which source
is available, so you can read it, too]. If it doesn't run, compile it.
You could catalog it, or simply enter the command RUN DBI
DBI.P.ACCOUNT.SETUP. Now this thing will prompt for a few things, so
be careful. You have to state what environment you are on [Windows/
Unix etc]. You have to state what mv platform you are on [In this case
D3], {here's the important bit} IF YOU WANT TO SPLIT APPLICATION &
DATA you have to respond to the prompt about a Shared definition
account with the name of the account your created in step 1! Really,
really important!! You also have to tell the routine where your
designbais install files are. Note this defaulted to the default
install directory on C:. If you are difficult [like me] and put apps
onto a separate drive; you must mention the correct directory. Mine
was s:\designbais. I think that was it, & off it went copying a bunch
of stuff and setting up other bits too. I recommend reading the source
before you try; just to get your head around what it is doing and
going to ask.
5. Then, I had to simply setup MVSP so that it can 'talk' to my data
account.
6. Finally, back in designbais, in User maintenance for my development
user; I added in the account name for my data account & told it the
default form to use as being the same as DBI.DEMO; & I could then
'Change accounts' to this new account & off we went! Voila!
Ok, that's my news for now. I hope that helps others in case they come
across the same issue.
Happy holidays!
Cheers,
David
On Apr 6, 5:57 am, "Tony Gravagno" <
ex2vgh...@sneakemail.com> wrote:
> PMJI.
>
> I know it's possible to dynamically generate the files and props and
> pointers, and to have data files in different accounts assigned
> dynamically at run-time . because I did it 5 years ago. In fact I
> think a couple DB apps still do this. I just looked on my blog and I
> guess I never published the code, sorry. But it's all possible.
>
> The product is capable of doing more than what DBI likes to support.
> I'm reminded of a blog I wrote specifically about generating DBIFILES
> and DBIFORMS and extending DesignBais beyond the vendor constraints
> (dare I say, hacking DesignBais.):
>
>
http://nebula-rnd.com/blog/tech/mv/2007/09/extending-designbais1.html
>
> In the left margin click the DesignBais Category for more fun. (Note
> that's all pre-v4.3 but I'm sure most of it still applies today.)
>
> The down side of doing all of this account copying comes when it's
> time to upgrade. Then each DBI.DEMO copy needs to be modified manually
> to agree with the new release. It would be so much better if there was
> an installer like David is asking about - the kind most other tools
> and applications in our industry use. Like I said, I wrote one and it
> looks like David is on his way there too. Then each app account could
> be readily upgraded, and without the burden of having two accounts for
> every data set.
>
> And BTW, here's some alternate syntax (no need for QFile):
>
> SELECT DBI.DEMO,, = DBI] WITH A1 Q
>
> COPY DBI.DEMO,,
>
> to: (MD
>
> SELECT DICT DBI WITH A1 CC
>
> CATALOG DICT DBI
>
> or, to combine..
> > Rick- Hide quoted text -
>
> - Show quoted text -