SharePoint 2010 Beta 버전은 아쉽게도 SharePoint 2010 RTM 버전으로 마이그레이션을 할 수 없습니다. Microsoft 에서도 이 버전의 Beta 를 RTM 으로 공식적으로 지원하지 않는다고 합니다.

저처럼 SharePoint 2010 Beta 버전이 Go-Live 로 알고 있었던 분이라면 좀 난감하겠네요, Beta 버전을 삭제하는 방법이 아마도 가장 빠른 방법일 겁니다. 하지만 인터넷을 찾아보시면 강제로 Beta to RTM 으로 마이그레이션 하는 방법이 있습니다. http://blogs.breezetraining.com.au/mickb/2010/04/23/UpgradingFromSharePoint2010Beta2ToRTM.aspx

하지만 필자는 위의 방법을 사용하지 않고 기존 SharePoint 2010 Beta 버전을 말끔하게 삭제하는 방법으로 RTM 버전을 설치하고자 합니다.

1. 기존의 SharePoint 2010 RC 버전을 프로그램 추가/제거에서 삭제합니다.

   

2. 레지스트리 편집기(regedit.exe) 를 실행하여, HKLM\Software\Microsoft\Shared Tools\Web Server Extensions 키를 삭제합니다.

   

3. C:\Program Files\Microsoft Office Servers 폴더를 삭제합니다.

   

4. C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions 폴더를 삭제합니다.

   

5. SQL Server 의 다음의 데이터베이스를 삭제합니다.

   

6. 모든 과정을 정상적으로 삭제 되었으면, SharePoint 2010 RTM 버전을 설치합니다.

Client Object Model – 정리

SharePoint 2010 2010. 5. 28. 09:00 Posted by 알 수 없는 사용자

Client Object Model에 대해서 다시 한번 정리를 해보도록 하겠습니다.

 

SharePoint 개체를 액세스 하기 위해서는 Microsoft.SharePoint.dll 이 있어야 하는데 원격 클라이언트에서는 Microsoft.SharePoint.dll 어셈블리를 접근하기 곤란합니다. SharePoint 2010에서는 Client Object Model을 제공해서 원격 클라이언트에서 손쉽게 SharePoint 데이터를 액세스할 수 있습니다.

 

아래 그림은 Client Object Model을 설명하면서 언급하는 그림인데 저는 먼저 코드를 나열하고 살펴봅니다.

Client Object Model을 사용할 수 있는 주된 이유는 아래 그림의 SharePoint 서버쪽의 Client.svc 때문입니다. Client.svc가 서버 개체 모델을 액세스해서 JSON 포맷으로 결과를 반환해주게 되며 클라이언트에서는 Proxy를 통해 손쉽게 액세스하게 됩니다.


 

 

앞에서 한번 살펴보았던 표를 다시 한번 정리 합니다.

SP 이름만 제외하면 서버, 클라이언트 개체 모델이 유사하다는 것을 기억 하시죠?

Server
(Microsoft
.SharePoint)

.NET Managed
(Microsoft.SharePoint
.Client)

Silverlight
(Microsoft.SharePoint
.Client.Silverlight)

JavaScript
(SP.js)

SPContext

ClientContext

ClientContext

ClientContext

SPSite

Site

Site

Site

SPWeb

Web

Web

Web

SPList

List

List

List

SPListItem

ListItem

ListItem

ListItem

SPField

Field

Field

Field

 

.NET Managed Client OM

-       Microsoft.SharePoint.Client.dll

-       Microsoft.SharePoint.Client.Runtime.dll

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI

 

Silverlight Client OM

-       Microsoft.SharePoint.Client.Silverlight.dll

-       Microsoft.SharePoint.Client.Silverlight.Runtime.dll

(C:\Program Files\Common Files\Microsoft Shared\
Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin)

 

JavaScript Client OM

<SharePoint:ScriptLink ID="ScriptLink1" Name="SP.js" runat="server" OnDemand="true"

    Localizable="false" />

 

 

아래 주소를 참고하시면 성능 향상 등의 더 높은 수준의 코드를 살펴보실 수 있습니다.

 

http://msdn.microsoft.com/en-us/library/ee857094(office.14).aspx


'SharePoint 2010' 카테고리의 다른 글

REST -.NET  (0) 2010.07.28
SharePoint 2010 개발환경 구축 가이드  (0) 2010.07.21
Client Object Model - Javascript(2)  (0) 2010.05.26
Client Object Model - Javascript(1)  (0) 2010.05.25
Client Object Model – Silverlight (2)  (0) 2010.05.19

Client Object Model - Javascript(2)

SharePoint 2010 2010. 5. 26. 00:09 Posted by 알 수 없는 사용자

이전 블로그에서는 javascript SharePoint 항목의 데이터를 추가하는 것을 알아보았는데 이번 블로그에서는 공지사항 목록을 생성하는 내용을 알아보겠습니다. 여기까지 Client Object Model을 살펴보시면 SharePoint Server Object Model의 내용을 그대로 원격 클라이언트 위에서도 사용이 가능하다는 것을 알 수 있습니다.

 

Visual Studio 2010을 이용해서 빈 SharePoint 프로젝트를 생성하여 Application Page를 추가합니다. 추가한 페이지에 아래와 같은 코드를 작성하고 결과를 확인해봅니다.

 

추가한 Application Page PageHead content 부분에 아래 내용을 추가합니다.

 

<SharePoint:ScriptLink ID="ScriptLink1" Name="SP.js" runat="server" OnDemand="true"

    Localizable="false" />

 

목록을 생성하는 자바 스크립트 코드를 바로 아래 부분에 추가합니다.

 

 

<script language="javascript" type="text/javascript">


function CreateList() {

        var clientContext = new SP.ClientContext.get_current();

        var site = clientContext.get_web();


       
//
공지사항 목록 생성

        var listCreationInfo = new SP.ListCreationInformation();

        listCreationInfo.set_title("HJ2");

        listCreationInfo.set_templateType(SP.ListTemplateType.announcements);

        listCreationInfo.set_quickLaunchOption(SP.QuickLaunchOptions.on);


        site.get_lists().add(listCreationInfo);


       
clientContext.executeQueryAsync(Function.createDelegate(this, this.onSucceeded)

        , Function.createDelegate(this, this.onFailed));

    }


function onSucceeded(sender, args) {

        alert("Succeeded");

    }


function onFailed(sender, args) {

        alert("Failed");

    }


     
</script>

 

 

목록을 생성하는 코드는 바로 아래 내용입니다. SP.ListCreationInformation을 이용해서 Title TemplateType, 빠른 실행 표시를 지정하고 있습니다.

var listCreationInfo = new SP.ListCreationInformation();

listCreationInfo.set_title("HJ2");

listCreationInfo.set_templateType(SP.ListTemplateType.announcements);

listCreationInfo.set_quickLaunchOption(SP.QuickLaunchOptions.on);

실제 생성된 내용을 적용하는 코드입니다.

site.get_lists().add(listCreationInfo);

 

서버 개체 모델에서 본 것과 거의 동일하다는 것을 알 수 있습니다.

 

