スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

 スポンサードリンク

  1. ブックマークに追加する
  1. ブログランキングFC2
  1. --/--/-- (--)|
  2. スポンサー広告

マネージャへのアクセス許可

MODxはユーザー※1ごとに各ドキュメントへのアクセスパーミション※2を設定できます。

※1:ここでのユーザーとは、管理画面へのアクセス権を持つユーザーを表します。MODxはその他に、管理画面にアクセスできないウェブユーザーがあります。
※2:管理画面から各ドキュメントへのアクセス権です。

アクセスパーミションは管理画面→ユーザー→マネージャへのアクセス許可で設定します。マネージャへのアクセス許可には次のタブがあります。

  • ユーザグループ
    ここで作成したユーザグループを各ユーザーに割り当てることによりユーザーにアクセスパーミションを設定します。
  • ドキュメントグループ
    ここで作成したドキュメントグループを各ドキュメントで選ぶことでドキュメントをドキュメントグループに結び付けます。
  • ユーザ/ドキュメントグループ リンク
    ドキュメントグループをユーザーグループへ割り当てます。

 スポンサードリンク

スポンサーサイト
  1. ブックマークに追加する
  1. ブログランキングFC2
  1. 2007/09/27 (木)|
  2. [MODx]MODx
  3. | トラックバック:0
  4. | コメント:0

「ユーザー」ユーザー作成の流れ

当記事では、MODxの管理画面(MODxマネージャー)にアクセスできるユーザーを単にユーザーと呼びます※1

※1:MODxにはその他にウェブユーザーがあります。

  • (1)ユーザー権限の作成(管理画面→ユーザー→権限管理)
    ユーザー権限はユーザーができる処理(ドキュメントの作成,更新,削除)などを規定します。
  • (2)ユーザー権限の割り当て(管理画面→ユーザー→権限管理)
    「権限管理」画面のユーザーの作成から新規のユーザーを作成します。作成したユーザーに対して(1)で作成したユーザー権限を割り当てます。

ユーザーにはユーザー権限に加えアクセスパーミッションを設定することができます。アクセスパーミッションでは個別ドキュメントへのアクセス権を表します。

  • (3)「マネージャへのアクセス許可」で規定したアクセスパーミッションを作成します。
  • (4)作成したアクセスパーミションをユーザーに割り当てます。

 スポンサードリンク

  1. ブックマークに追加する
  1. ブログランキングFC2
  1. テーマ:ホームページ・ブログ制作
  2. ジャンル:コンピュータ
  1. 2007/09/27 (木)|
  2. [MODx]MODx
  3. | トラックバック:0
  4. | コメント:0

ユーザー管理

MODxは大きく管理画面(MODxマネージャー)にアクセス可能な「ユーザー」ユーザーとアクセスできない「ウェブユーザー」ユーザーに分けることができます。

「ユーザー」ユーザー
管理画面(MODxマネージャー)にアクセス可能なユーザーです。
「ウェブユーザー」ユーザー
管理画面(MODxマネージャー)にアクセスできないユーザーです。

 スポンサードリンク

  1. ブックマークに追加する
  1. ブログランキングFC2
  1. 2007/09/27 (木)|
  2. [MODx]MODx
  3. | トラックバック:0
  4. | コメント:0

スニペットの引数

スニペットコールの引数はスニペット内で同名の変数として利用できる。

 スポンサードリンク

  1. ブックマークに追加する
  1. ブログランキングFC2
  1. 2007/09/24 (月)|
  2. [MODx]インストール
  3. | トラックバック:0
  4. | コメント:0

デフォルトテンプレートの変更

「全てのドキュメントが既定のテンプレートを使用するようにリセットする」オプションを選択して、デフォルトテンプレートを変更したところレイアウトが崩れ、Javascriptのエラーが発生するようになりました。

DBを復元して対処しました。バックアップの重要性を感じる出来事でした。

 スポンサードリンク

  1. ブックマークに追加する
  1. ブログランキングFC2
  1. 2007/09/23 (日)|
  2. [MODx]トラブル
  3. | トラックバック:0
  4. | コメント:0

スニペットを使うときのケアレスミス

