블로그 이미지
정홍주
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

2011.08.01 08:30 SharePoint/SharePoint 2010

SharePoint 2010 Sandbox 솔루션(1)

SharePoint 2010 프로젝트를 만들려고 하면 팜 솔루션이나 샌드박스 솔루션을 선택하는 창을 보게 됩니다.

Office 365 SharePoint Online 사이트에서는 팜 솔루션으로는 제한되고 Client OM, Silverlight, 샌드박스 솔루션을 위주로 진행하게 됩니다.

샌드박스 루션이 어떤 것인지 좀 더 구체적으로 알아보도록 하겠습니다.


위 화면의 옵션은 프로젝트를 생성할 때 선택이 가능하며 배포하기 전에도 속성을 변경이 가능합니다. 

샌드박스 솔루션의 특징은 다음과 같습니다.

l  해당 사이트 컬렉션의 기능에서만 보입니다. 다른 사이트 컬렉션에서는 보이지 않습니다.

l  사이트 컬렉션 소유자가 wsp파일을 솔루션 갤러리에 업로드 할 수 있습니다. 그리고 활성화합니다.

 

l  보안에 대해 안전하게 사용할 수 있다. 보안에 제한적이라는 의미입니다.

l  리소스가 제한적으로 기본적으로 300 포인트에서만 동작되게 됩니다. 초과하게 되면 임시적으로 중지됩니다. CPU, 데이터베이스 쿼리 등이 리소스에 해당되며 내부적으로 포인트를 계산합니다.물론 중앙관리에서 포인트를 수정 가능합니다.

 

l  개발자가 코딩하는 것은 큰 차이 없습니다. 빌드, 디버그, 배포에도 큰 차이 없습니다. 해당 코딩에 대해서는 문제가 있을 경우 런타임에서 에러가 나타나게 됩니다. 전체 개체 모델의 SubSet으로 보면 됩니다.

l  SPFarm, SPService, System.Net.HttpWebRequest.Create, SPSite 에서 다른 사이트를 액세스하려고 할 경우, SPSecurity.RunWithElevatedPrivileges, SQL Connection 등은 문제가 발생하게 됩니다. 해당 사이트 컬렉션에서만 놀아야 한다고 보시면 됩니다.

l  모든 프로젝트 템플릿과 프로젝트 항목이 샌드박스 솔루션을 지원하는 것은 아닙니다. (비쥬얼 웹 파트, 사이트 정의, 비즈니스 데이터 연결 모델, 응용 프로그램 페이지 등)

 

l  페이지 편집에서 웹파트 추가 등 사용하는 것에는 별 차이 없습니다.

l  샌드박스 솔루션을 이용하기 위해서는 중앙관리에서 “Microsoft SharePoint Foundation 샌드박스를 작동하는 코드 서비스서비스를 시작해주어야 합니다.


l  w3wp.exe 프로세스에서 운영되는 것이 아니라 SPUCWorkerProcess.exe에서 운영됩니다. 

 

다음 내용에서 샌드박스 솔루션에서 직접 런타임에서 오류가 발생하는 내용을 알아보도록 하겠습니다.

posted by 정홍주
2011.07.25 08:30 SharePoint/SharePoint 2010

SPQuery 를 통한 페이징

요번 글에서는 페이징에 대한 내용을 다루어 보도록 하겠습니다. 커스터마이징을 통해 List의 데이터를 요구사항에 맞게 보여주게 됩니다. 그럴 경우 Server 개체 모델을 통해서는 SharePoint List의 데이터를 SPQuery 클래스를 이용해 CAML를 통해 쿼리, 정렬, 필터를 처리할수 있습니다.

그런데 트러블슈팅하러 업체에 가서 코드를 보니 전체를 들고 와서 처리하고 있어 간단히 정리해봅니다.

SPListItemCollectionPosition 클래스를 통해 페이징 처리하는 코드의 예를 한번 살펴보도록 하겠습니다. 먼저 아래와 같은 간단한 사용자 지정 목록에 데이터를 50건 입력했습니다. Ref 는 정렬을 하기 위한 내용으로 0~49까지의 값을 가지고 있습니다.

 

 

SharePoint OM에서 SPQuery를 통해 RowLimit, Query(Where, OrderBy)를 처리해서 1페이지에 대한 내용을 출력해줄 수 있습니다.

