🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.nativeapi
Article #6792

Re: Client/Server Question

#6792
From: JD
Date: Mon, 11 Apr 2005 13:32
75 lines
3615 bytes
Hans Galema <notused@notused.nl> wrote:
>
>> The user could always change the file attributes and then modify
>> the data.
>
> Of course. But what does that matter ? I thought you were
> speaking of your programs. Your programs will only change
> the live db.

To be more accurate, it will make changes to the db that server
thinks is the live db *if* the client is connected to the
server.

> You make a backup: of course in a different directory! And
> set the whole backup to read-only. Your clients can only
> browse then. Then you are done.

Well not really because to do it that way, the server side
would have to maintain different paths for each user and then
how would the user get the server to browse for them?

>If the user intentionally chnges the fileattributes. Then the user
>is responsable for damage. Not your program.
>
>> If I disallow modifications in code, the user can only
>> corrupt the data file ... 
>
>Heh ? I can not follow that scenario.

Then they would not be able to use my program ... they'd have
to use say NotePad which would almost certainly result in a
corrupted file.

>The administrator will do that. What you can say however is:
>only use ports above 1024.
>
>> Certainly one should be performing error checking but the
>> administrator should also know what they're doing.
>
>I have know idea what was in your mind here.

Vlad pointed me to a win32 API that allows one to first check
if the specified port is in used and I would expect that my
server would need exclusive access to it's port.

> In your other post you said that you backup in the same
> directory. That looks like bad design for me.

If that's what the user does ... what are you to do?

>> I thought this would be common [...]

>That is great. Especially if you can rollback to specific dates
>and times. But then you would need a backup for every specific date
>and time or a transaction logfile which you could play back.

Everything is transaction driven. New transactions that have
been entered into the computer but not yet applied to the db
are kept in 'new' transaction files. For example, for the
General Ledger, that file name might look like April2005.gln

Once the transaction has been applied, it's moved to a
'processed' file: April2005.glp and when the accounting period
is closed, it's moved to a historical file: 2005.glh.

>If you have all these nice things then I just can't believe
>that you don't make archives outside the db directory and just
>set them to read-only.

I noted above the problem that I have with using my server to
access multiple db's at the same time. Do you have a better
idea?

~ JD
Technical Details
Message-ID: <425a6e44$1@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news2.google.com!proxad.net!212.101.4.254.MISMATCH!solnet.ch!solnet.ch!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail
References: <42595de6$1@newsgroups.borland.com> <42598b99$1@newsgroups.borland.com> <4259d12d$1@newsgroups.borland.com> <425a2ebe@newsgroups.borland.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: 10cc67,8e548e1386e6e65f
X-Google-Attributes: gid10cc67,public
X-Google-Language: ENGLISH,ASCII-7-bit
From: "JD" <nospam@nospam.com>
Sender: "JD" <nospam@nospam.com>
Reply-To: "JD" <nospam@nospam.com>
Subject: Re: Client/Server Question
Newsgroups: borland.public.cppbuilder.nativeapi
X-User-Info: 172.172.114.228     
References: <42595de6$1@newsgroups.borland.com> <42598b99$1@newsgroups.borland.com> <4259d12d$1@newsgroups.borland.com> <425a2ebe@newsgroups.borland.com>
NNTP-Posting-Host: 207.105.83.66
Message-ID: <425a6e44$1@newsgroups.borland.com>
Date: 11 Apr 2005 05:32:04 -0800
X-Trace: newsgroups.borland.com 1113222724 207.105.83.66 (11 Apr 2005 05:32:04 -0800)
Lines: 76
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news2.google.com!proxad.net!212.101.4.254.MISMATCH!solnet.ch!solnet.ch!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail