Sinkora

user-icon

Sinkora Sinkora

Нельзя изменить имя на сайте, нельзя удалить материал или комментарий

Аватар пользователя Sinkora

Казалось бы, что может быть проще, чем разрешить изменять имя на этом сайте, удалять свои материалы или комментарии.

Но все запрещено:(

Не совсем демократично получается...

0 Thanks

Когда не стоит использовать Друпал

Аватар пользователя Sinkora

Если Вы хотите создать и в дальнейшем поддерживать успешный сайт-коммьюнити, сайт-сообщество или что-то наподобие соц. сети, то ни в коем случае не используйте Друпал или другую готовую систему управления.

0 Thanks

Что делать, когда база данных очень большая?

Аватар пользователя Sinkora

Что делать, когда переполнены записями такие, например, таблицы БД как "node", "comments" и т.д.?

0 Thanks

Будет ли альтернатива ТИЦу и прочим индексам попсовости?

Аватар пользователя Sinkora

Я считаю, что ТИЦ, PR и прочие рейтинги - это зло Интернета.

Очень часто можно увидеть плохие сайты с более высокими индексами, чем у других, более качественных сайтов.

По-моему, это беспредел Интернета.

Сапы, биржы ссылок и прочее - это показатель несовершенства поисковиков. Это как и в реальной жизни - все куплено или продано...

0 Thanks

Внимание: фильтр работает неправильно!

Аватар пользователя Sinkora

Вот пример неправильно работающего фильтра.

Начало.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  Конец.

Как видим, фильтр не всегда вырезает лишние пробелы. Надо искать ошибку.

0 Thanks

Без хакинга никак. Часть 1

Аватар пользователя Sinkora

Необходимо сделать на сайте возможность для авторизованных пользователей просматривать материалы со статусом 0.

Самый простой способ - это заменить в функции node_access() следующую строчку:
if ($op == 'view' && $account->uid == $node->uid && $account->uid != 0) {

на:
if ($op == 'view' && $account->uid) {

Но можно сделать подобные хуки:

function my_hacks_menu_alter(&$items) {
  $items['node/%node']['access callback'] = 'my_hacks_node_access';
}
function my_hacks_node_access($op, $node) {
  global $user;
  if (node_access($op, $node) || ($op == 'view' && $user->uid)) {
    return TRUE;
  }
  else {
    return FALSE;
  }
}

Но для сложного сайта, с большим количеством ограничений на права, очень неудобно писать хуки, алерты и прочие надстройки. Иначе, если мы будем наращивать функционал подобным образом, то в нем будет с каждым днем сложнее ориентироваться.

Т.е. вывод один: без хакинга никак.

0 Thanks

Почему в Друпале отступы принято делать двумя пробелами?

Аватар пользователя Sinkora

Почему в Друпале отступы принято делать двумя пробелами, а не табуляцией?

0 Thanks

Проблема с базой данных верстки скрипта

Аватар пользователя Sinkora

У меня проблема с базой данных верстки скрипта, написанного на html. Дело в том, что при проектировании своего блога я не предусмотрел размер на диске, который был у моего хостинг-владельца. Но, в принципе, я разобрался с проблемой (не зря читал форумы и видеоуроки:)). А ошибка-то была в незакрытой скобке, из-за чего у меня закончилась вся оперативка:) А теперь ссылки на моем сайте подсвечиваются при наведении на них мышкой, а не наоборот (как было раньше:)). На радостях, решил я написать хук не в ядре Друпала, чтобы можно было его обновить (Друпал, конечно:)). Все бы ничего, но проц все время виснет, а devel показывает, что страничка загружается за 5 минут. У меня много сложных запросов к БД (и оракл, и майскюель, и другие подобные). И вот осталось непонятно лишь одно: почему поисковики не индексируют главную страничку, ведь на ней нет ничего невалидного? Кругом идет голова. Надеюсь на вашу помощь, гуру...

0 Thanks

Об индексации страниц профилей

Аватар пользователя Sinkora

У меня такой вопрос. Я закрыл профили пользователей от анонимов. И если я закрою эти страницы от индексации в robots.txt, то тогда поисковики перестанут ежедневно лазить по ним, что мне и нужно. Но пользователи сайта в свою очередь иногда оставляют ссылки на других ресурсах на свои профили на моем сайте. В итоге хотелось бы знать, учитывают ли поисковики вес тех ссылок на мой сайт, которые ссылаются на закрытые от индексации страницы.

0 Thanks

Что выгоднее: делать для кого-то заказы или создавать свои проекты для себя?

Аватар пользователя Sinkora

Мне интересно, как вы считаете, выгодное ли это дело создавать сайты на заказ? Или лучше отдавать себя полностью под свой проект/проекты с надеждой, что это окупится? Это не вопрос новичка в мире веба. Я просто хочу знать, многие ли вебмастеры получают действительно достойное вознаграждение за свой труд. Только честно:)

Мне, если честно, иногда надоедает делать что-то для кого-то, т.к. не всегда это выгодно. Но, конечно, тут каждому свое.

0 Thanks

Буду краток о сайте Drupal.ru

Аватар пользователя Sinkora

Буду краток.

Сайт drupal.ru частенько глючит.

Во-вторых, откуда такие тормоза при открытии некоторых страниц, или при отправке комментариев и т.д.?

Явно на сайте плохо используется кеширование.

Может стоит отключить лишние модули?

И почему совсем мало аяксовых вещей на сайте?

Просто если кто-то впервые слышит о Друпале, а потом заходит на этот сайт, чтобы узнать мнение о целесообразности использования этого движка, то он явно обращает внимание на медленность работы этого сайта.

"Ага, Друпал тормозной, не зря мне так говорили люди. Комменты сохраняются аж 5 секунд!" - так думают люди. А ведь дело, как всегда, не в Друпале, а в том как его используют.

А учитывая, что этот сайт по своему статусу должен быть "лицом" Друпала в глазах русскоязычного сообщества, то такая его производительность сейчас оставляет желать лучшего...

0 Thanks

Интересное наблюдение за кешированием страниц

Аватар пользователя Sinkora

Раньше не обращал внимание. Но вчера заметил, что при стандартном кешировании Друпал сохраняет в кеш несуществующие страницы.

Например, у нас есть сайт example.com, на котором имеются следующие страницы:

example.com/catalog
example.com/catalog?page=1
example.com/catalog?page=2
...
example.com/catalog?page=1000

Т.е. Друпал кеширует эти страницы через cache_set($base_root . request_uri(), $data, 'cache_page', CACHE_TEMPORARY, drupal_get_headers());. Но проверку на существование страницы request_uri() не делает...

И если мы будем запрашивать несуществующие страницы, например:

example.com/catalog?page=1001
example.com/catalog?page=1002
...
и так до бесконечности,

то Друпал будет сохранять в таблицу cache_page весь этот хлам. В качестве сохраняемых данных будет браться запись из последней существующей страницы (example.com/catalog?page=1000).

В итоге, если запустить на такой сайт бота, который будет делать подобные запросы, таблица cache_page очень быстро разрастется до огромных разделов.

Таких примеров можно привести очень много.

0 Thanks

Сайт дырявый, я знаю, а вот предупредить администраторов или владельцев ресурса мне сцукотно, меня ж пошлют...

Аватар пользователя Sinkora

Сегодня я прям офигел, когда обнаружил случайно, что один популярный российский ресурс (около 150 тыс. посетителей в сутки) не защищен от подделки межсайтовых запросов! И как теперь жить с такой мыслью...

P.S. Безграничный позор разработчикам.

0 Thanks

Скрытие в браузере удаленных кешированных на сервере картинок. Как правильнее делать?

Аватар пользователя Sinkora

При кешировании данных (блоков, списков и других фрагментов) возникает проблема, когда пользователи удаляют/меняют картинку, которая в данный момент еще находится в кеше на стороне сервера. Как правильнее решать эту проблему, чтобы пользователи не видели битых картинок?

0 Thanks

Ищем альтернативу pathauto

Аватар пользователя Sinkora

В общем, до сегодняшнего дня активно использовал на одном сайте pathauto.
Ссылки нод строились примерно так: [vocab-raw]/[termpath-raw]/[author-name-raw]/[title-raw] и т.п. Но со временем мне такая красота разонравилась по следующим причинам:

  1. Пользователи частенько меняют названия своих материалов, из-за чего каждый раз меняется алиас урла материала.
  2. Сайт только начинает развиваться, а в таблице алиасов уже почти 10 000 записей. Если так пойдет дальше, то в недалеком будущем это число перевалит за миллион. Но это еще ничего, смотрим следующий пункт.
  3. Больше всего напрягает вот что: на страницах листингов материалов СЛИШКОМ много запросов типа "SELECT dst FROM url_alias WHERE ..." при использовании функции l()! Различные хаки делать не вижу смысла.

