WEBO Site InSight-CMSの組み合わせ

WEBO Site InSight %ユーザー名、良い日/夜間/朝/他に何が起こるか:)非常にクールなニュースを急いでお知らせします:多くのCMSの拡張機能の開発がすぐに簡単になりました。 ロシア語の場合、Joomla!の拡張機能です。 WordPress、Bitrix、Drupal、またはwhat-else-you-on-site-isが使用されるようになりました。 そしてその逆。



しかし、それは本当であるにはあまりにもクールですよね? :)カットの下の詳細。



その後、たくさんの手紙がありますが、 ここからこの奇跡の拡張機能をダウンロードできます (サイズは約100 Kbです)。 プラットフォーム自体に加えて、クライアントとサーバーのダウンロード速度、メモリ消費量、空きディスク容量を測定するための4つのウィジェットが含まれています。 拡張機能はJoomla!でのみ使用できます。 およびWordPress( システム要件 )。



はじめに



すべてこの春から始まったRIFで、Web開発用のCMSに依存しないプラットフォームを作成し、拡張機能を簡単にエクスポート/インポートし、CMS用の高品質プラグインの数を大幅に増やす(高品質コードの再利用により)というアイデアが生まれました。 プロジェクトKatmandoo(別のコンペティションのファイナリスト-Russian Startup Challenge )は、これらすべてを提供することになっていますが、その実装はより良い時期まで延期されました。



このような素晴らしいアイデアのキャズムを防ぐために、私たちのチームは少し力を入れて、レイダウンされた機能の一部(これまでのところほんの一部)を実装しました。 データベースおよびシステムの最も使用される機能を操作するための一般的なAPIになりました。これに基づいて、かなり複雑な拡張機能を非常に簡単に作成できます。 これらすべてを実装するプラットフォームは、 WEBO Site InSightと呼ばれます。



WEBOサイトInSight



今何がありますか? 現時点では、製品のアルファ版であり、サポートされているすべてのシステムに任意の( 既存のAPIによって制限されている )機能を実装できます。 これらのシステムもあまり多くありません-これまでのところ、WordPressとJoomla!は2つしかありませんが、5から7の人気のある作品を扱うことは難しくありません。



製品は複数のAPIレベルで構成されています。拡張機能自体の内部で使用するシステムAPI、CMSのデータベースへのラッパーAPI、および最も標準的なCMSイベント(onStart / onBeforeEnd /など)に接続するAPIです。 APIは豊富ではありませんが、現在、調査中のシステムに関する非常に興味深いデータを収集して表示できます。 特に、プロセッサ時間の消費とクライアントのダウンロード速度。



はい、WEBO Site InSightのすべての拡張機能(ウィジェット)は、すべてのシステムに対して均一に記述されています(つまり、Joomla!およびWordPressのウィジェット自体のコードに違いはありません)。APIは、Wikiのここここで少し説明されています。ドキュメントを拡張および補足します。 これまでのところ、これはすべて作業アルファモードです。



プラグインの例



魂を傷つけないために、すぐに小さなウィジェットの完全な機能を提供するコードの例を示します。 ウィジェットには、サイトページの作成時に消費されるメモリ量が表示されます。

  <?php
クラスSiteInSightWidgetRAMUsage {
	 var $ friendlyName = 'RAM Usage';
	 var $ group = 1;
	関数SiteInSightWidgetRAMUsage(){}
	関数onActivate($ WSI){
		配列を返す(
			 'dataStructure' =>配列(
				 'ram' =>配列(
					 「タイプ」=>「int」、
					 'key' => true
				 )
			 )
		 );
	 }
	関数onView($ WSI){
		 $ data = $ WSI-> getWidgetData();
		 $平均= 0;
		 $合計= 0;
		 foreach($ data as $ k => $ v){
			 $平均+ = $ v ['ram'];
			 $合計++;
		 }
		 $平均/ =($合計?$合計:1);
		 $平均=ラウンド(100 * $平均/ 1024/1024)/ 100  'Mb';
		 return array( 'short' => $ average、 'detailed' => $ average);
	 }
	関数onBeforeEnd($ WSI、$コンテンツ){
		 $ WSI-> storeWidgetData(array( 'ram' => @memory_get_usage()));
		 $コンテンツを返します。
	 }
 } 


