Forums / Setup & design / What is your approach to rank Most Popular in eZP?

What is your approach to rank Most Popular in eZP?

Author Message

Jacobi Jacobi

Sunday 01 August 2010 1:59:28 am

Hey, just want to get some ideas about what is your approach to rank Most Popular in eZP?

Obvious to me it is not smart idea to rank Most Popular by reading Apache log.

Gabriel Finkelstein

Sunday 01 August 2010 10:49:15 am

There's a cronjob that reads Apache logs and updates the view_count value. More info here:

http://ez.no/doc/ez_publish/technical_manual/4_x/features/cronjobs/the_cronjob_scripts#updateviewcount
http://ez.no/doc/ez_publish/technical_manual/4_x/reference/modules/content/fetch_functions/view_top_list

Or you can make a custom extension with an increment_view_count operator that receives an object id and increments the view_count value, and put it on the full view template.
And if you want to rank the most popular in the past X days, then you'll have to create a new table with columns contentobject_id, view_count, and date. The increment_view_count would increment the view_count column or insert a new row (if it's the first hit of the day) and you'll have to create a fetch function or an extended attribute filter that fetches the most viewed objects in the past X days.

http://ez.no/ezpublish/documentation/development/extensions/template_operator
http://ezpedia.org/en/ez/custom_fetch
http://projects.ez.no/types/ez_publish/extended_attribute_filter

eZ debug

Timing: Jan 29 2025 13:40:34
Script start
Timing: Jan 29 2025 13:40:34
Module start 'content'
Timing: Jan 29 2025 13:40:34
Module end 'content'
Timing: Jan 29 2025 13:40:34
Script end

Main resources:

Total runtime0.1209 sec
Peak memory usage2,048.0000 KB
Database Queries141

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0057 589.1953180.8125
Module start 'content' 0.00570.0054 770.007893.9297
Module end 'content' 0.01110.1097 863.9375521.8750
Script end 0.1208  1,385.8125 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00312.5875200.0002
Check MTime0.00131.0357200.0001
Mysql Total
Database connection0.00090.712410.0009
Mysqli_queries0.079765.98761410.0006
Looping result0.00100.82011390.0000
Template Total0.109490.510.1094
Template load0.00070.539410.0007
Template processing0.108789.940010.1087
Override
Cache load0.00040.359810.0004
Sytem overhead
Fetch class attribute can translate value0.00060.476610.0006
XML
Image XML parsing0.00020.203610.0002
General
dbfile0.00625.1385200.0003
String conversion0.00000.004930.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs