Shift-Web: Блог

Главные вкладки

Стабильность ядра и основных модулей 7 dru

6 мая 2011 в 16:42

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

Часто ли выходят обновления и утомляют?
Адекватно ли ведёт себя друп?
Зреют ли какие то серьёзные корректировки или систему можно назвать стабильной?
Как обстоят дела с RDF и RDFa?

Буду очень признателен за любые мысли и каменты по поводу.

Как короче и лаконичнее?

15 апреля 2011 в 0:12

В общем буксую на регулярках. Получилось вот что:


<?php

$url 

'http://www.tryam-tryam.com.ru/sdfsadfasd/asdasdf/asdf/as/dfas/df/asdf/';

print 

uri_fix($url);

/* clean uri to domain only format */
function uri_fix($url) {

  

/* clean protocols & prefixes */
  
$url str_replace('https://'''$url);
  
$url str_replace('http://'''$url);
  
$url str_replace('ftp://'''$url);
  
$url str_replace('www.'''$url);
  
  
/* clean all bad simbols */
  
$url explode('/'$url);
    return 
preg_replace('~[^a-z|а-я|0-9|-|.]*~is'''$url[0]); // transport back correct domain

}

?>

Было желаение прогнать по массиву или циклу участок

<?php
  
/* clean protocols & prefixes */
  
$url str_replace('https://'''$url);
  
$url str_replace('http://'''$url);
  
$url str_replace('ftp://'''$url);
  
$url str_replace('www.'''$url);
?>

Но чутьё подсказывает, что это делается ещё проще. Есть такой вариант?

Спасибо

SVGы-гы :)

14 апреля 2011 в 22:47

Итак. В продолжение поста о том, что флэш это отстой и всех вытекающих их HTML 5 ништяков, хотелось бы попиговорить на тему SVG более предметно.

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

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

Собсна для примера возьмём картинку Львёнка в виде SVG.

<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
        "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    width="15cm" height="15cm">
  <g transform="rotate(10) scale (1) translate (100,10)">
    <polygon fill="#f2cc99"
            points=" 69,18 82,8 99,3 118,5 135,12 149,21 156,13 165,9 177,13 183,28 180,50 164,91 155,107 154,114 151,121 141,127 139,136 155,206 157,251 126,342 133,357 128,376 83,376 75,368 67,350 61,350 53,369 4,369 2,361 5,354 12,342 16,321 4,257 4,244 7,218 9,179 26,127 43,93 32,77 30,70 24,67 16,49 17,35 18,23 30,12 40,7 53,7 62,12"/>
    <polygon fill="#e5b27f"

Курю пэхапэ [нубас детэктэд]

10 апреля 2011 в 1:00

В общем тренирую навыки пэхапэ кодинга с перспективой на быстрый порт в друпал модуль. Интересно было бы послушать более опытных программистов относительно моего кода.

Совсем ли он говённый или есть шансы на выздоровление. Отдельно интересует вопрос того, как лучше подобное реализовать, чтобы малой кровью оформить в модуль. Заранее благодарен ...


<?php

/**
 *
 * SEO controller
 *
 */

/*
$uri = $_GET['uri'];

if( !$uri && $secure != $secureParam) {
    print 'Empty request or secureParam.';
    exit(0);
}

*/

$uri 'http://www.w3.org/'//test drive static
$uri stripper($uri);

/* Yandex API Key, user, request adress */
$yandexUID              '';
$yandexKEY               '';
$yandexRequest    'http://xmlsearch.yandex.ru/xmlsearch?user='.$yandexUID.'&key='.$yandexKEY.'&';

/* Google API KEY, requsets adreses*/
$GoogleKEY        '';
$GoogleRequest       = array('http://ajax.googleapis.com/ajax/services/search/web?v=1.0&key='.$GoogleKEY'http://ajax.googleapis.com/ajax/services/search/blogs?v=1.0&key='.$GoogleKEY);

/* Yahoo API KEY, request adress */
$yahooKEY             '';
$yahooRequest          'http://search.yahooapis.com/SiteExplorerService/V1/inlinkData?appid='.$yahooKEY;

/* prepare class */
$param = array($uri$yandexRequest$GoogleRequest$yahooRequest);
$data  = new index_processor();

?>

/* debug */
<pre><?php print_r($data->cfg($param)); ?></pre>
<pre><?php print $uri?></pre>
/* debug */

<?php

