‘Veri’ Etiketi

SharePointle Ne tür sayfa seçmem gerekir?

Microsoft Windows SharePoint Services 3.0 siteleri, Microsoft ASP.NET 2.0 teknolojisini kullanarak tamamen etkileşimli ve ortak içeriği (özelleştirilmiş Veri Görünümleri gibi) çeşitli yollardan desteklerken, diyelim daha statik olan HTML siteleri bu içeriği desteklemez. Bir SharePoint sitesine sayfa eklerken, ASPX sayfalarının tüm SharePoint işlevlerini desteklemesi nedeniyle hemen hemen her zaman ASP.NET (ASPX) sayfası eklemek istersiniz. Bu nedenle Genel araç çubuğundaki Yeni Belge‘yi tıklattığınızda veya CRTL+N tuşlarına bastığınızda açılan ASPX sayfası, SharePoint listesindeki yeni sayfalar için varsayılan sayfadır.
Benzer şekilde, ASP.NET ana sayfaları, HTML tabanlı şablon sayfalarının (Dinamik Web Şablonları gibi) aksine, SharePoint öğelerini ve işlevlerini çeşitli yollarla desteklediğinden, ortak görünümü ve zevki paylaşmak için SharePoint sitenize çok sayıda sayfa eklemek istediğinizde ana sayfaları kullanmanız önerilir.
Aşağıdaki tabloda bir SharePoint sitesinde çalışırken en yaygın olarak eklemek isteyeceğiniz sayfa türleri tanımlanmaktadır.
Sayfa türü
Açıklama
ASP.NET (ASPX) sayfası
Öğeleri eklemeye ve özelleştirmeye hazır boş bir ASPX sayfası ekler.
Ana sayfa
Bir ASP.NET sayfası ekler, ancak biri .aspx yerine .master dosya adı uzantısına sahiptir. Yeni ana sayfayı oluşturduktan ve kaydettikten sonra, söz konusu ana sayfayı temel alan birden çok sayfayı eklemek için Ana Sayfadan oluştur seçeneğini kullanabilirsiniz.
Ana sayfalarla ilgili daha fazla bilgi için, ASP.NET ana sayfalarına giriş makalesine bakın
Varolan ana sayfayı temel alan sayfa
Önceden oluşturulmuş ana sayfayı temel alan ve sonradan söz konusu ana sayfanın görünümü ve davranışı üzerinde yapılan her türlü değişikliğin güncelleştirildiği bir ASPX sayfası ekler.
Ana sayfalarla ilgili daha fazla bilgi için, ASP.NET ana sayfalarına giriş makalesine bakın
Liste Görünümü sayfası
Varolan listenin veya belge kitaplığının yeni görünümünü içeren ASPX sayfası ekler. Bir Liste Görünümü sayfası başlık çubukları, menü ve sütunlar gibi sayfa öğelerini içerir.
Web Bölümleri Sayfası
İçine Web Bölümleri’ni ekleyebileceğiniz

Kodsuz etkileşimli çözümler

Office SharePoint Designer 2007 programında, menüleri, görev bölmelerini ve şablonları kullanarak Veri Görünümleri, raporlar ve iş akışı izleme gibi gelişmiş kodsuz çözümleri hızlıca ve kolayca oluşturabilirsiniz

Çeşitli kaynaklardaki verileri etkileşimli Web sayfaları ile birleştirme

Office SharePoint Designer 2007 ile Microsoft ASP.NET teknolojisini güçlendiren özel Veri Görünümleri ve veri formları oluşturabilir, böylece birden fazla kaynaktaki verileri görüntüleyen görünümler de dahil olmak üzere, sitenize dış veri ekleyebilirsiniz.

Örneğin, kuruluşunuzda bir ürün veritabanı ve müşteri veritabanı olduğunu ve ürün bilgisini SharePoint sitenizde görüntülemek istediğinizi varsayalım — Bu veriler üzerine bir görünüm oluşturarak bunu hızlıca ve kolayca yapabilirsiniz. Ayrıca hangi müşterilerin hangi ürünleri sipariş ettiğini görüntüleyen bir Web sayfası istediğinizi varsayalım. Bunu, veri kaynaklarınızı  — bu durumda, iki veritabanınızı — bağlayarak yapabilir, böylece birleştirilmiş tek bir Veri Görünümünde bu bilgiyi görebilirsiniz. Ayrıca, bu Veri Görünümünü form olarak kullanabilir ve veri kaynaklarına tekrar veri yazabilirsiniz.

Veri Kaynağı Kitaplığı

Veri Kaynağı Kitaplığından çeşitli veri kaynaklarına erişme

 

