On Wed, Dec 8, 2010 at 9:18 PM, Sytze de Boer <[email protected]> wrote:

> Lets say I just want to have a system where
> 1  Client logs in with password

So, there's 400 - 1000 clients with unique and secure passwords. Where
do these come from? How are the generated? How do you get them to
clients? Email is insecure and passwords should _never_ be sent that
way. Bear in mind a malicious user (client or hacker) with a password
can find out if there are any security flaws (SQL overflows, flaws in
your chosen platform) with the goal of taking over the machine for
their own use. Any web application exposed to the internet is going to
get probed by automatic scripts that have nothing better to do than
try hundreds of well-known exploits; I see them in my web logs every
night.

Ideally, clients register with their email address, get a confirmation
email with unique URL at that address (proving they have control of
the email address), then get approved by the client as a known user.
Then they can set their own secure password (and it should be checked
for strength - not "password" or "1234")

Then, there are always going to be some who forget their password. So
you'll need a "forgot my password" link that can generate a one-time
login URL and email it to the customer email on record. And some will
want to change their password on occasion.

Many web frameworks have bits and pieces of this installed. It's
critical to get it right. (Btw, this also means it's not a "single
table" app -- there's at least a "users" table, and likely a few more
(like sessions) needed for management and administration. And an
administrative app to manage them.)

> 2  Now accesses a single table (or whatever is used to store data)

This is the easy part. CRUD on a single table is pretty simple. But
I'll bet there are some validation requirements.

> 3  Only sees "his/her" data (like "set filter to " his/her data only)

Also fairly simple.

> 4  Has ability to Add/Change/Delete
> Thats it, as simple as that

Except for the next requirements, which for some reason you didn't number:

> The system now pulls the data every midnight into a VFP app on a local
> drive and pushes updated data back to web server.

5. So, the data needs to be tagged (new/synced), exported into a
common format, securely transported to an authorized location. A
second app on that machine has to import in the new information. What
do you do if the data is invalid? Bad dates? Missing info? What if it
conflicts with an existing records?

Once the web app exports its data, how does it know it gets to the VFP
app? Does it need to keep that data flagged as "pending" until the VFP
app reports back that the data was imported successfully? How
important (what are the business implications) of that guaranteed
delivery, and what do you need to do to handle a failed transmission?
Do you need to monitor the results each day? Are you allowed to take a
vacation (holiday)? Important questions!

6. Then (or simultaneously, or before?) the VFP system exports its
changes, transports them (securely) to the web app and a third
application imports that data into the web app? Same questions as
before: how do you handle a defective upload, an incomplete
transmission, invalid data, conflicts?


> Is this do-able (easily?)
> S

Of course it is! There's nothing that can't be solved. There's time,
money and features: which of the three is fixed and which are you
flexible on?

As for "easily," there's nothing I see in your app that I haven't done
before. If by "easily" you also mean "cheaply" and "quickly," well,
pick two out of the three :)

A fixed spec will get you a fixed project estimate. A vague spec will
get you a vague "Sure! That's easy!"

-- 
Ted Roche
Ted Roche & Associates, LLC
http://www.tedroche.com

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/profox
OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/[email protected]
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to