아래 코드의 내용을 보면 10건으로 제한하고 Ref Descending으로 정렬해서 화면에 출력해줍니다. 1 페이지의 경우 아래와 같이 처리하고 2 페이지부터는 페이징이 되도록 처리합니다.


1 페이지에 대한 결과는 아래와 같습니다.

 

2페이지에 대한 내용은 아래와 같이 처리할 수 있습니다. Lastitem은 직접 입력해서 처리했습니다.


SPListItemCollectionPosition 의 생성자의 매개변수(PageInfo)는 다양한 옵션들(Paged, p_정렬키, Next, Prev) 이 있으며 위의 코드에서는 아래와 같은 내용이 처리됩니다.

Paged=TRUE&p_Ref=40&p_ID=41

결과는 아래와 같습니다.

 
3페이지의 경우는 lastitem 30으로 해서 실행해보면 됩니다.

 

물론 페이지 사이즈를 5로 지정해서 테스트할 수도 있습니다.

위의 코드를 기반으로 SPQuery에서 모두 들고 와서 해당 페이지에 대한 내용을 표시해주는 경우 SPListItemCollectionPosition 을 통해 해당 페이지에 대한 내용만 가져와서 표시해 줄 수 있습니다. 실제 SQL 쿼리에서도 SELECT TOP(@NUMROWS)가 처리됩니다.

 

Client OM에서도 동일한 클래스(SPListItemCollectionPosition) 를 볼 수 있으며 REST 에서도 페이징에 대한 내용을 지원해주고 있습니다.

posted by 정홍주
2011.07.18 08:30 SharePoint/SharePoint 2010

SharePoint 2010 Service Pack 1 설치

 

서비스 팩을 설치하기 전에 테스트를 해서 이상이 없는지 확인 후 실제 서버에 적용해야 합니다. 또한 14폴더 백업과 팜 백업을 미리 해두어야 합니다. 적용 후 결과를 확인 해보셔야 하며 잘못 되었을 경우 준비를 해두고 진행해야 합니다. 만약 잘못된다면 다 본인 책임입니다.

커스터마이징하거나 개발 사항의 경우 14 폴더의 기본적으로 제공되는 콘텐트(마스터페이지, CSS) 등을 바로 편집했을 경우 서비스 팩이 설치되면 다 덮어써 버릴 수 있습니다. 이번 기회에 제대로 했는지 확인 가능할 것 같군요.

 

아래 사이트를 방문해서 언어에 맞게 서비스 팩을 다운로드 합니다.

http://www.microsoft.com/downloads/ko-kr/details.aspx?familyid=b9fcdc42-eea4-4c08-9169-a9a73e55b8d4&displaylang=ko

실행 파일을 실행하고 동의하면 업데이트가 아래와 같이 진행됩니다. 다 완료되고 나면 재 부팅하시면 됩니다. 

서버 재 시작 후 다음 내용을 보시면 설치 여부를 확인 가능합니다.

14.0.6029.1000 이라는 것을 볼 수 있습니다.

테스트 후 이상 없다면 운영 팜에 각각 반영하실 수 있습니다.

 

서비스 팩을 설치해서 크게 변경된 것은 없지만 기존 화면과 비교해보면 기타 옵션에서 도서관이 없어지고 라이브러리로 변경되어 있는 것을 확인 가능합니다. Connect 사이트에 피드백을 올리긴 했지만 서비스 팩을 설치하면 변경되네요 ^ ^  

아래는 기존 사이트의 모습이며 Office 365 사이트도 아래처럼 나옵니다. 

 

오류나 잘못된 사항에 대해서는 맘에만 담아두지 마시고 한국 마이크로소프트나 MVP 에게 얘기해서 반영을 하실 수 있습니다~


posted by 정홍주
2011.07.14 09:24 SharePoint/SharePoint 2010

Microsoft SharePoint Server 2010 서비스 팩(KB2460045)

 SharePoint 2010 Service Pack 1이 나왔습니다. 6월 말에 나왔는데 이제야 포스팅을 합니다.

아래 사이트에서 다운로드 하시면 됩니다. 실제 적용에 대한 부분은 바로 준비해서 올리도록 하겠습니다.

http://www.microsoft.com/downloads/ko-kr/details.aspx?familyid=b9fcdc42-eea4-4c08-9169-a9a73e55b8d4&displaylang=ko