Aşağıdakiler de dahil olmak üzere çeşitli veri kaynaklarından Veri Görünümü oluşturabilirisiniz:

  • RSS akışları   Veri Kaynağı Kitaplığına RSS akışları ekleyin ve RSS akışlarını veri kaynağı olarak kullanıp Veri Görünümleri oluşturun.
  • XML dosyaları   Veri Kaynağı Kitaplığına XML dosyaları ekleyin ve XML verilerini görüntüleyen Veri Görünümleri oluşturun.
  • Office XML  2007 Microsoft Office sistemi belgelerinden Veri Görünümleri oluşturun. Örneğin Microsoft Office Word 2007 belgelerindeki veriler üzerine yeni XML tabanlı dosya biçimlerini veri kaynağı olarak kullanarak bir görünüm oluşturun.

Etkileyici raporlar oluşturma

Hesaplanan alan, koşullu biçimlendirme gibi araçlar ve sıralama, gruplandırma ve filtreleme gibi özellikler Veri Görünümünde etkileyici formlar oluşturmanıza yardımcı olur. Örneğin, Veri Görünümüne koşullu biçimlendirme uygulayabilirsiniz, böylece envanterinizdeki öğeler belirli bir sayının altına indiğinde ve yeniden düzenlenmesi gerektiğinde vurgulanır.

Yerleşik Workflow Designer ile daha etkin biçimde çalışma

Gereksinimlerinize özel iletişimleri otomatikleştirmek için koşulları ve eylemleri, görevlerle, listelerle ve belge kitaplıklarıyla ilişkilendirebilirsiniz. Örneğin, onaylanmak üzere siteye gönderilen otomatik yönlendirilen belgeler için bir iş akışı oluşturabilirsiniz. Workflow Designer’da, belgenin onaylanması veya reddedilmesini temel alan eylemler için veya alıcıların ofiste olmadığını ve sorumluluklarını bir iş arkadaşlarına devrettiklerini göz önünde bulundurarak onaylamanın yönlendirilmesini sağlayabilirsiniz.

SharePoint Uygulaması Şablonlarını Uygulama

Bilgileri daha iyi bir şekilde paylaşmak için Gider ve Rambursman İzleme ile Tatil Yönetimi gibi yerleşik uygulama Web sitelerini kullanabilirsiniz. Her şablon Office SharePoint Designer 2007 kullanılarak tamamen özelleştirilebilir veya genişletilebilir. (Ayrıca Bkz: bölümünde, Uygulama Web siteleriyle ilgili daha fazla örnekler için bağlantılar bulabilirsiniz. Bu uygulamalar, Microsoft Windows SharePoint Services 2.0 içindir. Microsoft Windows SharePoint Services 3.0 uygulamaları gelecekte piyasaya çıkacaktır.)

Etkileşimli ASP.NET sayfaları oluşturma

ASP.NET sayfaları oluşturabilirsiniz ve aynı etkinlik menüleri ile Microsoft Visual Studio 2005 gibi geliştirme araçlarında bulunan denetim özellik kılavuzunu kullanarak özel ASP.NET denetimleri ekleyebilirsiniz.

jQuery ile efekt vererek veri silmek

Artistlik web sitelerinde gördüğünüz efekt vererek silme işlemini 19 satırlık jQuery kodu ile burada olduğu gibi kolayca yapabilirsiniz.

Demosuna buradan bakabilirsiniz.

PHP veri silme kodumuz;

if(isset($_GET['delete'])){$query = 'DELETE FROM my_table WHERE item_id = '.(int)$_GET['delete'];$result = mysql_query($query,$link);}

PHP verileri listeleme kodumuz;

.$query = 'SELECT * FROM my_table ORDER BY title ASC';$result = mysql_query($query,$link);while($row = mysql_fetch_assoc($result)){echo '<div id="record-',$row['item_id'],'">
<a href="?delete=%27,$row%5B%27item_id%27%5D,%27" class="delete">Delete</a>
<strong>',$row['title'],'</strong>
</div>';
}

Ve jQuery kodumuz;

.$(document).ready(function() {
$('a.delete').click(function(e) {
e.preventDefault();
var parent = $(this).parent();
$.ajax({
type: 'get',
url: 'jquery-record-delete.php',
data: 'ajax=1&delete=' + parent.attr('id').replace('record-',''),
beforeSend: function() {
parent.animate({'backgroundColor':'#fb6c6c'},300);
},
success: function() {
parent.slideUp(300,function() {
parent.remove();
});
}
});
});
});

Bu kodları bir sayfada birleştirmeniz yeterli bunun yanı sıra jQuery dosyasınıda sayfaya dahil etmelisiniz.

