自分で作ったり提供したりするものは、まず自分自身で使ってみろろということです。自分じゃ使わないものなら人はいくらでも無責任にも無思考にもなれる。そういう投げやりな「サービス」やら「プロダクツ」なんて、だれだってイヤだ。自分が作り手と同時に利用者の立場になれば、ちゃんと使えるレベルのものを提供しようとします。

2012年10月24日水曜日

Drupal豆知識

■ショートカット最大表示数
nano sites/default/settings.php
...
#10個表示(デフォルトは7個)
$conf['shortcut_max_slots'] = 10;
...

2012年10月16日火曜日

Android開発者ブログ

Android開発者ブログ
http://android-developers.blogspot.jp/

2012年10月15日月曜日

Ubuntu Subversionサーバー作成

Ubuntu ServerでSubversionサーバーを作成する


基本設定
sudo apt-get install subversion subversion-tools
sudo mkdir /var/lib/svn
sudo mkdir /var/lib/svn/repos
sudo groupadd svn
sudo chgrp svn /var/lib/svn/repos
sudo chmod g+w /var/lib/svn/repos
sudo chmod g+s /var/lib/svn/repos
#svnグループに設定
sudo usermod -a -G svn user1
#所属グループの確認
groups
#cat /etc/group|grep user1

2012年10月14日日曜日

@mediaサンプル

CSS の @media ルールは、目的とする出力機器用に HTML 文書あるいは XML 文書を出力するための便利な方法です。

サンプル





zen-gridsサンプル

DrupalのZenテーマを利用するときは画面レイアウトの設計フレームワークZenGridsが必要不可欠です。

このトピックはZenGrids基本使用方法を紹介します。

レイアウト結果:

2012年10月13日土曜日

Sass/Compass紹介

CSSプリプロセッサSassとフレームワークCompassの簡単な文法紹介です。



従来のCSS開発はプログラミングのようにできないので、重複コードやメンテナンス性はよくない欠点があります。Sassは簡単な文法でCSSを自動的に作成できるようなプリプロセッサです、簡単にいえば開発言語ではなく、C言語のマクロのようなものです。CompassはSassのライブラリのようなものです、少ないコードで素晴らしいCSS効果を簡単に実装できます。

オフィシャルサイト
http://sass-lang.com/
http://compass-style.org/
http://zengrids.com/

*zengridsはページレイアウト設計のフレームワークです。

Chromeプラグイン

自分がよく使うChromeプラグインを紹介します。

1、広告ブロック―AdBlock
  サイトにすべての広告を非表示にする

2、ポップアップブロック―Better Pop Up Blocker
  サイトからすべてのポップアップウィンドウをブロックする

上記のツールはChrome Web Storeから無料でダウンロードできます。

2012年10月10日水曜日

PostgreSql 9.1.xレプリケーション(Ubuntu)

Ubuntu 12.04.1 LTSでPostgreSQL 9.1.xレプリケーションクラスタを作成する

準備
PostgreSQLインストール
sudo apt-get install postgresql
sudo apt-get update
sudo apt-get upgrade

Drupalクラスター方案

サーバークラスターソリューションはいくつありますが、最終的にLullabot方案を採用します。



参照URL
http://www.lullabot.com/articles/varnish-multiple-web-servers-drupal

2012年10月9日火曜日

Ubuntu 12.04 LTSランダムパスワード作成

インストール
sudo apt-get install libstring-mkpasswd-perl

使用例
mkpasswd.pl -l 14 --nospecial

UbuntuにRedmineをインストールする

まず英語ページをメモします、後程やってみます。

HowTo Install Redmine in Ubuntu - Redmine
http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_in_Ubuntu

2012年10月8日月曜日

Drupal管理ツール内容ハック



1、koma8モジュール作成
2、koma8.module内容
<?php
function koma8_fieldset($variables)
{
    $element = $variables['element'];
    element_set_attributes($element, array('id'));
    _form_set_class($element, array('form-wrapper'));

    $output = '<fieldset' . drupal_attributes($element['#attributes']) . '>';
    if (!empty($element['#title']))
    {
        // Always wrap fieldset legends in a SPAN for CSS positioning.
        $output .= '<legend><span class="fieldset-legend">' . $element['#title'] . '</span></legend>';
    }
    $output .= '<div class="fieldset-wrapper">';
    if (!empty($element['#description']))
    {
        $output .= '<div class="fieldset-description">' . $element['#description'] . '</div>';
    }
    $output .= $element['#children'];
    if (isset($element['#value']))
    {
        $output .= $element['#value'];
    }

    if (isset($element['#postscript']) && $element['#postscript'])
    {
        $output .= '<div class="postscript">' . $element['#postscript'] . '</div>';
    }

    $output .= '</div>';
    $output .= "</fieldset>\n";
    return $output;
}
function koma8_theme_registry_alter(&$theme_registry)
{
    $theme_registry['fieldset']['function'] = 'koma8_fieldset';
}
function koma8_form_node_form_alter(&$form, &$form_state, $form_id)
{
    $form['revision_information']['#postscript'] = t('何か文言をここに入れる');
}

Done!

Drupalコンタクトフィールドグループ