http://blogs.technet.com/b/office_sustained_engineering/archive/2011/06/28/announcing-office-2010-and-sharepoint-2010-service-pack-1-availability.aspx

 

 


posted by 정홍주
2011.05.11 08:30 SharePoint/SharePoint 2010

유효성 검사, 목록


SharePoint 2010
의 목록에서 유효성 검사에 대한 다양한 내용이 있는데 앞에서는 코드를 통한 내용을 살펴보았습니다. 하지만 SharePoint 2010에서는 새롭게 열, 목록에 대한 유효성 검사를 제공하고 있습니다. 웹 페이지를 통해 손쉽게 설정할 수 있습니다.

 

먼저 열의 유효성 검사에 대한 내용을 알아보겠습니다. 해당 목록의 설정 페이지에서 검사할 열을 클릭하면 아래 부분에 열 유효성 검사라는 링크를 볼 수 있습니다.



확장하면 아래와 같이 보입니다. 간단하게 제목에 “test” 라는 말이 들어오면 메시지를 나타내보도록 하겠습니다. 수식은 유효한 식을 나열하는데 SQL 구문과 유사하게 작업할 수 있으며 수식이 거짓인 경우 사용자 메시지가 나타나게 됩니다.



실행해서 결과를 테스트합니다.


 

필수 열인데 값을 입력하지 않거나 정수 형식인데 문자를 입력하면 기본적으로 열 유효성 검사가 수행됩니다. 간단하게 열 유효성 검사를 확인할 수 있습니다.

 

이제 목록의 유효성 검사를 알아봅니다. 열 유효성 검사에서는 다른 열을 참조할 수 없습니다. 목록에서는 다른 열과 비교하여 검사할 수 있습니다. 목록의 유효성 검사는 해당 목록의 설정 페이지에 보면 일반 설정에 유효성 감사 설정이라는 메뉴를 살펴볼 수 있습니다. 클릭하면 아래와 같은 화면을 볼 수 있습니다.

 

공지사항의 만료 일자와 만든 날짜를 비교해서 만든 날짜보다 작을 경우 메시지를 나타내게 유효성 검사를 설정 할 수 있습니다.


 

과거 일자를 만료 날짜로 설정하면 아래와 같은 결과를 볼 수 있습니다. 

코딩 없이 열, 목록 유효성 검사를 손쉽게 처리한 내용을 살펴보았습니다.

posted by 정홍주
2011.05.04 08:30 SharePoint/SharePoint 2010

유효성 검사이벤트 수신기 Custom Alert

 

SharePoint 2010의 목록에서 유효성 검사에 대한 다양한 내용이 있는데 앞에서는 Custom Error Page Redirect 시켰지만 여기에서는 Custom Alert을 나타내도록 해보겠습니다. 대화상자로 열기가 아닌 경우에는 Custom Alert이 더 효과적일 수 있습니다. 실무에서 비슷한 요구사항이 있어 정리를 해봅니다.



이벤트 수신기를 생성하는 등의 내용은 동일하니 설명은 생략하겠습니다.

관련 내용은 아래 링크를 참조하십시오.

http://redju.tistory.com/48

 

이벤트 수신기에서 유효성 검사에 맞지 않을 경우(잘못된 입력일 경우)의 코드를 아래와 같이 수정합니다.

l  HttpContext를 이용하는 방법


l  properties.RedirectUrl를 이용하는 방법


위의 방법 둘 다 요청된 주소를 Get 방식으로 Custom Error 페이지로 전달해주고 있습니다.

CustomError 페이지에서는 Get 방식을 검사하여 eventError 인 경우 Alert으로 메시지를 나타내고 요청된 주소를 다시 보여주게 됩니다.

 

자 잘못된 입력일 경우 Custom Alert를 살펴보시죠~

 

확인 버튼을 누르면 원래 요청된 페이지로 이동합니다.

간단하게 유효성 검사의 일환으로 Custom Alert을 살펴보았습니다.

posted by 정홍주
2011.03.31 08:57 SharePoint/SharePoint 2010

어제 SharePoint Workspace 2010 세미나를 진행했습니다.
주제는 문서 및 데이터 관린 솔루션에 대한 내용입니다
.
SharePoint Workspace 2010
SharePoint 2010 사이트를 사용하는 새로운 방식을 제공합니다. 웹 메일과 Outlook 관계와 비교해보면 SharePoint 2010 웹 사이트와 SharePoint Workspace 2010 이라고 할 수 있습니다~






