Joomla!を3.3.0にアップしたら、突然ページが真っ白に。。

良くあることだと思いつつも、こんなことで休みの日が台無しになってはマズイと思い、

まあ、管理画面は大丈夫だったので、サイト面のテンプレート周りかと推測しテンプレートを切り替えたり、キャッシュをクリアしたりと試すが解決しない。

仕方無く、google先生に聞くと、Helix Templates Frameworkに問題ありとの情報たどりに着く。

これだ!! と思いつつダウンロードしながら考えてみたが、Helix Templates Frameworkなんか使っている覚えも無いし、何かのテンプレートが勝手に使っているのか思い調べてみたが、それらしい形跡も無い。

もう一度考え直すと全てのサイトページが表示されないので、、全てのページに利用されているエクステンションが怪しいと考え、全てのプラグインをOFFにする。

予想は当たりプラグインをOFFにするとサイトページは表示された。

次に、OFFにしたプラグインから半分をONにし、どのプラグインに問題があるかを発見する『1/2最短抽出方法※1』 で問題のプラグインを特定する。

問題のプラグインはKomentoであることを発見。

全てのKomento関連プラグインをOFFにして問題は一先ず解決。

※1) 1/2最短抽出方法

どこに問題があるか分からない場合の最も効率的な問題箇所発見方法の一つ。
該当コードの半分を削除してエラーが解消されるかを確認する。もし、解消しなければ、残った方にエラーが含まれる。さらにその半分を削除し、と次第に範囲を狭める方法。
単純であるが、比較的効率的な方法。
もちろん呼び出される関数など、削除には注意又は考慮しなければならない項目ある。

Chronoforms5は良くできた無料のフォームメールエクステンションです。
これひとつで概ね思ったフォームは作成可能ですが、その機能豊富さが故に設定しなければならない項目も多くなります。
送信されるメッセージに改行を挿入することもその一つです。
以下にフォーラム等でも紹介されている簡単な設定方法を記します。

Chronoforms5 is a good Form Mail Extension of Joomla Extensions.
The following is  a simple configuration method to insert line breaks in the Chronoforms5's message.

 1.対象とするフォームのメニュー > Setup で Custom CodeをOn submit 内にドラッグ&ドロップ。

 2.ドラッグ&ドロップすると最下部に入るので、適宜ドラッグして上部へ移動。 Editボタンを押してコード入力。

 

 3.入力コードは以下。

<?php
$form->data['message'] = nl2br($form->data['message']);
?>

'message' 部分はフォームのField Name に合わせてください。

注意:これは、メールをHTMLで送信することが前提なので、『email format』をhtmlに設定すること。

と思って調べていると、Chronoforms5のフォーラムで以下のトピックを見つけた。
http://www.chronoengine.com/forums/posts/f2/t93560/chronoforms5--change-js-validation-language.html?hilit=translations

場所が分かったので、最低限の日本語化を行う。

しかし、Chronoforms5が概ねフォームメールのニーズを満たしてくれていて有り難い。

THX! Chronoforms5!!

一応、圧縮アップ、自分のために。 ここに。

変更箇所は以下。

/libraries/cegcore/assets/gplugins/gvalidation/gvalidation.js

		errors : {
			required : 'この項目は必須入力です。',
			alpha : 'この項目は半角英文字のみ入力可能です。',
			alphanum : 'この項目は英数字のみ入力可能です。',
			digit : '有効な数字を入力してください。',
			nodigit : '数字は入力できません。',
			number : '有効な番号を入力してください。',
			email : '有効なメールアドレスを入力してください。',
			image : 'この項目は画像がが含まれている必要があります。',
			phone : '有効な電話番号を入力してください。',
			phone_inter : '有効な国際電話番号を入力してください。',
			url : '有効なURLを入力してください。',
			group: '最低な必要選択数 %1 ',
		},
		display : 'tooltip',

 

ちょっとJoomla!の覚書。
itemidを判断してCSSを読み分けする。これって良く使うくせに直ぐ忘れて作り直す。。。 

<?php

$itemA = array(101,116,118,139,140);
$itemB = array(103,117,124,125,136,137,138,141);
$app = JFactory::getApplication();
$itemid   = $app->input->getCmd('Itemid', '');

if (in_array($itemid, $itemA))  {
//style A
echo '<link rel="stylesheet" href="/css/diff_a.css" type="text/css" charset="utf-8" />' ;
}elseif(in_array($itemid, $itemB)){
//style B
echo '<link rel="stylesheet" href="/css/diff_b.css" type="text/css" charset="utf-8" />' ;
}else{
//style C
echo '<link rel="stylesheet" href="/css/diff_c.css" type="text/css" charset="utf-8" />' ;
}

?>

 

 

久々にJoomla3.1.1インストールで躓いたので覚書。

