Major CMS features changes
Wed Dec 9 2009
Some major rewrites taking place.
Fundamentally new features:
User may have more than one email address. Only one of these can be
marked as 'default', others are alternative. But these others may be used
when posting to mailing lists or when joining mailing
lists, etc. Email addresses must still be unique, meaning each email
address can still only be used once and that means address can only belong
to one user. This also means we can always find
user by email address.
Another change: User can have more than one blog. This is very major
change because a user will also be able to pick his own sub-domain name for
his blog or even change the sub-domain of existing
blog, although this is usually a bad idea for the user.
A total rewrite of how user object is instantiated, how it's used, user
profile and preferences are not instantiated by default for a logged in
user but will be instantiated on demand only when
needed.
Options related to user's blog preferences will now be moved to BLOGS
table because now the preferences are per-blog and not per-user. A rewrite
of edit preferences will also be needed.
A preparation is being made for integrating Google Friend connect with
the login system, as well as other authentication method like Facebook
connect.
A new type of basic object is being developed and tested. It's more
like a new design pattern and it will be called TableRow object. It
represents array of data from one table row and will have
method to save data back to table if data changes in object.
The user objects will also be called oViewer - to represend the user
object of currently logged in user
another one will be oOwner to represent the owner of the blog which is
being viewed by viewer.
These are just the terminology and always refer to object of tyle
clsUser. Also clsUser object does not always have to be oViewer or oOwner -
it can be just a regular oUser when we need to view
user data about some user or if we need to edit some user.
The USER table is being modified as well as new tables EMAILS and BLOGS
are being added.
There will also be changes to PROFILE and USEROPTION tables - some
columns (many of them) will be removed either completely OR moved to BLOGS
table.
Another table PROFILE will also be added and it will hold basic profile
details like address, phone, job title, etc...
Last change: a User may have multiple avatars. Only one of them will be
set a default, so user may be able to easily change them via admin panel
but when someone views user details they may see
all avatars.