Application Page Main content 부분에 아래 내용을 추가해서 CreateList() 를 호출합니다.


   
<input id="Button1" type="button" value="Create List"  onclick=" CreateList()" />

 

 솔루션 탐색기를 오른쪽 클릭하여 배포를 선택하고 해당 Application Page를 액세스 해서 결과를 확인합니다.


HJ2 라는 공지사항이 생성되어 있고 빠른 실행에 표시되는지 확인합니다.


이상으로 Client Object Model중에서 JavaScript 를 이용한 내용을 알아보았습니다.


Client Object Model - Javascript(1)

SharePoint 2010 2010. 5. 25. 09:00 Posted by 알 수 없는 사용자

이번 블로그는 SharePoint 2010의 데이터 기술 중에서 Client Object Model의 마지막 javascript에 대한 내용을 다루어 보겠습니다.

 

Javascript sp.js를 통해 SharePoint 개체를 접근할 수 있습니다.

SharePoint 2010 프로젝트를 통해 알아보도록 하겠습니다.

SharePoint 프로젝트를 생성하면서 프로젝트 이름을 아래와 같이 “javascriptOM”이라고 합니다.


SharePoint 2010 사이트 주소를 입력하고 Farm Solution 으로 지정합니다.


프로젝트에서 Application Page를 추가하도록 합니다. 솔루션 탐색기에서 오른쪽 클릭해서 추가, 새 항목을 클릭해서 Application Page를 선택하고 이름은 “ClientOM.aspx”라고 지정합니다.


생성된 Application page HTML 소스의 Main 부분에 아래와 같은 HTML 코드를 작성합니다.

<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">

<SharePoint:FormDigest ID="FormDigest1" runat="server"></SharePoint:FormDigest>

 

<table>

<tr>

<td>Title:</td>

<td><input id="txtTitle" type="text" /></td>

</tr>

<tr>

<td>Body:</td>

<td><input id="txtBody" type="text" /></td>

</tr>

<tr>

<td colspan="2">  

<input id="btnGo" type="button" value="Javascript Client OM" onclick="javascript:execOM();" />

</td>

</tr>

</table>

</asp:Content>

 

FormDigest SharePoint 데이터를 변경하려고 할 경우 보안의 유효성 검사를 위해 추가해야 합니다.

 

<asp:Content ID="PageHead" 바로 아래 부분에 도구 상자에서 SharePoint Controls 부분에서 ScriptLink를 드래그하고 아래와 같이 속성을 정의합니다.

 

<SharePoint:ScriptLink ID="ScriptLink1" Name="SP.js" runat="server" OnDemand="true"

    Localizable="false" />

 

SharePoint:ScriptLink  아래 부분에 버튼의 onClick 이벤트에 있는 javascript를 작성합니다.

SP.js를 통해 Client Object Model JavaScript를 통해 액세스하는데 HJ라는 공지사항에 항목을 생성하는 내용이며 아래 코드와 같습니다.

 

 

<script language="javascript" type="text/javascript">


   
function AddHJItem() {

        var context = new SP.ClientContext.get_current();

        this.site = context.get_web();

        context.load(this.site);


       
this.list = site.get_lists().getByTitle("HJ");

        context.load(this.list);


       
var listitemCI = new SP.ListItemCreationInformation();

        var item = list.addItem(listitemCI);

        item.set_item("Title", document.getElementById("txtTitle").value);

        item.set_item("Body", document.getElementById("txtBody").value);

        item.update();


       
context.executeQueryAsync(Function.createDelegate(this, this.Succeeded)

        , Function.createDelegate(this, this.Failed));

    }

    function Succeeded(sender, args) {

        alert("Succeeded");

    }

    function Failed(sender, args) {

        alert("Failed");

    }

</script>

 

 

 

프로젝트를 배포하고 웹 브라우저를 통해 액세스 해서 텍스트 박스에 값을 입력하고 버튼을 클릭합니다


HJ 공지 사항에서 보면 Javascript를 통해 SharePoint 2010의 공지 사항 항목이 생성된 것을 확인할 수 있습니다.


이상으로 javascript를 통한 SharePoint 2010의 목록을 추가하는 내용을 살펴보았습니다.

'SharePoint 2010' 카테고리의 다른 글

Client Object Model – 정리  (0) 2010.05.28
Client Object Model - Javascript(2)  (0) 2010.05.26
Client Object Model – Silverlight (2)  (0) 2010.05.19
Client Object Model – Silverlight (1)  (0) 2010.05.18
Client Object Model - .NET  (1) 2010.05.14

Client Object Model – Silverlight (2)

SharePoint 2010 2010. 5. 19. 09:00 Posted by 알 수 없는 사용자

앞에서 ExecuteQueryAsync 에 대한 내용과 Silverlight 웹 파트에 대한 내용을 알아보았는데 이번 블로그에서는 Silverlight Client Object Model또 다른 예를 살펴보도록 하겠습니다.

 

Silverlight 응용 프로그램을 생성하고 아래와 같이 디자인 합니다.

Silverlight Client Object Model 어셈블리를 참조 추가합니다.

ButtonClick 이벤트를 발생시키고 코드 보기에서 using 구문에 아래 코드를 작성합니다.

using Microsoft.SharePoint.Client;

 

생성자 위에 비동기적으로 UI 스레드를 처리하기 위해 아래 코드를 추가합니다. Dispatcher BeginInvoke 에서 사용되어야 합니다. ListInfo LoadQuery를 통해 List 개체를 담게 됩니다.

private delegate void UpdateUIMethod();

IEnumerable<List> listInfo;   

 

아래는 목록 정보를 액세스하는 코드입니다. Button Click 이벤트에 아래 코드를 통해 LoadQuery 메서드를 호출합니다.

ClientContext context = new ClientContext("http://sp.webtime.co.kr");


Web site = context.Web;

ListCollection collList = site.Lists;


context.Load(site, website => website.Title);

            listInfo = context.LoadQuery(

                collList.Include(

                    list => list.Title).Where(

                    list => list.OnQuickLaunch== true));


context.ExecuteQueryAsync(Succeeded, Failed);


빠른 실행에 표시되는 ListTitle을 담게 됩니다.

 

DisplayInfo 메서드에서 ListBox 컨트롤에 바인딩하는 코드입니다.

private void Succeeded(object sender, ClientRequestSucceededEventArgs e)

        {

            UpdateUIMethod updateUI = DisplayInfo;

            this.Dispatcher.BeginInvoke(updateUI);

        }


private
void DisplayInfo()

        {

       

            this.listBox1.DisplayMemberPath = "Title";

            this.listBox1.ItemsSource = listInfo.ToList();

        }


private
void Failed(object sender, ClientRequestFailedEventArgs e)

        {

            MessageBox.Show("Create Fail");

        }

 

 

 

 Xap 파일을 라이브러리에 업로드하고 Silverlight 웹 파트를 추가해서 경로를 지정합니다.

버튼을 클릭하면 빠른 실행에 있는 목록들의 Silverlight Client Object Model을 이용해서 알 수 있습니다.


SDK의 아래 주소를 참고하실 수 있습니다.

http://msdn.microsoft.com/en-us/library/ee538971(office.14).aspx

 

Silverlight Client Object Model을 알아보았고 다음 블로그에서 Javascript를 이용한 내용을 알아보도록 하겠습니다.

'SharePoint 2010' 카테고리의 다른 글