1、koma7モジュール作成
2、koma7.module内容
<?php
function koma7_form_contact_site_form_alter(&$form, &$form_state, $form_id)
{
    dpm('koma7_form_contact_site_form_alter');
    dpm($form);

    $form['contact_fields'] = array(
        '#type' => 'fieldset',
        '#title' => t('Contact information'),
    );

    $form['contact_fields']['name'] = $form['name'];
    $form['contact_fields']['mail'] = $form['mail'];

    $form['message_fields'] = array(
        '#type' => 'fieldset',
        '#title' => t('Message'),
    );

    $form['message_fields']['subject'] = $form['subject'];
    $form['message_fields']['message'] = $form['message'];
    $form['message_fields']['copy'] = $form['copy'];

    unset($form['name'], $form['mail'], $form['subject'], $form['message'], $form['copy']);
}

Done!

Drupalフォームフィールド整理



1、koma6モジュール作成
2、koma6.module内容
<?php
function koma6_form_alter(&$form, &$form_state, $form_id)
{
    if (isset($form['#node_edit_form']))
    {
        unset($form['author']['#group']);
        $form['author']['#collapsed'] = FALSE;

        $form['revision_information']['#weight'] = -10;
    }
}

Done!

Drupal7文章編集テキストエリアサイズ調整



1、koma5モジュール作成
2、koma5.module内容
<?php
function koma5_form_alter(&$form, &$form_state, $form_id)
{
    if ($form_id != 'search_form' && $form_id != 'search_block_form')
    {
        dpm($form_id);
        dpm($form_state);
        dpm($form);
    }
    if (isset($form['#node_edit_form']))
    {
        $form['body'][$form['language']['#value']][0]['#rows'] = 5;
    }
}

Done!

2012年10月7日日曜日

Drupal7検索フォーム

Drupal7検索フォームを修正するサンプルです。





1、koma4モジュール作成
2、js/koma4search.js作成
3、koma4search.js内容
(function ($)
{
    Drupal.behaviors.koma4search =
    {
        attach : function ()
        {
            $('#block-search-form .form-submit').hide();
                
            $('#block-search-form .form-type-textfield .form-text')
            .attr('size', 30)
            .attr('value', Drupal.t("Enter search query..."))
            .click(function(){
                $(this).attr('value', '');
            })
            .blur(function () {
                $(this).attr('value', Drupal.t("Enter search query..."))
                .click(function(){
                    $(this).attr('value', '');
                    $(this).unbind('click');
                });
            });
        }
    }
}(jQuery));
4、koma4.module内容
function koma4_init()
{
    $path = drupal_get_path('module', 'koma4');
    drupal_add_js($path . '/js/koma4search.js');
}

Done!

2012年10月6日土曜日

Drupal7変数受け渡しphp-javascript

PHP変数をJavascriptに渡す



1、koma3モジュール作成
2、js/koma3.js作成
3、koma3.js内容
(function ($) {
    Drupal.behaviors.koma3helo =
    {
        attach : function()
        {
            console.log(Drupal.settings.helo);
            console.log(Drupal.settings.props.prop1);
            console.log(Drupal.settings.props.prop2);
            console.log(Drupal.settings.props.prop3);
        }
    };
}(jQuery));
4、koma3.module内容
function koma3_init()
{
    drupal_add_js(array('helo' => 'Helo World.'), 'setting');

    drupal_add_js(array('props' => array(
            'prop1' => 'prop1val',
            'prop2' => 'prop2val',
            'prop3' => 'prop3val',
        )), 'setting');

    $path = drupal_get_path('module', 'koma3');
    drupal_add_js($path . '/js/koma3.js');
}

Done!

Drupal7ログインフォームフォーカス



手順:
1、koma2モジュール作成
2、js/my1.js作成
3、my1.js内容
(function ($) 
{
    Drupal.behaviors.koma2UserFocus =
        {
            attach : function()
            {
                $('input#edit-name').focus();
            }
        };
}(jQuery));
4、koma2.module
function koma2_init()
{
    global $user;
    
    $path = drupal_get_path("module", "koma2");
    
    if ($user->uid == 0)
        drupal_add_js($path . "/js/my1.js");
}

Done!

Drupal7あるパターンだけでjsをインクルードする



手順:
1、koma1モジュールを作成する
2、js/my1.jsを作る
3、my1.js内容
alert('helo drupal7 world.');
4、koma1.moduleを編集する
function koma1_init()
{
    $path = drupal_get_path('module', 'koma1');
    if (arg(0) == 'node' && is_numeric(arg(1)) && is_null(arg(2)))
    {
        drupal_add_js($path . "/js/my1.js");
    }
}

Ubuntu FTPサーバー

vsftpdを使ってUbuntuFTPサーバーを作成する

sudo apt-get install vsftpd

sudo nano -wci /etc/vsftpd.conf
...
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
...

sudo service vsftpd restart

Done!

Drupal Drushインストール

DrupalコマンドツールDrushを紹介します。

Drushとは、Drupal Shellの略で、Drupalをコマンドラインから操作するコマンドラインツールです。複数のDrupalサイトを効率的に管理するAegir hosting systemというプロジェクトの一部として開発されています。

Drushを使うと、コマンドラインからモジュールをインストールしたり、インストール済みのモジュールを更新したり、キャッシュやログをクリアしたりできます。こういった作業をスクリプト化して自動化することも可能です。FTPを使うレンタルサーバのような環境では使えないでしょうが、sshなどでunixのシェルが使える環境の場合は、Drupalの管理を大幅に効率化できます。

http://drupal.org/project/drush

ホームページ