RSS
 

Роутинг SQL запросов для Views 3 (Drupal 7) во внешнюю базу данных

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

Думал я о разных вариантах и сводятся они к следующему:
1. Написать свой модуль, который будет тянуть данны напрямую из другой БД.
2. Сделать так, чтобы Views "направлял" свои запросы во внешнюю БД
3. Делать местами обертки из set_db_active(); до и после некоторых запросов Друпала к БД.

Преобразование столбца из в BLOB в TEXT

SELECT CAST(VALUE AS CHAR(10000) CHARACTER SET utf8) FROM tablename

Стив Бланк - как верно завалить свой стартап или избежать этого

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

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

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

Drupal Entities & Database API

Посмотрел на днях 2 замечательных видео по Сущностям в Друпале, а также по АПИ базы данных.

DC Kyiv 2010: Сущности в Drupal 7 from Alexandr Shvets

Распознавалка русской речи от Гугла - x-webkit-speech

Для того, чтобы добавить функци распознавания речи к себе на сайт: нужно в поле инпут добаивть такой вот аттрибут: x-webkit-speech

Пример:
< input type='text' x-webkit-speech >

select в форме + мультивыбор

http://drupal.org/project/chosen

Такой вот модуль делает формуы выбора нескольких значений при большом количестве вариантов - весьма няшной :).

Chosen использует Chosen плагин jQuery, чтобы сделать эелементы формы < select > более дружественными для пользователя.

Можуль поставляется с Drush make файлом, который автоматически скачает нужный jQuery плагин, если вы вообще используете Drush на сайте.

форма с автокомплитом

Ссылки на полезные статьи по созданию формы с полем автокомплитным. А также с возможностью генерации инпутов формы на лету без перезагрузки страницы:

http://drupal.org/node/751826
http://drupal.org/node/331941
http://plosquare.blogspot.com/2010/02/drupal-6-adding-form-fields-dynami...
http://drupal.org/node/348475
http://timonweb.com/how-create-ajax-autocomplete-textfield-drupal-7

MySQL оптимизация производительности

Читаю вот книгу "MySQL оптимизация производительноси", авторы: Бэрон Шварц, Петр Зайцев, Вадим Ткаченко, Джереми Заводны, Арьен Ленц, Дерек Боллинг.

1. InnoDB поддерживает блокировку, которая не упоминается в стандарте SQL:
SELECT ...LOCK IN SHARE MODE
SELECT ... FOR UPDATE

2. MyISAM таблицы по команде SHOW TABLE STATUS LIKE '...' среди прочего могут выдавать checksum всего содержимого таблицы, если таковой подсчет включен. Эта опция может быьт крайне полезна для быстрого сравнения содержимого таблиц.

3. MyISAM:
CREATE TABLE mytable (
...

Drupal 7: программное создание нод, влкючающее field colletion

I had to import a few thousand items from a legacy database to a Drupal 7 site and found that it was quite easy to do so programmatically. Here I'll first show you the basic code for adding nodes and then I'll talk about different field types, including how to add images and term references (taxonomy). If you have any questions, just ask in the comments and I'll be happy to help!
Basic node creation - example

PDOException при программном сохранении ноды

PDOException: in field_sql_storage_field_storage_write() (line 424 of \modules\field\modules\field_sql_storage\field_sql_storage.module).

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

Решение на скорую руку:

while($row = sqlsrv_fetch_array($res, SQLSRV_FETCH_ASSOC)) {
...
       foreach(array('title', 'abstract', 'body') as $key)