My application is completely node ID driven. I have the following router 
function:

def router():
    if not len(request.args):
        redirect(URL('addressbook','index'))
    else:
        id=int(request.args(0))
        
account=db(db.nodeAccount.nodeID==id).select(db.nodeAccount.ALL).first()
        if account:
            if account.statusID!=ACTIVE: # in that case the account is 
blocked or under maintenance
                redirect(URL('card',args=id))
            elif account.accountID in(FREEACCOUNTID,BASICACCOUNTID):
                redirect(URL('vcard',args=id))
            elif account.accountID==BASICHUBACCOUNTID:
                redirect(URL('vhub',args=id))
            elif account.accountID 
in(ADVANCEDACCOUNTID,PREMIUMACCOUNTID,ADVANCEDHUBACCOUNTID):
                if not session[id]:
                    session[id]=Storage(id=id)
                    session[id].accountID=account.accountID
                    session[id].pluralID=account.pluralID
                if account.accountID in(ADVANCEDACCOUNTID,PREMIUMACCOUNTID):
                    redirect(URL('site','index',args=id))
                elif account.accountID==ADVANCEDHUBACCOUNTID:
                    redirect(URL('hub','index',args=id))
        else:
            redirect(URL('card',args=id))
        return None

In the site.py and hub.py index function I store node's address and telecom 
addresses, menu, hero unit and some other settings in the node's session[id]

At the moment this works fine. However, with the number of users increasing 
I wonder whether this is the way to go, is there a limit to what you can 
store in session?. Most settings change when the user manages a node's data 
in the CMS.

Address and telecom have their own views: address.html and telecom.html, 
which are included in other views. Maybe I'd better save address.html and 
telecom.html in a folder static/node_ID/ when the user changed the data in 
the CMS.

This is also the case for menu and hero unit.

I look forward to your advice.

Annet

-- 



Reply via email to