Client Object Model - Javascript(2)  (0) 2010.05.26
Client Object Model - Javascript(1)  (0) 2010.05.25
Client Object Model – Silverlight (1)  (0) 2010.05.18
Client Object Model - .NET  (1) 2010.05.14
SharePoint 2010 LINQ to SharePoint  (1) 2010.05.12

Client Object Model – Silverlight (1)

SharePoint 2010 2010. 5. 18. 09:00 Posted by 알 수 없는 사용자

앞에서 .NET Managed Client Object Model에 대한 내용을 알아보았습니다. 이번 블로그에서는Client Object Model(개체 모델) Silverlight을 이용해서 액세스해보도록 하겠습니다.

 

SharePoint 2010에서 Media 웹 파트, Silverlight 웹 파트가 기본적으로 제공이 되고 있어 웹 파트를 만들지 않아도 되고 그냥 콘텐트를 생성하면 됩니다.

Client OM을 액세스하기 전에 Silverlight 지원되는 내용을 먼저 알아보겠습니다.

 

1. 사이트 작업의 기타 옵션을 클릭해서 여러 목록이나 라이브러리를 생성할 수 있습니다. 클릭했을 때의 화면이 Silverlight 콘텐트입니다.


2. Silverlight 미디어 웹 파트를 제공해주고 있습니다. 또한 이미지 라이브러리에 동영상을 업로드해서 바로 재생하기가 가능합니다.


3. Silverlight 웹 파트를 제공하고 있습니다.


그 외 지원되는 내용도 있지만 생략하고 바로 Silverlight을 통해 Client OM을 액세스해보도록 하겠습니다.

본격적으로 Silverlight Client Object Model을 살펴보도록 하겠습니다.

Visual Studio 2010에서 Silverlight 응용 프로그램을 생성합니다.

프로젝트이름은 SilverlightClientOMDemo으로 지정했습니다. Silverlight 응용 프로그램의 디자인은 아래와 같이 TextBox 컨트롤 2개와 Button 컨트롤 1개로 구성되어 있습니다.


Client OM을 액세스하기 위해 아래 어셈블리를 참조 추가합니다.

Microsoft.SharePoint.Client.Silverlight.dll

Microsoft.SharePoint.Client.Silverlight.Runtime.dll

 

아래 경로에 어셈블리들이 위치해 있습니다.

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin

 

Using 구문에 다음과 같은 코드를 입력합니다.

using Microsoft.SharePoint.Client;

 

 

생성자 위에 비동기적으로 UI 스레드를 처리하기 위해 아래 코드를 추가합니다. Dispatcher BeginInvoke 에서 사용되어야 합니다.

private delegate void UpdateUIMethod();

 

 

Client OM Button Click 이벤트에서 아래와 같은 코드를 작성합니다.

ClientContext context = new ClientContext("http://sp.webtime.co.kr");

Web site = context.Web;


List list = context.Web.Lists.GetByTitle("HJ");


ListItem listitem = list.AddItem(new ListItemCreationInformation());

listitem["Title"] = this.txtTitle.Text;

listitem["Body"] = this.txtBody.Text; ;

listitem.Update();      


context.ExecuteQueryAsync(Succeeded, Failed);

 

맨 마지막 라인을 제외하면 .NET Managed Client Object Model가 동일합니다.

Succeeded, Failed 에 대한 메서드는 아래와 같이 정의합니다.

private void Succeeded(object sender, ClientRequestSucceededEventArgs e)

        {

            UpdateUIMethod updateUI = DisplayInfo;

            this.Dispatcher.BeginInvoke(updateUI);

        }


private
void DisplayInfo()

        {

            this.lblInfo.Text = "Success ";

        }


private
void Failed(object sender, ClientRequestFailedEventArgs e)

        {

            MessageBox.Show("Create Fail");

        }

 

Silverlight 응용 프로그램을 빌드하여 이상이 없으면 xap 파일을 SharePoint 2010 사이트의 문서 라이브러리로 업로드합니다. 14 폴더의 ClientBin 폴더에 배포할 수도 있습니다.

업로드하고 나서 xap 파일을 오른쪽 클릭하여 바로 가기를 복사합니다.


HJ
공지사항을 클릭하여 페이지 편집으로 Silverlight 웹 파트를 추가합니다.


Silverlight 웹 파트 대화 상자에서 이전에 복사했던 바로 가기를 붙여넣기 합니다.


페이지 편집을 중지하고 TextBox 에 값을 입력하고 버튼을 클릭합니다.


공지사항 내용 보기를 통해서도 확인이 가능합니다.


Silverlight Client Object Model을 액세스 해보았습니다. 비동기적으로 호출하는 것(ExecuteQueryAsync)만 유념하면 .NET Managed Client Object Model과 거의 동일합니다.

다음 블로그에서는 Silverlight Client Object Model의 다른 예(LoadQuery)를 알아보도록 하겠습니다.

Client Object Model - .NET

SharePoint 2010 2010. 5. 14. 09:00 Posted by 알 수 없는 사용자

이전 블로그에서 설명한 SharePoint 2010 데이터 기술 중에서 Client OM(개체 모델)에 대한 내용을 알아보도록 하겠습니다.

SharePoint 2010 데이터 기술에 대한 내용은 아래 주소를 참고하시기 바랍니다.

http://www.vsts2010.net/224

 

SharePoint 2010 박스 위가 아닌 원격에 떨어져 있을 경우 SharePoint 개체를 액세스하려면 웹 서비스를 통해 힘들게 해야 하지만 SharePoint 2010에서는 아주 손쉽게 접근할 수 있도록 Client OM을 제공해주고 있습니다. 생성할 수 있는 유형은 .NET, Silverlight, Javascript 를 통해 접근할 수 있습니다.

 

아래 표를 보시면 클래스와 메서드 등의 경우 서버 개체 모델과 거의 유사하게 구성되어 있습니다.

Server
(Microsoft
.SharePoint)

.NET Managed
(Microsoft.SharePoint
.Client)

Silverlight
(Microsoft.SharePoint
.Client.Silverlight)

JavaScript
(SP.js)

SPContext

ClientContext

ClientContext

ClientContext

SPSite

Site

Site

Site

SPWeb

Web

Web

Web

SPList

List

List

List

SPListItem

ListItem

ListItem

ListItem

SPField

Field

Field

Field

 

표에서 보듯이 SP 라는 글자가 없어지고 거의 동일하게 작업이 가능합니다. 하지만 일부는 변경되어 있습니다. 웹 서비스를 통해 CAML을 처리하지 않아도 API를 통해 정말 편하게 접근이 가능합니다.

 

먼저 .NET Client OM을 알아보도록 하겠습니다. 그리고 다음 블로그에서 Silverlight, Javascript를 알아보도록 하겠습니다.

 

Visual Studio 2010을 통해 WPF 응용 프로그램을 생성합니다. 이름은 WpfClientOMDemo라고 하겠습니다.

Button 컨트롤을 디자인 영역으로 드래그하고 Click 이벤트를 생성합니다.

.NET Managed Client OM을 이용하기 위해서는 아래 어셈블리를 참조해야 합니다.

Microsoft.SharePoint.Client.dll

Microsoft.SharePoint.Client.Runtime.dll

 

경로는 아래와 같습니다.

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI

코드보기로 이동하여 소스 코드에 아래 using 구문을 추가합니다.

using Microsoft.SharePoint.Client;

using SP=Microsoft.SharePoint.Client;

 

InitializeComponent() 아래 부분에 다음과 같은 코드를 입력하고 프로젝트 속성에서

.NET Framework 4.0 Client Profile .NET Framework 4.0으로 변경하고 실행해봅니다.

x86은 그대로 두고 진행하면 됩니다.

ClientContext context = new ClientContext("http://sp.webtime.co.kr");

Web site = context.Web;


context.Load(site);

context.ExecuteQuery();

site.Title = site.Title + " Client OM";

site.Update();

context.ExecuteQuery();


위 코드는 SP 라는 이름이 붙어있다면 서버 개체 모델과 동일하다는 것을 알 수 있습니다.

 

결과는 아래처럼 “Home Client OM”으로 변경되어 있습니다.


디자인 보기로 이동하여 ListBox 컨트롤을 드래그합니다.

코드 보기에서 위에서 작성한 코드는 주석처리하고 아래와 같은 코드를 입력합니다.

아래 코드는 목록들의 이름을 리스트박스에 추가해서 나타내는 내용입니다.

 

ClientContext context = new ClientContext("http://sp.webtime.co.kr");

Web site = context.Web;


ListCollection
lists = site.Lists;

IEnumerable<Microsoft.SharePoint.Client.List> listcollection =

context.LoadQuery(lists.Include(l => l.Title, l => l.Id));

context.ExecuteQuery();


listbox1.ItemsSource = listcollection;

listbox1.DisplayMemberPath = "Title";

 

 

결과는 다음과 같습니다.



작성한 코드는 주석처리하고 아래와 같은 코드를 입력합니다.

아래 코드는 사이트에 HJ 라는 공지사항을 생성하고 빠른 실행에 표시해주는 코드입니다. 이런 내용을 서버 개체 모델로 하는 것이 아니라 클라이언트 개체 모델로 해주고 있습니다.

ClientContext context = new ClientContext("http://sp.webtime.co.kr");

Web site = context.Web;


ListCreationInformation listCI = new ListCreationInformation();

listCI.Title = "HJ";

listCI.TemplateType = (int)SP.ListTemplateType.Announcements;

listCI.QuickLaunchOption = SP.QuickLaunchOptions.On;


SP.List li = site.Lists.Add(listCI);

site.Update();

 



위에서 생성한 HJ라는 공지사항에 항목을 입력해보겠습니다. 작성된 코드를 주석처리하고

HJ를 찾아서 ListItem을 생성하는 코드를 아래와 같이 작성합니다. ListItemCreationInformation 이라는 클래스를 이용합니다.

 

ClientContext context = new ClientContext("http://sp.webtime.co.kr");

Web site = context.Web;


SP.List li = site.Lists.GetByTitle("HJ");

            ListItemCreationInformation listitemCI = new ListItemCreationInformation();

SP.ListItem item = li.AddItem(listitemCI);


item["Title"] = "hongju";

item["Body"] = "Consulting Services";

item.Update();

context.ExecuteQuery();

 

HJ 라는 공지 사항에 항목이 하나 추가되어 있는 것을 아래 그림과 같이 확인이 가능합니다.




위에서 Client Object Model에 대한 개요와 .NET Managed Client Object Model에 대한 내용을 알아보았습니다. 서버 개체 모델은 서버 박스 위에서 실행되는 웹 파트나 유틸리티를 통해 처리되지만 원격의 클라이언트에서 실행되도록 하려면 SharePoint 2010에서는 Client OM을 사용할 수 있습니다. 다음 블로그에서 Silverlight Client Object Model 을 알아보도록 하겠습니다.



 

SharePoint 2010 LINQ to SharePoint

SharePoint 2010 2010. 5. 12. 09:00 Posted by 알 수 없는 사용자

이번 세션에서는 SharePoint 2010 Server Object Model 중에서 새롭게 등장한 LINQ to SharePoint 를 알아보도록 하겠습니다. 서버 개체 모델이므로 웹 파트 등 서버박스 위에서 실행됩니다.

 

LINQ 에 대한 내용은 잘 알고 계실 것이므로 구체적으로 언급하지 않아도 될 듯 하구요.
SharePoint
에서는 2010 버전에서 SharePoint 개체에 대한 LINQ를 사용할 수 있습니다
.
LINQ to SharePoint
SPLinq 라고도 부릅니다.

 

LINQ to SharePoint 가 별거 아니라고 볼 수도 있지만 CAML을 가지고 작업하는 것 보다는 생산성이
백만 배 향상되었다고 개인적으로 생각합니다.

 

CAML SPQuery 라는 클래스의 Query 라는 속성에 미리 정의되어 있는 XML 태그를 사용합니다.

간단한 예를 보시면 아래와 같습니다.

 

query.Query =@ "<Where>

                  <And>

                    <Eq><FieldRef Name=Title/><Value Type='Text'>”+

                      title +

                    "</Value></Eq>

                    <And>

                     </Where>";

 

위의 구문은 조건식이 하나로 Title이라는 필드의 값이 일치하는 것만 필터링하는 내용입니다. 위 구문 정도야 그냥 쓰면 되지 라고 하실 수 있지만 조건식이 AND, OR 가 여러 개 처리된다거나 다른 목록과 조인을 한다거나 요구사항이 조금만 복잡해지면 만들기 정말 복잡합니다. 에러는 발생하지 않는데 CAML이 틀려 값이 나오지 않으면 원인 해결에도 시간이 상당히 걸립니다.

 

그래서 SharePoint 2010에서는 SPLinq를 통해서 생산성을 높여주고 있습니다.

SPLinq를 사용하기 위해서는 먼저 SharePoint 개체 모델에 대한 Entity 클래스가 생성되어야 합니다. 그리고 나면 Entity 클래스를 이용해서 LINQ 구문을 작성하면 됩니다.

 

아래로 이동해서 “SPMETAL.EXE” 를 실행하면 됩니다. /? 로 도움말을 확인하실 수 있습니다.

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN


SPMETAL Entity 클래스를 생성해주는 유틸리티이며 사이트 컬렉션 주소를 주면 해당 개체에 대한 프록시 클래스 형태를 제공해줍니다.

  

제가 적용할 시나리오는 아래와 같습니다.

아래처럼 공지사항이 있는데 SharePoint 라는 말이 제목에 있는 항목들만 필터링한 결과를 SPLinq를 통해 액세스해보도록 하겠습니다.


웹 파트를 만들거나 서버 박스 위에서 실행되는 유틸리티를 통해서 접근할 수 있습니다. 먼저 EXE를 통해 액세스 해봅니다.

 

Visual Studio 2010을 이용하여 WPF 응용 프로그램을 하나 생성합니다. 이름은 WpfSPLinqDemo 라고 하겠습니다.

 

이제 Entity 클래스를 생성해보도록 하겠습니다.


HJ 라는 클래스를 프로젝트에 추가해서 LINQ를 통해 액세스 하면 됩니다.

HJ 클래스를 살펴보면 SharePoint 목록에 대한 클래스와 속성을 가지고 있는 것을 알 수 있습니다.



