10年程前からWEB界で使われ始めたCMS。(コンテンツマネージメントシステム)

様々なCMSが生まれては消えていきました。

以前は業態やサイトのニーズに応じてCMSの種類も多く乱立し、私もその昔CMSに関する本なども書きましたが、現在ではWordPress一人勝ちの様相です。

 アマゾンのWordPress関連本

結局CMS本体の機能を専門化し個性を出すのではなく、モジュールやプラグインにより機能追加を行う方が簡単なためでもあります。

私の利用しているJoomla!やWordPressはエクステンションやプラグインの数が多くサイトの様々なニーズに対応可能です。

それでは時代に追いつかなくなったCMSはどうしましょうか?

migration(移行、移転)です。

今までの主なmigration方法は、

  1. 『専用エクステンションの利用』
  2. 『データベースの記事の移植』
  3. 『手作業による記事の移し替え』

あたりでした。

1の方法で上手くいけば有難いのですが実際には多くの場合、2、3の併用となります。

今回見つけたサイトはその名も『CMS2CMS』

何と素敵な名前でしょう。

全てが上手くいきそうです。

トップページは極めてシンプルです。

 

Fromを押すと懐かしいCMSの数々。

 

Toを押すと現在主流のCMS。

残念ながらこちらのFromとToボタンはSee what you can migrateへつながるデモンストレーション。

 

こちらがStart Free Demoを押したmigrationのお試し画面。

どのCMSからどのCMSへmigrationするか設定。

お試しなので、このあとmigrationされた記事が表示される。こんな感じでできますよ、って感じ。

 

実際の料金見積もり画面。https://cms2cms.com/pricing/

試しにNucleusからWordPressへ250ページ、10ユーザー、100コメントのmigration料金を出してみました。

うんっ。十分満足できる値段です。

 

 

 

と、言うことで色々調べていると、ドンピシャな情報が以下のサイトで見つかった。

プログラミング専門のQ&Aサイトteratailプログラマのための技術情報共有サービスのQiitaにも有用な情報がアップされている。

しかしながら、どうも、上手くいかない。。

仕方なく“Real-Time Find and Replace”というシンプルかつ強力なプラグインに頼ることにした。

要はページ内のhttp://https://に置換してしまう簡単方法だ。

ちょっと外部のリンクに対しては心配だが、正しい設定が見つかるまで、こいつの力を借りよう。

 

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じゃんかっ!!  終った。。。

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

 

ちょっとメモ書き。

phpBBのアップデートが必要になって、3.0.5を3.0.11にアップデート。

アップデートのインストールパッケージをダウンロードしてアップロードを始めたが、データベースチェックの段階で、『データベースの種類 :: mysql4』と出て、エラーでストップ。。

おぃおぃ、また一日がつぶれるのかと思ってしまった。

多分以前にMySQLのDBを4から5にバージョンアップしたが、phpBBの3.0.5から3.0.11のアップデータではMySQL4から5への移行が考慮されていないか?

良く分からないが、installディレクトリ内にdatabase_update.phpがあったので、MySQL4の判断してそうなところを評価しないように無理やり変更。

以下のメッセージが出たが、『この失敗はおそらく心配するほどのことではありません。アップデートはうまくいくでしょう。』とのことなので、そのまま続行。

差分ファイルの確認の後、phpBBはめでたく3.0.11になりました。はず。。

 

データベースを最新安定版に更新しています

 データベースの種類 :: mysql4

アップデート前のバージョン :: 3.0.5
アップデート後のバージョン :: 3.0.11

データベーススキーマを更新中

 進行状況 :: . . . . . . . . . . . . . . . . . . . . . . . 完了

結果 :: クエリの実行に失敗しました。下に表示されているのは実行しようとしたクエリとそのエラーです。

  • エラー :: BLOB/TEXT column 'post_username' used in key specification without a key length
    SQL :: ALTER TABLE phpbb_posts ADD INDEX post_username(post_username)

この失敗はおそらく心配するほどのことではありません。アップデートはうまくいくでしょう。この失敗に関して理解したいなら公式サポートフォーラムで質問してかまいません。公式サポートフォーラムでアドバイスを得る方法に関しては README をご覧ください。

データを更新中

 進行状況 :: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 完了

結果 :: エラーなし

バージョンの更新とデータベースの最適化中

 進行状況 :: . . 完了

結果 :: エラーなし

 アップデートが完了しました

 データベースアップデートに成功しました。次のアップデートプロセスへ移行してください。


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!のYouTubeGalleryをインストールして使う機会があった。
有料ではあるがシンプルなエクステンションは良いが、書き出す動画のキャプションに<div style="width:600px;text-align:center;">と<h3>、<h4>決め打ちされているので、ソースから以下の部分を変更。

前にも一度行ったが、忘れていたので、もう二度とないかもしれないが覚書。

/components/com_youtubegallery/includes/render.php

36行目あたり、

$result.=<div style="width:.$width.px;text-align:center;.$cssarray[cssstyle].">;

その他80行目までの適当な場所を変更。

Subcategories