Решил я сделать пути к материалам по схеме [type-name]/[nid], а вариант без алиасов node/[nid] не хочется использовать. В таком случае проблемные пункты 1 и 3 отпадают, т.к. алиасы будут неизменными всегда, а функцию l() уже можно будет не использовать, что избавит от десятков лишних запросов к БД.

Но какой смысл мне растить таблицу алиасов, при использовании записей типа "blog/1123", "blog/1124" и т.п., если это можно решить и без модуля pathauto?

Решения пока вижу такие:

  1. Создавать каждый тип материала в отдельном модуле, где и указывать в меню правила на формирование адресов. Например, что-то типа такого:
    <?php?>
0 Thanks

Скрывать (или делать недоступной) кнопку сабмита

Аватар пользователя Sinkora

Было бы правильно сделать джаваскрипт, который будет скрывать (или делать недоступной) кнопку сабмита после первого клика. А то сейчас частенько можно заметить, что иногда на сайте появляются ноды-дубли и комменты-дубли. Это же совсем несложно сделать:)

0 Thanks

Создание системы рейтингов на drupal.ru

Аватар пользователя Sinkora

Может не в тему, может это уже и обсуждалось, но как насчет введения на сайте голосований за ноды? Ну, как на Хабре, например. Т.е. если тема топика интересная, то ее "заплюсуют", если наоборот - "заминусуют". На основании этих баллов можно делать статистику самых интересных постов, самых обсуждаемых авторов и т.д., и т.п. И, конечно, нужно предусмотреть ограничения на голосования, в зависимости от роли юзера или его кармы. Мне кажется, что грамотно созданная система рейтингов важна на любом сайте сообщества, тем более на таком как этот.

0 Thanks

О кешировании на drupal.ru

Аватар пользователя Sinkora

Я сделал следующее:

  1. В первом браузере открыл "под гостем" страницу своего профиля. Там была моя аватарка.
  2. Во втором браузере "под авторизацией" удалил свою аватарку.
  3. Обновил страницу в первом браузере - увидел "битую" картинку. И только через 3 минуты картинка появилась.

Я понимаю, что это издержки кеширования. Но мне это не нравится в корне. Ничего не имею против сайта, сайт интересный, посещаю ежедневно, но, по-моему, надо с этим кешированием что-то делать.

Считаю, что кеширование страниц для анонимных пользователей, без проверки актуальности кешируемых данных, является не самым лучшим выходом.

За примером далеко ходить не стану. Допустим, что у нас есть сайт, который посещают как авторизованные пользователи, так и гости. И вот каждый пользователь пишет статьи, публикует их, редактирует иногда. Иногда статьи попадают на главную страницу сайта. А в какой-нибудь прекрасный момент пользователь удаляет свой материал полностью. Но ссылка (или тизер, или картинка) на этот удаленный материал остается в кеше главной страницы. И если на сайт в данный момент зайдет новый гость, то он увидит на главной странице тизер с "битой" картинкой (т.е. картинки не будет, а будет ее отсутствие).

Вопрос: кто и как решает подобные проблемы? У меня есть свои идеи и соображения, но писать их здесь уже лень, т.к. и так уже много буквочек написал... да и не считаю себя знатоком, только учусь...

0 Thanks

Модуль для Vote Up/Down

Аватар пользователя Sinkora

На сайте активно используется модуль Vote Up/Down. Но необходимо сделать ограничения на количество голосований в сутки для одного пользователя в зависимости от его роли.

Существуют ли готовые для этого модули?

Update
Вывод: Проще и правильнее - сделать свой модуль голосования с необходимой логикой.

0 Thanks

Большие тексты в нодах

Аватар пользователя Sinkora

На одном сайте предусмотрена для пользователей возможность публикации литературных произведений. И иногда, когда тексты большие, то возникает проблема. Текст сохраняется в БД, при редактировании ноды он тоже присутствует, но при просмотре ничего не выводится.

Такую проблему удается решать вручную - достаточно разделить некоторые абзацы в тексте, и все становится как положено. Но ведь это не выход, поскольку для администратора/модератора сайта это большой объем работы.

0 Thanks