위에서 보시는 것처럼 한글 SharePoint 를 액세스하면 클래스와 속성 이름이 한글로 나타나는 측면이 있으며 C# 코드에서도 한글로 클래스를 정의해야 한다는 것이 좀 이상해집니다. ~

 

이제 LINQ to SharePoint 코드를 작성해서 결과를 확인합니다.

WPF ListBox 컨트롤에 LINQ 결과를 바인딩해서 표시해줄 수 있습니다.


결과는 아래와 같습니다.



웹파트에 SPLinq를 적용한 결과는 아래와 같습니다.

SPLinq를 알아보았는데 실행시에는 CAML로 변경되어 처리가 됩니다. 개발자들이 직접 CAML을 작성하는 것보다는 SPLinq를 통해 생산성이 향상되는 내용을 알아보았습니다.


 

Visual Studio 2010 출시에 따른 SharePoint Developer Tools

SharePoint 2010 2010. 4. 14. 09:00 Posted by 알 수 없는 사용자

결론은 그다지 큰 변화는 없습니다. (VS 2010, SharePoint 2010 RC 한글로 테스트했습니다.)

 

프로젝트 템플릿이 추가될 예정이지만 출시 버전에는 예전과 동일합니다. 이전 버전의 화면은 생략하겠습니다.


프로젝트 항목들도 크게 바뀐 것은 없지만 Workflow Association Form, Workflow Initiation Form이 빠져버렸습니다. 좀 지켜봐야 할 것 같습니다.


일반 웹 파트 소스 코드는 기존에는 클래스의 생성자와 CreateChildControls, RenderContents 메서드가 있었고 base 메서드를 호출해주었는데 출시 버전에서는 달랑 CreateChildControls 메서드만 아래 그림처럼 제공해줍니다.



SharePoint Explorer 의 모습도 변화 없다는 것을 확인할 수 있습니다.

RC 버전에서 본격적으로 준비를 해야 하지 않나 생각됩니다.

 출시도 되었으니 계속 블로깅 하도록 하겠습니다.






 

'SharePoint 2010' 카테고리의 다른 글

Client Object Model - .NET  (1) 2010.05.14
SharePoint 2010 LINQ to SharePoint  (1) 2010.05.12
SharePoint 2010 Server Object Model  (0) 2010.02.12
SharePoint 2010 데이터 기술  (0) 2010.02.11
SharePoint 2010 Event Receiver  (0) 2010.02.10

SharePoint 2010 Server Object Model

SharePoint 2010 2010. 2. 12. 09:00 Posted by 알 수 없는 사용자

SharePoint의 여러 어셈블리를 직접 호출하는 경우로 웹 파트와 관리자 유틸리티, 이벤트 등에서 사용이 가능합니다. 참조할 수 있는 부분은 SDK MSDN을 참고해 볼 수 있습니다.

 

이번 시간에서는 이전 버전에서도 살펴본 SPSite, SPWeb, SPList, SPListItem 등에 대한 내용을 서버 머신에서 돌아가는 WPF 응용 프로그램에서 액세스 해봅니다.

 

WPF 응용 프로그램을 생성합니다. 프로젝트 이름은 ServerOMWPF 라고 생성합니다.


지금은 대상 프레임워크가 4.0으로 되어 있습니다. 리스트 박스와 버튼을 추가해서 사이트의 목록이름을 리스트박스에 표시되게 해봅니다. 디자인 화면은 아래와 같습니다.



프로젝트에 Microsoft.SharePoint.dll

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI 밑에서 참조 추가합니다.


Get Item 버튼을 클릭해서 아래와 같이 코드를 작성합니다.
아래 코드는 SharePoint 사이트의 목록들의 이름을 리스트 박스에 추가하는 내용입니다.

프로젝트를 빌드하면 에러 나는 것을 알 수 있습니다. 특별한 코드가 아닌데도..,

서버 머신위에서 구동하는 Server Object Model의 응용 프로그램은 .NET Framework 3.5에서 구동되면서 X64, Any CPU로 설정되어야만 합니다. 그래서 에러를 만나게 됩니다.

Web Part, Visual Web Part 등은 별도 수정하지 않아도 됩니다.



프로젝트 속성에서 Application 메뉴에서 Target Framework3.5로 지정합니다.



Build 메뉴에서 Plaform Target“Any CPU”로 설정합니다.



프로젝트를 빌드하고 실행해봅니다. 그러면  Server Object Model을 이용한 간단한 WPF 프로그램의 결과를 아래와 같이 확인이 가능합니다.

 

 

 

개체 모델은 SDK MSDN을 참조할 수 있으며 다음 블로그에서 계속 알아보겠으며 위에서 간단하게 Server Object Model을 액세스하는 예와 실행하는 방법을 알아보았습니다.

 

SharePoint 2010 데이터 기술

SharePoint 2010 2010. 2. 11. 09:05 Posted by 알 수 없는 사용자

이전 버전에서는 SharePoint 관련 개체와 데이터를 액세스하는 것은 서버 측면에서는 SharePoint Server Object Model CAML 을 사용하고 원격 클라이언트에서는 SharePoint Web Service를 이용했습니다. SharePoint Web Service CAML 의 사용이 쉽지 않았고 개발하기가 불편했습니다.

 

SharePoint 2010에서는 아래 그림처럼 클라이언트 측면에서 Client Object Model 을 제공하고 있으며 REST 기반의 액세스가 가능합니다. 서버 측면에서는 CAML 대신 LINQ를 사용할 수 있게 되었습니다.



이전 버전과 비교해서 생산성이나 접근할 수 있는 부분이 다양해서 아주 유용하게 사용할 수 있습니다.

 

Server Object Model을 알아보면 SharePoint 머신 위에서 구동되는 웹 파트, 이벤트, 관리자 프로그램, 배치 프로그램 등이며 SharePoint 어셈블리를 직접 호출할 수 있다는 것이 Server OM입니다.

 

LINQ는 목록의 수 많은 항목 중에서 조건에 맞는 항목을 가져오고 원하는 정렬을 시키려고 하면 CAML이라는 XML을 직접 구성하고 SPQuery 라는 클래스를 통해 넘겨주어야 했습니다. 그래서 별도로 SharePoint MVP가 만든 CAML Builder 라는 도구가 유용하게 사용되었습니다. 2010 환경에서도 CAML은 사용이 가능합니다만 LINQ는 알고 있는 것처럼 쿼리 식으로 개체를 데이터처럼 액세스 할 수 있습니다. 웹 파트 등에 사용하면 아주 유용하다는 생각이 팍 드실 겁니다.

 

Client OM은 서버 머신 위가 아닌 원격 클라이언트에서 동작되는데 SharePoint 개체나 데이터를 원격 클라이언트에서 접근할 수 있다는 것입니다.

생성할 수 있는 유형은 .NET, Silverlight, Javascript 를 통해 접근할 수 있습니다. SharePoint 2010에서는 Silverlight 환경이 기본적으로 구비되어 있으며 Silverlight 웹 파트도 기본적으로 생성되어 있습니다. Client OM을 사용할 수 있는 내용으로 Silverlight 웹 파트를 생성해서 접근할 수 있습니다.

 

REST 기반 API 는 기존 웹 서비스보다 더 간단하게 사용이 가능하며 개체로 접근을 손쉽게 할 수 있습니다. ADO.NET Data Services 를 이용해서도 SharePoint 개체와 데이터를 액세스 할 수 있습니다.

 

 

SharePoint 2010 데이터 기술을 알아보았고 다음 블로그부터 하나씩 구체적으로 알아보도록 하겠씁니다.

SharePoint 2010 Event Receiver

SharePoint 2010 2010. 2. 10. 09:00 Posted by 알 수 없는 사용자

항목을 추가하고 삭제하는 경우 이벤트 코드를 작성해야 할 필요가 있습니다. 이전 버전에서도 마찬가지로 클래스를 상속하여 Feature Object Model을 통해 작업을 했지만 수작업이 필요했습니다. Visual Studio 2010을 통해 새로워진 Event Receiver에 대한 부분을 이번 시간에 알아 보도록 하겠습니다.

 

HJ 라는 공지 사항이 있습니다. 간단히 삭제가 안되게 Event 코드를 작성해봅니다.

Visual Studio 2010 SharePoint 프로젝트중 Empty 프로젝트를 생성합니다. 이름은 EventDemo라고 합니다.

EventDemo 프로젝트를 오른쪽 클릭하여 새 항목을 하나 추가합니다. 새 항목은 아래와 같이 Event Receiver를 선택합니다.


Name
은 기본값을 그대로 하고 Add를 선택합니다. 그럼 해당 사이트에 연결하여 어떤 이벤트로 할 것인지와 어떤 목록인지, 어떤 이벤트 인지를 그래픽적으로 선택하게 됩니다.



이벤트 종류는 단순 List Item Event 뿐만 아니라 여러 가지가 나와 있습니다.


List Item Events
Announcements를 선택하고 “A item is being deleted”를 선택합니다.


마침을 선택하면 Feature가 생성되는 것을 확인 할 수 있습니다.

Feature의 활성, 비활성 이벤트를 어떻게 만드냐 하면 Feature1을 오른쪽 클릭하면 아래와 같이 Add Event Receiver를 볼 수 있습니다. 여기서 생성은 하지 않습니다.



EventReceiver1 폴더 아래의 Elements.xml을 살펴봅니다. 다 제대로 구성된 것을 확인할 수 있습니다. (이제부터는 특정 공지사항에만 이벤트를 적용시킬 수 있습니다. ^^)



마침을 선택했을 때의 코드는 아래와 같이 생성되어 있습니다. Deleting만 선택했기 때문에 이벤트 메서드는 하나만 생성되어 있습니다.



간단히 코딩을 해서 HJ 라는 공지사항에 글을 삭제하지 못하도록 해봅니다.



위의 코딩은 이전 버전의 스타일이며 2010에서는 추가로 뒤에서 다룰 Dialog Framework 으로 에러 핸들링을 할 수 있습니다.

 

EventDemo 프로젝트를 오른쪽 클릭하여 Deploy를 선택하고 완료 후 HJ 공지사항의 항목을 새로 추가합니다. 그러면 아래와 같이 결과 페이지를 확인할 수 있습니다.



Visual Studio 2010에서 만든 Event Receiver가 잘 동작되는 것을 확인했으며 Visual Studio 2010을이용해서 보다 더 생산성 있게 작업이 가능하다는 것을 알 수 있습니다.

 

'SharePoint 2010' 카테고리의 다른 글

SharePoint 2010 Server Object Model  (0) 2010.02.12
SharePoint 2010 데이터 기술  (0) 2010.02.11
SharePoint 2010 Feature  (0) 2010.02.09
SharePoint 2010 Visual Web Part  (0) 2010.01.21
SharePoint 2010 Web Part 생성  (0) 2010.01.19

SharePoint 2010 Feature

SharePoint 2010 2010. 2. 9. 09:05 Posted by 알 수 없는 사용자

앞의 블로그에서 Web Part에 대한 내용을 살펴보았는데 솔루션 탐색기에 보면 Feature 폴더가 생겨 있는 것을 알 수 있습니다. 그리고 Web Part 폴더 항목을 보면 Elements.xml 파일이 있는 것도 알 수 있습니다.

실제로 2007 버전부터 Feature가 사용되었으며 개발자들이 생성할 경우는 수작업을 해주어야만 했습니다. 2010에서는 수작업이 많이 줄어든 모습을 알아보도록 하겠습니다.

 

이번 시간에는 xml 파일에 속성을 추가해보고 Feature Designer를 살펴보도록 하겠습니다.

Visual Studio 2010 SharePoint 프로젝트의 Visual Web Part를 이용해서 Feature Designer를 알아봅니다.

프로젝트 이름을 FeatureDemo Empty 프로젝트를 생성하면 아래와 같이 솔루션 탐색기를 살펴볼 수 있습니다. Empty 프로젝트라 Features 폴더 밑에는 아직 아무것도 없습니다.


Visual Web Part 항목을 하나 추가합니다. 그러면 솔루션 탐색기는 아래 그림과 같이 변경됩니다.



Feature1
을 오른쪽 클릭해서 이름을 VisualWPFeature로 변경합니다. VisualWPFeature을 오른쪽 클릭하면 View Designer를 메뉴를 클릭 해 볼 수 있습니다.



Title
에 해당하는 제목을 FeatureDemo 라고 변경합니다. 설명에는 간단한 설명을 나열합니다. Scope는 사이트 컬렉션 또는 웹 등에서 보여주는 범위를 지정할 수 있습니다. 여기서는 Site로 지정합니다. 왼쪽에는 Package Explorer 가 나와 있습니다.

 

 

자 그럼 다른 쪽의 Feature 관련 내용을 알아봅니다. 솔루션 탐색기의 FeatureDemo 프로젝트를 오른쪽 클릭하고 속성을 선택하면 왼쪽에서 SharePoint 메뉴를 확인 가능합니다.




아래쪽 Edit Configuration에서 보면 Default, No Activation을 볼 수 있으며 Default를 선택하고 View 버튼을 클릭해봅니다.



배포 단계를 알 수 있으며 Activate Features 내용을 확인할 수 있습니다. No Activation은 배포후비활성화로 활성화 옵션이 없다는 것을 알 수 있습니다. 여기서는 Active Deployment Configuration에서 No Activation을 선택합니다.

 

FeatureDemo 프로젝트를 오른쪽 클릭하고 Deploy를 선택합니다. 배포가 완료되고 나면

Output 창에서 아래와 같은 배포 단계 결과를 확인할 수 있습니다. 현재 Feature는 비활성화 되어있기 때문에 단계에서 누락되어 있다는 것을 확인 가능합니다.



해당 사이트로 이동해서 사이트 설정의 사이트 컬렉션 기능으로 이동해보면 비활성화되어 있는 것을 아래와 같이 확인 가능합니다.



간단히 Feature Event Handler, Web Part 등의 작업시 이전 버전과는 수작업이 많이 필요 없다는 것을 살펴보았습니다. 앞으로 계속 보시게 될 겁니다.


SharePoint 2010 Visual Web Part

SharePoint 2010 2010. 1. 21. 09:00 Posted by 알 수 없는 사용자

Visual Studio 2010에서 새롭게 제공되는 Visual Web Part를 생성해서 배포, 테스트하는 예를 알아보도록 하겠습니다.

이전버전의 웹 파트는 디자인하기가 시간이 걸리는 작업이며 AJAX 기능을 구현하려고 해도 설정과 코딩이 필요합니다. 하지만 Visual Studio 2010에서 Visual Web Part를 이용하면 얼마나 쉽게 생성할 수 있는지 알아보겠습니다.

Visual Studio 2010에서 프로젝트를 생성하면서 Empty SharePoint Project에서 새 항목을 추가하면서 Visual Web Part를 추가해도 되고 별도로 Visual Web Part 프로젝트를 통해서 생성해 됩니다.

 

Empty SharePoint Project는 해보았으니 새롭게 Visual Web Part 를 구성해보겠습니다.

프로젝트 이름은 VisualWPDemo 라고 하고 OK을 선택합니다.


SharePoint Customization Wizard에서는 OK를 선택합니다.

생성된 프로젝트의 솔루션 탐색기를 보면 새 항목으로 Visual Web Part 항목이 추가된 것을 알 수 있습니다. Visual Web Part에서는 Web Part와 항목이 동일한데 ascx ascx.cs가 들어가 있는 것을 확인할 수 있습니다.


그리고 VisualWebPart1.cs에서는 ascx 컨트롤을 CreateChildControls에서 로딩하는 것을 아래 그림에서 알 수 있습니다.


개발자들이 ascx에서 데이터바인딩과 디자인, AJAX 등에 대한 구현을 하면 일반 웹 파트와 동일하게 사용자 정의 컨트롤(ascx) Controls에 추가되어 처리됩니다.

 

자 그럼 데이터 바인딩과 AJAX를 가미해서 배포해보도록 하겠습니다.

AJAX 웹 파트를 위한 복잡한 web.config 구성 작업은 필요 없습니다.

디자인은 아래 그림에서처럼 AJAX UpdatePanel 안에 DropDownList GridView를 배치하고 GridView는 디자인을 적용했습니다.



ascx.cs
코딩은 생략하겠습니다. 일반적인 ADO.NET 이라..,

 

결과는 아래와 같습니다. 간단하게 AJAX 기능과 컨트롤의 디자인을 적용된 것을 확인 할 수 있습니다.


SharePoint 2010 개발 중에서 Visual Web Part에 대한 내용을 알아보았습니다.

일반 웹 파트 개발과 병행해서 사용하면 좋을 듯 합니다.

SharePoint 2010 Web Part 생성

SharePoint 2010 2010. 1. 19. 09:00 Posted by 알 수 없는 사용자

이전 블로그에서는 개발 환경 테스트 개념으로 간단한 Web Part를 생성해보았는데

여기서는 데이터베이스 연동과 여러 기능을 붙여 좀더 구체적으로 Web Part를 생성해보겠습니다.

 

말씀드릴 내용은 MOSS 2007에서 했던 내용과 동일한 내용입니다. Hello World는 너무 간단하여 데이터베이스 연동과 속성 노출 등을 구성해봅니다.

다음 블로그에서는 VS 2010에서의 SharePoint 지원 내용으로 Visual Web Part AJAX를 가미해서 보다 더 쉽고 강력하게 개발하는 내용을 다뤄보겠습니다.

 

완성된 모습은 아래와 같습니다. 텍스트 상자에 카테고리 ID를 입력하고 버튼을 누르면 해당 제품 이름과 가격 리스트가 표시되며 속성을 노출해서 카테고리 ID 기본값을 입력할 수 있습니다.


새로운 프로젝트를 생성합니다. SharePoint Empty 프로젝트를 선택하고 이름은 SP10WP 라고 지정합니다.



SharePoint Customization Wizard에서는 http://sp10:8090으로 선택합니다.



솔루션 탐색기에서 추가 > 새 항목> 웹 파트를 새로 추가합니다. 이름은 ProductsWP라고 합니다.


생성된 웹 파트 항목의 솔루션 탐색기 구조는 아래처럼 구성되어 있습니다.


Feature Package가 포함되어 있으며 디자이너를 통해 편집이 가능하며 향후 구체적으로 다루어 보겠습니다.

ProductsWP 폴더는 Elements.xml ProductsWP.cs, ProductsWP.webpart로 구성되어 있습니다.

Elements.xml Feature의 구체적인 파일로서 웹 파트 위치나 URL 등을 지정할 수 있습니다.

ProductsWP.webpart는 웹 파트의 메타데이터를 나타내는 파일입니다.

ProductsWP.cs 는 코딩으로 컨트롤과 데이터바인딩, 속성 등을 정의하는 파일입니다.

 

코드에서는 구체적으로 보지 말고 RenderContents, OnLoad 메서드만 보도록 하겠습니다.

해당 메서드에서는 화면에 입력 폼을 구성하고 데이터베이스 연동하여 데이터 바인딩을 해주는 내용입니다.


OnLoad 에서 컨트롤을 생성해주는 내용입니다. Web Part 항목에서는 디자이너를 제공하지 않아 직접 아래와 같이 생성해야 합니다.

속성 노출에 대한 내용은 아래와 같습니다.



위의 실제 결과는 아래 그림과 같습니다.



Hello World
보다 좀 더 발전된 웹 파트를 VS 2010 환경하에서 생성하고 테스트해보았습니다. 코드가 상당히 손이 많이 가고 디자인하기 좀 곤란한 측면이 있습니다. 하지만 어떤 경우에서는 위와 같이 생성해야 할 듯 합니다. 다음에 다룰 내용은 Visual Web Part AJAX로 더 손쉽고 강력하며 디자인이 지원되는 모습을 알아보도록 하겠습니다.


개발 환경이 제대로 구성되었는지를 확인하면서 가장 기본 웹 파트를 생성해서 배포하는 방법을 알아보도록 하겠습니다.

 

1.     SharePoint 프로젝트 템플릿 중에서 맨 위의 Empty SharePoint Project를 선택하고 Name Hello 로 입력 합니다.



위와 같은 프로젝트 템플릿은 SharePoint 2010 없이 Visual Studio 2010 만 설치해도 볼 수 있지만 SharePoint 개발 환경 위에서가 아니면 아래와 같은 메시지를 볼 수 있습니다.



2.     SharePoint 사이트를 입력하고 “Deploy as a farm solution” 을 선택합니다.


3.     잠시 후 Solution Explorer를 확인할 수 있으며 빈 솔루션이므로 새 항목 추가에서 Web Part를 선택하고 이름은 “HJ” 라고 입력 합니다.


4.     생성된 웹 파트에 대한 Solution Explorer 모습은 아래 그림과 같습니다.


5. 이제 코드 창에서 간단한 코드를 작성해봅니다
HJ.cs
코드에 이미 생성되어 있는 CreateChildControls 메서드에 아래와 같은 코드를 입력합니다.   단순 Hello World 라는 글자를 표시해주는 코드 입니다.


6.     작성이 완료되었다면 Solution Explorer 에서 Hello를 오른쪽 클릭하여 배포(Deploy)를 선택합니다. 2번 단계에서 선택한 Farm Solution으로 배포됩니다.

 

7. 배포되었는지 확인하기 위해 SharePoint 사이트를 열어 웹 파트를 추가해봅니다. 알고 계시다시피 SharePoint 2010 사이트는 리본으로 구성되어 있으며 사이트의 첫 페이지에서 Page 탭에서 Edit를 선택합니다. 그럼 아래 그림과 같이 Insert 탭에서 Web Part를 선택할 수 있습니다.


