哈囉~六月份我們應該會解決很多BUG。也會依照進度把任務完成。為了讓我們作業簡單好控制,所以我們把整合程式改成大家輪流拿KEY的方式。
雖然,這個會讓大家需要在改程式的時候註記你修改了哪些部分,才能方便整合,但是,我們本來就盡可能養成改程式要註記的習慣會比較好,所以這部分,在整合控制上,我個人覺得目前做的還不錯。
而我跟水晶也另外討論了一套關於怎麼釋出給DVT的流程
凡是在KM或是每週的check point看到BUG,我們都會解決都會改版這時候就要注意跟大家確認拿鑰匙,而改好了放上去的人,請順便釋出一版給DVT,這樣「DVT」跟「整合」才能版本同步,我們在回KM的時候,可以很方便的填寫我們將BUG解決在哪個版本裡。
PS.關於釋出怎麼作?
1.把Properties裡的AssemblyInfo.cs裡版本更改
2.在Frm_Main的「關於」頁籤內的版本號更新
3.編譯過後,把EXE包到QMI_DVT2010xxxx_nnnn.zip裡頭。
2010年6月1日 星期二
2010年5月31日 星期一
OS Clone 目前所定義的流程作法
由於OS的 Clone在Target端雖然可以進行Clone
但是,在一開始的GUI設計規劃之初,並沒有OS時光回溯的這個機制
所以在呈現上,需要不小得修改,才會跟後端機制相符合
在時間考量之下
我們目前先定義一套暫時性的可用方法規則:
1.OS的Clone一律會複製到尚未發佈的前一版,也就是已發佈的最新版
2.因此就是要求OS要經過發佈才能夠Clone
但是,在一開始的GUI設計規劃之初,並沒有OS時光回溯的這個機制
所以在呈現上,需要不小得修改,才會跟後端機制相符合
在時間考量之下
我們目前先定義一套暫時性的可用方法規則:
1.OS的Clone一律會複製到尚未發佈的前一版,也就是已發佈的最新版
2.因此就是要求OS要經過發佈才能夠Clone
2010年5月27日 星期四
2010年5月12日 星期三
UD跟OS的SIZE不可以變更
在Q2.2,我們將不再提供變更大小的功能
客戶如果原本配置的太小,就只有增加一顆新的UD一途
如果他一開始就配置了滿三顆,那只有刪除重建的方法了。
以上的規範,詢問於Ray與Jashing於2010.05.12^_^
客戶如果原本配置的太小,就只有增加一顆新的UD一途
如果他一開始就配置了滿三顆,那只有刪除重建的方法了。
以上的規範,詢問於Ray與Jashing於2010.05.12^_^
2010年4月23日 星期五
在AdvPc把ReadPcData()作了修改,之後要在AdvUser跟AdvOs也改進去,才能維持一致
2010年4月21日 星期三
進行Modify User或PC 時,UdAmount一律帶3(或UD允許最大個數)
不用再把UdAmount帶入Modify User()函式中
因為迴圈需要判斷到每個UD的數值變化
可以定義一個D允許最大個數的常數在PacketDefine中
因為迴圈需要判斷到每個UD的數值變化
可以定義一個D允許最大個數的常數在PacketDefine中
2010年4月19日 星期一
GUI 2.2的所有磁碟相關的Size之單位
為了讓使用者觀看方便,所以在GUI內部一律使用GB來存放資料與使用,對外則以MB來傳遞
但是為了封包與資料庫相容以及避免封包傳遞小數點的麻煩,以前所定義的單位都是MB,這會導致GUI在DataStore跟TargetClient這兩個模組都會需要進行單位與數值的轉換,當要傳給外部的時候,也就是呼叫TargetClient或是DataStore的函式的時候,傳入的參數,應該要是float的,單位是GB的Size,經過函式內部轉成MB之後,送給外部模組。而讀取DB的函式也要注意將MB的資料先轉成GB才能放到變數裡。
但是為了封包與資料庫相容以及避免封包傳遞小數點的麻煩,以前所定義的單位都是MB,這會導致GUI在DataStore跟TargetClient這兩個模組都會需要進行單位與數值的轉換,當要傳給外部的時候,也就是呼叫TargetClient或是DataStore的函式的時候,傳入的參數,應該要是float的,單位是GB的Size,經過函式內部轉成MB之後,送給外部模組。而讀取DB的函式也要注意將MB的資料先轉成GB才能放到變數裡。
2010年4月3日 星期六
2010年3月4日 星期四
User, PC(HBA), OS 所需要顯示的詳盡資料,應該包含哪些?
User資訊
是否停用
是否Online
User Name
User Group
Privilege身份權限是否可安裝OS
PC Name用哪一台電腦登入
Login Time登入時間
Logoug Time登出時間
Email
UD Size
UD 存於哪個Storage
PSD存於哪個Storage
專屬OS個數
PC(HBA)
Remember Account 記住前次使用帳號
OS Name
容量
分享模式
快取大小
描述
OS存於哪個Storage
回溯數(時光還原點、發佈)
專屬使用者
配給群組數
線上使用者數
是否停用
是否Online
User Name
User Group
Privilege身份權限是否可安裝OS
PC Name用哪一台電腦登入
Login Time登入時間
Logoug Time登出時間
UD Size
UD 存於哪個Storage
PSD存於哪個Storage
專屬OS個數
PC(HBA)
是否停用
是否Online
是否加入Domain
PC Name
屬於PC Group
Image Version
BIOS Version
IP
MAC
UD Size
UD 存於哪個Storage
PSD存於哪個Storage
誰在用這台電腦 User Name
Remember Account 記住前次使用帳號
OS
是否停用
OS Name
容量
分享模式
快取大小
描述
OS存於哪個Storage
回溯數(時光還原點、發佈)
專屬使用者
配給群組數
線上使用者數
2010年3月1日 星期一
如何判斷輸入的是否是中文或全型字-由Steve研發出來的
private bool checkPwdInfo(string pwd)
{
//System.Console.WriteLine(pwd);
if (pwd.Length > 0)
{
char[] str = pwd.ToCharArray();
for (int i = 0; i < str.Length; i++)
{
int asciiNum = Convert.ToInt32(str[i]);
System.Console.WriteLine((asciiNum.ToString()));
if (asciiNum == 32) return false; //空白
if (asciiNum > 128) return false;
}
}
return true;
}
{
//System.Console.WriteLine(pwd);
if (pwd.Length > 0)
{
char[] str = pwd.ToCharArray();
for (int i = 0; i < str.Length; i++)
{
int asciiNum = Convert.ToInt32(str[i]);
System.Console.WriteLine((asciiNum.ToString()));
if (asciiNum == 32) return false; //空白
if (asciiNum > 128) return false;
}
}
return true;
}
在GUI上關於PSD的建立邏輯討論
1. DB的Sanpshot table中,將LID與VerID兩者合設為一個Key,成為一個防護措施。
2. 精靈中,若再新增PG時加入的PC已經擁有HD,則在畫面出現提示Lable告知使用者若繼續,則該PC的HD將被刪除並套用現在新的設定。
3. 定義:刪、建PSD: Group底下所有的Pc(User),為他們建立(刪除)與此OS相關的PSD
4. 精靈中,OS的變化
A. 新建OS則會
建立新的 LUN、SS、VMDK
Call ProcessPsd_OsChangeGroup()
B. 選現有OS
Call ProcessPsd_OsChangeGroup()
C. 勾掉OS
Call ProcessPsd_OsChangeGroup()
5. 精靈中,PC的變化
A. 新建PG
HBA_GRP (new)
不加PC à不做事
加PC
HBA(update)
檢查有無指派UD(HD)
有則
LUN(new)
SS(new)
VMDK(new)
無à不做事
Call ProcessPsd_PcChangeGroup()
原有PC勾掉
HBA(update)
Call ProcessPsd_PcChangeGroup()
B. 現有PG
不加PC à不做事
加PC
HBA(update)
Call ProcessPsd_PcChangeGroup()
原有PC勾掉
HBA(update)
Call ProcessPsd_PcChangeGroup()
6. 建立兩個Function
A. ProcessPsd_PcChangeGroup(原有PC List [ ], 新PC List [ ], 原有OS List[ ])
{
若PC List中,原有的PC在新的List中沒有,
若原OS已發布則Call水晶的function砍PSD
若無則不做事
若PC List中,原沒有的PC在新的List中有,
若原OS已發布則Call水晶的function建PSD
若無則不做事
}
B. ProcessPsd_OsChangeGroup(原有OS List [ ], 新OS List [ ], 新PC List[ ])
{
如OS List中,原有OS在新的List中沒有,則:
砍GRP_LUN
檢查是否已發布
已發布,則砍PSD,PC Admin PSD
未發布,則不做事
如OS List中,原沒有OS,在新的List中有,則:
建GRP_LUN
檢查是否已發布
已發布,則建PSD,PC Admin PSD
未發布,則做事
Call水晶的function來建(砍)PSD
}
7. 在Pure by mac情況下(如精靈A),新建的PG必須與PBMGRP (User group)有關連,在Grp_relation table的PCSIDEOS要設為 true( 1 )
2010年2月25日 星期四
進階畫面-Adv- OS-等待補上的防呆與錯誤判斷-
Adv-OS之 OS新增
◆ 如果沒有輸入NAME、選Storage、設定Size...的防呆
◆ TabIndex的設定確認
◆ Storage沒有預設選擇把OS放在怎樣的(Raid ? )硬碟裡
◆ 關閉按鈕之實作
◆ 如果沒有輸入NAME、選Storage、設定Size...的防呆
◆ TabIndex的設定確認
◆ Storage沒有預設選擇把OS放在怎樣的(Raid ? )硬碟裡
◆ 關閉按鈕之實作
Adv-OS之 OS修改
◆TabIndex的設定確認
◆修改資料之後,DataGrid會跳回第一筆,試著停留在原本那一筆
◆ 關閉按鈕之實作
Adv-OS之 OS搜尋
◆TabIndex的設定確認
◆如果沒打勾,OK按鈕不能按,如果沒打勾,後面的選擇輸入要Disable
◆ 關閉按鈕之實作
◆ 關閉按鈕之實作
Adv-OS之 OS刪除
◆要連同SnapShot都刪除,所以要以迴圈丟封包請Target做,目前只有刪除Base
◆需要先進行條件判斷:
1.OS在DB是否存在
2.OS所使用的Storage是否存在,也是否狀態為下線
3.OS有無Online的使用者,有則不允許刪除
4.OS是否有屬於某個群組,有則提示
Adv-OS之共通需求
◆顯示的資訊當中,也要包含這個OS的快照的詳細資訊,快照的版本,以及快照的使用者清單
◆需要先進行條件判斷:
1.OS在DB是否存在
2.OS所使用的Storage是否存在,也是否狀態為下線
3.OS有無Online的使用者,有則不允許刪除
4.OS是否有屬於某個群組,有則提示
Adv-OS之共通需求
◆顯示的資訊當中,也要包含這個OS的快照的詳細資訊,快照的版本,以及快照的使用者清單
Adv-PC之 PC刪除
◆需要先進行條件判斷:
1.PC在DB是否存在
2.PC所使用的Storage是否存在,也是否狀態為下線
3.PC本身是否Online中或有無Online的使用者,有則不允許刪除
2010年2月24日 星期三
如何處理提示訊息的視窗?
如果訊息視窗以ShowDialog的強制回應方式,程式會停在這行,想要進行的程序只能在對話框被關掉之後才會作,這樣不行
如果訊息不以強制回應呈現,視窗可能被使用者其他視窗遮到,或是忽略不去按,會有一堆視窗殘存在畫面上
所以用MaskPanel的方式來做。
如果訊息不以強制回應呈現,視窗可能被使用者其他視窗遮到,或是忽略不去按,會有一堆視窗殘存在畫面上
所以用MaskPanel的方式來做。
2010年2月21日 星期日
關於Storage的移除、替換以及關於User與HBA會把UD跟PSD建立在哪個Storage上
User與HBA會把UD跟PSD建立在哪個Storage上這個屬性不可拿掉,因為ISNS會根據這個欄位來選取Target
而GUI在顯示畫面上,也會讓管理者設定與看到User或HBA的US跟PSD建立在哪個Storage上,之前已經設定過,則不可變更,之前沒設定過,則可以變更。
當管理者要移除Storage的話,會先檢查有無OS或UD或HD在其上,如果有,則提示有資料在,不給砍,但是也允許他強力砍,就是要求他輸入確認密碼,然後將其上所有的OS跟UD跟USER跟HD跟HBA都刪除,然後Storage清除掉。
而替換的話,則是
1.不用動到GUI,直接放上一顆新的Storage,建立一個新的.sys檔案,裡面填妥想替換的Storage的ID跟Name就可以把舊的拔除,上新的。
2.把上述的動作透過程式自動作掉,讓管理者從UI選擇要替換的Storage以及新的Storage,然後將.sys替換掉。這個替換或建立.sys檔案的動作,應該是由IO完成,試看看能否透過[ Add Storage ]指令來達成。
而GUI在顯示畫面上,也會讓管理者設定與看到User或HBA的US跟PSD建立在哪個Storage上,之前已經設定過,則不可變更,之前沒設定過,則可以變更。
當管理者要移除Storage的話,會先檢查有無OS或UD或HD在其上,如果有,則提示有資料在,不給砍,但是也允許他強力砍,就是要求他輸入確認密碼,然後將其上所有的OS跟UD跟USER跟HD跟HBA都刪除,然後Storage清除掉。
而替換的話,則是
1.不用動到GUI,直接放上一顆新的Storage,建立一個新的.sys檔案,裡面填妥想替換的Storage的ID跟Name就可以把舊的拔除,上新的。
2.把上述的動作透過程式自動作掉,讓管理者從UI選擇要替換的Storage以及新的Storage,然後將.sys替換掉。這個替換或建立.sys檔案的動作,應該是由IO完成,試看看能否透過[ Add Storage ]指令來達成。
2010年2月10日 星期三
精靈A訪客模式之建立資料流程補充PSD部分
當使用者或電腦換群組
需要考慮必須查他們的新群組的OS,以及舊的群組的OS
將他們舊的PSD(對照到舊的群組的OS)給砍掉,然後建立新的PSDD(對照到舊的群組的OS)
而上述所指的都是DB的LUN,而非vmdk檔案,而其中要思考如果舊的群組的OS跟新的群組的OS有重疊,則不要刪除那些PSD
所以在DataStore也要寫好對應的Function,讓外部呼叫
而如果OS從群組異動,比方從A群組移到B群組,則,A群組所有的USER或PC的「對應到此OS之PSD」要被清除,然後建立B群組所有USER或PC的「對應到此OS之PSD」
所以在DataStore也要寫好對應的Function,讓外部呼叫
需要考慮必須查他們的新群組的OS,以及舊的群組的OS
將他們舊的PSD(對照到舊的群組的OS)給砍掉,然後建立新的PSDD(對照到舊的群組的OS)
而上述所指的都是DB的LUN,而非vmdk檔案,而其中要思考如果舊的群組的OS跟新的群組的OS有重疊,則不要刪除那些PSD
所以在DataStore也要寫好對應的Function,讓外部呼叫
而如果OS從群組異動,比方從A群組移到B群組,則,A群組所有的USER或PC的「對應到此OS之PSD」要被清除,然後建立B群組所有USER或PC的「對應到此OS之PSD」
所以在DataStore也要寫好對應的Function,讓外部呼叫
2010年2月7日 星期日
一月份 For 測試之工作安排回顧
一月份 For 測試之工作安排回顧:
GU美工整合與精靈D調整。(Crystal)--------------------Crystal完成GUI美工整合,與部分精靈D之調整,David完成後續精靈D之調整。
封包MGC與TARGET與UI之定義(DAVID)----------------DAVID已完成定。
GUI撈資料庫、精靈操作過程記錄於DB(FOXY)----------------FOXY已完成精靈A
再者1/30之前
發佈SS的UI設計(Crystal)----------------Crystal即將完成
MGC的建立流程指令撰寫,包含發佈SS(FOXY)----------------FOXY寫在GUI端,發佈SS也請Crystal先寫在GU端
GUI送封包指令給MGC(DAVID)----------------FOXY寫在GUI端
2010年2月4日 星期四
麻煩DAVID幫忙進行思考,指令失敗要怎麼處理?
比方在精靈A當中
會Create Group,會把PC加到這個Group
也會建立UD
最後建立OS
過程當中,也會跟Target進行封包的溝通
那如果中間有封包失敗了,或是某SQL失敗了
我們要怎麼作?後續要不要進行,前面建立的資料要不要刪掉
會Create Group,會把PC加到這個Group
也會建立UD
最後建立OS
過程當中,也會跟Target進行封包的溝通
那如果中間有封包失敗了,或是某SQL失敗了
我們要怎麼作?後續要不要進行,前面建立的資料要不要刪掉
2010年1月24日 星期日
在精靈A,增加兩個用來確認是否要更改密碼的CheckBox
Step -4 當中,密碼的那個頁面
在精靈A,增加兩個用來確認是否要更改密碼的CheckBox
Pnl4_ChkBxMaintainPwd
Pnl4_ChkBxNormalPwd只會在STEP-1選擇了「使用現有電腦群組」這邊才會出現這兩個CheckBox
並且預設不勾選,而所有密碼的TextBox也預設為Disable
如果勾選了,才變成Enable
所以語言包裡面也要包含這兩個新的元件
訂閱:
文章 (Atom)