首頁‎ > ‎電子期刊‎ > ‎2008年10月號‎ > ‎

設定ischool plugin

在本文中我們介紹ischool plugin專案的設定方式,讀者可以參考以下兩篇文章對於ischool plugin有基本的介紹,本文著重於操作上的細節介紹:



ischool 下載及登入說明

首先我們需要有ischool系統,並確認能登入ischool中,這部份讀者可以參考下面的文章;此部份因不只plugin開發者適用,一般使用者也可參考,故筆者獨立成一篇文章。

 ischool plugin 開發環境

開發ischool plugin所使用的環境如下:

  • 作業系統:Windows XP或是Windows Vista
  • 開發環境:Visual Studio 2005
  • 程式語言:C#

在作業系統方面相信讀者都有安裝,但在Visual Studio 2005方面可能不是每位讀者都有,可以使用免費的Visual C# 2005 Express Edition:

另外也可以參考Visual Studio Express系列:

 建立Visual Studio專案

步驟一:選擇建立新專案選單

步驟二:選擇及輸入專案資訊



步驟三:專案畫面




引用元件

步驟一:選擇Add Reference...




步驟二:加入引用元件

  • 在加入引用元件的部份,特別注意路徑是在ischool的kernel目錄下,以筆者而言的目錄為C:\Users\ChangKH\Desktop\iSchool\kernel。
  • SmartSchool.Customization.Plugin.dll及SmartSchool.Customization.Data.dll為開發plugin所必須的元件,其它元件可視專案需求加入。

步驟三:確認加入元件

 

步驟四:將元件Copy Local的屬性設為False

此步驟為選擇性的,建議讀者將Copy Local設為False,不會將元件複製到專案目錄下內,可節省Plugin的檔案大小。



程式碼

我們將原本的專案程式碼改為以下,讀者可看註解來瞭解意義。

 
using System;
using
System.Collections.Generic;
using
System.Text;
 
//引用ischool plugin參考
using SmartSchool.Customization.Data.StudentExtension;
using SmartSchool.Customization.Data;
using SmartSchool.Customization.PlugIn;
 
 
namespace iSchoolPlugin
{
 
//plugin的類別及主要方法要是Static Class及Static Method。
public static class Class1
{
 
//加入MainMethod的標籤,讓ischool核心程式確認為plugin的進入點。
[MainMethod()]
public static void Main()
{
//新增PluginButton物件,ButtonAdapter為Plugin所提供之類別,用來描述實際Plugin資訊。
ButtonAdapter PluginButton = new ButtonAdapter();
 
//設定報表路徑
PluginButton.Path = "自訂報表";
 
//設定報表名稱
PluginButton.Text = "學生成績證明單";
 
//加入報表實際執行的事件
PluginButton.OnClick += new EventHandler(PluginButton_OnClick);
 
//將PluginButton物件加入到學生報表當中
SmartSchool.Customization.PlugIn.Report.StudentReport.AddReport(PluginButton);
}
 
static void PluginButton_OnClick(object sender, EventArgs e)
{
//於此處加入plugin的主要程式碼
}
}
}

 專案設定

 步驟一:選擇專案屬性



步驟二:設定plugin產生至ischool的Customize目錄下



步驟三:設定ischool.exe開始執行程式



步驟四:登入ischool,確認載入plugin


小結

在本文中以圖文並茂的方式介紹ischool的plugin設定方式,是相當基礎的介紹,希望帶給plugin的開發者感受是“無痛入門“;若有不清楚的細節皆可來信詢問,在後續的文章就會直接分享更深入的plugin範例。

Comments