Logins should fetch profile from server.
It seems that when one "logs in" from the Preferences page, instead of loading the person's user profile from the server, it merely fetches the User ID and then writes over it with the default settings on the preferences page. It would be better than when I log in, the server remembers my preferences.
Ah. Didn't know about MeatBall:action=login. Sorry. Perhaps you really should put that Login link on the link bar.
The big problem is remembering my user ID. Going through RecentChanges and reading the TITLEs on the UserNames is one solution, but it's impoverished. If we rely more and more on user profiles for such things as display preferences or (sigh) authenticated log ins, there needs to be a good way to match a UserName to an ID.
One way is to perform a search through the User ID database for a given UserName. Actually, that might be sufficient if you add a description field to the preferences. A profile for a Palm Pilot may be different than one on a desktop; a profile at work may be different than one at home. The description could trivially differentiate the various IDs that map to a given UserName.
In this way, we continue to AvoidIllusion that UserNames are non-forgeable too, as anyone can assume anyone else's UserName. -- SunirShah
The recent name/id/password discussions may be confusing, so here's a clarification of the current state of UseModWiki (and Meatball). At this time (version 0.88 on November 1, 2000), the UserName is only some user-provided information placed on RecentChanges. Users can currently change their UserName at will, and the only significant restriction (besides length) is that it must fit the LinkPattern. The user-ID number (like 1003) is a unique identifier generated when a user visits the "Preferences" page. The user-ID is used for any information related to identity such as retrieving/storing preferences or determining if an edit is by a new author (for differences).
The "randkey" is an internal validation code that is never displayed to the user (it is a 9-digit number). The randkey is generated along with the user-ID and is stored in the preferences file on the wiki server. In some ways the randkey is most like the passwords on other online systems, except that it is automatically generated and not (currently) changable by the user. User cookies currently contain only the user-ID number, the randkey, and a version number (to make future upgrades easier). Whenever a cookie is returned to the wiki, the randkey sent by the client is checked against the randkey stored on the server. If they match, the cookie is considered valid and the user-ID is set to the cookie's user-ID.
The "randkey" system works well at being transparent, yet it provides fairly strong security against someone else stealing one's user-ID and/or altering one's preferences. (This is less important now, but later versions may add significantly more preferences like bookmarks, non-public draft pages, and other features.) The main problem is that it relies on the cookie information. If the user's cookies are not available (on another browser or system) or destroyed, then the user's preferences become inaccessible.
The (currently unfinished) login system with a user-settable password is intended to fix the problems of the "randkey" system. (See WikiAccessLevels for the current login procedure.) It only requires extra work for those who care about the problem, while not requiring a login step for other more casual users. If a password is set, one can use that password from a new system to request that the id+randkey cookie should be sent to the new system. (If you do not set a password, or if you unset the password, then the cookie will not be sent to any other systems.) In a sense, the "password" is really a password for one's "randkey" data (which is the *real* access-control-key for your data).
[To be continued... Later I'll try to explain some options for future work. --CliffordAdams]
I question the primary concern being security instead of usability and functionality since there have been no attacks yet.