Documentation index
- ReadMe
- Things To Know
-
- New Style Rotation
Разные спонсоры предоставляют урлы в разных форматах: RSS (причем многие используют не описанные стандартом поля), XML, дампы. И если RSS можно был добавлять прописав их в группах, то XML и дампы можно был добавлять только руками. Это неудобно для автоматического наполнения контентом. Теперь для этого существуют импорт сеты. Обратите внимание, что РСС в группах и спонсорах остались только для того, что бы оттуда можно было скопировать данные.
Преимущество импорт сетов в том, что можно автоматически, через указынный промещуток времени, импортировать галеры практически из любого источника, при этом выполняя с ними любые действия как при ручном импорте, например создать кастом гали, досбавить в несколько категорий,опредлить создание дополнительных тумб и тп.
Как это работает: Rotation - Import Sets, жмем “Add New” - открывается форма Import с единственным исключением - вверху форма для ввода урла. Надо ввести URL дампа или rss, время переграба (24 = каждые 24 часа) и разделитель. Разделитель актуален для дампов, и обычно это символ “|”. Жмем Test - скрипт пытается опредлить поля в контента предлагаемом урле. Для неопределнных полей надо или Skip или самостоятельно выбрать что в этом поле. Наже выбираем параметры импорта как в привычной форме импорта. Жмем Save. Все.
Существует 2 типа import set: add и deletion. Соответственно урлы найденные в типе add - добавляются в базу, deletion - удаляются из базы.
Это удобно для автоматического удаления галер. Те если в обычной ситуации что бы проверить что галеры, на которые вы линкуете, рабочие - вам надо было бы запускать Gallery Checker и тем самым дополнительно нагружать и свой сервак и сервак спонсора, то в этом случае спонсор дает вам конкретный со списком удаленных урлов - и скрипт, раз в Х часов проверяет его и удаляет эти урлы у вас из базы.
Обратите внимание, что скирпт может удалять по частичному совпадению, например ваш урл http://sponsor.com/gallery/index.html?id=your_id а спонсор отдает только http://sponsor.com/gallery/index.html
Если у вас какие-то свои ресурсы, вы можете сделать агрегацию deletion feed.
Например, у вас 10 мест откуда собираются списки удаленных галер + у вас свой контент (свои кастом галеры). При этом эти галеры используются на 100 других сайтах. Что бы не добавлять эти фиды 100 раз, можно на 1 сайте добавить их все, и поставить тип импорта mark inactive (offline). Те у вас будет 1 сайт с базой удаленных урлов. Лучше сделать его просто как базу, те без траффика.
На этом сайте создаем отдельный темплейт last_deleted вида
<thumb num=1-100 order=date gallery_status=inactive> урл галеры </thumb>
и по урлу domain.com/?force_template=last_deleted у вас будет список удаленных галер (последние 100 в данном примере). И вы сможете добавить только этот урл на другие сайты.
Обратите внимание, что если у вас сеть сайтов мастер-слейв, то можно добавлять deletion feed только на один них них, тк в этом варианте они используют одну базу.
Смотрю один сайт и вижу, что rot.php работает как-то дольше, чем должен. Заглядываю в лог, а там типа
и так далее, те в импортсетах много РСС\дампов, где выдает не последние 10-50-100 урлов, а списки с десятками тысяч урлов и все это стоит на проверку каждый час.
Думаю, что смысл ошибки понятен, она не критичная, но тк скрипту надо каждую минуту делать по 30к запросов к базе проверяя есть ли в ней урлы из этого списка, то ресурсов серваку это не прибавляет.
В апедйте 49 было добавлено ограничение на размер импортсета для защиты пользователей от самих себя :)
В принципе это относится не только к Хамстеру, но поскольку вопрос возник именно на его примере - описываю проблему на его примере.
Вводная: Хамстер дает ембеды, вы решили сделать на эмбедах сайт. Дабы было постоянное автоматическое пополнение сиджа настроили Import Set и добавили туда дамп Хамстера
http://partners.xhamster.com/2export.php?ch=!&cnt=4&tmb=4&tcnt=10&tl=on&ord=1&url=off&em=1&ttl=on&chs=on&sz=on&dlm=| который выдает в формате #EMBED|#THUMB|#TITLE|#CHANNEL|#DURATION|
Как бы этого достаточно, все работает и все хорошо.
Вопрос возникнет позже - когда надо будет добавить автоматическое удаление галер удаленных на хамстере. хамстер выдает список урлов удаленных видео, но в нашем то импорт сете урла нет (#EMBED|#THUMB|#TITLE|#CHANNEL|#DURATION|) и потому Смарт не сможет на автомате удалять удаленные видео (сорри за тавтологию но смысл надеюсь ясен).
Что делать: урл дампа хамстера надо поменять так, что б там появился урл гали, примерно так
http://partners.xhamster.com/2export.php?ch=!&cnt=4&tmb=4&tcnt=10&tl=on&ord=1&url=on&em=1&ttl=on&chs=on&sz=on&dlm=| тогда дамп будет выдавать урл гали #EMBED|#THUMB|#URL|#TITLE|#CHANNEL|#DURATION| те добавлено #URL
Смарт будет добавлять гали в базу с пометкой source url = … и соответственно сможет автоматически удалять у себя в базе удаленные видео хамстера.
PS Это так же актуально если вы проверяете доступность галер с помощью Gallery Checker.
Будет не лишним сделать небольшое отступление: еще до импортсетов появился Tube Import, который может автоматически добавлять видео с тубов к вам. Однако тубы периодически удаляют контент и соответственно у вас на сайте оказывались ссылки на удаленое видео или , если видео было добавлено как ембед, переставало работать. Дабы избежать такой ситуации появился Gallery Checker, который по кейвордам проверяд не удалено ли видео. Если кратко, то у Gallery Checker есть список вида domain- keyword, например xhamster.com - video was deleted и чекер проходит по всем видео и проверяет, что на страницах такого слова нет и значит видео все еще работает.
Однако с ростом баз стало ясно, что если в базе 500к урлов, то появляется некоторая проблема с проверкой такого кол-ва урлов, и как раз к этому моменту у продвинутых тубов начали появляться deletion rss - те рсс со списками удаленных урлов, и соответственно можно было не проверять все урлы с помощью Gallery Checker, а сразу точечно удалять нужные урлы - для этого у импорт сета появился тип deletion.
Те и для Gallery Checker и для импорт сет deletion type - надо знать исходный урл. Если у туба\спонсора есть deletion rss - предпочтительнее юзать его. Если нет - Gallery Checker.
Вариант 2
Например, у вас добавлено http://gallery/1234.html, а туб поменял урлы на http://gallery/1234/ или deletionn feed выдает только 1234, одним словом урл который вы импортировали не совпадает с тем, что выдает deletion feed.
В этом случае надо эти новые данные (http://gallery/1234/ или 1234, те именно то что выдает deletion feed) добавлять в custom var1 (2, 3). те для нового импорта мы импортим как url|custom_var1 (где в кастом вар находится то что отдает deletion feed например 1234), а для тех урлов которые уже есть в базе - идем в rotation - massedit и добавляем в аналогичном формате url|custom_var1 где url это то что у нас уже есть в базе, custom_var1 - то что выдает deletion feed (например http://gallery/1234.html|1234)
Суть в том, что при процессинге deletion feed скрипт так же смотрит на совпадения по custom var.
Иногда фид ограничен страницами, например выдает по 50 штук за раз и дальше надо менять параметр &page= … Для этого добавлен таг {PAGE}. Когда импорт сет запускает первый раз то скрипт заменяет его на 1, каждый следующий раз - добавляет единицу. Таким образом можно перебрать весь сет. Останавливается когда урл ничего не вернет.
Если вы редактируете сет, то этот параметр скидывается на 1.
Для удобства пользования у каждого импортсета появилось опциональное имя. Можно его не вводить и список импортсетов будет выглядеть как раньше, а можно дать каждому импорсету персональное имя.