User Tools

Site Tools


ru:update_46

Differences

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

Link to this comparison view

ru:update_46 [2014/01/29 18:20] (current)
Line 1: Line 1:
 +====== Update 46 ======
 +
 +===== Мультидоменность =====
 +
 +Основная часть апдейта - мультидоменность и мультисерверность ротации.
 +Как это реализовано:​ создается 1 сайт-база,​ на который собираются галеры и сетка сайтов,​ которые используют эту базу. Те изменения в одной базе автоматически отражаются на всей сетке. ​
 +
 +Технически выглядит это так: например у нас есть 3 сайта. Ставим скрипт на все 3 сайта. Допустим сайт 1 у нас мастер (те на нем будет вся база тумб\галер),​ а сайты 2 и 3 - слэйвы,​ те они используют базу мастера с галерами. На мастере набираем галеры,​ грабим тумбы, создаем кастом гали, на слэйвах в Rotation - Settings прописываем мускл базу мастера. Нажимаем "Link to This DB" и сайты 2 и 3 превращаются в слэйвов,​ те используют базу тумб мастера.
 +
 +**Чем это удобно:​**
 +  - Не надо копировать тумбы, кастом гали и тп. Все это делается 1 раз и автоматически расползается по всей сетке.
 +  - Спонсоры - аналогично,​ общие для всей сетки сайтов.
 +  - 10 доменов юзающих 1 базу создают меньше нагрузки чем 10 отдельных баз.
 +  - Контент грабится только на 1 сайте = не надо настраивать кроппрофайлы и прочие настройки ротации на нескольких копиях.
 +  - Можно создать кастом галю на мастере,​ при этом она будет отображаться в "​своем"​ дизайне на каждом из слэйвов
 +  - Нет ограничений на сервак,​ те мастер может быть на серваке 1, а слэйвы на серверах 2 3 4 5 и тп. Более того, можно выделить и оттюнинговать 1 сервер под мускл, а сами сиджи поставить на другой.
 +
 +
 +**Ограничения:​**
 +  - Для статусов галер - они общие, те отдельно делать шифт на слэйвах нельзя
 +  - Для названий темплейтов кастом галер - они должны быть одинаковые для все слэйвов.
 +  - У одного сдэйва может быть только 1 мастер,​ у мастера - может быть неограниченно слейвов.
 +
 +**Общие данные для мастера и слэйвов:​**
 +  - Вся база тумб, включая статусы,​ титлы, дески, таги
 +  - База тагов и как следствие - облако тагов
 +
 +
 +**Собственные данные у каждого слэйва:​**
 +  - Статистика по кликам,​ показам,​ цтр тумб
 +  - Категории общие, но описания,​ custom vars - могут быть собственные у каждого. Более того, категории могут отключаться для конкретного сайта. ​
 +
 +
 +**Несколько ниш на одном мастере.**
 +Если у вас мастер мультинишевый,​ то вы можете из него быстро сделать несколько нишевых сайтов. Для этого надо:
 +  - Поставить скрипт на новый домен
 +  - Залинковать на мастера
 +  - На этом слэйве сделать активными только нужные категории ​
 +
 +==== Хранение тумб ====
 +
 +  * Если на мастере вы храните тумбы локально (например,​ по дефолту она сохраняются в scj/thumbs) то на слэйве в Rotation - Settings надо прописать Alt hosts домен мастера (именно домен, не урл, не путь и тп, а домен например domain.com). Если это объяснить проще то получается так: на мастере URL to thumbs стоит по дефолту /​scj/​thumbs/​. Вы сграбили галю, скрипт сохранил тумбу условно ИД 123 в файл scj/​thumbs/​123.jpg и записал в базу УРЛ к ней как /​scj/​thumbs/​123.jpg. Те на страницах везде будет ​ /​scj/​thumbs/​123.jpg и на слэйве в том числе. Поэтому на слэйве надо прописывать в альт хосты master.com что б урлы до тумб на слэйве получались http://​master.com/​scj/​thumbs/​123.jpg
 +  * Обратите внимание,​ что часто стоит антихотлинк картинок (и это правильно конечно),​ поэтому убедитесь,​ что для на местере разрешен хотлинк для слэйва. Если вы не знаете как настраивается антихотлинк - обратитесь к админу.
 +
 +
 +
 +**Домены на разных серваках**
 +  * Местер и слэйв могут быть на разных серваках,​ на это нет никаких ограничений,​ однако есть 2 "​но"​
 +  * желательно что б они были в одном датацентре
 +  * в зависимости от настроек мускл бывают разрешены конекты только с локалхоста,​ если со слэйва не конектит на мастер - надо попросить админа решить этот вопрос.
 +
 +
 +**Копирование файлов**
 +  * А этом апдейте,​ как и в большинстве других,​ были внесены добавления в файлы cgi/​index.php and cgi/​out.php. ​
 +  * Скрипт пишет только в свой каталог,​ что б нечаянно не переписать файлы на корне вашего домена (вдруг там уже есть ваш собственный индекс)
 +  * По этой причине если у вас эти файлы находятся на корне, то их надо скопировать В БИНАРИ моде на корень
 +  * Дабы это не делать при апдейтах вы можете попросить админа поставить на корне домена симлинки,​ аналог ярлыков в виндовс. Те на корне домена будет index.php, который на деле будет просто ярлык на scj/​cgi/​index.php ​ и тоже самое с out.php
 +
 +
 +
 +==== Удаление тумб ====
 +
 +  * до 46 была проблема при удалении большого кол-ва тумб, например у спонсора 10к тумб, вы удаляете спона, скрипт пыдается это удалить сразу, но не успевает - получается таймаут. Это усугубляется если надо удалить не просто тумбы, а кастом гали.
 +  * начиная с 46 тумбы удаляются по крону. Те когда вы жмете в админке "​удалить"​ тумбы не удаляются мгновенно,​ а переходят в статус '​Marked for deletion',​ раз в 10 минут крон смотрит есть ли такие и удаляет
 +  * если надо удалить "​прямо сейчас"​ - запускаем rot.php с параметром process_deleted=true ​
 +  * <​code>​cd /​PATH_TO_/​scj/​bin/;​ env HTTP_HOST=yourdomain.com php rot.php process_deleted=true </​code>​
 +  * единственое исключение:​ если вы удаляете тумбы в Rotation - List thumbs и удаляется меньше 30 тумб - то удаление происходит сразу.
 +
 +
 +===== Дополнения и изменения в ротации =====
 +
 +**mod_rewrite URLs** ​
 +Как вы знаете в новой роатции урлы выглядят примрено так /​gallery/​описание-галеры/​gallery_id/​index.html. [[New Rotation FAQ]] В 45 в урлах галер точки, запятые и прочие "​лишние"​ символы заменялись на "​_",​ а теперь заменяются на "​-" ​ (поменяли в соотв с рекомендациями гугла)
 +
 +
 +**Хранение контента**
 +
 +Контент можно хранить на разных серверах. Те тумбы ротации можно складывать на быстрый сервер,​ а галерный контент (большие тумбы, мувики) - на другой сервер,​ где например траффик дешевле,​ но канал не такой быстрый.
 +
 +
 +
 +==== Темплейты ====
 +
 +
 +Есть небольшое изменение:​ до 46 темпелейты header and bottom по умолчанияю присоединялись к каждой странице. Это было не совсем удобно в некоторых случаях и поэтому с 46 они больше не подключаются автоматически. Теперь если надо в одном темплейте подключить другой надо использовать таг ​
 +  <​!--INCLUDE_TEMPLATE_header-->​ - например для вклчюения темплейта header
 +
 +Таким же образом можно инклудить любой темплейт. ​
 +<​code>​
 +Для обратной совместимости при апдейте в начало каждого темплейта будет добавлено <​!--INCLUDE_TEMPLATE_header-->​ и в конце <​!--INCLUDE_TEMPLATE_bottom-->​. ​
 +</​code>​
 +
 +**NOTE** для обратной совместимости при апдейте в начало и конец каждого темпелйта автоматически добавляется <​!--INCLUDE_TEMPLATE_header-->​ и <​!--INCLUDE_TEMPLATE_bottom-->​. Обратите внимание,​ что в скрипте есть тн Developer mode for templates [[New Rotation Templates]],​ суть которого в следующем:​ скрипт хранит темпелйты в базе. Однако иногда удобнее редактировать темплейты на фтп, нежели в админке. Девелопер мод - это когда скрипт при каждой загрузке страницы проверяет наличие наличие файлов на фтп и, если они есть, загружает их в базу. Это конечно тормозит сервак,​ тк на каждый запрос он вынужден проверя есть ли темплейты на диске, скопировтаь их в базу и тп. Поэтому это используется только во время натягивания дизайна,​ а потом его надо выключать. ​
 +Однако выяснилось,​ что выключать его забывают. Получается следующее:​ ладно что сервак немного больше нагружен,​ чем следовало бы, но апдейт добавляет в темплейты <​!--INCLUDE_TEMPLATE_.... , а при следующей загрузке страницы темплейты снова берутся с диска и изменения сделанные апдейтом затираются. Rotation - CMS pages - developer mode должен быть вылючен.
 +
 +
 +==== Custom galleries predefined meta tags ====
 +
 +Rotation - groups - Group Custom Phrases (PATH to file). ​
 +
 +При создании кастом галеры скрипт может взять рендомную строку из файла и записать ее в поле meta_description и позже вы можете вывести ​
 +<​code>​ <​!--META_DESCRIPTION--> ​ </​code>​
 +в вашем темплейте. Это удобно для создания дополнительных кейвордов,​ по которым может быть проиндексена ваша галера.
 +
 +
 +==== Таги ====
 +
 +
 +Rotation Tags - до 46 скрипт автоматом брал топ 10% тагов и выводил в облаке. Это было не всем удобно. Теперь таги не живут своей жизнью,​ а вы можете их редактировать из админки. Delete для тага - значит этот таг НЕ будет показанв облаке,​ Approve - будет. Но с Approve есть ньанс. При апруве можно так же задать заменитель\синонин (replace). Например,​ есть таги test и tested, было бы удобно заменить tested на test везде. Для этого мы ставим для tested апрув + в поле replace вписываем test. Скрипт у всех галер таг tested будет заменять на test. 
 +Получить старый вариант очень просто - зайти в таги и кликнуть top 10.
 +
 +
 +
 +**Скимминг на галерах**
 +
 +Добавлена новая опция - скимминг на гадерах. Пока тестовая тк не ясно есть ли от нее отдача. Смысл следующий:​ когда серфер заходит на кастом галерею и кликает на тумбы - ему открываются большие картинки,​ можно сделать так, что бы вместо большой картинки его периодически кидало например на спона.
 +
 +Rotation - CMS - Tube Settings можно поставить **custom gallery skimming** например в виде ​
 +<​code>​
 +100%,​70%trader.com,​70%sponsor,​50%sponsor_join,​100
 +первый клик на контент (100 и 100% одно и тоже, можно пистаь как удобнее)
 +второй:​ 70% контент остальные соотв. 30% - /​scj/​cgi/​out.php?​member=trader.com,​
 +3й : 70% контенкт 30% спонсор ( на урл который прописан у спона в site url)
 +4й : 50% контента 50% спонсор ( урл - join url),
 +5 и далее - 100% контент
 +</​code>​
 +
 +
 +
 +==== Tube import ====
 + ​([[Tube Import]])
 +
 +Если вы используете Tube Import то можно добавить спонсоров по названиям тубов например xvideos.com,​ porntelecast.com и тд (важно что бы домен туба был прописан в поле Site) и тогда при добавлении галеры ей будет назначен соотв. спонсор. Если спонсора с таким именем нет, для добавленной гали спонсор будет указан из поля Rotation - Groups - Tube Import - Set Sponsor.
 +
 +Это актуально только для Tube Import.
 +
 +
 +==== Recreate visited pages ====
 +
 +
 +Rotation - Special - Recreate visited pages - скрипт ставит секретную куку вашему браузеру на 10 часов (можно снять куку в любой момент там же). Если вы зайдете с этой кукой на любую страницу вашего сайта, эта страница будет пересоздана (те сброшен кеш именно для этой страницы). Бывает полезно при изменении дизайна какой-то одной определенной страницы.
 +
 +
 +
 +==== Время кеша (CACHE_TIME) ====
 +
 +
 +Изначально время кеша надо было прописывать в файле common.php , что не совсем удобно если надо было поменять (менять из админки конечно удобнее). Поэтому в версии 46 эта настройка и была вынесена в сетинги ротации. Надо обратить внимание что опять же для обратной совместимости время кеша берется в первую очередь из файла common.php как и прежде,​ и только если оно не указано в файле - тогда берется из админки.
 +
 +
 +**Скорость граба (Grabber Speed, per minute )** 
 +
 +В сетингах ротатора появилась отдельная настройка,​ которая регулирует скорость граба. По дефолту скрипт грабит 3 галеры в минуту. Если вы видите что сервак не нагружен - можно поставить больше,​ если не знаете как смотреть нагрузку сервака - лучше оставить как есть.
 +
 +
 +**Проверка галер ([[Gallery Checker]])**
 +
 +Как оказалось,​ многие не используют в принципе удобный механизм автоматической проверки галер. Он в 46 был немного изменен дабы создавать меньше нагрузки на больших базах, но основной принцип не изменился. ​
 +
 +
 +==== Навигация ====
 +
 +
 +Так же называют "​пагинация",​ простыми словами - ссылки для "​листания"​ страниц 1 2 3 и тп.
 +
 +Базовый вариан выглядит примрено так:
 +<​code>​
 +
 +<​navigation>​
 +<​li><​a href="/​category/<​!--CATEGORY_ID-->/<​!--CATEGORY_NAME-->/<​!--SORT_ORDER-->/<​!--PAGE_NUM-->/"​ title="<​!--PAGE_NUM-->"><​!--PAGE_NUM-->/​a></​li>​
 +</​navigation>​
 +
 +</​code>​
 +
 +Однако с большими базами нагрузка на подсчет конкретного кол-ва тумб в категории\поиске начинает нагружать базу, в то время как пользователю не важно у вас 123444 галеры или 134567. Более того: обычный пользователь обычно никогда не ходит на последние страницы,​ просто потому что ему не интересны наименее релевантные результаты поиска или последние по цтр тумбы. Именно поэтому гугл пишет "Found 10 of about 100000 results"​ и дает ссылки только на первые 10 страниц.
 +
 +Начиная с апдейта 46 введен следующий ньанс: если у вас на странице есть навигация в базовом варианте - все будет работать как и раньше в целях совместимости. Если у вас большая база и вы хотите скономить ресурсы то имеет смысл заменить ее на такой вариант ​
 +
 +<​code>​
 +
 +Если тага <​navigation>​ нет, то точное кол-во не подсчитывается,​ это экономит ресурсы.
 +
 +Дабы сохранить навигацию можно использовать следующий пример
 +
 +<?php if ('<​!--PREV_PAGE-->'​) { ?>
 +<​li><​a href="/​category/<​!--CATEGORY_ID-->/<​!--CATEGORY_NAME-->/<​!--SORT_ORDER-->/<​!--PREV_PAGE-->/"​ title="<​!--PREV_PAGE-->"><​!--PREV_PAGE-->/​a></​li>​
 +<?php } ?>
 +
 +<?php if ('<​!--NEXT_PAGE-->'​) { ?>
 +<​li><​a href="/​category/<​!--CATEGORY_ID-->/<​!--CATEGORY_NAME-->/<​!--SORT_ORDER-->/<​!--NEXT_PAGE-->/"​ title="<​!--NEXT_PAGE-->"><​!--NEXT_PAGE-->/​a></​li>​
 +<?php } ?>
 +
 +
 +</​code>​
 +
 +
 +
 +**NOTE** апдейт удаляет из таблицы rot_galleries несоклько ненужных теперь полей. Если у вас большая база (скажем 50к+) и\или на сервере большая нагрузка,​ рекомендуется остановить все задания крона перед запуском апдейта.
 +
 +
 +
 +**Sphinx поиск**
 +
 +Если вы используете [[TS Sphinx]] то хотелось бы отметить что в нем есть несоклько вариантов поиска,​ которые можно менять в scj/​includes/​config.php
 +
 +<​code>​
 +$config['​sphinx_match_mode'​] = 0; 
 +
 +0 - дефолтный вариант.
 +
 +значения могут быть ​
 +"​SPH_MATCH_ALL",​ 0 ​
 +"​SPH_MATCH_ANY",​ 1 ​
 +"​SPH_MATCH_PHRASE",​ 2 ​
 +"​SPH_MATCH_BOOLEAN",​ 3 ​
 +"​SPH_MATCH_EXTENDED",​ 4 ​
 +"​SPH_MATCH_FULLSCAN",​ 5 ​
 +
 +более подробно о различии между этими вариантами можно прочесть в http://​sphinxsearch.com/​docs/​
 +
 +</​code>​
 +
 +==== Импорт "based on filter keyword"​ ====
 +
 +В импорте в выборе категории появилась тестовая фича "based on filter keyword"​. Работает следующим образом:​
 +1. в Groups - filter keywords для каждой группы добавляем кейворды. Пока поддерживается только простой формат (word - значит слого должно быть в описании,​ тогда попадет в эту группу,​ и -word значит слова быть точно не должно)
 +2. при импорте контента выбираем based on filter keyword и скрипт пытается определить категориюпо кейвордам.
 +
 +
 +**Небольшие изменения**
 +
 +  * Rotation - Import : можно просто аплоадить дамп файл, актуально для больших дампов. ​
 +  * Rotation Grabber Proxy : можно юзать запароленные прокси
 +  * Rotation - Cell Stats : добавлена статистика для каждого темплейта. Можно вычислить какой темплейт более кликабельный.
 +  * Из таблицы rot_galleries удалены некоторые лишние теперь колонки. Обратите внимание,​ если у вас большая база - перед началом апдейта остановите все кроны, потмоу что для большой базы прибить несколько колонок может быть довольно длительной процедурой.
 +  * Rotation Groups - добавлен massdelete ​
 +  * Rotation ​ - Sponsors : сайты сгруппированы по спонсорам. Надеюсь будет удобно.
 +
 +
 +===== Дополнения и изменения в Trade части =====
 + 
 +**Добавление трейдеров**
 +
 +Теперь в форме Add Trade можно нажать на карандашик рядом урлом и ввести просто урлы (либо url|title|desc) списком и добавить много трейдеров одним кликом.
 +
 +**Бэкапы**
 +
 +Начиная с ап 46 бекапы создаются стандартной утилитой mysqldump, проверьте Settings - Other settings - Mysqldump ​ path 
 +
 +**Скимминг**
 +
 +Skimming - можно добавлять домен трейдера в строку скимминга. Технически это еще один вариант продажи ​ трафа. Например,​ добавляет брокера как трейдера '​tb.com',​ делаем его неактивным,​ ставим default skimming ​ '​100,​50,​tb.com,​60'​ - это значит первый клик 100% на контент,​ второй - 50% skimming, 3й - на брокера,​ все остальные - 60% skimming. Удобно в случае если у вас несоклько брокеров и надо смотреть конкретно сколько куда ушло.
 +
 +**Skimming schemes** дополнение к дефолтному скимингу. Пример использования - out.php?​url=blabla&​p=s1 (s2,​s3,​s4,​s5).
 +
 +
 +==== Топлисты ====
 +
 +
 +C давних времен **темплейты** топлистов хранились в виде файлов в scj/top. При переносе сиджа это было не совсем удобно,​ тк надо было кроме дампа мускла копировать отдельно и топлисты. Теперь топлисты так же в мускле и просто переносом дампа решается весь вопрос перезда. ​  Но кроме этого у топлистов появилась новая фича для мультинишевых сиджей. Например,​ у нас 5 групп трейдера и 10 трейдеров (по 2 в каждой). Мы хотил сделать нишевые топы для каждой группы,​ что б в кажодом топе были только те трейдеры,​ которые в данной группе. Ранее надо было создать 5 темплейтов и инклудить в конкретной странице. Теперь можно сделать 1 темплейт и , если указано что он multiniche, скрипт создаст топлист для каждой группы (например,​ название темплейта top.html, скрипт создаст общий top.html со всеми трейдерами,​ а так же group1.top.html,​ group2.top.html и тд для каждой группы). В шаблонах темплейт вставляется как  ​
 +<​code>​ <?php include('​FULLPATH_to_/​scj/​top/<​!--CATEGORY_SAFE_NAME-->​.top.html'​);​ ?>  </​code>​
 +
 +
 +
 +**Качество кликов**
 +
 +До 46 было два пунта в статистике ИП: ИП котоыре пришли от трейдера и данные какие из этих ИП кликали у вас. Теперь добавлся еще один - данные о том какие ИП ушли к этому трейдеру.
 +
 +
 +==== Новый параметр для out.php &​link2=blabla ====
 +
 +
 +Смысл его в том, что по дефолту для ротации используется &link= и соответственно собственную статистику по линкам при использовании встроенной ротации собрать не получится. Для этого теперь есть параметр &link2= который тоже самое что и &link= , но его можно спокойно использовать и со встроенной ротацией.
  
ru/update_46.txt · Last modified: 2014/01/29 18:20 (external edit)