jQuery dosyasını indirdikden sonra aşağıdaki html kodu ile dahil edebilirsiniz.

jQuery:Sayfa yenilenmeden AJAX ile veri eklemek

Başlıktan da anlayacağınız gibi bu yazımda bir form ile sayfa yenilenmeden veri eklemeyi görüceğiz. Veriyi eklemek için dil olarak PHP’yi kullanacağım fakat ASP’de kullansanız mantık aynı.

Öncelikle jQuery ile gelen ajax fonksiyonumuza bir göz atalım;

1.jQuery.ajax({
2.type: 'POST',//Bu kısım POST ve GET değerlerinden birini alabilir
3.url: 'veri_isle.php',//Verinin gönderileceği sayfa
4.data: 'veri=verimiz&amp;veri_iki=verimiz_iki',//Sorgu cümlesi
5.error:function(){ $('#yazdir').html("Bir hata algılandı."); }, //Hata alınırsa ekrana bastırılacak veri
6.success: function(veri) { $('#yazdir').html(veri);}//Başarılı olursa ekrana bastırılacak veri
7.});

Şimdi bu kod parçasını kullanarak basitçe verilerimizi veri_isle.php sayfamıza post ediceğiz.

1.<form id="veri-formu">
2.<input name="veri"/> - <input name="veri_iki"/>
3.<input type="button" onclick="gonder();" value="Gönder"/>
4.</form>
5.
6.<div id="yazdir"></div>

HTML formumuzu oluşturduk. Şimdide verilerimizi POST methodu ile gönderecek fonksiyonumuzu oluşturalım.

01.function gonder() {
02.jQuery.ajax({
03.type: 'POST',//Bu kısım POST ve GET değerlerinden birini alabilir
04.url: 'veri_isle.php',//Verinin gönderileceği sayfa
05.data: $('#veri-formu').serialize(),
06.error:function(){ $('#yazdir').html("Bir hata algılandı."); }, //Hata alınırsa ekrana bastırılacak veri
07.success: function(veri) { $('#yazdir').html(veri);}//Başarılı olursa ekrana bastırılacak veri
08.});
09.}

Şimdi burada değinmediğim bir nokta var data: ‘veri=verimiz&veri_iki=verimiz_iki’ bu gördüğünüz kısma tabikide sırayla giriş tanımlayıp daha sonra o girişleri veri yerine yerleştirmeyeceğiz daha kısa bir yolu var.

1.$('#veri-formu').serialize();

Gördüğünüz kod parçası sayesinde id değeri veri-formu olan formdan giriş (input) isimlerini ve değerlerini (value) okur sonuç olarak aşağıdaki gibi bir sorgu cümlesi oluşturur.

veri=veri isimli girişe(input) girilen veri&veri_iki=veri_iki isimli girişe(input) girilen veri

Şimdide veri_isle.php sayfamızı oluşturalım.

01.function database($host,$username,$password,$database_name,$set_name){
02.
03.mysql_connect($host,$username,$password) or die("Hata");
04.
05.mysql_select_db($database_name) or die("Hata");
06.
07.mysql_query("SET NAMES '".$set_name."'");
08.
09.}
10.
11.//Database fonksiyon bitti.
12.
13.database("localhost","root","1234","vt adı","latin5");
14.
15.//Veritabanıma bağlandım.
16.
17.$veri = mysql_real_escape_string($_POST["veri"]);
18.
19.$veri_iki = mysql_real_escape_string($_POST["veri_iki"]);
20.
21.//Get ile gelen verimi aldım. Fakat ' şeklindeki karakterleri etkisiz hale getirmesini istedim.
22.
23.$sql = "INSERT INTO tablonuz (veri,veri_iki) VALUES ('$veri','$veri_iki')" ;
24.@mysql_query($sql) or die("Hata algılandı");

Bu sayfada verilerimi post ile aldım ve veritabanıma ekledim. Şimdi sayfaların son hallerine bakalım;

index.php sayfamız;

01.<html>
02.<head>
03.<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
04.<title>jQuery:Sayfa yenilenmeden AJAX ile veri eklemek</title>
05.<script type="text/javascript" src="jquery-latest.js"></script>
06.<script type="text/javascript">
07.
08.function gonder() {
09.jQuery.ajax({
10.type: 'POST',//Bu kısım POST ve GET değerlerinden birini alabilir
11.url: 'veri_isle.php',//Verinin gönderileceği sayfa
12.data: $('#veri-formu').serialize(),
13.error:function(){ $('#yazdir').html("Bir hata algılandı."); }, //Hata alınırsa ekrana bastırılacak veri
14.success: function(veri) { $('#yazdir').html(veri);}//Başarılı olursa ekrana bastırılacak veri
15.});
16.}
17.
18.</script>
19.</head>
20.
21.<body>
22.
23.<form id="veri-formu">
24.<input name="veri"/> - <input name="veri_iki"/>
25.<input type="button" onclick="gonder();" value="Gönder"/>
26.</form>
27.
28.<div id="yazdir"></div>
29.
30.</body>
31.
32.</html>

veri_isle.php sayfamız;

01.function database($host,$username,$password,$database_name,$set_name){
02.
03.mysql_connect($host,$username,$password) or die("Hata");
04.
05.mysql_select_db($database_name) or die("Hata");
06.
07.mysql_query("SET NAMES '".$set_name."'");
08.
09.}
10.
11.//Database fonksiyon bitti.
12.
13.database("localhost","root","1234","vt adı","latin5");
14.
15.//Veritabanıma bağlandım.
16.
17.$veri = mysql_real_escape_string($_POST["veri"]);
18.
19.$veri_iki = mysql_real_escape_string($_POST["veri_iki"]);
20.
21.//Get ile gelen verimi aldım. Fakat ' şeklindeki karakterleri etkisiz hale getirmesini istedim.
22.
23.$sql = "INSERT INTO tablonuz (veri,veri_iki) VALUES ('$veri','$veri_iki')" ;
24.@mysql_query($sql) or die("Hata algılandı");

Asp.net’te Generic Handler ile Ajax İşlemleri

Bu yazımda Generic Handler ile Ajax işlemlerini nasıl yapacağımızı anlatmaya çalışacağım. Daha önce Asp.net ile Ajax işlemleri için birkaç farklı yöntem göstermiştim. Şimdi ise Generic Handler (.ashx) ile Ajax işlemleri gerçekleştireceğiz. Generic Handler, IHttpHandler sınıfını miras alan ve genelde HTTP üzerinden işlem yapan bir sınıf olarak açıklayabiliriz. Ajax işlemleri için bu sınıfı kullanacağız. Ancak diğer yöntemlere göre burada farklı bir durum var. Generic Handler ile Ajax işlemlerinde veri tipi yok. Diğer yöntemlerde veri tipi json idi. Şimdi Generic Handler ile Ajax işlemi için yapacağımız kodlamalara kısaca göz atalım.

Öncelikle yazacağımız Jquery ile Ajax metodu kodlarımıza bakalım.

  function al()
  {
    $("#load").show();
    $.ajax({
      type: "POST",
      url: "ajax.ashx",
      //data ile parametre belirleyebiliyoruz.
      //querystring mantığı diyebiliriz.
      data: "numara=5&isim=mehmet",
      success: function(msg){
        $("#load").hide();
        //dönen sonuç json tipinde olmadığı için
        //direk olarak alıyoruz ve kullanıyoruz.
        $("#sonuc").html(msg);
      }
    });
  }

Jquery kodlarımızda dikkat edeceğimiz nokta yapılan işlemlerde kullanılan veri tipi json olmadığı için data kısmında ve Ajax işlemi sonucunda elde edeceğimiz verileri alırken yapacağımız kodlamaya dikkat etmeliyiz.(Dönen veri json tipinde ise msg.d olarak, verinin tip yok ise direk olarak msg şeklinde alabiliyoruz.) Daha sonra ise istekte bulunacağımız Generic Handler dosyamızın kodlarına bakalım.

<%@ WebHandler Language="C#" Class="ajax" %>
using System;
using System.Web;
using System.Web.UI;
using System.Web.SessionState;
public class ajax : IHttpHandler
{
  public void ProcessRequest(HttpContext context)
  {
    System.Threading.Thread.Sleep(1000);
    context.Response.Write("Numara : " + context.Request["numara"]);
    context.Response.Write("  İsim : " + context.Request["isim"]);
    context.Response.Write("  " + DateTime.Now.ToString("HH:mm:ss"));
  }

  public bool IsReusable
  {
    get
    {
      return false;
    }
  }

}

Görüldüğü Generic Handler kodlarımız ise böyle. Örnek olması açısından basit birkaç işlem yaptım. Ajax metodunda data kısmında gönderdiğimiz parametre değerlerini aldım ve ayrıca zaman bilgisini yazdırdım. Ancak bu yöntem çok daha kullanışlı ve çok faydalı işlemler yapabiliriz. Mesela Ajax ile dosya upload etmek için bu yöntem kullanılabilir. Umarım bu konu ile ilgili çalışmalar yapar ve ne zamandır yapmak istediğim olayı da gerçekleştiririm.

Projelerimize Generic Handler (.ashx uzantılı) dosyası eklemek için projemizde Add New Item deyip Generic Handler sekmesini seçmeliyiz.