User Tools

Site Tools


en:update_50

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

en:update_50 [2014/01/29 18:28] – created adminen:update_50 [2026/09/22 03:36] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== Update 50 ====== 
- 
-===== Rotation ===== 
- 
-==== Separate slugs  ==== 
- 
-Until update 50 both master and slave sites had the same slugs for galleries, while you could do separate descriptions for them. Now you can have both separate descriptions and slugs for master and slave sites. Each slave gets it's own slug based on description of particular gallery for each slave site that has separate description of course. 
- 
-==== Template Main Tag ==== 
- 
-Situation: we have a template with 2 tags: <thumb group=A num=1-10 and <thumb group=B num=1-10  
- 
-Problem: We don't know how to calculate navigation because of different amount of galleries in each group.  
- 
-Solution: parameter page_main_tag was added. Ie <thumb group=B num=1-10 page_main_tag=true and we will calculate navigation based on this tag. 
- 
-==== Mobile Templates ==== 
- 
-If you wanted a separate design for mobile users you had to do something like that  
- 
-<code> 
-<? 
-if (list of mobile browsers )  { 
-style 1 
-} else { 
-style 2 
-} 
-?> 
-</code> 
- 
-Now you can you so called 'mobile template' ie if you duplicate any template adding 'mobile_' at the beginning - mobile traffic will get this template. For example, you have index, mobile_index and content_custom_pic (mobile_content_custom_pic does not exists). Mobile surfer requests index of you site - he will get it using template mobile_index. 
-Then he goes to some gallery - we will show it to him using content_custom_pic, caz we do not have mobile_content_custom_pic. 
- 
-**NOTE** If so some reason you want to disable this behavior - add &skip_mobile_templates=yes to any URL. Script will set a cookie to skip it. If you want to enable it again - &skip_mobile_templates=no 
- 
-==== Banners ==== 
- 
-Version 50 adds new type of banners. Before that you could add banners for sponsors using "sponsor custom vars " for example. But there were some problems like if banner had an image - you had to upload it manually, you were limited to 2 or 3 banner, there was no such thing as banner CTR and so on.  
- 
-What you can do now: 
-  * Add as many banners as you want 
-  * you can select niche targeting and even model targeting for your banners 
-  * each banner has it's own stats , plus you can rotate banners as you do thumbs 
- 
-When you open Sponsors - you can add banners for each sponsor. 
- 
-By default, new banner consists of an image and html  
- 
-<code> 
-<a target=_blank href='/goto/<!--GALLERY_SLUG-->/?<!--THUMB_LINK-->'><img src='<!--THUMB_URL-->'></a> 
-</code> 
- 
-As you can see basically it's a regular thumb where THUMB_URL will be an URL of image you've uploaded. THUMB_LINK - the same 'rotation parameter' to count it's stats (clicks).  We've added new prefix /goto for banner for it wouldn't look exactly as thumbs. here's a new rewrite you have to add 
- 
-<code> 
-RewriteRule ^goto/([^/]+)/$ /scj/cgi/out.php?link=images/%{QUERY_STRING}&url=content&p=100&skip_to_cookie=true&skip_sell=true&go=banner&slug=$1 [L] 
- 
-for nginx  
- 
-rewrite ^/goto/([^/]+)/$ /scj/cgi/out.php?link=images/$query_string&url=content&p=100&skip_to_cookie=true&skip_sell=true&go=banner&slug=$1 last; 
-</code> 
- 
-Banners also have group. Do not confuse it with gallery groups ot trade groups. That's separate groups for banners. Examples:  
- 
-<code> 
-<banner num=1></banner> - first banner of all sorted by CTR 
- 
-Banners tags have almost all the parameters as regular thumb tags have. 
- 
-<banner sponsor=sponsor_name num=1></banner> - banner of this sponsor 
-<banner group=some_group num=1></banner> - banner for this group (here we mean rotation group) 
- 
-For example at custom gallery you can do the following 
- 
-<banner sponsor=CURRENT_ITEM_SPONSOR num=1></banner> - best banner by CTR of sponsor of current gallery 
-<banner sponsor=CURRENT_ITEM_SPONSOR num=2></banner> - second banner by CTR of sponsor of current gallery 
- 
-And here goes why we need banner group: let's say we have different sizes "100x100" and "200x200" so you can create banner groups based on this parameter. For example, one sponsor has 5 banners, 2 of "100x100" and 3 of "200x200" , and you have 2 spaces in your design for 1 for 100x100 and 1 for 200x200. So you can do something like that: 
- 
-<code> 
-<banner sponsor=CURRENT_ITEM_SPONSOR num=1 banner_group="100x100"></banner>  
-and  
-<banner sponsor=CURRENT_ITEM_SPONSOR num=1 banner_group="200x200"></banner>  
-</code> 
- 
-</code> 
- 
-Banner URL is the URL where surfer will be sent when he clicks at banner (obviously :) Banner Source  could be some URL (script will download that url) or a file which you can upload from your computer. 
- 
-**Multubanners** - a bit weird name but it's the best we've got for now. let's say you have basically the same banner but with different models (which is typical for webcam sites for example) . it makes no sense to add 3 almost the same banners to one page so we can take for example 10 images as image for _one_ banner and script will rotate those images and find one which one is better (has higher CTR) 
- 
-New Banners is still kinda new thing and we would appreciate any comments and suggestions about it.  
- 
-==== Rotation Thumb - Gallery Thumb Link ==== 
- 
-Test option to create a connection between rotation thumbs and custom gallery images/thumbs. As you probably know, rotation thumbs and thumbs for custom galleries are different sets of thumbs , ie you can have 15 thumbs at the custom gallery and 3 rotation thumbs for this gallery.  
- 
-Problem: when you crop thumbs for rotation you also want gallery thumbs to be cropped the same way.  
- 
-Solution: Gallery Thumb Link  = On  
- 
-Location: Rotation - Settings 
- 
-==== Skip Countries ==== 
- 
-You can setup a list of countries which won't be counted in rotation, ie clicks from those countries will not affect thumbs' CTR. Note that we will count clicks for trader anyway. This option affects rotation CTR only. 
- 
-Location: Rotation - Settings 
- 
-==== Row Massedit ==== 
- 
-One more option in menu Rotation - Row Massedit to help you massedit galleries. It looks exactly as Import. 
- 
-Format: dump like URL|description will update description for corresponding URLs. URL field is mandatory. 
- 
-==== Tube Embeded Switch Rules  ==== 
- 
-Get more profit from if you sell traffic to tube sites. Often tube sites gave you both embeded code and URL. You get paid only when you send traffic to URL. But you also get paid for unique visitors only, so it makes sense to send one surfer to one tube site just once, get paid for him and after that show him custom gallery with embeded code and try to monetize the rest of his clicks on thumbs from that tube site somehow else.  
- 
-Beside that, often tube sites pay for certain countries only. That's how we came down to the following format: domain|countries (comma separated). 
- 
-<code> 
-example 
- 
-xhamster.com|US,GB,DE  
-drtuber.com|US,IT,RU 
-and so on 
- 
-here it is explain once again: let's say you have 10 thumbs at some page: 5 from xhamster and 5 from drtuber. One surfer clicks at the first xhamster's thumb. We send him to xhamster. When he clicks at xhamster's thumb again - we show him embeded gallery. If you later clicks at drtuber's thumb - we will send him to drtuber (gallery URL of course) and if he clicks again we show him embeded gallery. 
- 
-PS if you don't mention country list - it means 'all countries'. If surfer is not from one of the countries on the list - we will show him embeded gallery from the first click. 
- 
-</code> 
- 
-==== Cache Engines (New) ==== 
- 
-If you read [[New Rotation FAQ]] you should know that script generates a page on request only. We do not generate million of pages by cron or something like that. When the page is generated we have to store if somewhere in cache. But we have different types of cache you can use. 
- 
- 
-**File cache**  
-A basic one. All cached pages are stored in files (scj/cache folder) 
-Pros - works everywhere, you don't have to do anything. 
-Cons - it's a file cache, it's slow, not so good cached by OS disk operation and script has to check all files for expiration date and so on. 
- 
-**Memcached** 
-it was a big step ahead some time ago.  
-Pros: everybody know it. There's no proble for admin to setup it.  
-Cons: sometimes it's hard to find out how much memory is actually still free, data gets fragmented, if you reboot server - you lose all cached data and need time to "warm up" cache after reboot. Memcache can not segregate cached data by popularity and stores everything in memory. It's really painful to reset cache just for 1 site for example. 
- 
-**That's why there are some other cache engines you worth using** 
- 
-New cache engines (basically NoSQL dbs) deliver you more performance while consuming less CPU and HDD. 
- 
-Easiest solution - **Couchbase** which was built on MemBase, based on memcachedb, which was inspired  memcached. It's really easy to start using it 
- 
-  - ask admin to setup CouchBase 
-  - add 2 lines to scj/includes/config.php 
-<code> 
-$config['memcached_host'] = '127.0.0.1'; 
-$config['memcached_port'] = '11211'; 
-</code> 
- 
-and that's it. You can use it with versions 48-49 too. 
- 
-**Redis** - another nice key-value product . To you it you have to 
-  - ask admin to setup Redis  
-  - ask admin to add redis module for php 
-  - add following to scj/includes/config.php 
-<code> 
-$config['redis_host'] = '127.0.0.1'; 
-$config['redis_port'] = '6379'; 
-$config['redis_database'] = 0;  
-$config['redis_password'] = ''; 
-</code> 
- 
-There are few new lines. redis_password - if you have a dedicated server most likely you don't want to setup it. redis_database - it's kinda number of slot in redis DB. Useful if you want to separate caches for your sites for some reason. 
- 
- 
-Any of those 2 new engines are better then memcache and definitely better then file cache. I'd recommend to use file cache in emergency case only. 
- 
-==== Preload 1 - Cast priority ==== 
- 
-Now if you manually select most click-able thumb for each gallery in Rotation - Prload 1. Let's say you've added 10 thumbs for a gallery - script has to find out which out of them is the best and show only this thumb later. You can select which one will be tested first. First click at thumb - selects it (ie "add this thumb to DB") , second click - "add thumb and set cast priority for it". 
- 
-==== Import : Separate descriptions ==== 
- 
-Note: if you use separate descriptions for slaves - you can add those descriptions right when you import galleries - check Pattern. 
- 
-==== Test Positions End ==== 
- 
-There were only 2 parameters describing thumb testing -  % of test places on page and Test positions start (so we wouldn't test thumbs at the very top). We've added one more - Test positions end . To avoid testing really low positions. Default is 0 - that means no limit for 'end positions'. 
- 
-==== Sponsor Mix (Max Distance)  ==== 
- 
-Rotation - Settings - Test settings. New option aimed at getting more profit out of tube sites.  
- 
-Situation: you have 3 sponsors and we output 5 thumbs. There's a chance that we'll get something like that 1 1 1 2 3 (by CTR) and most likely sponsor 1 will get more clicks. But tube sites pay for unique visitors only. And we can mix at a little bit like 1 2 1 3 1. It will mix thumbs a bit and this way they won't be shown exactly by CTR but may be this way we'll get more profit.  
- 
-But we also don't want to screw things too much - that's why we have Max distance parameter. It means "Do not move any thumb more that X positions away from it's original place" 
- 
-Default = 0, ie do not mix. 
- 
-==== Group Massedit ==== 
- 
-Problem: you want to do mass update for rotation groups but with different data for each group.  
- 
-Solution: use Mass Add in groups and add a group with the same name as existing - this way existing group will be updated with newly imported information. 
- 
-==== Sphinx 50 ==== 
- 
-If you use Sphinx you need to update it's config to reflex changes in DB structure. 
- 
-<code> 
-source scj 
-{ 
- type = mysql 
- 
- sql_host = localhost 
- sql_user = LOGIN !!!!!!! 
- sql_pass = PASSWORD !!!!!! 
- sql_db = SCJ_DB !!!!!! 
- 
- sql_query = SELECT id, crc32(g.gallery_md5) as gallery_md5_crc, UNIX_TIMESTAMP(activation_date) as date, tags, alt, description, duration, sponsor_id, rgroup, content_type, gs.total_ctr FROM rot_galleries as g \ 
-   JOIN rot_gallery_stats AS gs ON g.id = gs.thumb_id \ 
-   JOIN rot_gallery_info AS gi ON g.gallery_md5 = gi.gallery_md5 \ 
-   JOIN rot_gallery_data AS gd ON g.gallery_md5 = gd.gallery_md5 \ 
-   WHERE status = 1 and gs.best_thumb = 'yes' and rgroup != 0 
- sql_attr_timestamp = date 
- sql_attr_uint     = duration 
- sql_attr_uint     = sponsor_id 
- sql_attr_uint     = rgroup 
- sql_attr_float     = total_ctr 
- sql_attr_uint     = content_type 
- sql_attr_uint = gallery_md5_crc 
- 
- sql_query_info = SELECT * FROM rot_galleries WHERE id=$id 
-} 
- 
-</code> 
- 
-==== Sphinx Search CTR  ==== 
- 
-When you use Sphinx  it's default sorting mode is by relevance. (domain/?search=... 
- 
-Now you can also sort search results by CTR (domain/?search=...&order=date) or duration (domain/?search=...&order=duration). 
- 
- 
-==== Convert to Custom Gallery  ==== 
- 
-Problem: you've added galleries but ad a regular gallery, not as custom gallery. Now you want to convert those galleries into custom galleries. 
- 
-Solution: Rotation - Import - Extra options - Convert to custom galleries. 
- 
-==== Related Galleries  ==== 
- 
-Situation: you can output related galleries. But those galleries will be 'related' to current gallery by sponsor or tag or model and so on (Rotation - CMS - Settings). You want to output 2 blocks: one related by sponsor and another one related by tag for example. 
- 
-Solution: we've added CURRENT_ITEM_* tags 
- 
-<code> 
- 
-Example 
- 
-<thumb group=CURRENT_ITEM_GROUP num=1-5> 
-some template 
-</thumb> 
- 
- 
-<thumb sponsor=CURRENT_ITEM_SPONSOR group="" num=1-5> 
-some template 
-</thumb> 
- 
- 
-<thumb tag=CURRENT_ITEM_TAG num=1-5> 
-some template 
-</thumb> 
- 
-</code> 
- 
- 
-==== Rotate Tag Thumbs  ==== 
- 
-Tag thumbs (ie best thumb for each active tag) can be rotated now 
- 
-<code> 
- 
-output tags  
- 
-<tag_cloud num=1-10> 
-<!--TAG_NAME--> СЂСѓРєСѓ you can use any tags related to rotation thumbs, for example <!--THUMB_URL--> url to tag's best thumbs 
-</tag_cloud> 
- 
- 
-and you can also sort by CTR those thumbs 
- 
-<tag_cloud num=1-10 order=clicks> 
-<!--TAG_NAME--> but make sire you add rotation parameter to each link 
-</tag_cloud> 
- 
-</code> 
- 
-to count CTR for those thumbs we have to modify one of default rewrites 
- 
-<code> 
- 
-default 
- 
-RewriteRule ^tag/(.*)/$ /scj/tube/index.php?tag=$1 
- 
-has to be replaced with 
- 
-RewriteCond %{QUERY_STRING} ^(.+)$  
-RewriteRule ^tag/(.*)/$ /scj/cgi/out.php?link=images/%{QUERY_STRING}&url=content&p=100&skip_to_cookie=true&skip_sell=true&tag=$1 [L] 
-RewriteRule ^tag/(.*)/$ /scj/tube/index.php?tag=$1 
-</code> 
- 
- 
- 
-==== Rotate Model Thumbs ==== 
- 
-You can rotate models' thumbs based on the ctr of the best thumb for each model. 
- 
-First of all you have to add some rules to .htaccess  
- 
-<code> 
- 
-Default line 
- 
-RewriteRule ^model/(.*)/$ /scj/tube/?model_slug=$1&force_template=model_galleries [L] 
- 
-should be replaced with 
- 
-RewriteCond %{QUERY_STRING} ^(.+)$  
-RewriteRule ^model/(.*)/$ /scj/cgi/out.php?link=images/%{QUERY_STRING}&url=content&p=100&skip_to_cookie=true&skip_sell=true&model_slug=$1&force_template=model_galleries [L] 
-RewriteRule ^model/(.*)/$ /scj/tube/?model_slug=$1&force_template=model_galleries [L] 
-</code> 
- 
-Output model thumbs in your template (gallery_count_min=1 added to make sure each model has at least 1 gallery) 
- 
-<code> 
- 
-<models num=1-10 gallery_count_min=1 order=ctr> 
-<a href='/model/<!--MODEL_SLUG-->/?<!--THUMB_LINK-->'> <!--THUMB_URL--> <!--MODEL_NAME--> </a> <br> 
-</models> 
- 
-</code> 
- 
-==== Import - Site Autocreate  ==== 
- 
-New options in Import - Sponsor Site (Autocreate) which means obviously that if we don't have such sponsor - it will be added. 
- 
- 
- 
-==== Extra Thumbs ==== 
- 
-Added ability to create 2 more extra thumbs for each rotation thumb for example for mobile version of your site. And 2 new tags EXTRA_THUMB_URL2 and EXTRA_THUMB_URL3 
- 
-==== Graber  (Import Sets)  ==== 
- 
-Some RSS feeds have thumbs in many fields like  
- 
-<code> 
-<thumbnail_default>http://gallery/7_640x480.jpg</thumbnail_default> 
-<thumbnail1>http://gallery/1_640x480.jpg</thumbnail1> 
-<thumbnail2>http://gallery/2_640x480.jpg</thumbnail2> 
-<thumbnail3>http://gallery/3_640x480.jpg</thumbnail3> 
-</code> 
- 
-new you can mark 'thumb' as many fields as you want and script will combine those fields into one. 
- 
-==== Import Sets  ==== 
- 
-Now you can set personal name for each import set, sometime urls are too complicated to navigate through . 
- 
-==== Pagination Limit  ==== 
- 
-If you have really big DB , getting the last pages of it really loads server, while it's pretty clear that real surfer do not need last thumbs by CTR.You can limit amount of pages in navigation : Rotation - CMS - Settings. 
- 
- 
-==== <tag_list limit  ==== 
- 
-You can limit amount of tags\groups output by tags <tag_list and <group_list, for example 
- 
-<code> 
-<tag_list num=1-3><!--TAG--> </tag_list> 
- 
-<group_list num=1-3><!--GROUP_NAME--> </group_list> 
-</code> 
- 
- 
-==== group_list separator  ==== 
- 
-for tags like <group_list <model_list and <tag_list a new parameter wes added - separator.  
- 
-<code> 
-Problem: if you output groups like  
- 
-<group_list ><!--GROUP_NAME--> </group_list> 
- 
-you can get something like this "group1,group2,group3," 
- 
-and the last comma screws a view a bit. 
- 
-Now you can do this 
- 
-<group_list separator="," ><!--GROUP_NAME--> </group_list> 
- 
-and get "group1,group2,group3" 
- 
-</code> 
- 
- 
-==== skip_group_id  ==== 
- 
-You can skip some groups by ID - use it as &skip_group_id in URL or <thumb skip_group_id=... >  
- 
-==== Unset parameter ==== 
- 
-Problem: You want to add some thumbs as the end of content_list template for example  and you do something like <thumb sponsor_id=5 num=1-10 ></thumb> but this tag also inherit group parameter from url (that's why content_list template was used). But you want all of sponsor's thumbs in spite  of their groups. 
- 
-Solution: unset parameter <thumb num=1-10 sponsor_id=""></thumb>  
- 
-==== Sphinx Category content  ==== 
- 
-You can arrange thumbs by categories using sphinx search - you can do it in group , button "Assign by Sphinx", it uses  keywords from "filter keywords" field. 
- 
-==== Filter Keywords ==== 
- 
-There are few additions to "filter keywords" syntax. Basically it was looking for for a keyword to be a part of any word and it could be a problem in some cases. 
- 
-**""** if you want to find 2 words together , for example **"word1 word2"** will work in this case **word1 word2 zzzz**, but won't for **word1 zzz word2**, as in this case those 2 words are not together. 
- 
-**^ = a word starts with** for example  **word** works both for **words** and **prewords**, caz both of those words has 'word' inside it. If you need exactly **word** you have to use **^word** - and script will find **word**, **words** and so on, but not **preword** 
- 
-**$ = a word ends with** the same as  **^** but for the end of word. Example **word** works both for **word** and **words**, if you need the first one only - use **word$** 
- 
- 
- 
-==== Synonymize Options ==== 
- 
-That's an option to get synonyms for words. let's say you have "word1,word2,word3" 
- 
-**Full search:** we will look for any of those 3 words in a phrase and replace it with any of it.  
- 
-**First key only:** means we will look for 'word1' only and replace it with word2 or word3 
- 
-==== Sponsor URLS ==== 
- 
-Each sponsor has a set of urls like site_url, trial_url Рё join_url. you can output those urls at any gallery but it doesn't look nice and sometimes it's better to hide reflink. 
- 
-You can add a rewrite 
- 
-<code> 
-RewriteRule ^go/(.*)/(.*)/$ /scj/tube/?action=sponsor&sponsor_slug=$1&field=$2 [L] 
- 
-and use links like 
- 
-http://domain/go/<!--SPONSOR_SLUG-->/trial_url/ 
-http://domain/go/<!--SPONSOR_SLUG-->/join_url/ 
- 
-to send to any of sponsor's urls. 
- 
-</code> 
- 
-==== Template tag variable unset ==== 
- 
-Problem: you want to output some thumbs at model's page. If you do something like <thumb num=1-10 it will output thumbs of current model due to limits set in URL (actually that's why we are talking about model's page), while we need a block with all models. We can do something like <thumb num=1-10 model_id=1,2,3,4 and so on but it's not really comfortable. 
- 
-Solution: unset parameter <thumb num=1-10 model_id='' . You can do it to any parameter for example <thumb num=1-10 group_id='' 
- 
-==== Unique thumbs for slaves (test option) ==== 
- 
-Problem: you have some slave sites or at least one (actually in this case you have 2: master and slave) so there's a chance that you'll get the same category thumbs at 2 site. May be not exactly the same but close. it's a problem if you have a trade between these 2 sites. 
- 
-Solution:  Rotation - Settings - test option : "Unique category thumbs" - ie if script sees that the best thumb for category is the same as category thumb at any other site of this network - it will select second best thumb. 
- 
-Unique index thumbs - the same only related to thumbs shown at index page. 
- 
- 
-==== Import\Export Shows\Clicks ==== 
- 
-You can import\export CTR (actually Shows and Clicks) = check out corresponding fields in Import\Export. 
- 
- 
-==== Grabber: skip thumbs with wrong orientation ==== 
- 
-Problem: if you want horizontal thumbs there's a big chance that any thumb made out of vertical thumb will be not good. 
- 
-Solution: skip thumbs with wrong orientation. 
- 
-Location: Rotation - settings - test options. 
- 
- 
-==== Custom gallery - antibot question ==== 
- 
-By default we use captcha  to protect comments from spam. Now you have another option:  <!--ANTIBOT_QUESTION--> which is selected from questions used at webmaster signup page. (Settings - Cjsettings - wm signup)  
- 
-It makes sense caz some bot can read captcha while it takes time to adjust bot to custom questions. 
- 
-==== Rotation - Sponsors ==== 
- 
-A new field has been added to sponsors to reflect mobile trends - SPONSOR_MOBILE_URL. 
-It could be useful for if a sponsor has a separate URL for mobile traffic for example. 
- 
- 
-==== Rotation - Users ==== 
- 
-Problem: you hire some guys to crop thumbs and you want to track how many thumbs they've done. 
- 
-Solution: Settings - Password - switch to Multiuser. Create a new user and limit him to rotation preload. When importing galleries in Extra options select this user as galleries' owner. Now each user will see his own galleries only in preload. Admin sees all galleries. 
- 
-==== Related Thumbs Shift ==== 
- 
-Problem: you output 'related thumbs' by category. All galleries from category A get pretty much the same "related thumbs". 
- 
-Solution: CMS - Settings : Related Thumbs Shift . Ie If you have a tag saying 'show 10 related thumb' and Related Thumbs Shift = 1-4 ,  script will show a random set (1-10, or 11-20 or 21-30 or 31-40), thus giving related thumbs some diversity. 
- 
- 
-==== Hidden gallery ==== 
- 
-Problem: we have some galleries that we don't want to see in rotation but we want it to be shown if user comes directly to it's URL. That could be useful if you had some embeded videos from external sites and those videos was deleted. But those videos was also indexed by SE. If we report those delete videos as 404 - SE will delete these pages from index and we will get less SE traffic. At the same time if we send surfers  to not working videos from regular site pages - site productivity will be lower.  
- 
-Solution:  new status for galleries -  Hidden Gallery. 
- 
-And we've added the same option to gallery checker. 
- 
-==== Content filters ==== 
- 
-Some new options to filter content (valid for URL as well) 
- 
-<code> 
-&date_start=2012-01-01&date_end=2013-01-02 
-</code> 
- 
-outputs thumbs for selected dates , you can use any of these parameters alone. 
- 
-Some presets 
- 
-<code> 
-&date_limit=today (yesterday, this_week, this_month) 
-</code> 
- 
- 
-Movie duration 
- 
-<code> 
-&duration_min=60&duration_max=120 
-</code> 
- 
- 
-==== Redirect incoming hits to niche pages  ==== 
- 
-Problem: You have "redirect to niche pages" - On. if someone comes from trader's index page and script finds a niche keyword in domain name - it will redirect to that niche.  
- 
-New behavior: we do not check domain name for keywords. If there's no keywords in path - we will show index page. But there's key to get old style behavior - add to  common.php line $_GET['niche_redirect_by_domain'] = true;  
- 
-Problem 2: You can prevent redirect for some categories. For example we have 10 categories one of which is 'cars'. We want traffic to be redirected to appropriate category except category 'cars' 
- 
-Solution: add "cars|no-redirect" to Custom redirects. 
- 
-==== Aditional IM commands ==== 
- 
-There are 2 Aditional IM (imagemagick) commands in each profile - those line can do some extra work with source image or ready thumb.  
- 
-Mostly nobody uses it. But there's one nice thing you can do there. You can use external utilities to compress images a bit (and save some bandwidth ). 
- 
-Take a look at http://freecode.com/projects/jpegoptim - jpegoptim is a utility for optimizing JPEG files. It provides lossless optimization (based on optimizing the Huffman tables) and "lossy" optimization based on setting a maximum quality factor. 
- 
-  * ask admin to install jpegoptim 
-  * Modify crop profile and add Thumb IM - /usr/local/bin/jpegoptim --strip-all {FILE} {FILE} 
- 
-Check path to jpegoptim here. Tag {FILE} is being replaced by real filename. jpegoptim requires in and out file, in this case it's the same file. 
- 
-==== URLs with 0 result thumbs return 404 ==== 
- 
-Problem: We have 1000 thumbs , 100 per page. If someone requests a page like /?page=11 script will generate that page even if it's clear that there will be thumbs at that page. Some people say that it's not good for SE purposes.  
- 
-Solution: Rotation - settings - set option to return error 404 for any page with no content. 
- 
-==== Sponsor Custom Vars  ==== 
- 
-Added 3 custom vars for sponsors. You can add anything there and output as  
- 
-<code> 
-<!--SPONSOR_CUSTOM_VAR1--> 
-<!--SPONSOR_CUSTOM_VAR2--> 
-<!--SPONSOR_CUSTOM_VAR3--> 
-</code> 
- 
- 
-==== Search Log ==== 
- 
-Some additions for search_log tag 
- 
-<code> 
- 
-<thumb search_log=all num=1-10 > ........ </thumb> 
- 
-order=hits - could be also alphabet, date, default = hits 
- 
-date_limit=today - could be yesterday, this_week, this_month 
- 
-date_start=2013-04-23 date_end=2013-04-25 
- 
-</code> 
- 
-===== Trade ===== 
- 
-==== TDS ==== 
- 
-Traffic Drive System - a new way to manage your traffic for sell or any other purposes. 
- 
-Traffic rules - TDS. Basically it's pretty simple. On the left you can manage schemes, on the right - rules for each scheme. When user is sent to one of those schemes, he goes through it's rules and if he match that rule - he is sent to rule's URL. If no one rule matches this surfer - he's being sent to scheme default rule. 
- 
-To send user to TDS you have to link to /scj/cgi/out.php?scheme_id=...  
- 
-There are 2 types of schemes: weight based and line schemes.  
- 
-**Weight based:**  let's say we have 2 rules in this scheme (amount of rules is virtually unlimited). Weight of 1 rule is 60, and another one is 40. That means in 60% of cases user will be sent to rule 1, 40% probability that he will be sent to url of rule 2. One more example: you have 3 rules:  
- 
-  - URL1 with weight 60 and limit by country 
-  - URL2 with weight 30 and no limits 
-  - URL3 with weight 10 and no limits 
- 
-if surfer is not on the country limit list from the rule 1 - we will select between rule2 and rule3. If this case user has a 75% (30/(30+10)) chance ti be sent to rule2  and 25% to rule3. 
- 
- 
-**Rule order scheme** - we check URLS one by one string with the first one and going down. User is sent to the first match rule. 
- 
- 
-As it was mentioned above each scheme has a 'default URL' ie URL where surfer will be sent he matches no one rule.  
- 
-Fields in rules: 
-  * Rule URL - where surfer will be sent if he matches this rule 
-  * Country Filter - country list, use comma or pipe (, or |) for multiply countries, You should have mod_geoip installed. 
-  * Language Filter - browser language 
-  * Referer Filter - check if referer matches those keywords , you can user negative sign too. For example, "car -bmw" means redirect if there's a keyword 'car' in the referer and no "bmw" 
-  * Unique Filter - checks if this hit is unique. Example: weight based scheme, 3 rules, each with "Unique Filter" = On. User hits TDS for the first time. Let's say we send him to the rule 3.  When he hits the same scheme for the second time - there are only 2 rules left 1 and 2, because he's not a unique surfer for scheme 3.  
-  * Proxy Filter - self explanatory   
-  * Mobile Filter - self explanatory   
-  * PHP Filter - useful if you want to filter in some way that script can not. For example you want to check if surfer has some cookie (which you set somewhere else)   
-<code> 
-return isset($_COOKIE['my_cookie']); 
- 
-ie if code returns true - this triggers the rule 
-</code> 
- 
- 
-  * Total Hits Limit, Dayly Hits Limit , Hourly Hits Limit - limits for total traffic. 
- 
-**TDS setup examples**  
- 
-Let's say you want to sell some traffic and sell mobile part of it to one sponsor and the rest to another. Set "Sell URL" as something like TDS_1 or TDS_2 (where 1,2 or any other number is a number of a scheme) and set this scheme as 'Rule order' type. Add 2 rules 
- 
-  * for one set Mobile filter 
-  * and no filters for another one 
- 
-Default URL doesn't play any role here as these 2 rules cover all possible traffic. 
- 
- 
-**You want to sell first click of all mobile users**.  
-  - set Traffic sell to 100 
-  - Add a scheme and 1 rule with 2 filters 'mobile' and 'unique' 
-  - set Default URL  = {ORIGINAL_URL} that means if surfer do not match any rules - we will sent him to his original destination. 
- 
- 
-**Redirect all incoming mobile traffic to few sponsors **  
-ie send mobile users from germany to sponsor 1 and mobile users from USA to sponsor 2. 
- 
-  - Settings - cjsettings - mobile : personal page - http://your_domain/scj/cgi/out.php?scheme_id=1 (it also could be 2 3 and so on, hopefully it's clear why it is so) 
-  - Rules: no need to filter mobile hits here as only mobile surfers will be send here. So we need 2 rules , both with country limit. 
-  - set "default url" - any URL where the rest of mobile traffic will be sent. It shouldn't be index of your as there's already index.php that will send users to TDS again. So it could be some other files or URLs. 
- 
-**Custom galleries and ORIGINAL_URL**  
- 
-By default for custom galleries script replaces {ORIGINAL_URL} with default rewrite /gallery/gallery_slug/index.html. But if yuo have your own rewrites you can use something like http://domain/video/{SLUG}/index.html in stead of ORIGINAL_URL. Rule is simple - script will replace any {VAR} with original value from Request URL.  
- 
-==== Skimming Priority ==== 
- 
-Situation: surfer comes from google (SE traffic) and he does it using phone (mobile traffic). You have SE skimming  70 and mobile - 80. Which one should we use ?  
- 
-Now: you can set skimming order in  Settings - CJSettings - System traders. Just drag and drop system trade up and down to change order. 
- 
- 
-==== No Niche Redirect ==== 
- 
-Problem: you have a trader with url http://1.com/, and we create a thumb for this trader. But 1.com also has 'niche redirect' = On  and that means that if someone clicks at trader's thumb in your toplist at let's sat page 'cars' he will be sent to 1.com and due to 'niche redirect' - he will be redirected to 1.com/cars. And thus there's a change he won't see that original thumb he clicked at.  
- 
-Goal: we want 'niche redirect' to work for all clicks except clicks at trader's top. 
- 
-Possible solution: add to each url in traders' top &nnr=true (or &no_niche_redirect=true , it's the same) for example (out.php?member=_MEMBER_1_&nnr=true) - script will add this parameter to trader's url and send to 1.com/?nnr=true in stead of just 1.com 
- 
-Pros: external productivity could be a bit higher. 
- 
-Cons: not very nice URL. 
- 
-==== Custom Free Redirect URL ==== 
- 
-Problem: You can setup custom redirects to niche pages for some words. Let's say you have niche 'car' and you want to redirect to that niche by keyword 'auto' - you add a line like "auto|car" and that's fine. But it redirects to existing categories only. You want to redirect to some other URLs . 
- 
-Added:  
- 
-  * redirect to tag pages 
-<code> 
-Custom Redirects : tube 
- 
-Custom Free Redirect URL  : http://{DOMAIN}/tag/{NICHE_NAME}/ 
-</code> 
- 
-  * Или РЅР° РїРѕРёСЃРє 
-<code> 
-Custom Redirects : tube 
- 
-Custom Free Redirect URL : http://{DOMAIN}/?search={NICHE_NAME} 
-</code> 
- 
-Here's the difference: if you have custom redirect like 'test|someword'. It means if we find  keyword "test" in referer and "someword" is a name of one of our categories - redirect surfer using "Custom Niche Redirect URL". Otherwise if we don't have such category AND "Custom Free Redirect URL " is not empty - redirect to it. 
- 
-==== Trader Thumb  ==== 
- 
-New option added to trader;s settings - Thumb Shift ie skip firxt X thumbs, useful if trader has "trader's top" at the beginning of his page. That's the way to grab actual content thumb as a trader's thumb for out toplist. 
-  
- 
-==== GA: Sync data ==== 
- 
-New behavior for GA site and synchronizing. When we add a site in GA there's an option "Sync GA data with this site ?" that means that GA settings from current site will be copied to newly added site so you can check GA stats from any site of your network.  
- 
-But now this options means that GA data will be synchronized with this site every time you change something in GA. Ie if you delete a site in GA - it will be deleted from GA at all sites of you network. 
- 
-==== New columns ==== 
- 
-3 new columns in Trade:  
- 
-  * Effect=Clicks/Outs 
-  * Return=out/row_in 
-  * trade_effect=clicks_to_trade/out 
- 
- 
-==== Blocked IPs ==== 
- 
- 
-Cheat lookup : added list of Blocked IPs where you can set a list of IPs you don't what to count traffic from. Note, that users from those IPs will see your site anyway. it just means those users won't be counted. If you want to bad those IPs  even from viewing your site - you have to ban it in .htaccess 
- 
- 
-==== SignUp network ==== 
- 
-New option in Settings "Show Network info ? "  - if you turn it On webmasters at SmartCJ Signup page will see a list of site from your GA section and thus will be able to add their site to any site of your network from 1 page. Note that each site in GA has an option 'Show this site on WM Signup page (Network Section) ?' 
- 
- 
-===== Admin Changes  ===== 
- 
-  * Rotation - Sponsors - you can change sponsor status by clicking at it's status right at Sponsors page ie no need to open Edit Sponsor.  
-  * Rotation - List Thumbs - new option 'show thumbs from sponsors active at this site' 
-  * Rotation - Comments - you can edit user's comments now 
-  * Rotation - CMS Templates - new tag <!--TOTAL_COMMENTS--> 
-  * Rotation - Slugs - now slug length is limited to 30 symbols dur to google recommendations  
-  * Rotation - Settings - added Rotation Settings massedit for all sites from your network 
-  * Trade - Anticheat - option to skip whois check  
-  * Trade - Global Admin - added mobile stats for each site 
-  * Trade - Settings - Mobile UA - keywords to detect mobile traffic are moved to Settings - CJSettings 
  
en/update_50.1391020123.txt.gz · Last modified: (external edit)