ウィジェットの機能:アクティブ化されると(onActivate)、データベースにテーブルを作成して値を収集します。 さらに、ページ処理の終了前(onBeforeEnd)は、現在のメモリ消費量を記録します。 管理者インターフェース(onView)は、収集されたデータを表示します(1日あたりのメモリ消費量の平均値まで)。



ウィジェットの本質は簡単ですが、コードはめちゃくちゃ小さいです。 より複雑な例では、API拡張が必要になる可能性が最も高いですが、現時点では、WEBO Site InSightの主な機能は現在のサイトに関する静的情報を収集することです。



イデオロギー



すでに上で述べたように、任意の関数はまだクロスプラットフォームでサポートされていません。 そして、そのような目標は設定されていませんでした。 サイトのパフォーマンス/品質を調査するための分析ツールのみを作成しました。 サイトからサイトへの転送は可能な限り簡単にすることができます。 そして、これは無料です。



はい、主なアイデアはフリーソフトウェアです。 すべてのプラットフォームコードと現在のウィジェットは、GPLv3ライセンスでリリースされています。 実際、どこでも使用できます(少なくとも、既にサポートされているWordPressとJoomla!で)。 プラットフォームに制限はなく、プラットフォームの使用も強制されません(強制されません)。



インターフェース



どうやら、プラットフォームの概念自体と将来のインターフェースについて長い間議論してきましたが、最終的には最終的な意見には至りませんでした。 機能のごく一部が実装されました(特に、収集された統計情報の詳細なグラフはありません。まずこれを追加します)が、すべて非常にきれいに見えます。



インストール後の製品の外観(アクティブ化の可能性がある4つの現在のウィジェット、ウィジェットは製品フォルダーから自動的にインストールされます)





すべてのウィジェットがインストールされた製品の外観(あまり多くの情報はありませんが、現在、さらに多くのデータが収集されており、ほんの少しの問題です-出力されるだけです)





また、現時点では、1つのブロック内のすべてのウィジェットを1つのステータス行に折りたたむことができます(将来、多数のウィジェットとグループ化ブロックが存在する可能性があるときに行われます)。





計画と提案



今、私たちは計画しています

  1. 同じ機能を備えた既知のすべてのシステム(Drupal 6、Bitrix、NetCat、CS-Cart、Magento)のサポートを追加します。
  2. Raphalに基づいてグラフ/追加情報の出力を追加すると、すべてがこのようなものになります

  3. ウィジェットの設定を追加します(たとえば、特定のデータを収集したり、サードパーティAPIのアクセス詳細を設定したりできます)。
  4. ウィジェットのインストールメカニズムを追加します(現時点では、フォルダーを手動でコピーするか、アセンブリに追加するだけです)。
  5. ローカリゼーション、およびその他の1000以上の機能。


この製品は完全にオープンソースです(GPLv3、および変更された場合でもOSI互換の分野のみです)。プラットフォームに基づいてウィジェットをオープンにテストおよび作成し、プラットフォーム自体を改良して人気の低いCMSに拡張するよう皆に招待します(ただし、毎日使用する可能性があります)。 サーバー(プラットフォームコア用)とクライアント(インターフェイス用)の両方のプログラマーが必要です。



はい、もちろん、ウェブ開発者のコ​​ミュニティからのあなたの意見とフィードバックは私たちにとって非常に重要です。



Google Codeのプロジェクトへのリンク: code.google.com/p/webo-site-insight

ドキュメントがあります: code.google.com/p/webo-site-insight/w/list

code.google.com/p/webo-site-insight/downloads/listをダウンロードします

ウィジェットcode.google.com/p/webo-site-insight/wiki/WEBOSiteInSightAPIの APIを含める

データベースAPI code.google.com/p/webo-site-insight/wiki/WEBOSiteInSightDBAPI



All Articles