Joomla!3.1.1をファーストサーバーにインストール! かの有名なファーストサーバーである。
以前から何度が仕事の関係上、使用経験はあったが、Joomla!をインストールしたことは無かった。。

そこで今回、始めてインストールして手間取ったところを一先ず覚書。
今後何かの情報の糧になればと期待をこめて。

phpの動作モード

Joomla!インストールの環境調整のためにphpの設定を変える。php.iniは許可されていないので、.htaccessの設置を試みるが上手く行かない。Internal Server Errortが発生するのだ。

調べてみると、

htaccessでサーバの挙動を制御することは可能です。 
「.htaccess」での設定変更は、PHP(DSO版) でのみ有効です。

とあった。
初期設定はCGI版なので、設定変更が必要とのこと。

データベース

、、おぉぉいっ! MySQL のバージョンが 5.0じゃんかっ!!  終った。。。

事後報告-- ファーストサーバーの使用は諦めて、さくらに変更しました。。

 


First of all,I found awesome app. It was JUpgrade.
It can migrate site from 1.5 to 2.6 only one click!
But jUpgrade does not start!
No, It started, but..Eventually, It stoped at message "Checking and cleaning...". 

My journey continued.

PS.

I got a following error message when turn on two debug buttons.

401: jupgrade_categories table not exist

http://wiki.redcomponent.com/index.php?title=jUpgrade:Troubleshooting

"401: jupgrade_categories table not exist"
"402: jupgrade_menus table not exist"
"403: jupgrade_modules table not exist"
"404: jupgrade_steps table not exist"

When jUpgrade gets installed, one of the things it does is create tables in the Joomla! 1.5 database that help move the migration through each step. This includes tables for:

  • converting sections into categories for Joomla! 2.5's category-only structure
  • converting menu and menu item references to accommodate 2.5's new menu ID organization
  • converting module and parameter references to accommodate 2.5's new module ID organization
  • checking that a step in the migration process has been completed before moving on to the next one

If these tables have not been created, jUpgrade cannot proceed with the migration. To fix this, simply uninstall and reinstall jUpgrade, and the script that makes the tables should run and resolve the issue. (Obviously to create these tables the administrator must have the relevant permissions, but if the site is on a shared host then the server host administrator should be contacted for further assistance.)

 

知らない間にJoomla!3.0.2がリリースされていた。
管理画面にある更新検出が上手く働いていない様子だ。
相変わらず『 Joomla!は最新です』表示が現れたままだが、意図的にリポジトリへの対応を止めているのかも知れない。

そうそう、何故Joomla!のアップデートに気が付いたかと言えば、昨年より引き続きJoomla!1.5ベースのサイトをアップグレードして行っているのだ。
以外と1.5ベースのサイトは多く、手間の掛かる詐欺要である。
手間だけの問題ならば、それ程気にならないが、データベースの構造も違っている1.5と3.0ではうかつな詐欺要はできない。
新調に移行手順を確認しながに進める他無いのだ。

ちなみにJoomla!のアップグレード情報はこちらのページでGET可能!

Joomla!3.0’s default template “Protostar” is really nice template. But it has some problem to show 2byte characters.

I found out. Unknown command "text-rendering" in Protostar's template.css line 498. If there is this, 2byte characters aren't appear.

 

h6 {
    margin: 9px 0;
    font-family: inherit;
    font-weight: bold;
    line-height: 1;
    color: inherit;
   text-rendering: optimizelegibility;

}

 

I recommend turn off by comment out or delete this line if you'll use “Protostar” in 2 byte contents.

 

See more information about "text-rendering".

https://developer.mozilla.org/en-US/docs/CSS/text-rendering

新しくなったユーザー管理

Joomla!1.7系は1.5系から随分と進化したものとなっています。

ソースレベルの話はさておいて、幾つか特徴的な改善がなされていますが、『ユーザー管理』の機能はその中の一つです。

ここでは新しい1.7系のユーザー管理に関して説明しましょう。

 

管理画面へのログイン

image

Joomla!の管理画面ログインにはユーザー名とパスワードが必要です。

Joomla!のユーザーはユーザー管理者がユーザー登録を行うか、一般ユーザーの登録が許可されている場合はフロントからの自由な登録が可能です。

 

管理画面(バックエンド)コントロールパネル

image

管理画面にログインすると通常最初に目にするのが『コントロールパネル』です。

『コントロールパネル』は各管理機能をアイコンで一覧表示した管理画面のトップページです。

 

ユーザー管理:ユーザー

image

『ユーザー管理』ボタンを押してユーザー管理画面に入ると『ユーザー』、『ユーザーグループ』、『管理レベル』の三つのボタンが見られます。

初期に表示されいる『ユーザー』が画面では現在のJoomla!のユーザーを全て一覧できます。