8.     Web Part 추가를 선택하면 별도 설정 하지 않았기 때문에 Custom HJ 라는 웹 파트를 아래 그림에서 확인할 수 있습니다. Add 를 선택해서 웹 파트를 추가합니다.



9.     이전 버전과 달리 웹 파트 영역에 대한 부분은 안보이고 기존 콘텐트 부분에 추가할 수 있습니다. Page 탭을 선택하고 Save 메뉴를 눌러 편집에서 빠져 나옵니다.

그럼 아래 그림과 같이 웹 파트가 추가되어 있는 것을 알 수 있습니다.



개발 환경이 완료되었는지 확인하기 위해 이번 버전과 유사하게 웹 파트를 생성하고 배포, 확인해보았습니다.

 

VS 2010 프로젝트 템플릿에서 보듯이 여러 템플릿을 이용해서 SharePoint 2010을 개발할 수 있습니다.


 

SharePoint 2010 개발 환경 구성

SharePoint 2010 2010. 1. 11. 08:30 Posted by 알 수 없는 사용자

SharePoint 2010 개발을 하기 위해 SharePoint 2010, Visual Studio 2010를 설치해서 개발 환경을 구성해보도록 하겠습니다. 구체적인 화면 하나하나는 생략하고 간단하게 개발 환경 구성을 정리했습니다.

 

1.     Windows 2008 R2 64비트 설치합니다.

2.     Windows 2008 R2 64비트 역할을 아래와 같이 추가합니다.

가.   웹 서버 역할

 

나.   .NET Framework 3.5 SP1

3.     Litwareinc.com 으로 Active Directory를 구성합니다.

4.     SQL Server 2008 R2를 설치합니다. R2를 설치하는 이유는 PowerPivot등을 테스트하기 위해서 위해서입니다.

 

5.     SharePoint 2010 설치 미디어를 실행합니다.



6. Software prerequisites
설치합니다. 인터넷으로 다운로드 받기 때문에 인터넷이 연결되어야 합니다.


7.    
SharePoint Server를 설치합니다.

  가.   SharePoint Server 설치 시작

  나.   Server Farm 선택


다.  
Configuration 마법사


   라.   중앙 관리 사이트에서 Farm 구성


  마.   SharePoint 사이트 생성


몇몇 구성은 아직 하지 않았지만 이상으로 SharePoint 2010 설치가 완료되었습니다.

 

8.     Office 2010을 설치합니다.

9.     Visual Studio 2010 설치하여 새 프로젝트에서 SharePoint 를 클릭해서 보시면 아래와 같은 화면을 보실 수 있습니다



다음 블로그에서 간단한 웹 파트를 생성해서 개발 환경 구성이 완료되었는지 확인해보도록 하겠습니다.

SharePoint 2010 Overview

SharePoint 2010 2010. 1. 6. 08:30 Posted by 알 수 없는 사용자

현재 SharePoint 관련 제품은 MOSS 2007, WSS 3.0을 사용하고 있으며 SharePoint 2010 버전은 Beta(http://sharepoint2010.microsoft.com)를 다운로드 받을 수 있습니다.

 

SharePoint 개발에 대한 내용을 들어가기 전에 SharePoint 2010 에 대한 Overview를 살펴보도록 하겠습니다. SharePoint 2010을 한마디로 정의한 내용은 아래 그림으로써 비즈니스 협업 플랫폼이라고 할 수 있습니다.

 



SharePoint 2010 비즈니스 협업 플랫폼은 사람들이 어디에 있던 어떤 장치를 사용하던 상관없이 자원과 지식을 액세스할 수 있도록 해서 생산성을 향상시키며, SharePoint 2010으로 협업 솔루션이 일원화되어 교육비용, 유지비용, IT 비용 등의 절감이 가능하며, 인터넷, 엑스트라넷, 인트라넷 등을 위한 커스마이징된 솔루션을 빠르고 안전하게 배포가 가능하고 정보 액세스가 검색 기술의 강화로 손쉬워지며 데이터 기반 의사 결정이 가능해서 변화하는 비즈니스 요구사항에 빠르게 대처가 가능합니다.

 

위 그림의 왼쪽 차트에 대한 부분을 관련 요소를 나열해보도록 하겠습니다.

l  Sites

-       Ribbon UI, SharePoint Mobile, Office Client Office Web 통합, 사이트 템플릿

l  Communities

-       Tagging, Ratings, Social Bookmarking, BlogWiki, 내 사이트, Profiles, Feeds

l  Content

-       Enterprise 콘텐트 형식, Metadata Navigation, 문서 셋, Audio Video 콘텐트 형식, 강화된 리스트

l  Search

-       사회적 연관성, 탐색, FAST 통합

l  Insights

-       PerformancePoint 서비스, Excel 서비스, Visio 서비스, Chart 웹 파트, PowePivot

l  Composites

-       Business Connectivity Services, InfoPath Form Services, External Lists, Workflow, SharePoint Designer, REST/RSS/ATOM 지원

 

위의 요소들을 접근할 SharePoint 개발자를 위한 새로운 내용은 뭐가 있는지 나열해보겠습니다. 아래와 같이 여러 요소들이 있으며 몇몇을 제외하고 세부적으로 다루어보도록 하겠습니다.

 

l  Windows 7 또는 Windows Vista SP1 에 개발 환경 구성 가능

l  Visual Studio 2010에서의 여러 템플릿

l  SharePoint Designer 2010

l  Developer Dashboard

l  Business Connectivity Services

l  LINQ to SharePoint

l  Client OM, REST API

l  향상된 Workflow

l  Ribbon Custom Actions

l  Dialog Framework

l  Silverlight 3

l  SharePoint Service Applications

l  Sandboxed Solutions

l  Upgrade and Packaging

l  Team Foundation Server와 통합

 

 

아래 그림의 프로젝트 템플릿만 봐도 MOSS 2007에서의 개발과는 완전히 달라졌다고 볼 수 있습니다.

SharePoint 2010에 참고할 수 있는 링크는 아래와 같습니다.

 

SharePoint 2010 사이트

http://sharepoint2010.microsoft.com/Pages/default.aspx

SharePoint Team Blog

http://blogs.msdn.com/sharepoint/

SharePoint 2010 SDK

http://www.microsoft.com/downloads/details.aspx?FamilyID=F0C9DAF3-4C54-45ED-9BDE-7B4D83A8F26F&displayLang=en

SharePoint Developer Center

http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx

SharePoint Product Tech Center

http://technet.microsoft.com/ko-kr/sharepoint/ee518660(en-us).aspx



다음 블로그부터는 아래와 같은 내용을 다루어 보도록 하겠습니다.
  • SharePoint 2010 개발환경 구성
  • VS 2010에서의 SharePoint 2010 Developer Platform
  • Web Part 개발
  • Visual Web Part 개발
  • Ribbon Custom Action
  • Dialog Framework
  • Silverlight 콘텐트
  • VS 2010을 통한 Workflow Foundation
  • SharePoint에서 LINQ/REST 사용
  • SharePoint Masterpage 생성 및 구성
  • VS 2010을 통한 BCS
  • SharePoint에서 Client OM