Veysel Uğur KIZMAZ

Sharepoint 2010 Visual Studio ile List Oluşturma

27.09.2011Okunma Sayısı: 4803Kategori: Sharepoint 2010

Daha önceki makalelerimizde Sharepoint Designer ile liste oluşturma işlemini incelemiştik. Şimdi ise Visual Studio 2010 Development ortamında liste oluşturma işlemini inceleyelim.

Yazımıza bir örnek üzerinde devam edelim. Yeni bir Empty Sharepoint Project (Farm Solution) oluşturalım ve içine bir adet List Definition ekleyelim.
 
 
Eklediğimiz List Definitionın türünü Custom olarak belirleyelim. İstersek Sharepoint içinde hazır gelen yapılardan birini de seçebilirdik, fakat bu örnek için kendimiz oluşturalım.
 
 
Listemiz eklendi.
 
 
Musteri isimli listemizin elemanlarına baktığımızda, ListInstance1, altında Elements, yanında Elements ve Schema xml dosyaları yer almaktadır.
 
Alttaki Elements dosyası, müşteri listesinin tanımını. Schema dosyası, listemizle ilgili detay yapılandırmayı belirtmektedir. Son olarak ListInstance1’in içindeki Elements ise listenin özelliklerini (propertylerini) belirtmektedir. Şimdi bu elemanları inceleyelim.
Elements.xml (alt)
 
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  3.     <ListTemplate
  4.         Name="Musteri"
  5.         Type="10000"
  6.         BaseType="0"
  7.         OnQuickLaunch="TRUE"
  8.         SecurityBits="11"
  9.         Sequence="410"
  10.         DisplayName="Musteri"
  11.         Description="My List Definition"
  12.         Image="/_layouts/images/itgen.png"/>
  13. </Elements>
 
 
Listemizin özelliklerini inceleyelim.
 
Name: Listenin ismi
Type: 10000 ile 10099 arasında bir tanımlayıcıdır. Diğer templatelerden ayırmak için kullanılır.
 
BaseType: Listenin türünü belirtir.
0 : Generic List
1 : Document Library
3 : Discussion Forum
4 : Survey
5 : Issues List
 
OnQuickLaunch: Liste Sharepoint QuickLaunch bar’da görünsün mü?
 
SecurityBits: Güvenlik seviyesini belirleyen tanımlamadır.
 
Sequence: Sıralama önceliğinibelirtir.
 
DisplayName: Listenin görünen adını belirtir.
 
Description: Listenin açıklamasını belirtir.
 
Image: Listenin iconunu belirtir.
 
Elements.xml’den sonra Schema.xml’e de bir göz atalım.
 
Schema.xml
 
 
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <List xmlns:ows="Microsoft SharePoint" 
  3. Title="Musteri" FolderCreation="FALSE" Direction="$Resources:Direction;" 
  4. Url="Lists/SPFarmSolution-Musteri" 
  5. BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/">
  6.   <MetaData>
  7.     <ContentTypes>
  8.       <ContentTypeRef ID="0x01">
  9.         <Folder TargetName="Item" />
  10.       </ContentTypeRef>
  11.       <ContentTypeRef ID="0x0120" />
  12.     </ContentTypes>
  13.     <Fields></Fields>
  14.     <Views>
  15.       <View BaseViewID="0" Type="HTML" MobileView="TRUE" TabularView="FALSE">
  16.         <Toolbar Type="Standard" />
  17.         <XslLink Default="TRUE">main.xsl</XslLink>
  18.         <RowLimit Paged="TRUE">30</RowLimit>
  19.         <ViewFields>
  20.           <FieldRef Name="LinkTitleNoMenu"></FieldRef>
  21.         </ViewFields>
  22.         <Query>
  23.           <OrderBy>
  24.             <FieldRef Name="Modified" Ascending="FALSE"></FieldRef>
  25.           </OrderBy>
  26.         </Query>
  27.         <ParameterBindings>
  28.           <ParameterBinding Name="AddNewAnnouncement" 
  29. Location="Resource(wss,addnewitem)" />
  30.           <ParameterBinding Name="NoAnnouncements" 
  31. Location="Resource(wss,noXinviewofY_LIST)" />
  32.           <ParameterBinding Name="NoAnnouncementsHowTo" 
  33. Location="Resource(wss,noXinviewofY_ONET_HOME)" />
  34.         </ParameterBindings>
  35.       </View>
  36.       <View BaseViewID="1" Type="HTML" WebPartZoneID="Main" 
  37. DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;" 
  38. DefaultView="TRUE" MobileView="TRUE" MobileDefaultView="TRUE" 
  39. SetupPath="pages\viewpage.aspx" ImageUrl="/_layouts/images/generic.png" 
  40. Url="AllItems.aspx">
  41.         <Toolbar Type="Standard" />
  42.         <XslLink Default="TRUE">main.xsl</XslLink>
  43.         <RowLimit Paged="TRUE">30</RowLimit>
  44.         <ViewFields>
  45.           <FieldRef Name="Attachments"></FieldRef>
  46.           <FieldRef Name="LinkTitle"></FieldRef>
  47.         </ViewFields>
  48.         <Query>
  49.           <OrderBy>
  50.             <FieldRef Name="ID"></FieldRef>
  51.           </OrderBy>
  52.         </Query>
  53.         <ParameterBindings>
  54.           <ParameterBinding Name="NoAnnouncements" 
  55. Location="Resource(wss,noXinviewofY_LIST)" />
  56.           <ParameterBinding Name="NoAnnouncementsHowTo" 
  57. Location="Resource(wss,noXinviewofY_DEFAULT)" />
  58.         </ParameterBindings>
  59.       </View>
  60.     </Views>
  61.     <Forms>
  62.       <Form Type="DisplayForm" Url="DispForm.aspx" 
  63. SetupPath="pages\form.aspx" WebPartZoneID="Main" />
  64.       <Form Type="EditForm" Url="EditForm.aspx" 
  65. SetupPath="pages\form.aspx" WebPartZoneID="Main" />
  66.       <Form Type="NewForm" Url="NewForm.aspx" 
  67. SetupPath="pages\form.aspx" WebPartZoneID="Main" />
  68.     </Forms>
  69.   </MetaData>
  70. </List>
 
 
Burada listeyi tanımlayan CAML kodları yer almaktadır.
 
Son olarak ListInstance1’in altındaki (yani listenin) Elements.xml’I yer almaktadır. Şimdi buna göz atalım.
 
Elements.xml (üst)
 
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  3.   <ListInstance Title="Musteri"
  4.                 OnQuickLaunch="TRUE"
  5.                 TemplateType="10000"
  6.                 Url="Lists/SPFarmSolution-ListInstance1"
  7.                 Description="My List Instance">
  8.   </ListInstance>
  9. </Elements>
 

Elements.xml’in özelliklerini inceleyelim.

Title: Listenin adı
 
OnQuickLaunch: Liste Sharepoint QuickLaunch’ta görünsün mü
 
TemplateType: 10000 ile 10099 arasında bir tanımlayıcıdır. Diğer templatelerden ayırmak için kullanılır.
 
Url: Lİsteye erişim Url’i
 
Description: Listenin tanımı
 
Listemizi tanımladıktan sonra deploy edelim ve portalımıza gidelim.
 
 
Menümüzde listemizin geldiğini gördük ve buradan listeyle ilgili işlemleri gerçekleştirebiliriz.
 
 
 
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
veysel@ugurkizmaz.com
www.ugurkizmaz.com