I've got an existing site for a large, day festival.  The system has
three types of identification:

1) "SessionID" - ID stored in a non-persistent cookie.  We store
clickstreams (page visits), for example linked to the SessionID.

2) "ClientID" - ID stored in a persistent cookie.  We store, for
example, UserAgent stats and group SessionIDs with ClientID.

3) "UserID" - ID stored in database, but only available when the visitor
logs in.  All personal information (address, name, etc) is linked to the
UserID.

For general users log in is not at all mandatory (right now it's only to
receive a monthly newsletter).  People are generally not used to logging
into the site.

All of this works fine.  Forget, for a moment, the fact that people may
disable cookies.

Part of the site is a "Planner" allowing people to mark certain events
within our festival and later see them as a personal schedule.  In past
years this information was always cookie-based: one browser, one plan.

This year I'd like to store that data in the database (at the very least
this will allow us to perform statistical analysis on the data).  It
would also be nice to offer storage of the plan as a "perk" to those who
sign up (this also means that the plan would be available on multiple
machines).

I'm a little (well, a lot) confused by this.  I'm wondering what others
would expect from this kind of system.

It's simple enough to say "If not logged in, link the plan to the
ClientID", and it's simple as well to say "IF they log in link the plan
to both the ClientID and the UserID" - or just "Link the plan to
UserID".

But if they come back and add events then log in (so there's a current
plan and another linked to the UserID and THEN log in what should I do?
Replace the current one with the one linked to the UserID?  Combine the
two?

When a signed-in user logs out should I then delete the plan from the
current session (meaning they'd have to log in to see it)?

If I do maintain ClientID AND UserID what should be done (if anything)
about multiple computers?

Should it be different the first time?  Our sign up is of the "we'll
send you a password in an email type" so they may not be able to log in
immediately upon signing up.  So should I say "If there's a plan linked
to the ClientID and NONE linked to the UserID copy it when they sign up,
otherwise use only the UserID plan.

If I ignore the ClientID plan when logging in that would mean that two
people using the same computer could make different plans (linked to
unique UserIDs) but that any changes made when NOT logged in would be
lost.

In short... I'm confused.  ;^)

Any thoughts?  I've got no problem actually building any of this: it's
the expected user experience that's concerning me (so I suppose that
also makes this an off topic post... sorry)

Jim Davis


[Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]

Reply via email to