블로그 이미지
정홍주
Azure에 대한 내용뿐만 아니라 새로운 트렌드로 빅데이터, BI, SharePoint, 앱 등의 내용을 다룹니다.

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Notice

2012.11.30 11:00 SharePoint/SharePoint 2013

 

SharePoint 2013 – 자동 호스트 (Autohosted App) (1)

 

앞에서 SharePoint 2013 에 대한 앱을 살펴보았는데 그 중에서 자동 호스트 앱을 구성해보도록 하겠습니다. 그리고 ASP.NET MVC 4를 통해 SQL Azure 에 데이터를 구성해서 처리해보려고 합니다. 또한 SharePoint Client Object Model 을 이용해서 개체를 구체적으로 접근해보고 앱 스타일을 SharePoint 2013 스타일을 적용해보겠습니다.

 

먼저 앱을 개발하기 전 준비사항입니다. 로컬에 설치하지 않고도 Office 365를 통해 가능합니다.

l  Office 365 Developer Site (http://dev.office.com)

l  Visual Studio 2012

l  SharePoint development tools in Visual Studio 2012

l  옵션) Windows Azure Account – SQL Azure, Provider App 구성할 경우

 

위 환경이 다 구성되었다면 진행해보도록 하겠습니다.

1.     Visual Studio 2012를 관리자 계정으로 실행을 통해 열어 새 프로젝트 메뉴를 클릭합니다. Office/SharePoint의 응용 프로그램을 클릭합니다.

2.     SharePoint 2013 응용 프로그램을 선택하고 적절한 이름을 입력합니다.
 

3.     새 응용 프로그램 창에서는 Office 365 개발자 사이트 주소와 호스트 방법을 선택하면 됩니다. 호스트 방법은 자동 호스트를 선택하고 마침을 클릭합니다. 
    

4.     ASP.NET 웹 프로젝트와 SharePoint 2013 응용 프로그램 프로젝트가 생성되게 됩니다. SharePoint 2013 응용 프로그램 프로젝트는 Manifest 를 가지고 있으며 실제 ASP.NET 소스는 클라우드로 호스팅되게 됩니다. MVC 4 프로젝트는 별도로 추가하고 설정을 변경해야 합니다. 이는 다음 글에서 다루어 보겠습니다. 

5.     Default.aspx.cs의 경우 Client Side Object Model 에 대한 소스가 구성되어 있습니다. 해당 소스와 TokenHelper.cs 파일을 이용해서 MVC 4 프로젝트에서 이용할 수 있습니다. 

var contextToken = TokenHelper.GetContextTokenFromRequest(Page.Request);

var hostWeb = Page.Request["SPHostUrl"];

 

using (var clientContext = TokenHelper.GetClientContextWithContextToken(hostWeb, contextToken, Request.Url.Authority))

            {

                clientContext.Load(clientContext.Web, web => web.Title);

                clientContext.ExecuteQuery();

 

위 소스는 사이트의 제목을 출력해주는 내용입니다.

6.     SharePoint 2013 응용 프로그램 프로젝트의 속성을 보면 아래와 같은 정보를 알 수 있습니다. (해당 사이트 URL, 연결할 웹 프로젝트)

 

7.     SharePoint 2013 응용 프로그램 프로젝트에서 AppManifest.xml 을 더블 클릭합니다
 

오른쪽 클릭해서 코드보기를 보면 XML 내용을 확인하거나 직접 수정할 수 도 있습니다.

<?xml version="1.0" encoding="utf-8" ?>

<!--Created:cb85b80c-f585-40ff-8bfc-12ff4d0e34a9-->

<App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest"

     Name="SharePointAutohostMVC4"

     ProductID="{61bb6727-7a7a-49eb-a1cb-6758b3b10bf9}"

     Version="1.0.0.0"

     SharePointMinVersion="15.0.0.0"

>

  <Properties>

    <Title>SharePointAutohostMVC4</Title>

    <StartPage>~remoteAppUrl/Pages/Default.aspx?{StandardTokens}</StartPage>

  </Properties>

 

  <AppPrincipal>

    <AutoDeployedWebApplication/>

  </AppPrincipal>

 

  <AppPrerequisites>

    <AppPrerequisite Type="AutoProvisioning" ID="RemoteWebHost" />

  </AppPrerequisites>

</App>

 

간단히 프로젝트를 살펴보았고 솔루션을 배포해서 결과를 확인해보겠습니다. 솔루션을 오른쪽 클릭하고 솔루션 배포를 선택합니다. ASP.NET 소스는 클라우드(O365.aspp.net) 로 프로젝트의 ManifestSharePoint Online로 배포되게 됩니다.

Office 365 인증 창이 나오면 로그온합니다. 아래 그림처럼 신뢰하겠냐는 창이 나오면 신뢰를 클릭합니다.
 

8.     결과를 확인이 가능하며 웹 페이지 주소를 확인해보면 클라우드 주소인 것을 확인할 수 있습니다. 글자만 나오지만 해당 소스에서 CSOM(Client Side Object Model)을 통해 액세스되었으며 앱의 카탈로그에 나오는 것을 확인할 수 있습니다.
 
 

 

다음 글에서 ASP.NET MVC 4SQL Azure 를 통해 자동 호스트 앱을 구성해보도록 하겠습니다.

 

 

신고
posted by 정홍주