はじめてスニペットを使いましたが、ページの設定でキャッシュ可をオフにするのを忘れるました。今後のための備忘録として記しておきます。

 スポンサードリンク

  1. ブックマークに追加する
  1. ブログランキングFC2
  1. 2007/09/19 (水)|
  2. [MODx]トラブル
  3. | トラックバック:0
  4. | コメント:0

エクスポートができない

MODxではドキュメントを静的ページとしてエクスポートする機能がありあす([ツール] → [サイトのエクスポート] -MODx 0.9.6-)。私の環境ではうまくエクスポートができませんでした。

Warning: fopen(): SAFE MODE Restriction in effect. The script whose uid is *** is not allowed to access /***/assets/export/templates owned by uid ** in /***/manager/actions/export_site.static.php on line 126

Warning: fopen(ファイルパス): failed to open stream:文字化け in /***/manager/actions/export_site.static.php on line 126

失敗! Cannot open file (ファイルパス)

下記のサイトを参考にさせていただき、色々と試しましたが、思うようにいきませんでした。とりあえずの対処法の備忘録です。

»LULU-LOG_T るるろぐ てくにかる。: MODxでサイトのエクスポートに失敗する
»MAMPでMODxのエクスポートが失敗する

エクスポートした際の現象 ⇒ フォルダは作成される(755)。ファイルは作成されない。

対処 ⇒ ローカルでファイルを作成 → アップロード

 スポンサードリンク

  1. ブックマークに追加する
  1. ブログランキングFC2
  1. 2007/09/17 (月)|
  2. [MODx]トラブル
  3. | トラックバック:0
  4. | コメント:0

MODxのインストール -PART2- インストール後の処理

MODxをインストールした後の処理の備忘録です。

  • installディレクトリを削除
  • config.inc.phpのパーミションを644へ
  • MODx管理画面の日本語化
  • PHPのregister_globalsをオフ

MODx管理画面の日本語化

MODx管理画面の日本語化は下記のサイトでとても分かり易く解説がされています。
»1km.info | MODxのインストール

PHPのregister_globalsをオフ

PHPのregister_globalsをオフにするには通常次の方法があります。

  • htaccessファイルで設定
  • php.iniで設定

今回はhtaccessに設定しました。解凍したディレクトリにあるht.accessを開き#php_flag register_globals Offの先頭にある#を削除します。ht.accessをアップロードしてリネイムします。

PART1 ダウンロードからインストールまでへ

参考サイト
»1km.info | MODxのインストール

 スポンサードリンク

  1. ブックマークに追加する
  1. ブログランキングFC2
  1. 2007/09/16 (日)|
  2. [MODx]インストール
  3. | トラックバック:0
  4. | コメント:0

MODxのインストール -PART1- ダウンロードからインストール

MODxはオープンソースのCMSです。本記事はMODxをインストールした経験を備忘録としてまとめています。

»MODx Content Management System | Home

ダウンロードからインストールまで

MODxのインストールは下記のサイトでとても分かり易く解説がされています。
»1km.info | MODxのインストール

サイトに書かれている通り進みインストールが完了しました。その際に個人的に躓いた点等をまとめます。

空のZIPファイル

セキュリティソフトの関係で空のZIPファイルがダウンロードされました。セキュリティソフトをオフにすることで正常にダウンロードできました(Norton Internet Security 2006)。

config.inc.php

パーミッションは1km.infoに詳しく書かれておりその通り設定すればインストールできます。個人的には単純なケアレスミスですがconfig.inc.phpを作成するのを忘れ少し悩みました。

アップロードしたmanager/includes/config.inc.php.blankをconfig.inc.phpにリネームしてパーミションを777へ

テーブルのprefixのバグ

`modx_`というprefixは使用していませんが、下記のようなエラーが発生して先へ進めませんでした。

Checking table prefix `modx_`: Failed! - Table prefix is already in use in this database!

下記のサイトを参考に対処しました。
»0.9.6 install error: Checking table prefix `modx_`: Failed! - Table prefix is al

要点はinstall/action.summary.phpの152行目にある条件分の==を=へ修正します。下記は上記のサイトから引用しています。

ok, I've found the reason for the error: In the file "install/action.summary.php" is a bug:

Line 152

if (@ $rs == mysql_query("SELECT COUNT(*) FROM $dbase.`" . $table_prefix . "site_content`")) {

should be

if (@ $rs = mysql_query("SELECT COUNT(*) FROM $dbase.`" . $table_prefix . "site_content`")) {

PS: The CMS runs with mySQL 3.23.58, too.

以上がインストールまでで躓いた点です。

PART2 インストール後の処理へ

参考サイト
»MODx Content Management System | Home
»1km.info | MODxのインストール
»0.9.6 install error: Checking table prefix `modx_`: Failed! - Table prefix is al

 スポンサードリンク

  1. ブックマークに追加する
  1. ブログランキングFC2
  1. 2007/09/16 (日)|
  2. [MODx]インストール
  3. | トラックバック:0
  4. | コメント:0

Ajax Simple Report Bar -PART5-

report.jsはサーバ側プログラムとの通信、および結果表示を担うJavascriptプログラムです。本記事ではreport.jsを詳細に見ていきます。

function linkReport(r,i)
{
var r = r; // r 報告->1,ロード->0
var i = i; // 識別番号
//var i = (i ? i : $F('i'));
var url = 'report.php';
var pars = 'r=' + r + '&i=' + i;
var myAjax = new Ajax.Request(
url,
{
method: 'get',
parameters: pars,
onLoading : function(req)
{
var m = 'Waiting...';
$('d').innerHTML = m
},
onSuccess: successReport,
onFailure: function(req)
{
var m = 'Sorry...';
$('d').innerHTML = m;
}
});

}

function successReport(req)
{
// JSONデータ受取
var jsontext = req.responseText;
// JSON -> Javascriptオブジェクト
var result = eval('(' + jsontext + ')');
// 報告ボタン切替
var ip_check = result['ip_check'];
if(ip_check)
{
$('r').style.display ='none';
$('nr').style.display='inline';
}
else {
$('r').style.display ='inline';
$('nr').style.display='none';
}
// 報告数設定
if(result['total_report'] != '0')
{
$('d').innerHTML = result['total_report'];
$('d').style.backgroundColor = '#C9D787';
// グラフの幅
var bar = result['total_report'];
bar *= 2;
// グラフ幅設定
$('d').style.width = bar + 'px';
}
else
{
$('d').innerHTML = '報告はありません。';
$('d').style.backgroundColor = '#FFFFFF';
}
}

window.onload = function()
{
linkReport(0,$('i').value);
}

function execReport()
{
linkReport(1,$('i').value);
}

linkReport関数

report.jsのメイン関数です。サーバ側プログラムとの通信、および結果表示を担います。第1引数はロードか報告かの判定フラグ、第2引数で識別番号です。

  • index.htmlがロード・・・window.onload → linkReport(0,識別番号)で呼び出されます。
  • 報告ボタンがクリック・・・execReport → linkReport(1,識別番号)で呼び出されます。

識別番号は$('i').valueで取得します。$('ID名')はprototype.jsによりID名のついたHTML要素を参照します。

 スポンサードリンク

  1. ブックマークに追加する
  1. ブログランキングFC2
  1. 2007/09/15 (土)|
  2. [カスタムプログラム]Ajax Simple Report Bar
  3. | トラックバック:0
  4. | コメント:0

Ajax Simple Report Bar -PART4-

Ajax Simple Report Barのindex.phpを詳しく解説しています。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="content-script-type" content="text/javascript" />
<title>Ajax Report Bar</title>
<link rel="stylesheet" href="css/report.css" type="text/css" media="all" />
<script language="JavaScript" type="Text/JavaScript" src="prototype.js" charset="utf-8"></script>
<script language="JavaScript" type="Text/JavaScript" src="report.js" charset="utf-8"></script>
</head>
<body>
<h1>Ajax Simple Report Bar</h1>
<p>報告ボタンをクリックすると報告数が棒グラフとして表示されます。IPを使い重複チェックをしています。</p>
<form>
<input type="hidden" name="i" id="i" value="数字" /><!-- [1] -->
<input type="image" src="images/report.gif" id="r" onclick="execReport();" /><!-- [2] -->
<img src="images/reported.gif" id="nr" /><!-- [3] -->
</form>
<p id="d" ></p><!-- [4] -->
</body>
</html>
  • [1]・・・報告プログラムの識別番号です。DBの主キーの値になります。
  • [2]・・・未報告の際に表示される画像ボタンです。クリックすると報告数を1増やす一連の処理を行います。
  • [3]・・・報告済の際に表示される画像です。
  • [4]・・・報告数とグラフを表示します。グラフはp要素にCSSで背景色(background-color),幅(width)を設定して実現します。
  •  スポンサードリンク

    1. ブックマークに追加する
    1. ブログランキングFC2
    1. 2007/09/15 (土)|
    2. [カスタムプログラム]Ajax Simple Report Bar
    3. | トラックバック:0
    4. | コメント:0

    Track Word

    Track Wordは参照元のキーワードを集計するサービスです。登録が簡単で、デザインもとてもシンプルなため使い勝手がよいサービスです。

    »Track Word

     スポンサードリンク

    1. ブックマークに追加する
    1. ブログランキングFC2
    1. テーマ:ブログパーツ
    2. ジャンル:コンピュータ
    1. 2007/09/14 (金)|
    2. [cubelabo]cubelabo
    3. | トラックバック:0
    4. | コメント:0

    Ajax Simple Report Bar -PART3-

    PART1,2に続き本記事ではAjax Simple Report Barの詳しい動作をまとめています。

    »Ajax Simple Report Bar

    動作1(IPチェックなし)

    HTMLファイルをロードした際の動き
    • 初回・・・ DBレコード(基本情報)追加 ⇒ 報告数(0)の取得 ⇒ 報告数(0)をグラフ表示
    • 2回目以降・・・ 報告数の取得 ⇒ 報告数をグラフ表示
    報告ボタンを押した際の動き
    既存の報告数を1増やす(DB登録) ⇒ 報告数の取得 ⇒ 報告数をグラフ表示

    動作(IPチェックあり)

    報告済みの判定はIPアドレスで行います。

    HTMLファイルをロードした際の動き
    • 初回・・・ 初回・・・ DBレコード(基本情報)追加 ⇒ 報告数(0)の取得 ⇒ 報告数(0)をグラフ表示
    • 2回目以降
      • 未報告・・・報告数の取得 ⇒ 報告ボタン,報告グラフを表示
      • 報告済・・・報告数の取得 ⇒ 報告済画像※1,報告グラフを表示
    報告ボタンを押した際の動き
    既存の報告数を1増やす(DB登録) ⇒ 報告数の取得 ⇒ 報告済画像※1,報告グラフを表示

    ※1既に報告済みのIPの場合は、報告ボタンに変えて報告済み画像を表示することで重複報告を防止します。

     スポンサードリンク

    1. ブックマークに追加する
    1. ブログランキングFC2
    1. 2007/09/14 (金)|
    2. [カスタムプログラム]Ajax Simple Report Bar
    3. | トラックバック:0
    4. | コメント:0

    Ajax Simple Report Bar -PART2-

    Ajax Simple Report BarはAjaxを利用したシンプルな報告システムです。PART1はAjax Simple Report Barの概要を書きましたが、PART2ではファイル構成をまとめています。

    »Ajax Simple Report Bar

    ファイル構成

    Ajax Simple Report Barは大きくわけるとカスタムファイルと配布されているライブラリを利用します。

    カスタムファイル

    ファイル名形式備考
    index.htmlHTMLファイル報告送信フォーム
    report.jsJavascriptファイルAjax(通信,表示)
    report.phpPHPファイルサーバ側DB処理
    css/report.cssスタイルシートスタイルシート
    images/report.gif画像ファイル報告ボタン画像
    reported.gif画像ファイル報告画像

    ライブラリ

    ファイル名機能備考
    prototype.jsJavascriptファイルAjaxライブラリ
    JSON.phpPHP PEARライブラリJSON用ライブラリ※1

    JSONをPHPで利用するを参考にしてください。

    関連記事
    »Ajax Simple Report Bar -PART1-
    »Ajax Simple Report Bar -PART2-
    »Ajax Simple Report Bar -PART3-

     スポンサードリンク

    1. ブックマークに追加する
    1. ブログランキングFC2
    1. 2007/09/13 (木)|
    2. [カスタムプログラム]Ajax Simple Report Bar
    3. | トラックバック:0
    4. | コメント:0

    JSONをPHPで利用する

    JSONはデータ記述言語です。Javascriptのオブジェクト・リテラルと同じフォーマットなのでJavascriptでの処理がシンプルに行えます。

    PHPでJSONを利用する方法はいくつかありますが、PEARライブラリとして配布されているServices_JSONをご紹介します。
    »Services_JSON

    Services_JSON

    Services_JSONは、他のライブラリと依存関係がなく独立して利用できます。JSON.phpをPHPファイルから呼び出せば利用できます。

    参考記事
    »Do You PHP? - PHPでJSON
    »ITmedia エンタープライズ:Ajaxの真価はWebサービス連携にあり (1/4)

     スポンサードリンク

    1. ブックマークに追加する
    1. ブログランキングFC2
    1. 2007/09/13 (木)|
    2. [PHP]PEAR
    3. | トラックバック:0
    4. | コメント:0

    Ajax Simple Report Bar -PART1-

    Ajaxを身に付ける目的でシンプルな報告システム(Ajax Simple Report Bar)を作成していこうと思います。本カテゴリーAjax Simple Report Barは作成過程を健忘録としてまとめています。

    »Ajax Simple Report Bar

    Ajax Simple Report Bar

    報告ボタンがクリックされるとページ遷移をせずにリアルタイムで棒グラフの値,数値が増加します。重複防止をIPをもとにチェックします。

    (ダミーです)

    10

    関連記事
    »Ajax Simple Report Bar -PART1-
    »Ajax Simple Report Bar -PART2-
    »Ajax Simple Report Bar -PART3-

     スポンサードリンク

    1. ブックマークに追加する
    1. ブログランキングFC2
    1. 2007/09/12 (水)|
    2. [カスタムプログラム]Ajax Simple Report Bar
    3. | トラックバック:0
    4. | コメント:0

    RSS作成サービス 【無料】

    RSSは便利なサービスですが,RSSに対応していないサイトも多くあります。RSS未対応のサイトからRSSを自動作成するサービスをご紹介します。

    どちらもRSSを作成したいサイトのアドレスを入力するだけのとても分かりやすいシンプルな機能です。

     スポンサードリンク

    1. ブックマークに追加する
    1. ブログランキングFC2
    1. 2007/09/06 (木)|
    2. [cubelabo]cubelabo
    3. | トラックバック:0
    4. | コメント:0

    Ajaxを用いた星評価システム Unobtrusive AJAX Star Rating Bar

    Ajaxを用いた星型評価システムをご紹介します。このスクリプトはMySQLを利用します。
    »Unobtrusive AJAX Star Rating Bar
    ajaxstarrater_v122.zip

    詳しい設置方法は下記のサイトでとても詳しく解説されています。
    »Ajaxによる投票をやってみる - MovableType備忘録

    本ブログはWordPressの個別記事(シングルポスト:single.php)にUnobtrusive AJAX Star Rating Barを設置する方法をご紹介します。

    ダウンロードしたスクリプトを解凍。DB設定など必要な変更を行い、WordPressテーマディレクトリ※1へアップロード。

    ※1:thema/○○○ → ○○○は個別のテーマディレクトリ。

    WordPressの各記事(single.php)に投票コードを挿入しましたが、正常に動作しないためrating.jsファイルの65行目付近を変更。

    xmlhttp.open('get', 'rpc.php?j='+vote+'&q='+id_num+'&t='+ip_num+'&c='+units);
    rpc.php?・・・ ⇒ /○○○/rpc.php?・・・※1

    ※1:/○○○/rpc.phpはルート(/)からの絶対パス指定へ

     スポンサードリンク

    1. ブックマークに追加する
    1. ブログランキングFC2
    1. テーマ:web制作
    2. ジャンル:コンピュータ
    1. 2007/09/04 (火)|
    2. [Javascript]ライブラリ
    3. | トラックバック:0
    4. | コメント:0

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。