posted by 정홍주
2011.03.29 21:18 SharePoint/SharePoint 2010

금일 사용자를 위한 SharePoint 2010 Live Meeting 세미나를 했습니다.
Office 365 카페(http://cafe.naver.com/office365user)에서 주관한 것입니다.

중간에 음성이 끊기고 마지막에 튕겨져 나가버리고 했습니다, 진행이 매끄럽지 못해 참석하신분께는 죄송했습니다.



posted by 정홍주
2011.03.16 18:15 SharePoint/SharePoint 2010

IE9가 출시된 것은 다 알고 계시죠?

설치하시고 이벤트에도 응모해보십시오.

http://windows.microsoft.com/ko-KR/internet-explorer/products/ie-9/welcome-upgrade2

 

SharePoint 2010 사이트에도 잘 될 것으로 예상하고 설치해서 간단히 사용자 측면에서 테스트해보았는데 잘 됩니다~

SharePoint 2010 사이트가 잠깐 멈추었다가 나오는 느낌이 있었는데 IE9에서는 사이트 속도가 정말 실감나게 빠르네요.

 

아래는 사이트 액세스 화면 캡쳐 내용입니다.

 

 

IE9를 설치해서 SharePoint 2010 사이트를 테스트해보시기 바랍니다~

posted by 정홍주
2011.03.15 08:30 SharePoint/SharePoint 2010

이번 내용은 유효성 검사에 대한 내용을 다루어 보겠습니다.

유효성 검사는 코딩 없이 할 수 있도록 SharePoint 2010에서는 제공하는 것도 있으며 이벤트 수신기를 통해서도 처리할 수 있습니다. 기본적으로 제공되는 것은 다음에 다루고 이벤트 수신기를 이용한 Custom Error page 에 대한 내용을 다루어 보겠습니다.

 

이벤트 수신기에 대한 일반적인 내용은 앞에서 이미 다루었고 아래 링크를 참조하면 됩니다.

http://redju.tistory.com/13

 

공지 사항의 제목에 ‘test’ 라는 값을 입력하면 Custom Error Page Redirection 되는 내용을 알아보도록 하겠습니다.

Visual Studio 2010을 이용해서 이벤트 수신기를 생성합니다. 

이벤트는 목록 항목의 항목 추가중(Adding) 이벤트를 생성하도록 하겠습니다. 

Visual Studio 2010SharePoint 2010 도구는 기본적인 여러 사항을 다 생성해주고 로직에만 신경쓸 수 있도록 개발자 경험을 향상시켜준 것을 이벤트 수신기를 통해 알 수 있습니다.

생성된 이벤트 코드를 볼 수 있습니다. 코드에는 제목을 검사하여 맞지 않다면 Custom Error Page Redirect 시켜보도록 하겠습니다. 이전 버전에서는 System.Web 의 클래스를 통해서 Redirect 되도록 처리해야만 했지만 SharePoint 2010에서는 properties 가 기본적으로 제공되고 있습니다.

아래와 같은 코드를 작성합니다.

public override void ItemAdding(SPItemEventProperties properties)

       {

           base.ItemAdding(properties);

 

           if (properties.AfterProperties["Title"].ToString().ToLower() == "test")

           {

               properties.Status = SPEventReceiverStatus.CancelWithRedirectUrl;

               properties.RedirectUrl = "/_layouts/EventDemo/CustomError.aspx";

           }

       }

 

물론 응용 프로그램 페이지를 통해 에러를 표시해주어야 하겠죠. 

이벤트 수신기를 특정 공지사항에 연결하고 응용 프로그램 페이지에 에러 내용을 표시해줍니다. 또는 Get 방식으로 매개변수를 받아 추가적인 처리가 가능합니다.

배포해서 결과를 테스트해봅니다. 

프로그램으로 유효성 검사를 처리하는 방법을 알아보았습니다. SharePoint 2010의 이벤트 수신기를 통해 Custom Error Page Redirect 되는 내용이며 다른 여러 방법도 있습니다. 그런 방법들은 다음에서 다루도록 하겠습니다.

posted by 정홍주
prev 1 2 3 4 5 6 next