ﻰﻧﺎﺜﻟا ﻞﺼﻔﻟا: مﺪﺨﺘﺴﻤﻟا ﻊﻣ ﺔﯿﻟﺎﻌﻟا ﮫﯿﻠﻋﺎﻔﺘﻟا و ﺐﯾﻮﻟا ءاﺰﺟأ - Web Parts, and rich user interface
ﻰﻧﺎﺜﻟا ﻞﺼﻔﻟا: مﺪﺨﺘﺴﻤﻟا ﻊﻣ ﺔﯿﻟﺎﻌﻟا ﮫﯿﻠﻋﺎﻔﺘﻟا و ﺐﯾﻮﻟا ءاﺰﺟأ - Web Parts, and rich user interface
Web Parts, and rich user interface
١ -٣
ﻓﻰ ھﺬا اﻟﻔﺼﻞ ﺳﻮف ﻧﺮى ﻣﻨﻄﻖ ﺟﺪﯾﺪ ﯾﺴﮭﻞ و ﯾﻮﻓﺮ ﻋﻠﻰ اﻟﻤﻄﻮر اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﻮﻗﺖ ﻟﻌﻤﻞ ﺷﺊ ﻣﺸﺎﺑﮫ ،و ﻟﺘﻮﺿﯿﺢ ﻓﻜﺮة
أﺟﺰاء اﻟﻮﯾﺐ ،ﻛﻞ ﻣﺎ ﻋﻠﯿﻚ ھﻮ اﻟﺪﺧﻮل ﻋﻠﻰ ﻣﻮﻗﻊ http://www.msn.comو ﺗﻘﻮم ﺑﻌﻤﻞ Sign inو ﺑﻌﺪ ذﻟﻚ ﺳﻮف
ﺗﺠﺪ أﻧﮫ ﻣﻦ اﻟﻤﻤﻜﻦ ﺗﺤﺮﯾﻚ ﻣﻜﻮﻧﺎت اﻟﺼﻔﺤﺔ و ﺗﻌﺪﯾﻠﮭﺎ ﻛﻤﺎ ﺗﺮﯾﺪ و ﺳﻮف ﺗﻼﺣﻆ أﻧﮫ ﯾﻤﻜﻨﻚ ﺗﻐﯿﯿﺮ و ﺗﻌﺪﯾﻞ ﻛﻞ ﺷﺊ و ﻛﻤﺎ
ﻧﻼﺣﻆ ﻓﻰ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻰ أﻧﮫ ﯾﻤﻜﻨﻚ ﻧﻘﻞ اﻟﻤﻜﻮﻧﺎت ﻣﻦ ﻣﻜﺎن اﻟﻰ أﺧﺮ ﺑﺎﻷﺿﺎﻓﺔ اﻟﻰ أﻣﻜﺎﻧﯿﺔ ﺗﻐﯿﯿﺮ اﻷﻟﻮان.
اﻟﺸﻜﻞ 1
ﻓﻰ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻰ ﻣﻮﺿﻮح ﻣﺠﻤﻮﻋﺔ اﻷدوات اﻟﺠﺪﯾﺪة اﻟﺨﺎﺻﺔ ﺑﮭﺬا اﻟﻤﻮﺿﻮع ،ھﺬه اﻷدوات ﻟﮭﺎ ﻃﺮﯾﻘﺔ ﻣﻌﯿﻨﺔ ﻟﻠﺘﻌﺎﻣﻞ ﻟﯿﺲ
ﻣﺠﺮد ﺳﺤﺐ و أﻓﻼت ﻟﻠﻌﻨﺎﺻﺮ ﻋﻠﻰ اﻟﺼﻔﺤﺔ و ﻟﻜﻦ اﻟﻤﻮﺿﻮع ،ﻟﯿﺲ ﺑﺴﯿﻂ و ﻟﻠﯿﺲ ﻣﻌﻘﺪ ﯾﻤﻜﻨﻨﺎ أن ﻧﻘﻮل "اﻟﺴﮭﻞ اﻟﻤﻤﺘﻨﻊ"،
ﻟﻜﻦ ﻻ ﺗﻘﻠﻖ ﻓﺎﻟﻤﻮﺿﻮع أذا ﺗﻢ أﺧﺰه ﺑﺘﺴﻠﺴﻠﺔ اﻟﻄﺒﯿﻌﻲ ﺳﻮف ﻧﺼﻞ اﻟﻰ ﻧﺘﺎﺋﺞ ﻣﻤﺘﺎزة ﺟﺪا أﻛﺜﺮ ﻣﻤﺎ ﻛﻨﺖ ﺗﺘﻮﻗﻊ.
٢ -٣
و اﻷن ﻻﺑﺪ ﻣﻦ ﻣﻌﺮﻓﺔ ﺑﻌﺾ اﻟﻨﻘﺎط و اﻟﺨﻄﻮات اﻟﻤﮭﻢ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ھﺬه اﻷدوات و ﺳﻮف ﯾﺘﻢ ﺷﺮح اﻷدوات واﺣﺪة ﺗﻠﻮ اﻷﺧﺮة
ﺑﻜﻞ ﻣﺘﻄﻠﺒﺎﺗﮭﺎ و ﺳﻮف ﯾﻜﻮن ھﻨﺎك ﻣﺜﺎل واﺿﺢ ﻟﻜﻞ أداة ﻣﻦ اﻷدوات.
واﻷن ﺳﻮف ﺳﻮف ﻧﺒﺪأ ﺑﻤﺜﺎل ﺻﻐﯿﺮ و ﺳﻮف ﻧﺴﺘﻌﻤﻞ ﻓﯿﮫ ﻛﻼ ﻣﻦ اﻷدوات WebPartManagerو
WebPartZoneو ﻻ ﺑﺪ ﻣﻦ ﺗﻮﺿﯿﺢ ﺷﻲ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻜﻞ ﻣﻦ اﻷداﺗﯿﻦ :
: WebPartManagerﺗﻘﻮم ھﺬه اﻷداة ﺑﺄدارة اﻟﺘﻌﺎﻣﻞ ﻣﻊ أﺟﺰاء اﻟﻮﯾﺐ اﻟﻤﻮﺟﻮدة ﻋﻠﻰ اﻟﺼﻔﺤﺔ. •
: WebPartZoneﺗﻘﻮم ھﺬه اﻷداة ﺑﺄﺣﺘﻮاء اﻷوادت اﻟﺘﻰ ﺳﯿﺘﻢ اﻟﺘﺤﻜﻢ ﻓﯿﮭﺎ. •
ﯾﺒﺪو اﻟﺘﻌﺮﯾﻒ اﻟﺴﺎﺑﻖ اﻟﻰ ﺣﺪ ﻣﺎ و ﻟﻜﻦ ﻻﺗﻘﻠﻖ ﻓﺎﻟﻤﺜﺎل ﺧﯿﺮ دﻟﯿﻞ ﻟﺘﻮﺿﯿﺢ اﻷﻣﻮر و اﻷن ﺳﻮف ﻧﻘﻮم ﺑﺘﻄﺒﯿﻖ ﻣﺜﺎل و ﺳﻮف
ﻧﺮى ﻣﺎ ﯾﻤﻜﻨﻦ ﻋﻤﻠﮫ ﻣﻊ أﺟﺰاء اﻟﻮﯾﺐ.
٣ -٣
٤ -٣
٥ -٣
اﻟﺸﻜﻞ .8ھﺬا ھﻮ اﻟﺸﻜﻞ ﻋﻦ ﺗﺸﻐﯿﻞ اﻟﻤﺜﺎل و ﻟﻜﻦ ﻛﻤﺎ ﻧﻼﺣﻆ أن اﻟﻌﻨﻮان ﻣﻜﺘﻮب Untiltledو ﻟﺘﻐﯿﯿﺮة أدﺧﻞ ﻋﻠﻰ اﻟـsource view
٦ -٣
اﻟﺸﻜﻞ ١٠
اﻟﺸﻜﻞ 11ھﺬا ھﻮ اﻟﺸﻜﻞ اﻟﺠﺪﯾﺪ ﺑﻌﺪ ﺗﻌﺪﯾﻞ اﻟﻌﻨﻮان – و ﻟﻜﻦ ﺣﺘﻰ اﻷن ﻟﻢ ﻧﺴﺘﻔﯿﺪ ﻣﻦ ﻣﻤﯿﺰات اﻟـ WebPartsو اﻷن ﺳﻮف ﻧﻮﺿﺢ ﻛﯿﻔﯿﺔ
اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟـ WebPartsو اﻷﺳﺘﻔﺎدة ﻣﻦ ﻣﻤﯿﺰاﺗﮭﺎ اﻟﺠﺒﺎرة ﻓﻰ اﻟـPersonalisation
٧ -٣
اﻟﺸﻜﻞ ١٣ھﺬه ھﻰ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﺘﻰ ﺗﻘﻮم ﺑﺄدارة ﻛﻞ أﻣﻜﺎﻧﯿﺎت اﻟـ Personalizationو الMembership
٨ -٣
٩ -٣
C#اﻟﻜﻮد ﺑﺎﻟـ
١٠ - ٣
End Sub
VB.netاﻟﻜﻮد ﺑﺎﻟـ
WebPartZone ھﺬا ھﻮ اﻟﺸﻜﻞ ﻋﻨﺪ اﻷﻧﺘﮭﺎء ﻣﻦ اﻟﻤﺜﺎل ﯾﻤﻜﻨﻚ اﻷن أن ﺗﻘﻮم ﺑﺄﻋﻼق أو ﺗﺼﻐﯿﺮ ﻣﺤﺘﻮﯾﺎت اﻟـ، 16 اﻟﺸﻜﻞ
١١ - ٣
١٢ - ٣
١٣ - ٣
١٤ - ٣
اﻟﺸﻜﻞ ٢١ﻻ داﻋﻰ ﻟﻠﻘﻠﻖ اﻟﻤﻮﺿﻮع ﺑﺴﯿﻂ ﻟﻠﻐﺎﯾﺔ ھﻨﺎك ﻃﺮﯾﻘﺎن ﻟﺤﻞ ھﺬه اﻟﻤﺸﻜﻠﺔ أول وھﻰ اﻟﻐﺎء اﻟﺴﻄﺮ اﻟﺨﺎص ﺑﺎﻟﻤﺴﺘﺨﺪم ﻣﻦ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ) ﻻ
أﺣﺒﺬ ھﺬا اﻟﺤﻞ( و اﻟﺤﻞ اﻷﺧﺮ ھﻮ أﺳﺘﻌﻤﺎل ﻣﻜﻮﻧﺎت أﺿﺎﻓﯿﺔ ﻣﻦ اﻟـ Toolbarﻟﺤﻞ ھﺬه اﻟﻤﺸﻜﻠﺔ.
اﻟﺸﻜﻞ ٢٢ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﻓﻰ اﻟﺸﻜﻞ أن ﻋﻤﻠﯿﮫ أدارة اﻟﻤﺤﺘﻮى ) اﻟﻤﺤﺘﻮى ھﻨﺎ ﺗﻌﻨﻰ اﻷدوات اﻟﻤﻮﺟﻮدة ﺑﺪاﺧﻞ اﻟﻠـ ( WebPart Zoneﺗﺘﻢ ﺑﻮاﺳﻄﺔ
اﻟـ.WebPart Manager
١٥ - ٣
اﻟﺸﻜﻞ 24أﺧﺘﺮ اﻟﻠﻐﺔ ﻣﺮاد اﻟﺘﻌﺎﻣﻞ ﻣﻌﮭﺎ ھﺬا اﻟﺸﻜﻞ ﻟﻤﺒﺮﻣﺠﻰ اﻟـ VBو ﺑﻌﺪ ذﻟﻚ ﻧﻘﻮم ﺑﺄﺧﺘﯿﺎر ﻧﻮع اﻟﻤﺸﺮوع وھﻮ Web Control library
١٦ - ٣
اﻟﺸﻜﻞ 26اﻟﻤﺜﺎل اﻟﺬى ﺳﻮف ﻧﻄﺒﻘﺔ ھﻮ ﻋﺒﺎرة ﻋﻦ ﻣﺘﺮﺟﻢ ﻣﻦ اﻟﻠﻐﺔ اﻷﻧﺠﻠﯿﺰﯾﺔ اﻟﻰ اﻟﯿﺎﺑﺎﻧﯿﺔ ﺑﺄﺳﺘﺨﺪام ﺧﺪﻣﺎت اﻟﻮﯾﺐ WebServiceﻟﮭﺬا ﺳﻮف
ﻧﺤﺘﺎج اﻟﻰ ﻣﺮﺟﻊ وﯾﺐ Web Referenceﻟﻤﺰود اﻟﺨﺪﻣﺔ و ﻛﺎﻟﻌﺎدة ﺳﻮف ﯾﻘﻮم اﻟـ Visual stdioﺑﺄﻧﺸﺎء اﻟﻤﻜﺘﺒﺔ اﻟﻮﺳﯿﻄﺔ ) Proxy
( classاﻟﺘﻰ ﺗﺴﮭﻞ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺧﺪﻣﺔ اﻟﻮﯾﺐ WebServiceاﻟﻤﺮاد اﻟﺘﻌﺎﻣﻞ ﻣﻌﮭﺎ و أول ﺧﻄﻮة ﻓﻰ ھﺬا اﻟﻤﻮﺿﻮع ھﻮ ﻧﻘﺮ ﺑﺎﻟﺰر اﻷﯾﻤﻦ ﻟﻠﻤﺎوس
و أﺧﺘﯿﺎر Add Web Reference
١٧ - ٣
١٨ - ٣
١٩ - ٣
<DefaultProperty("Text")> _
Public Class Translator_VB
Inherits WebPart
WebPart ﻓﻰ ھﺬا اﻟﺴﻄﺮ ﻧﻘﻮم ﺑﻮراﺛﺔ اﻟﻤﻜﺘﺒﮫ
Private pStrText As String = Nothing
ﻣﺘﻐﯿﺮ ﻣﻦ ﻧﻮع ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﮫ و اﻟﺘﻰ ﺳﻮف ﺗﺤﻤﻞ اﻟﻜﻠﻤﺔ اﻟﻤﺮاد ﺗﺮﺟﻤﺘﮭﺎ
Private txtStringToTranslate As TextBox
٢٠ - ٣
<Personalizable(), WebBrowsable()> _
WebBrowsable و اﻟﻘﺎﺑﻠﯿﺔ ﻟﻸﺳﺘﻌﺮاضPeronalization ھﻨﺎ ﯾﺘﻢ ﻣﻨﺢ و أﺗﺎﺣﺔ اﻟﺨﺎﺻﯿﺘﯿﻦ اﻟﻘﺎﺑﻠﯿﮫ ﻟﺘﺨﺼﯿﺺ اﻟﺸﺨﺼﻲ
Public Property strToTranslate() As String
أﺿﺎﻓﺔ ﺧﺎﺻﯿﺔ ﻟﻠﻤﻜﺘﺒﮫ و ھﻰ اﻟﻜﻠﻤﺔ اﻟﺘﻰ ﺳﻮف ﯾﺘﻢ ﺗﺮﺟﻤﺘﮭﺎ أھﻤﯿﺔ ھﺬه اﻟﺨﺎﺻﯿﺔ ﻟﻜﻲ ﺗﺘﯿﺢ واﺟﮭﮫ ﺑﺮﻣﺠﯿﺔ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﻜﺘﺒﮫ ﺣﯿﺚ أﻧﮫ ﻛﻤﺎ ﻧﻼﺣﻆ ﻻ
ﯾﻤﻜﻦ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻨﺺ أو ﺣﻘﻞ اﻟﻨﺺ ﻣﺒﺎﺷﺮة
Get
Return pStrText
End Get
Set(ByVal value As String)
pStrText = value
End Set
End Property
٢١ - ٣
End Class
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
٢٢ - ٣
namespace Translator_CS
{
[DefaultProperty("Text")]
public class Translator_CS :WebPart
WebPart ﻓﻰ ھﺬا اﻟﺴﻄﺮ ﻧﻘﻮم ﺑﻮراﺛﺔ اﻟﻤﻜﺘﺒﮫ
{
private string pStrText = "";
ﻣﺘﻐﯿﺮ ﻣﻦ ﻧﻮع ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﮫ و اﻟﺘﻰ ﺳﻮف ﺗﺤﻤﻞ اﻟﻜﻠﻤﺔ اﻟﻤﺮاد ﺗﺮﺟﻤﺘﮭﺎ
private TextBox txtStringToTranslate;
ﻣﺘﻐﯿﺮ ﻣﻦ ﻧﻮع ﺣﻘﻞ و اﻟﺬي ﺳﻮف ﻧﻘﻮم ﺑﻌﺮﺿﮫ و اﻟﺬي ﺳﻮف ﯾﻜﻮن ﻣﺪﺧﻞ اﻟﻜﻼﻣﺎت اﻟﻤﺮاد ﺗﺮﺟﻤﺘﮭﺎ
private Label lblTranslatedString;
و اﻟﺬي ﺳﯿﺘﻢ ﺑﮫ ﻋﺮض اﻟﻨﺘﯿﺠﺔLabel ﻋﺎرض ﻧﺺ
public Translator_CS()
{
this.AllowClose = true;
و ھﻨﺎ ﯾﺘﻢ ﺗﻔﻌﯿﻞ ﺧﺎﺻﯿﺔ اﻟﻘﺎﺑﻠﯿﺔ ﻟﻸﻏﻼقConstructor داﻟﺔ اﻟﻤﻨﺸﺊ
}
[Personalizable(), WebBrowsable()]
WebBrowsable و اﻟﻘﺎﺑﻠﯿﺔ ﻟﻸﺳﺘﻌﺮاضPeronalization ھﻨﺎ ﯾﺘﻢ ﻣﻨﺢ و أﺗﺎﺣﺔ اﻟﺨﺎﺻﯿﺘﯿﻦ اﻟﻘﺎﺑﻠﯿﮫ ﻟﺘﺨﺼﯿﺺ اﻟﺸﺨﺼﻲ
public string strToTranslate
أﺿﺎﻓﺔ ﺧﺎﺻﯿﺔ ﻟﻠﻤﻜﺘﺒﮫ و ھﻰ اﻟﻜﻠﻤﺔ اﻟﺘﻰ ﺳﻮف ﯾﺘﻢ ﺗﺮﺟﻤﺘﮭﺎ أھﻤﯿﺔ ھﺬه اﻟﺨﺎﺻﯿﺔ ﻟﻜﻲ ﺗﺘﯿﺢ واﺟﮭﮫ ﺑﺮﻣﺠﯿﺔ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﻜﺘﺒﮫ ﺣﯿﺚ أﻧﮫ ﻛﻤﺎ ﻧﻼﺣﻆ ﻻ
ﯾﻤﻜﻦ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻨﺺ أو ﺣﻘﻞ اﻟﻨﺺ ﻣﺒﺎﺷﺮة
{
get
{
return pStrText;
}
set
{
pStrText = value;
}
}
٢٣ - ٣
٢٤ - ٣
Trans.Translate(global::Translator_CS.LangaugeTranslator.Language.EnglishTOJa
panese,this.strToTranslate);
ﺗﺤﺪﯾﺪ اﻟﻠﻐﺔ اﻟﻤﺮدا اﻟﺘﺮﺟﻤﺔ ﻣﻨﮭﺎ و اﻟﯿﮭﺎ و ﺗﺤﺪﯾﺪ اﻟﻜﻠﻤﺔ اﻟﻤﺮاد ﺗﺮﺟﻤﺘﮭﺎ
}
}
}
}
و اﻷن و ﺑﻌﺪ ﻛﺘﺎﺑﺔ اﻟﻜﻮد و اﻷﻧﺘﮭﺎء ﻣﻦ ﻛﻞ اﻟﻤﻄﻠﻮب ﺑﺎﻟﻨﺴﺒﺔ ﻟﻸداة ﻧﻘﻮم ﺑﺘﺮﺟﻤﺘﮭﺎ30 اﻟﺸﻜﻞ
٢٥ - ٣
اﻟﺸﻜﻞ 32و اﻷن ﻧﺨﺘﺎر ﻣﻠﻒ اﻟﺬي ﯾﺤﺘﻮي ﻋﻠﻰ اﻷداة و ھﻮ ﻣﻮﺟﻮد ﻓﻰ ﻣﺠﻠﺪ bin\debugداﺧﻞ ﻣﺠﻠﺪ ﻣﺸﺮوع اﻟﻤﻜﺘﺒﺔ اﻟﺬي أﻧﺸﺎﺋﻨﺎھﺎ
٢٦ - ٣
اﻟﺸﻜﻞ ٣٤ھﺬا ھﻮ ﺷﻜﻞ اﻷدوات ﺑﻌﺪ أﺿﺎﻓﺘﮭﺎ اﻟﻰ ﺻﻨﺪوق اﻷدوات Tool Box
٢٧ - ٣
اﻟﺸﻜﻞ 37
٢٨ - ٣
اﻟﺸﻜﻞ 38
و اﻷن ﻟﻨﺮى ﻛﯿﻒ ﺳﯿﺘﻌﺎﻣﻞ اﻟﻤﺴﺘﺨﺪم ﻣﻊ ھﺬه اﻟﺨﺎﺻﯿﺔ و ﻛﯿﻒ ﯾﺴﺘﻔﯿﺪ ﻣﻨﮭﺎ
اﻟﺸﻜﻞ ٣٩أول ﺧﻄﻮة ھﻰ ﻣﻦ ﻓﻰ ﻗﺄﻣﺔ اﻟـ WebPart Zoneﺳﻮف ﻧﻼﺣﻆ ﻇﮭﻮر اﻟﺨﯿﺎر Export
اﻟﺸﻜﻞ 40رﺳﺎﻟﺔ ﺗﺤﺬﯾﺮﯾﺔ ﻟﻮﺟﻮد ﺑﯿﺎﻧﺎت ﻣﮭﻤﺔ و ﺣﺴﺎﺳﺔ و ﻛﯿﻔﯿﺔ أﻣﻜﺎﻧﯿﺔ ﻋﺮض اﻟﻤﻠﻒ
٢٩ - ٣
ھﻨﺎك أﯾﻀﺎ أﺟﺰاء ﻛﺜﯿﺮة،راﺋﻊ ﺟﺪا و ﻟﻜﻦ ﻛﯿﻒ ﯾﻤﻜﻨﻨﺎ أﺳﺘﯿﺮاد ﺧﻮاص ﻟﻸداة اﻟﺨﺎﺻﮫ ﺑﻨﺎ ھﺬا ﻣﺎ ﺳﻮف ﻧﺘﺤﺪث ﻋﻨﮫ ﻻﺣﻘﺎ
.ﻧﺤﺘﺎج اﻟﻰ ﻣﻌﺮﻓﺘﮭﺎ ﻟﻜﻲ ﻣﻜﺴﺐ أﻣﻜﺎﻧﯿﺎت أﻛﺜﺮ
ﻋﻨﺪ ﺗﻨﻔﯿﺬ ھﺬا اﻟﻤﺜﺎل ﺳﻮف ﺗﻼﺣﻈﻮن أﻧﮫ ھﻨﺎك ﺷﺊ رﺑﻤﺎ ﯾﻜﻮن ﻧﺎﻗﺼﺎ اﻻ وھﻮ أﻧﮫ ﻋﻨﺪ اﻟﺒﺤﺚ ﺗﺨﺘﻔﻰ ﻛﻠﻤﺔ اﻟﺒﺤﺚ ﻣﺎذا ﻟﻮ
ﺑﺸﻜﻞ ﻗﻮى ﺟﺪا و ھﻨﺎPersonalizationأردﻧﺎ أن ﺗﻜﻮن ھﺬه اﻟﻜﻠﻤﺔ ﺗﻈﮭﺮ ﻣﻊ اﻟﻤﺴﺘﺨﺪم و ھﻨﺎ ﺳﻮف ﻧﻌﺘﻤﺪ ﻋﻠﻰ اﻟـ
٣٠ - ٣
اﻟﺸﻜﻞ ٤٢
وﺻﻮف ﻧﻼﺣﻆ وﺟﻮد ﻧﻮﻋﺎن ﻣﻨﮭﺎ و ھﻮ ﻣﺸﺘﺮك Sharedو ﻣﺨﺼﺺ ﻟﻤﺴﺘﺨﺪم Userو اﻟﻔﺮق ﺑﯿﻨﮭﻢ أن اﻷول ﻋﻨﺪ
أﺳﺘﺨﺪاﻣﮫ ﯾﺘﻢ ﺣﻔﻆ أﺧﺮ ﻛﻠﻤﺔ ﻟﻜﻞ اﻟﺘﻄﺒﯿﻖ ﺑﻤﻌﻨﻰ أذا دﺧﻞ ﻣﺴﺘﺨﺪم ) أ( و ﻗﺎم ﺑﻜﺘﺎﺑﺔ ﻛﻠﻤﺔ و دﺧﻞ ﻣﺴﺘﺨﺪم )ب( ﻓﺴﻮف ﯾﺠﺪ
اﻟﻜﻠﻤﺔ اﻟﺘﻰ ﻛﺘﺒﮭﺎ اﻟﻤﺴﺘﺨﺪم )أ( و ﻃﺒﻌﺎ ھﺬا ﻏﯿﺮ ﺻﺤﯿﺢ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﺤﻔﺎظ ﻋﻠﻰ ﺧﺼﻮﺻﯿﺔ اﻟﻤﺴﺘﺨﺪﻣﯿﻦ ﻟﺬﻟﻚ ﺳﻮف ﻧﺴﺘﺨﺪم
Userﻷﻧﮫ ﻣﺨﺼﺼﺔ ﻟﻠﻤﺴﺘﺨﺪم ﺑﺤﺪ ذاﺗﮫ و ﻟﻜﻦ ﻛﯿﻒ ﺳﯿﻔﺮق اﻟﺘﻄﺒﯿﻖ ﺑﯿﻦ اﻟﻤﺴﺘﺨﺪﻣﯿﻦ ھﺬا ﻣﺎ ﺳﻮف ﯾﺘﻢ ﺷﺮﺣﺔ ﻗﺮﯾﺒﺎ ﻓﻰ
اﻟﻔﺼﻞ اﻟﺨﺎص ﺑﺎﻷﻣﺎن و اﻟﻤﺴﺘﺨﺪﻣﯿﻦ ﻟﻨﻌﺪ ﻣﺮة أﺧﺮ اﻟﻰ ﻣﻮﺿﻮﻋﻨﺎ ،ﺑﻌﺪ ھﺬا اﻟﻤﺜﺎل اﻟﻄﻮﯾﻞ ﺳﻮف ﻧﺒﺪأ رﺣﻠﺔ ﺟﺪﯾﺪة ﻣﻊ
أدوات ﺟﺪﯾﺪة و ﻃﺒﻌﺎ ﻛﻠﮭﺎ ﻟﮭﺎ ﻋﻼﻗﺔ ﺑﺎﻟـ.WebParts
و اﻷن ﻟﻨﻀﯿﻒ ﺑﻌﺾ اﻷدوات و اﻟﺘﻰ ﺳﻮف ﺗﻌﻄﻲ ﻟﻠﻤﺴﺘﺨﺪم أﻣﻜﺎﻧﯿﺎت ﺟﺪﯾﺪة و ﺑﺎﻟﻄﺒﻊ ﺳﻮف ﯾﻜﻮن ھﺬا ﺑﺄﻗﻞ ﺟﮭﺪ ﻣﻤﻜﻦ و
اﻷدوات اﻟﺘﻰ ﺳﻮف ﻧﻀﯿﻔﮭﺎ ھﻤﺎ ﻛﺎﻷﺗﻰ
• CatalogZone
ھﺬه اﻷداه ﺗﺤﺘﻮى ﺑﻌﺾ اﻷدوات )/ PageCatalogPart / DeclarativeCatalogPart
( ImportCatalogPartھﺬه اﻷداة ﺗﻘﻮم ﺑﻌﻤﻞ ﻗﺎﺋﻤﺔ ﺑﺎﻷدوات اﻟﻤﺘﺎﺣﺔ و أﺗﺎﺣﺔ أﻣﻜﺎﻧﯿﺎت اﻷدوات اﻟﻰ ھﺬه
اﻷداوات ﻋﻠﻰ ﺳﺒﯿﻞ ﯾﻤﻜﻦ ﻟﻠﻤﺴﺘﺨﺪم أﻇﮭﺎر و أﺧﻔﺎء ﻣﺎ ﯾﺮي ﻣﻦ أﺟﺰاء وﯾﺐ ﺑﺎﻷﺿﺎﻓﺔ ﻻى أﺳﺘﯿﺮاد ﺧﺼﺎﺋﺺ اﻷدوات
اﻟﺘﻌﺮﯾﻒ ﯾﺒﺪو ﻏﯿﺮ واﺿﺢ وﻟﻜﻦ ﺳﻮف ﯾﺘﻀﺢ أﻛﺜﺮ ﻣﻊ اﻟﻤﺜﺎل.
• DeclarativeCatalogPart
ﺗﺘﯿﺢ ﻟﻠﻤﻄﻮر ﻋﺎرض ﻗﺎﺋﻤﺔ ﺑﺎﻷدوات اﻟﺘﻰ ﯾﻤﻜﻦ اﻟﺘﻌﺎﻣﻞ ﻣﻌﮭﺎ ) أﺿﺎﻓﺔ و ﺣﺬف ﻓﻰ أﺟﺰاء اﻟﻮﯾﺐ (WebPart zone
• PageCatalogPart
ﻋﺮض ﺻﻔﺤﺔ ﺑﺎﻻدوات اﻟﺘﻰ ﺗﻌﺎﻣﻞ ﻣﻌﮭﺎ اﻟﻤﺴﺘﺨﺪم و ﻗﺎم ﺑﺄﻏﻼﻗﮭﺎ ﻟﻠﺘﯿﺢ ﻟﮫ ﻣﻦ ﺟﺪﯾﺪ أﺿﺎﻓﺔ ھﺬه اﻷدوات.
• ImportCatalogPart
ھﺬه اﻷداة ﺗﻘﻮم ﺑﺄﺳﺘﯿﺮاد ﺧﺼﺎﺋﺺ اﻷداة ﻋﻦ ﻃﺮﯾﻖ ﻣﻠﻒ اﻟﺬى ﻗﻤﻨﺎ ﺑﺤﻔﻈﮫ ﻣﻦ ﻗﺒﻞ.
٣١ - ٣
اﻟﺸﻜﻞ 44ﻓﻘﻂ ﻟﻠﺘﺬﻛﯿﺮ أن ﺗﻐﯿﯿﺮ اﻟﺸﻜﻞ ﻗﺪ ﯾﻜﻮن ﻣﮭﻢ و ﻣﺮﯾﺢ ﻧﻔﺴﯿﺎ J
٣٢ - ٣
٣٣ - ٣
٣٤ - ٣
End Sub
ھﺬا ھﻮ اﻟﺸﻜﻞ ﻋﻨﺪ ﺗﻨﻔﯿﺬ اﻟﺘﻄﺒﯿﻖ ﻛﻤﺎ ﻧﻼﺣﻆ أﻧﮫ ﻻ ﯾﻮﺟﺪ أدوات ﻓﻰ ﻗﺎﺋﻤﺔ اﻷدوات و ﻓﻰ ﻣﻨﺎﻃﻖ اﻟﻌﺮض ﯾﻮﺟﺪ أداة: 47 اﻟﺸﻜﻞ
٣٥ - ٣
٣٦ - ٣
٣٧ - ٣
ھﻨﺎك ﻣﺎ ھﻮ أﻗﻮى ﻣﻦ ذﻟﻚ وھﻮ أن ﻧﻌﻄﻲ اﻟﻤﺴﺘﺨﺪم اﻟﻘﺪرة ﻋﻠﻰ ﺗﻌﺪﯾﻞ اﻷدوات اﻟﻤﻮﺟﻮدة ﻓﻰ اﻟﺼﻔﺤﺔ و ﻛﺄن اﻟﻤﺴﺘﺨﺪم ﯾﻌﻤﻞ
ﻋﻠﻰ اﻟـ VSﺑﻤﻌﻨﻰ أن اﻟﻤﺴﺘﺨﺪم ﺳﻮف ﯾﻜﻮن ﻗﺎدر ﻋﻠﻰ ﺗﻐﯿﯿﺮ ﻛﻞ ﺧﺼﺎﺋﺺ اﻟﻌﻨﺎﺻﺮ اﻟﻤﻮﺟﻮدة ﻓﻰ اﻟﺼﻔﺤﺔ ﻛﺎﻟﻌﺎدة ﯾﺒﺪو
اﻟﻜﻼم ﻏﯿﺮ واﺿﺢ Jو ﻟﻜﻦ ﻻداﻋﻲ ﻟﻠﻘﻠﻖ ﻻﻧﮫ ھﻨﺎك ﻣﺜﺎل ﻟﺘﻮﺿﯿﺢ ھﺬه اﻟﻨﻘﻄﺔ و اﻷن ﻟﻨﻜﻤﻞ ﻋﻠﻰ اﻟﻤﺜﺎل.
ﺳﻮف ﻧﻀﯿﻒ ﺑﻌﺾ اﻷدوات ﻟﻠﻤﺜﺎل
• EditorZone
ھﺬه اﻷداة ھﻰ اﻟﺘﻰ ﺳﻮف ﺗﺤﺘﻮى ﻋﻠﻰ ﻛﻞ أدوات اﻟﺘﻌﺪﯾﻞ و ﺳﻮف ﺗﻜﻮن ﺑﻤﺜﺎﺑﺔ Interfaceﺑﯿﻦ
اﻟـ WebPartMAnagerو اﻷدوات اﻟﺘﻌﺪﯾﻞ
٣٨ - ٣
اﻟﺸﻜﻞ 51
اﻟﺸﻜﻞ ٥٢
٣٩ - ٣
٤٠ - ٣
٤١ - ٣
End Sub
VBاﻟﻜﻮد ﺑﺼﯿﻐﺔ اﻟـ
٤٢ - ٣
٤٣ - ٣
٤٤ - ٣
و ﻓﻰ اﻟﻨﮭﺎﯾﺔ ھﺬا اﻟﻔﺼﻞ أود أن ﻧﺬﻛﺮ ﺳﻮﯾﺎ ﻣﻠﺨﺼﺎ ﻟﻤﺎ ﺗﻌﻠﻤﻨﺎه ﻓﻰ ھﺬا اﻟﻔﺼﻞ:
.١اﻟﺘﻌﺎﻣﻞ ﻣﻊ أدوات اﻟﻌﺮض و اﻟﺘﻨﺴﯿﻖ اﻟـWebParts
.٢أﻧﺸﺎء أداة ﻣﻦ ﻧﻮع أﺟﺰاء وﯾﺐ Creating web library control that inherits from WebPart
.٣اﻟﺘﻌﺎﻣﻞ ﻣﻊ أدوات ﺗﺤﺮﯾﻚ اﻟـWebParts
.٤اﻟﺘﻌﺎﻣﻞ ﻣﻊ أدوات اﻟﺘﻌﺪﯾﻞ و ﺗﻐﯿﯿﺮ ﺧﺼﺎﺋﺺ اﻟـWebPart
٤٥ - ٣