Difference between revisions of "開発者エリア/Maharaアーキテクチャインストラクション/コアサブシステム"

From Mahara Wiki

< 開発者エリア/Maharaアーキテクチャインストラクション
Line 21: Line 21:
Maharaはcronを内部に実装しています。このことに関する主な理由は、絶えずcronジョブのセットアップおよび編集する必要性をなくすことにあります。内部的にcronが実装されているため、新しいプラグインでは、Maharaで実行したい適切な時間に動作するcronジョブを登録することができます (注意: you still need one cron job set up to trigger Mahara's internal cron, but you set it up when setting up Mahara and then forget about it)。
Maharaはcronを内部に実装しています。このことに関する主な理由は、絶えずcronジョブのセットアップおよび編集する必要性をなくすことにあります。内部的にcronが実装されているため、新しいプラグインでは、Maharaで実行したい適切な時間に動作するcronジョブを登録することができます (注意: それでも、あなたはMaharaの内部cronを動作させるためにサーバのcronジョブを設定する必要があります。もちろん、Mahara用にcronジョブを設定した後は、このことは忘れてください)。
</div><div id="section_4">
</div><div id="section_4">

Revision as of 03:21, 28 January 2013

作成中です - mits




データベースレイヤ: ADODB/XMLDB

Maharaはデータベース抽出に関して、ADODBを使用することでMySQLおよびPostgreSQLの両者をサポートします。また、XMLDBを使用してスキーマ処理およびアップグレードをサポートしています。Maharaではシンプルな処理を簡単に実行できるよう、ADODBのトップにライブラリを持っています - レコードの取得、行の追加および削除等です。しかし、Maharaの多くの場所で必要なデータを取得するために生のSQLが使用されています。

Mahraのデータベースは外部キー (foreign key) を持ちます。また、PostgreSQLの場合、さらに整合性に関する機能があります。


Maharaはcronを内部に実装しています。このことに関する主な理由は、絶えずcronジョブのセットアップおよび編集する必要性をなくすことにあります。内部的にcronが実装されているため、新しいプラグインでは、Maharaで実行したい適切な時間に動作するcronジョブを登録することができます (注意: それでも、あなたはMaharaの内部cronを動作させるためにサーバのcronジョブを設定する必要があります。もちろん、Mahara用にcronジョブを設定した後は、このことは忘れてください)。


Being a PHP5 application, Mahara provides and uses exceptions for much of the error handling. Mahara also provides excellent logging facilities (to apache error logs) that give detailed error messages and backtraces when a problem occurs. Mahara also catches uncaught exceptions and displays generic "an error occured" pages, that don't give away any information to potential hackers about what went wrong.

フォーラムビルディング: Pieforms

Mahara bundles the Pieforms form building library. It provides a very simple way to generate and process forms. It takes away the hard work of writing HTML and even much of the tedious validation work. It also handles session key checking for you, so you'll never generate a form vulnerable to XSS unless your try really hard to work around it. And if necessary, it provides the capability to lay out a form with widgets anywhere you choose - though most of the time you'll be happy enough with the forms generated by default.

HTMLフィルタリング: HTMLPurifier

In plenty of places in Mahara, user content is displayed. We bundle HTMLPurifier and provide wrapper functions for it, so you never have to worry about users inserting malicious tags. This filter is so good, we've previously had people complain that they can't embed anything at all! Mahara now ships with filters for allowing embedded code from select websites that most people trust, such as Youtube and Slideshare, and the filters are naturally pluggable.

テンプレーティング: Dwoo

Mahara uses Dwoo for its templating needs since Mahara 1.2, and previous to 1.2 used Smarty. PHP developers familiar with Smarty's abilities will find Dwoo quite similar, and we use it extensively throughout Mahara.

前へ: コアコンポーネント