можно сделать авторегистрацию, если вам нужно набить базу пользователями и долбить их e-mail уведомлениями. Как я сделал на своем сайте:
1. Подписка на блоги при регистрации — в попапе регистрации я предложил будущему пользователю выбрать, что именно его интересует. Из всех блогов я выбрал самые необходимые (получилось около 10), в конфиге плагина задал немного другие названия. Человек отмечает что ему нравится, и вуаля — после регистрации он УЖЕ подписан на эти блоги, а значит, что стоит там появится хотя бы одной новой теме — он тут же будет уведомлен об этом на почту.
2. Этого я еще НЕ сделал, но в планах: авторегистрации. Я хочу дать гостям возможность написать комментарий. При этом нужно будет указать свою почту и логин. Т.е заполнить еще два поля. Это не очень много. После публикации коммента, пользователя тут же авторизует, а на почту отправляется письмо с регистрационными данными и свежесгенерированным паролем. Минусы конечно есть, не отрицаю. Но и плюсы — однозначно.
Ну и конечно — уникальные возможности. Если у вас сайт про гаджеты — подумайте КАК сделать его привлекательным не только в плане контента. Если нужны автора — ППА, как сказал beauty_free. Это разумно. А у вас получился сайт для чтения. Вот и читают все, смысл регаться?
Ловите фирменный рецепт для высоконагруженных проектов на LS (испробовано на личном опыте путём множества проб и ошибок.)
Во-первых, устраняем узкие места.
Начать надо не с LS и даже не с самого веб-сервера, а с общесистемных заморочек.
Иногда бывает так, что много процессорного времени уходит на дисковые операции, т.е. IOwait.
Здесь две задачи: выставить адекватный IO Sheduler (CFQ, или даже Noop), и перенести всё — слышите, всё, что можно, в RAM FS. Особые джедаи-оверклокеры переносят весь движок в оперативку (об этом расскажу позже.)
Вот уж теперь приходит очередь сервера. Толстый и неповоротливый апач, падающий от SlowLori-атаки в одиночку (банальный питоноскрипт), сносим к Дискорду.
Качаем исходники nginx'а.
./configure --help
Вдумчиво курим мануал, и определяемся, что нам надо. Потом курим опять, и вновь конфигурируем для сборки с нужными флагами (Модуль STUB не забудьте, ага), выставляем все пути соответственно FHS!
make
Витиевато выражаемся, доставляем нужные зависимости и пакеты (опять-таки, если вы джедаист-пингвиновод, этот пункт пропускаем.)
checkinstall
(аккуратно собираем в пакет). Ставим.
Всё, теперь у нас красивый, быстрый, аки Рэйнбоу Дэш, сверкающий новизной nginx. Конфигурирование его может ускорить ещё на 20%.
Затем — php. Естественно, работать будем только, и только через CGI-интерфейс. Джедаисты качают исходники, собирают@компиляют. Ленивые кунг-фу панды ставят из пакетов.
Затем приходит время настраивать ШINDOШS nginx и собственно связку php-fpm. Приблизительные цифры могу посоветовать только тогда, когда скажете параметры этого вашего сервера и среднюю нагрузку на сайт (посещаемость). Для статики ставьте expires: max и отфутболивайте вплоть до ~75% запросов статики не с 200, а с 304 ответом, ня!
Переносим временные каталоги nginx в предусмотрительно откушенный кусок оперативной памяти.
Настраиваем mysql… тот же mysqltuner.pl вам в помощь, а временные каталоги вы уже поняли, куда. Само взаимодействие тоже строго через сокет — линукс же!
Затем ставим ускоритель. eAccelerator, спросите вы? Да как бы не так. Во-первых, он древнее Селестии и Луны вместе взятых, и не развивается уже очень долго. И потом, из-за его вредной привычки не следить за целостностью shared memory, и при высокой нагрузке то и дело отправлять в 502 сайт, я и отказался от него — ну стопорит обработку php-cgi, и всё тут. Доработка напильником как spawn-fcgi, так и php-fpm помогала лишь временно — до первой же лавины запросов.
Иногда советуют ставить memcached… ИМХО, излишний велосипед. Да, у него есть няшная фича распределения по нескольким серверам, но оно вам надо? Запускать отдельный кеширующий сервер, особенно на слабых хостингах/серверах суть лишняя головная боль. Поэтому выбрасываем это звено также.
Два вышеназванные «ускорителя» успешно заменяет xCache — кеш как опкода, так и переменных (var cache). Гибкая настройка, наличие «админки», быстродействие и нетребовательность к ресурсам процессора — что ещё надо для полного счастья? Благо, LS с ним работать умеет (и по сокету тоже), посему ставим. Аппетиты настраиваем в xcache.ini, если захотели стабильности и решили включить RO-protection, то файл также ложим в RAM FS.
Ставим сфинкс, ротацию топиков-комментов вешаем на крон, сам сфинкс просто вешаем на сокет.
Если не можете позволить себе полностью переместить LS в RAM FS, сделайте это хотя бы для каталога шаблонов — и немного, и ощутимо сэкономите ресурсы.
Вот, в принципе, и всё… по просьбе могу расписать любой пункт более подробно.
Очень не хватает фишки с условным названием «Подозрительные юзеры», а именно:
юзеры по никам, осуществляющие вход/регистрацию с одного IP;
юзеры с одинаковыми комментариями4
юзеры с одинаковыми ссылками в профиле;
юзеры, зарегистрировавшиеся с разницей в 5-10 секунд;
юзеры, которые ни разу не были на сайте (кроме момента регистрации), но имеющие ссылку в профиле.
прошу прощения что не совсем по теме, не про спойлер а скорее про кат.
кто-то когда-нибудь реализовывал спойлер/авто-кат для комментов? У меня на проекте зачастую пишутся очень некислые по размерам комменты, хотелось бы и к ним применять авто-кат, чтобы они не убивали скролы на мышках
Мне вот кажется, удобно было бы оставить одну ленту. Сделать в ней три подраздела: блоги, комментарии и активность
В «блогах» выводить все, как есть: топики из подключенных блогов, топики друзей и людей, на которых я подписался. Все в одном месте.
Также выводить действия друзей и пользователей, на которых я подписан:
Добавление блога
Вступление в блог
ТО есть в «блогах» мы выводим все активность в блогах.
В «комментариях» выводить:
— ответы к моим топикам
— ответы на мои комментарии
— комментарии друзей
— комментарии людей, на которых я подписан.
«Активность» — этот подраздел выводит уведомления о социальной активности моих друзей и тех, за кем я слежу
— добавление в друзья
— Добавление записи на стену
— голосование за пользователя
= пользователь vasya теперь следит за пользоателем petya
Голосования за топик, блог или коммент — убрать. Это, имхо, никого не колышет.
отличное предложение, только не плагином, а опционально в конфиг движка.
для себя уже давно использую костыль (для05x, на 04x не пробовал): файл \engine\lib\external\Smarty\libs\sysplugins\smarty_internal_templatecompilerbase.php
Я тут подумываю на быстрой регистрацией. Планирую проект для людей, далеких от it, им тяжело даются даже незначительные перемещение (на страницу регистрации) и заполнение полей.
Пока пришел к такому решению: для регистрации требовать только почту и ввод с картинки (или вопрос — неважно, любая капча). Все это в модальном окне + аякс регистрация с одномоментной авторизацией. В дальнейшем предлагать пользователю заполнить информацию о себе. В принципе, одного мыла достаточно, чтобы человек мог подписаться на обновления, голосовать, добавлять в избранное. Таких людей полно, они не пишут комментов, топиков, просто читают сайт, добавляют в избранное интересные материалы.
Постинг топиков и комментов ограничить для таких юзеров, при попытке опубликовать выдавать окно с пояснениями и поля ввода «логина» или «имени». Конечно, это может и перебор, но это у-доб-но! И все тут. По-крайней мере, так хочу реализовать у себя на сайте.
В связи с эти непонятно, зачем в меню есть пункт «Выравнивание по центру», т.к. оно не работает.
Мне пришлось добавлять в jevix.php тег p, у которого в атрибуте align есть значение center. Соответственно, обрамляешь ссылку на картинку
<p align="center"</p>
все Ок.
Возможно, не совсем правильно, но работает.
Так вот, хотелось бы, чтобы подобным образом работал пункт меню «выравнивание по центру», чтобе не приходилось писать
<p align="center"</p>
руками.
2. Рамка вокруг изображения и подпись
Хотелось бы иметь опциональную возможность (чекбокс, например) включения рамки вокруг изображения, а так же подписи. В точности, как тут.
Причем, хотелось бы, чтобы подпись под изображением по дефолту была такая же, как alt и title, но при желании ее можно было бы сделать другой.
3. Имена файлов картинок
У меня есть стойкое поверие (не могу подтвердить), что название файла влияет на его выдачу по поиску картинок в гугле, например.
LS, насколько я понимаю, как-то по-своему называет файлы, даже если закачиваешь файл с харда с осмысленным названием. Мне бы хотелось, чтобы в меню плагина было поле, которое бы отвечало за название файла. Т.е. оставляешь поле пустым — имена файлов либо остаются теми же, либо меняются самим LS — не важно. Если поле заполнено, то файл называется также.
Как-то так… Если что-то где-то криво сформулировал, не пинайте, то от незнания.
В общем, хотелось бы, чтобы кто-нибудь допилил сей полезный плагин. Будет ли это сам автор, или кто-то другой — не принципиально. Само-собой, не бесплатно.
На тему активности, меня больше интересует вопрос: Можно ли организовать к ней счетчик «нового»? "+1, +5..." как это с топиками и комментариями? Правда лучше не совсем «новое», скорее счетчик «непрочитанного» со сбросом после просмотра. Другими словами сделать из «Активности» систему оповещений.
1. Подписка на блоги при регистрации — в попапе регистрации я предложил будущему пользователю выбрать, что именно его интересует. Из всех блогов я выбрал самые необходимые (получилось около 10), в конфиге плагина задал немного другие названия. Человек отмечает что ему нравится, и вуаля — после регистрации он УЖЕ подписан на эти блоги, а значит, что стоит там появится хотя бы одной новой теме — он тут же будет уведомлен об этом на почту.
2. Этого я еще НЕ сделал, но в планах: авторегистрации. Я хочу дать гостям возможность написать комментарий. При этом нужно будет указать свою почту и логин. Т.е заполнить еще два поля. Это не очень много. После публикации коммента, пользователя тут же авторизует, а на почту отправляется письмо с регистрационными данными и свежесгенерированным паролем. Минусы конечно есть, не отрицаю. Но и плюсы — однозначно.
Ну и конечно — уникальные возможности. Если у вас сайт про гаджеты — подумайте КАК сделать его привлекательным не только в плане контента. Если нужны автора — ППА, как сказал beauty_free. Это разумно. А у вас получился сайт для чтения. Вот и читают все, смысл регаться?
фирменныйрецепт для высоконагруженных проектов на LS (испробовано на личном опыте путём множества проб и ошибок.)Во-первых, устраняем узкие места.
Начать надо не с LS и даже не с самого веб-сервера, а с общесистемных заморочек.
Иногда бывает так, что много процессорного времени уходит на дисковые операции, т.е. IOwait.
Здесь две задачи: выставить адекватный IO Sheduler (CFQ, или даже Noop), и перенести всё — слышите, всё, что можно, в RAM FS. Особые джедаи-оверклокеры переносят весь движок в оперативку (об этом расскажу позже.)
Вот уж теперь приходит очередь сервера. Толстый и неповоротливый апач, падающий от SlowLori-атаки в одиночку (банальный питоноскрипт), сносим к Дискорду.
Качаем исходники nginx'а.
Вдумчиво курим мануал, и определяемся, что нам надо. Потом курим опять, и вновь конфигурируем для сборки с нужными флагами (Модуль STUB не забудьте, ага), выставляем все пути соответственно FHS!
Витиевато выражаемся, доставляем нужные зависимости и пакеты (опять-таки, если вы джедаист-пингвиновод, этот пункт пропускаем.)
(аккуратно собираем в пакет). Ставим.
Всё, теперь у нас красивый, быстрый, аки Рэйнбоу Дэш, сверкающий новизной nginx. Конфигурирование его может ускорить ещё на 20%.
Затем — php. Естественно, работать будем только, и только через CGI-интерфейс. Джедаисты качают исходники, собирают@компиляют. Ленивые кунг-фу панды ставят из пакетов.
Затем приходит время настраивать
ШINDOШSnginx и собственно связку php-fpm. Приблизительные цифры могу посоветовать только тогда, когда скажете параметры этого вашего сервера и среднюю нагрузку на сайт (посещаемость). Для статики ставьте expires: max и отфутболивайте вплоть до ~75% запросов статики не с 200, а с 304 ответом, ня!Переносим временные каталоги nginx в предусмотрительно откушенный кусок оперативной памяти.
Настраиваем mysql… тот же mysqltuner.pl вам в помощь, а временные каталоги вы уже поняли, куда. Само взаимодействие тоже строго через сокет — линукс же!
Затем ставим ускоритель. eAccelerator, спросите вы? Да как бы не так. Во-первых, он древнее Селестии и Луны вместе взятых, и не развивается уже очень долго. И потом, из-за его вредной привычки не следить за целостностью shared memory, и при высокой нагрузке то и дело отправлять в 502 сайт, я и отказался от него — ну стопорит обработку php-cgi, и всё тут. Доработка напильником как spawn-fcgi, так и php-fpm помогала лишь временно — до первой же лавины запросов.
Иногда советуют ставить memcached… ИМХО, излишний велосипед. Да, у него есть няшная фича распределения по нескольким серверам, но оно вам надо? Запускать отдельный кеширующий сервер, особенно на слабых хостингах/серверах суть лишняя головная боль. Поэтому выбрасываем это звено также.
Два вышеназванные «ускорителя» успешно заменяет xCache — кеш как опкода, так и переменных (var cache). Гибкая настройка, наличие «админки», быстродействие и нетребовательность к ресурсам процессора — что ещё надо для полного счастья? Благо, LS с ним работать умеет (и по сокету тоже), посему ставим. Аппетиты настраиваем в xcache.ini, если захотели стабильности и решили включить RO-protection, то файл также ложим в RAM FS.
Ставим сфинкс, ротацию топиков-комментов вешаем на крон, сам сфинкс
просто вешаемна сокет.Если не можете позволить себе полностью переместить LS в RAM FS, сделайте это хотя бы для каталога шаблонов — и немного, и ощутимо сэкономите ресурсы.
Вот, в принципе, и всё… по просьбе могу расписать любой пункт более подробно.
Да пребудет с вами мудрость Селестии.
юзеры по никам, осуществляющие вход/регистрацию с одного IP;
юзеры с одинаковыми комментариями4
юзеры с одинаковыми ссылками в профиле;
юзеры, зарегистрировавшиеся с разницей в 5-10 секунд;
юзеры, которые ни разу не были на сайте (кроме момента регистрации), но имеющие ссылку в профиле.
кто-то когда-нибудь реализовывал спойлер/авто-кат для комментов? У меня на проекте зачастую пишутся очень некислые по размерам комменты, хотелось бы и к ним применять авто-кат, чтобы они не убивали скролы на мышках
В «блогах» выводить все, как есть: топики из подключенных блогов, топики друзей и людей, на которых я подписался. Все в одном месте.
Также выводить действия друзей и пользователей, на которых я подписан:
Добавление блога
Вступление в блог
ТО есть в «блогах» мы выводим все активность в блогах.
В «комментариях» выводить:
— ответы к моим топикам
— ответы на мои комментарии
— комментарии друзей
— комментарии людей, на которых я подписан.
«Активность» — этот подраздел выводит уведомления о социальной активности моих друзей и тех, за кем я слежу
— добавление в друзья
— Добавление записи на стену
— голосование за пользователя
= пользователь vasya теперь следит за пользоателем petya
Голосования за топик, блог или коммент — убрать. Это, имхо, никого не колышет.
для себя уже давно использую костыль (для05x, на 04x не пробовал): файл \engine\lib\external\Smarty\libs\sysplugins\smarty_internal_templatecompilerbase.php
найти строку (примерно 58) после нее добавить и найти строки (примерно 86) и изменить на
на идеальность решения конечно не претендую, НО ОЧЕНЬ помогает при верстке.
ну и вынести все это настройкой в конфиг было бы идеальным решением
Пока пришел к такому решению: для регистрации требовать только почту и ввод с картинки (или вопрос — неважно, любая капча). Все это в модальном окне + аякс регистрация с одномоментной авторизацией. В дальнейшем предлагать пользователю заполнить информацию о себе. В принципе, одного мыла достаточно, чтобы человек мог подписаться на обновления, голосовать, добавлять в избранное. Таких людей полно, они не пишут комментов, топиков, просто читают сайт, добавляют в избранное интересные материалы.
Постинг топиков и комментов ограничить для таких юзеров, при попытке опубликовать выдавать окно с пояснениями и поля ввода «логина» или «имени». Конечно, это может и перебор, но это у-доб-но! И все тут. По-крайней мере, так хочу реализовать у себя на сайте.
В общем-то все Ок, но есть у меня некоторые хотелки.
1. Выравнивание по центру.
Вроде как, у тэна img атрибут align имеет только такие значения:
Как они работают можно посмотреть тут.
В связи с эти непонятно, зачем в меню есть пункт «Выравнивание по центру», т.к. оно не работает.
Мне пришлось добавлять в jevix.php тег p, у которого в атрибуте align есть значение center. Соответственно, обрамляешь ссылку на картинку все Ок.
Возможно, не совсем правильно, но работает.
Так вот, хотелось бы, чтобы подобным образом работал пункт меню «выравнивание по центру», чтобе не приходилось писать руками.
2. Рамка вокруг изображения и подпись
Хотелось бы иметь опциональную возможность (чекбокс, например) включения рамки вокруг изображения, а так же подписи. В точности, как тут.
Причем, хотелось бы, чтобы подпись под изображением по дефолту была такая же, как alt и title, но при желании ее можно было бы сделать другой.
3. Имена файлов картинок
У меня есть стойкое поверие (не могу подтвердить), что название файла влияет на его выдачу по поиску картинок в гугле, например.
LS, насколько я понимаю, как-то по-своему называет файлы, даже если закачиваешь файл с харда с осмысленным названием. Мне бы хотелось, чтобы в меню плагина было поле, которое бы отвечало за название файла. Т.е. оставляешь поле пустым — имена файлов либо остаются теми же, либо меняются самим LS — не важно. Если поле заполнено, то файл называется также.
Как-то так… Если что-то где-то криво сформулировал, не пинайте, то от незнания.
В общем, хотелось бы, чтобы кто-нибудь допилил сей полезный плагин. Будет ли это сам автор, или кто-то другой — не принципиально. Само-собой, не бесплатно.