Guruyaya, could you explain why, to you, this basic simple usage stats is
unefficiant.

Thanks

Richard


On Tue, Apr 23, 2013 at 12:26 AM, guruyaya <[email protected]> wrote:

> The idea seems extremly unefficiant. Wouldn't it make more sense to build
> it from logs, on a seperate machine?
>
>
> On Tuesday, April 23, 2013 1:08:02 AM UTC+3, Richard wrote:
>>
>> Hello,
>>
>> I want to share this little snippet :
>>
>> # MODEL
>>
>> # Statistics of utilisation
>> db.define_table('usage_**statistics',
>>     Field('time_stamp','datetime', default=request.now),
>>     Field('client_ip','string', default=request.client),
>>     Field('user_id', 'reference auth_user', default=auth.user and
>> auth.user.id),
>>     Field('request_controller','**string', default=request.controller),
>>     Field('request_function','**string', default=request.function),
>>     Field('request_extension','**string', default=request.extension),
>>     Field('request_ajax','string', default=request.ajax),
>>     Field('request_args','string', default=request.args),
>>     Field('request_vars','string', default=request.vars),
>>     Field('request_view','string', default=request.view),
>>     Field('request_http_user_**agent','string',
>> default=request.env.http_user_**agent),
>>     Field('request_language','**string', default=request.env.http_**
>> accept_language),
>>     Field('description', 'text'),
>>     migrate=False,
>>     )
>>
>> # CONTROLLER
>>
>> def select():
>>     """
>>     Display log event into usage_statistics table.
>>     """
>>     db.usage_statistics.id.**readable = False
>>     table = SQLFORM.grid(db.usage_**statistics,
>> orderby=~db.usage_statistics.**time_stamp, ui='jquery-ui', formstyle =
>> 'divs',)
>>     return dict(table=table)
>>
>> # VIEWS
>>
>> # Just put these two lines in ALL your views or only the views you want
>> to log and you can log what your users do!!
>>
>> {{db.usage_statistics.insert()**}}
>> {{db.commit()}}
>>
>> *Only thing I didn't figured out yet is what the best way to log delete
>> event... I thought about that :*
>>
>> # Not tested and pseudo code
>> def myeventlogcall(form)
>>     if form.delete:
>>         db.usage_statistics.insert()
>>         db.commit()
>>
>> def update_functions():
>> ...
>>      form.process(ondelete=myevent**logcall)
>> ...
>>
>> But, it makes things complicated if case there is already ondelete in an
>> update_function...
>>
>> Any suggestion is welcome.
>>
>> Thanks
>>
>> Richard
>>
>>  --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "web2py-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to