/* index class */
class index_processor {

public function 

cfg($param) {
        
/* url parameters */?>

Добыть ссылку на первое вложение по списку

21 марта 2011 в 12:50

Вот такой вопросик: каким кодом можно добыть ссылку на первую прикреплённую к ноде картинку? Модули не предлагать, нужен сниппет

RDFa таксономические крошки для 6ки

20 марта 2011 в 18:17

В общем лисапед форкнут с taxonomy_breadcrumbs. Прошу заинтересованных помочь в тестировании сниппетов.

Скачать
О лисапеде

Перед юзанием необходимо сделать в page.tpl.php следующее:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xsi:schemaLocation="http://www.w3.org/1999/xhtml http://www.w3.org/MarkUp/SCHEMA/xhtml-rdfa-2.xsd"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:v="http://rdf.data-vocabulary.org/#"
     xmlns="http://www.w3.org/1999/xhtml"
     version="XHTML+RDFa 1.0"
     xml:lang="ru-RU"
     dir="ltr">

Спасибо ...

Прошу уволить меня в соответствии с государственным образовательным стандартом

10 марта 2011 в 12:19

http://pedsovet.org/forum/topic7497.html

перепост, просят поддержать

Content Refresh

12 февраля 2011 в 10:46

Кто то пользуется модулем Content Refresh? Адекватно ли работает обновление кэша при агрессивном кэшировании? Возможно ли в друпал выставить жизнь кэша неограниченно и каких побочек можно ожидать?

IT Patrol предложение развернуть CDN зеркала для JS

12 февраля 2011 в 1:41

Собнсо не знаю на сколько оправдано, но было бы офигищенски сделать зеркала для коннекта стандартных JavaScript и ядерных примочек. Навеяно лулзами в каментах при обсуждении сабжа CDN с неизвестным анонимусом.

Мне кажется было бы офигенно здорово, например для того же друфлая или вообще по хостингу.

Простейший аякс запрос с возвратом.

3 января 2011 в 12:33

Драсьте. Подскажите где покурить на эту тему? Не нашёл нормальных понятных примеров.

Internal SEO в Drupal 6 от А до Я

2 января 2011 в 14:18

Internal SEO в Drupal 6 от А до Я

Внутренняя оптимизация Drupal

Введение в Drupal iSEO

Есть мнение, что друпал трудный и негибкий, имеет кучу недостатков и плохо индексируется, что делать на друпал маленькие сайты неразумно и затратно. Так ли это на самом деле и как избежать SEO граблей молодому сайту? Несомненно порог входа в индустрию играет определённую роль и будьте готовы к трудностям, тем не менее на Друпал можно всё! Достаточно немного свободного времени на изучение и желание учиться.

Модуль сайтмап -> напильник

28 декабря 2010 в 0:10

Дано: модуль сайтмап + таксономия + сайтмап xml

Чтобы убрать конечный аргумент all, идём в файл модуля и ищем строку:

<?php
    
// Display the $term.
    
$output .= "\n<li>";
    
$term_item '';
    if (
$forum_link) {
      
$term_item .= l($term->name'forum/'$term->tid, array('attributes' => array('title' => $term->description)));
    }
    elseif (
$term->count) {
      
$term_item .= l($term->name, ($cat_depth 0) ? taxonomy_term_path($term) : "taxonomy/term/$term->tid/$cat_depth", array('attributes' => array('title' => $term->description)));
    }
    else {
      
$term_item .= check_plain($term->name);
    }
    if (
variable_get('site_map_show_count'1)) {
      
$term_item .= " ($term->count)";
    }
?>

Меняем на:

<?php
    
// Display the $term.
    
$output .= "\n<li>";
    
$term_item '';
    if (
$forum_link) {
      
$term_item .= l($term->name'forum/'$term->tid, array('attributes' => array('title' => $term->description)));
    }
    elseif (
$term->count) {
      
$term_item .= l($term->name, ($cat_depth 0) ? taxonomy_term_path($term) : "taxonomy/term/$term->tid", array('attributes' => array('title' => $term->description)));
    }
    else {
      
$term_item .= check_plain($term->name);
    }
    if (
variable_get('site_map_show_count'1)) {
      
$term_item .= " ($term->count)";
    }
?>

Проблема описана тут

Приглашаю поэкспериментировать.

12 декабря 2010 в 1:46

В общем на основе модуля экспорта яндекс новостей состряпал модуль для построения RDF карты с описаниями материалов. Если кому-то такая приблуда нужна -- забирайте.

Shift-Web 3.0 — final edition

9 декабря 2010 в 20:43

Обновил дизайн. Решил особо не выеживаться и постараться сделать сайт шустрым, удобным и симпатичным. Приму удары в голову и критику. Валидность пока подхрамывает в силу геши фильтра, но чуть позже разберусь с этим. Не решены некоторые моменты с IE, но думаю справлюсь и с этим. В целом отображается вполне цивильно.

Апдейтед. IE перехакан на 7 и 8 версию(9 не смотрел пока), улучшена производительность, уменьшено кол-во графики. Упор на синтетические программные эффекты. Богопидомерзкий флэш истреблён. Почти все CSS3 работают в восьмёрке. Кое как нарисовал бренд-маркер, думаю получилось весьма интересно. Приму грудью помидорку и критику.

Ну и сабж на заценку: drupal seo cybercoding

RSS Feed Upgrade XSLT Based extension

23 ноября 2010 в 10:50

Увлёкся XSL и решил немного поэкспериментировать. В общем идея заключается в допиливании внешнего вида RSS канала формируемого Ядром.

После апгрейда фид приобретает читабельный вид и из набора xml тегов превращается в полноценню страничку со своим оформлением и разными плюшками.

Проблема в том, что для темизации использован мехинизм XSL трасформации, что позволяет засунуть в RSS канал что угодно, хоть рекламу, хоть любую другую приблуду, оставив его при этом всё тем-же RSS каналом(т.е. все приколы происходят на стороне клиента и никак не мешают сервисам и поисковики xslt тупо не понимают). Я ради эксперимента и экспириенса приделал социальные пимпы от Dimox.

Проблема заключается в том, что для трансформации нужно второй строкой подключить файл стилей XSL, в котором заложена вся логика мутации, а как это сделать я тупо не знаю.

<?xml version="1.0" encoding="utf-8"?>
<!-- Inject the transform logic -->
<?xml-stylesheet href="feed-transform.xsl" type="text/xsl" media="all"?>
<rss version="2.0" xml:base="http://some.com"  xmlns:dc="http://purl.org/dc/elements/1.1/">

Ну и собсно код, думаю лишние комментарии ни к чему:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- Doctype Declaration Configurate -->
<xsl:output method="html" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" indent="yes" />
  <!-- Bind the Root variables -->
  <xsl:variable name="title" select="/rss/channel/title" />

Вопрос по редиректам в контексте нагрузоустойчивости

20 ноября 2010 в 23:31

На сколько редиректы нагружают сервер?

Грубо говоря, имеем смартёвую систему шаблонов с и вот такой вот код в .htacess

Full Ajax > What you think about

18 ноября 2010 в 5:28

Quote:
Fullajax = AJAX + AHAH — технология, подход к построению, переводу сайтов и веб-приложений на AJAX. Направлен на выработку правил и методов максимального внедрения всей мощности AJAX & AHAH. Наша технология уменьшает сложность и расширяет узконаправленность области применения AJAX.

Технология Fullajax — дает возможность использовать AJAX технологию на полную силу, и позволяет быстро и безболезненно внедрить AJAX в любой сайт. Вам не нужно знать тонкости работы AJAX и тонкости программирования Javascript, если вы понимаете основы HTML и верстки, вы сможете без проблем внедрить Fullajax в свой сайт.

Одна из основных возможностей Fullajax ― программируете как обычно, а подключив нашу библиотеку получаете AJAX. Это достигается за счет специально разработанного механизма фильтрации: ссылки по заданным критериям автоматически превращаются в AJAX. Область применения не ограничена: в простых сайтах, на системах управления, в порталах, везде. При подключении Fullajax — Ваш сайт станет настоящим современным Веб-приложением.

бла-бла-бла .... сабж по адресу: http://fullajax.ru/

Условие вида if ($user->[???]) bla-bla; {роль, поле в профиле

25 октября 2010 в 14:51

Буксую с ролями и профилями.

Нужно сделать простое условие через ядро без прямого взгляда в БД по типу роли к торому относится юзер, что-то вроде

if ($user->ProfileRole) { пыщь-пыщь что-то; }, где ProfileRole -- присвоенная роль.

И условие типа

if ($user->ParameterProfile) { пыщь-пыщь что-то; }, где ParameterProfile -- условие выбора одного из ряда параметров списка в профайле.

Как-то через ядро это делается без прямых SQL условий?

Гы )

24 сентября 2010 в 15:02

Перенёс на друпал один из своих первых сайтов.

Первоначально была драконья кольцевая связка dle(null)+vBulletin(null)+MediaWiki, что накладывало отпечаток на удобство администрирования. Со временем на хостинге что-то на..сь и движок википедии посыпался.

На сборку пакета модулей, настройку ядра и первёрстывание дизайна с таблиц на div-dl структуру ушло примерно 3 дня. Собсна сабж.

Дизайн мой Smile