画面例では2人のユーザーが登録されており、どちらも有効であることがわかります。

Joomla!には『名前』、『ユーザー名』、『ログイン名』などの呼び名が出できますが、ここではそれらの違いについて説明します。

尚、Joomla!の『名前』、『ユーザー名』、『ログイン名』には他の設定と同様に日本語(2バイト文字)の使用が可能です。

名前:
投稿記事の表示などに使用される名前です。表示用の名前と言ったところでしょうか。重複して存在することが可能です。

ユーザ名:
ログインに使用される名前です。重複して存在することができません。

ログイン名:
ユーザー名と同じです。

 

現在加筆中

「簡単にレイアウトする」難しさ。

CMSを利用したサイト構築と管理はエンドユーザー向けとしても賢い選択だ。
個人的には多くの場合Joomla!CMSを利用している。
しかし多くの場合CMS導入には大きな「面倒」を抱え込む結果を生むことが多いのも事実である。
それは「CMS=簡単に記事をレイアウトしてアップできる」と勘違いしている点だ。もちろん「記事を簡単に作成してアップ」はできる。
しかし、「簡単にレイアウトする」こととは別問題だ。

「自由度の高いエディター」と「編集者のレイアウトスキル」が不可欠。

必ず分けて理解しなければならないこの問題が、多くの場合は混同され、厳密に吟味されないまま会話の中にまぎれ込んでしまう。
CMSを導入したのにエンドユーザーが自由に記事編集をできない。
手間要らずサイトを構築したはずが、いつまでたっても制作者の手を離れず、ユーザーに感謝されるどころかCMSそのものに疑念を持たれて、数年後には元の静的サイトへと逆戻りという結果も珍しくない。
それもこれこ全ては「記事を簡単に作成してアップ」できることと「簡単にレイアウトする」が同一視されていることが原因だ。
それではCMSにおいて「簡単に記事をレイアウトしてアップできる」ことは可能だろうか。
簡単にレイアウトするためには、「自由度の高いエディター」と「編集者のレイアウトスキル」が不可欠である。

「自由度の高いエディター」に対する答え「Windows Live Writer 2011」

Joomla!には標準で「TinyMCE」が装備されている。
良く出来ているエディターではあるが、殆どビギナーのエンドユーザーにとっては敷居の高いものである。
エンドユーザーの平均的なスキルとモチベーションは、「WORD程度なら知ってるかも。。。しかも新たにソフトを学習するのはイヤ! 」といった程度であると言えるだろう。
このスキルとモチベーションに対応可能な編集環境とは何だろうか。
それは以前から何度か言っている「ブログエディタ」の利用だ。
という訳で、お勧めのブログエディタと言えば、「Windows Live Writer」。
最近、joomler.netさんの記事でWindows Live Writerが2011になったと知ったので、早速ダウンロード。
Windows Live WriterとJoomla!のコンビネーションはこちらのトピックを参考に!

「編集者のレイアウトスキル」に対する答え。

この命題に対する答えは、得られていない。
レイアウトやデザイン力といったものはそれだけで、長い期間をかけ学習して身につけるものだ。
しかしながら、「自由度の高いエディター」を手に入れたエンドユーザーはきっと気付くだろう。
自分に足りなかったのはレイアウト(デザイン)力だったのだと言うことに。そしてそのレイアウト力は容易には手に入らないことにも。

近々Joomla!1.6 Betaが出るかも知れないので、Joomla1.6.0Alpha2をダウンロードして、インストーラーやフロント、バックエンドの日本語言語ファイルの作成を始めている。

これがまた思ったより面倒だ。(全く変換作業など必要ないと思っていたので。。)

特に“データベース設定”の項では JText:: が使用されているものの、変数が言語ファイルで設定されていないため決め打ち状態だ。
念のためにNightly buildも試したが結果は同じ。

 

これでは英語圏以外の言語ファイルが整備されるのは、少々遅れるかも知れない。

、、と作業再開時に備えて自分に対して覚書。

image

実はこのサイトNucleusとJoomla!の二つのCMSから構成されている。
最近joomler.netさんのJC+を導入したことを期に、SUC部分をJoomla!化する作業を進めていたが、本日ようやくその作業が終わった。
ようやく、、と言ってもそれ程な作業では無かったが、何分手作業での移行作業だったので、ずるずると時間がかかってしまっていたのだ。

BLOG部分をJoomla!化するかと言えば、今の所は考えていない。BLOG部分は投稿数も多く、移行が大変だからだ。

SUC部分はブログ的な側面もあるが、書き物的カテゴリでもあるので、Joomla!とJC+の自由度の恩恵を十分に受けるだろう。
この記事も久々のWindows Live Writerからの快適投稿だ。