외부 콘텐츠 형식을 Visual Studio 2010에서 구성해보도록 하겠습니다. Visual Studio 2010을 이용하여 SharePoint 빈 프로젝트를 생성하고 새 항목 추가에서 비즈니스 데이터 연결 모델을 선택하고 “ProductModel” 로 이름을 지정합니다.
생성된 결과는 아래와 같습니다.
BDC 디자인 창의 Entity1을 “Product”로 변경합니다. 그리고 Identifier1 속성을 “ProductID” 로 변경하고 속성 창에서 System.Int32로 데이터 형식을 변경합니다.
솔루션 탐색기의 Entity1.cs 파일을 Product.cs 로 변경하고 아래와 같이 속성을 추가합니다. 실제 외부 목록이나 외부 데이터 열에서 표시할 데이터의 속성이며 외부 데이터 원본으로부터의 데이터를 가져와서 ReadList, ReadItem 메서드에서 처리될 클래스 속성입니다.
BDC 탐색기로 이동해서 ReadItem, ReadList 속성을 위의 클래스에 맞게 수정하면 ProductService.cs 클래스의 메서드가 변경되게 됩니다.
BDC 탐색기가 안보인다면 보기 메뉴의 다른 창에서 BDC 탐색기를 클릭하거나 bdcm 파일에서 BDC 탐색기 링크를 클릭합니다.
ReadItem 메서드의 @id 부분을 @ProductID로 변경하고 Identifier1을 ProductID 로 변경하고 속성 창에서 데이터 형식을 System.Int32로 변경합니다.
@returnParameter 를 확장해서 Entity1을 Product 로 변경하고 속성 창에서 데이터 형식은 현재프로젝트의 Product 클래스를 선택합니다. 그리고 BDC 탐색기의 Product 를 오른쪽 클릭하여 TypeDescriptor 추가를 클릭하여 속성을 추가하고 이름과 데이터 형식을 Product 클래스의 속성과 일치시켜줍니다.
그리고 BDC 탐색기의 ReadList 메서드 아래의 EntityList 을 ProductList로 이름을 변경하고 형식 이름을 현재 프로젝트의 Product 클래스를 지정합니다. 그리고 위에서 생성된 Product 를 오른쪽 클릭하여 복사하고 ReadList 메서드 아래 ProductList 에 붙여넣기 합니다.
이제 솔루션 탐색기의 ProductService.cs 클래스의 코드로 이동하면 Entity1에 대한 기존 메서드 에 해당하는 부분은 삭제합니다.
이제 외부 데이터 원본을 연결하여 해당 제품과 제품 목록을 반환되도록 ADO.NET 코드를 아래와 같이 작성합니다.
프로젝트를 배포하고 BCS 서비스 응용 프로그램에 보면 Product가 아래처럼 생성된 것을 알 수 있습니다. 크롤링은 “아니오”로 되어 있으며 검색을 위해서는 추가 메서드를 구성해야만 합니다.
Visual Studio 2010을 통해 비즈니스 데이터 연결 모델을 통해 생성한 외부 목록 결과입니다.
Visual Studio 2010의 비즈니스 데이터 연결 모델에 대한 내용을 간단하게 알아보았습니다. 필터와 검색 등에 대한 내용은 더 추가해야 합니다. 다양한 외부 데이터 원본에 대해서 Visual Studio 2010을 통해 복잡한 로직을 구성하여 외부 데이터를 손쉽게 연결할 수 있습니다.
SharePoint 2010 프로젝트를 만들려고 하면 팜 솔루션이나 샌드박스 솔루션을 선택하는 창을 보게 됩니다.
Office 365 의 SharePoint Online 사이트에서는 팜 솔루션으로는 제한되고 Client OM, Silverlight, 샌드박스 솔루션을 위주로 진행하게 됩니다.
샌드박스 솔루션이 어떤 것인지 좀 더 구체적으로 알아보도록 하겠습니다.
위 화면의 옵션은 프로젝트를 생성할 때 선택이 가능하며 배포하기 전에도 속성을 변경이 가능합니다.
샌드박스 솔루션의 특징은 다음과 같습니다.
l해당 사이트 컬렉션의 기능에서만 보입니다. 다른 사이트 컬렉션에서는 보이지 않습니다.
l사이트 컬렉션 소유자가 wsp파일을 솔루션 갤러리에 업로드 할 수 있습니다. 그리고 활성화합니다.
l보안에 대해 안전하게 사용할 수 있다. 보안에 제한적이라는 의미입니다.
l리소스가 제한적으로 기본적으로 300 포인트에서만 동작되게 됩니다. 초과하게 되면 임시적으로 중지됩니다. CPU, 데이터베이스 쿼리 등이 리소스에 해당되며 내부적으로 포인트를 계산합니다. 물론 중앙관리에서 포인트를 수정 가능합니다.
l개발자가 코딩하는 것은 큰 차이 없습니다. 빌드, 디버그, 배포에도 큰 차이 없습니다. 해당 코딩에 대해서는 문제가 있을 경우 런타임에서 에러가 나타나게 됩니다. 전체 개체 모델의 SubSet으로 보면 됩니다.
lSPFarm, SPService, System.Net.HttpWebRequest.Create, SPSite 에서 다른 사이트를 액세스하려고 할 경우, SPSecurity.RunWithElevatedPrivileges, SQL Connection 등은 문제가 발생하게 됩니다. 해당 사이트 컬렉션에서만 놀아야 한다고 보시면 됩니다.
l모든 프로젝트 템플릿과 프로젝트 항목이 샌드박스 솔루션을 지원하는 것은 아닙니다. (비쥬얼 웹 파트, 사이트 정의, 비즈니스 데이터 연결 모델, 응용 프로그램 페이지 등)
l페이지 편집에서 웹파트 추가 등 사용하는 것에는 별 차이 없습니다.
l샌드박스 솔루션을 이용하기 위해서는 중앙관리에서 “Microsoft SharePoint Foundation 샌드박스를 작동하는 코드 서비스서비스를 시작해주어야 합니다.
lw3wp.exe 프로세스에서 운영되는 것이 아니라 SPUCWorkerProcess.exe에서 운영됩니다.
다음 내용에서 샌드박스 솔루션에서 직접 런타임에서 오류가 발생하는 내용을 알아보도록 하겠습니다.
너무 멋져요을 개봉된! 나는 필자 전에 이런 걸 배우는 가정 없다. 그래서이 주제에 대한 몇 가지 참신한 아이디어가있는 모든 사람을 찾을 수 좋네요. 정말이 일을 시작 주셔서 감사합니다. 이 웹 사이트는 약간 독창성과 웹, 누군가에 원한의 한 가지입니다. 웹에 새로운 것을 가져다 유용 직업!
서비스 팩을 설치하기 전에 테스트를 해서 이상이 없는지 확인 후 실제 서버에 적용해야 합니다. 또한 14폴더 백업과 팜 백업을 미리 해두어야 합니다. 적용 후 결과를 확인 해보셔야 하며 잘못 되었을 경우 준비를 해두고 진행해야 합니다. 만약 잘못된다면 다 본인 책임입니다.
커스터마이징하거나 개발 사항의 경우 14 폴더의 기본적으로 제공되는 콘텐트(마스터페이지, CSS) 등을 바로 편집했을 경우 서비스 팩이 설치되면 다 덮어써 버릴 수 있습니다. 이번 기회에 제대로 했는지 확인 가능할 것 같군요.
6월 말에 서비스 팩이 출시 되었습니다.
아래 사이트를 방문해서 언어에 맞게 서비스 팩을 다운로드 합니다.
SharePoint 2010의 목록에서 유효성 검사에 대한 다양한 내용이 있는데 앞에서는 코드를 통한 내용을 살펴보았습니다. 하지만 SharePoint 2010에서는 새롭게 열, 목록에 대한 유효성 검사를 제공하고 있습니다. 웹 페이지를 통해 손쉽게 설정할 수 있습니다.
먼저 열의 유효성 검사에 대한 내용을 알아보겠습니다. 해당 목록의 설정 페이지에서 검사할 열을 클릭하면 아래 부분에 열 유효성 검사라는 링크를 볼 수 있습니다.
확장하면 아래와 같이 보입니다. 간단하게 제목에 “test” 라는 말이 들어오면 메시지를 나타내보도록 하겠습니다. 수식은 유효한 식을 나열하는데 SQL 구문과 유사하게 작업할 수 있으며 수식이 거짓인 경우 사용자 메시지가 나타나게 됩니다.
실행해서 결과를 테스트합니다.
필수 열인데 값을 입력하지 않거나 정수 형식인데 문자를 입력하면 기본적으로 열 유효성 검사가 수행됩니다. 간단하게 열 유효성 검사를 확인할 수 있습니다.
이제 목록의 유효성 검사를 알아봅니다. 열 유효성 검사에서는 다른 열을 참조할 수 없습니다. 목록에서는 다른 열과 비교하여 검사할 수 있습니다. 목록의 유효성 검사는 해당 목록의 설정 페이지에 보면 일반 설정에 “유효성 감사 설정”이라는 메뉴를 살펴볼 수 있습니다. 클릭하면 아래와 같은 화면을 볼 수 있습니다.
공지사항의 만료 일자와 만든 날짜를 비교해서 만든 날짜보다 작을 경우 메시지를 나타내게 유효성 검사를 설정 할 수 있습니다.
너무 멋져요을 개봉된! 나는 필자 전에 이런 걸 배우는 가정 없다. 그래서이 주제에 대한 몇 가지 참신한 아이디어가있는 모든 사람을 찾을 수 좋네요. 정말이 일을 시작 주셔서 감사합니다. 이 웹 사이트는 약간 독창성과 웹, 누군가에 원한의 한 가지입니다. 웹에 새로운 것을 가져다 유용 직업!
SharePoint 2010의 목록에서 유효성 검사에 대한 다양한 내용이 있는데 앞에서는 Custom Error Page로 Redirect 시켰지만 여기에서는 Custom Alert을 나타내도록 해보겠습니다. 대화상자로 열기가 아닌 경우에는 Custom Alert이 더 효과적일 수 있습니다. 실무에서 비슷한 요구사항이 있어 정리를 해봅니다.
유효성 검사는 코딩 없이 할 수 있도록 SharePoint 2010에서는 제공하는 것도 있으며 이벤트 수신기를 통해서도 처리할 수 있습니다. 기본적으로 제공되는 것은 다음에 다루고 이벤트 수신기를 이용한 Custom Error page 에 대한 내용을 다루어 보겠습니다.
공지 사항의 제목에 ‘test’ 라는 값을 입력하면 Custom Error Page로 Redirection 되는 내용을 알아보도록 하겠습니다.
Visual Studio 2010을 이용해서 이벤트 수신기를 생성합니다.
이벤트는 목록 항목의 항목 추가중(Adding) 이벤트를 생성하도록 하겠습니다.
Visual Studio 2010의 SharePoint 2010 도구는 기본적인 여러 사항을 다 생성해주고 로직에만 신경쓸 수 있도록 개발자 경험을 향상시켜준 것을 이벤트 수신기를 통해 알 수 있습니다.
생성된 이벤트 코드를 볼 수 있습니다. 코드에는 제목을 검사하여 맞지 않다면 Custom Error Page로 Redirect 시켜보도록 하겠습니다. 이전 버전에서는 System.Web 의 클래스를 통해서 Redirect 되도록 처리해야만 했지만 SharePoint 2010에서는 properties 가 기본적으로 제공되고 있습니다.
–워크플로의 진행 사항을 시각화해서 살펴볼 수 있습니다, 이 또한 Silverlight 콘텐츠입니다.
lPerformance Point Services의 분해 트리
– PPS의 분석 차트의 경우 분해 트리 메뉴를 볼 수 있고 사용자가 원하는 대로 손쉽게 분석 데이터를 분해해 볼 수 있습니다.
lPowerPivot 갤러리
– 클라이언트용 Excel Add-in이 아닌 SharePoint 2010의 PowerPivot 으로 해당 내용을 구성하고 나면 PowerPivot 갤러리를 제공하며 Excel 시트의 내용을 Silverlight으로 미리 보기가 가능합니다.
이상으로 SharePoint 2010에서의 Silverlight 지원에 대한 사항을 살펴보았습니다. Silverlight 웹 파트와 Silverlight 관련 개체 모델, API를 통해 트리뷰 웹 파트, 전역 탐색 웹 파트, 이미지 뷰어 웹 파트, 메인 페이지의 애니메이션, 게시판에서의 Silverlight 등 다양한 내용으로 SharePoint 2010에서는 더 강력한 사용자 경험을 구성할 수 있습니다.
이번 내용은 Visaul Studio 2010에서 SharePoint 2010 프로젝트로 개발할 경우 디버깅을 하는 방법에 대한 것입니다.
너무 간단하지만 몰라서 디버깅을 잘 못하는 분들이 있더라구요.
디버깅을 하는 방법은 그냥 F5 를 누르시면 됩니다. Feature를 Dactivate 하고 다시 배포하고 디버깅 메뉴에서 프로세스를 연결하고 등등은 다 옛날 얘기입니다. Visual Stduio 2010 에서의 SharePoint 2010 프로젝트는 그냥 F5 입니다. 물론 중단점 찍구요.
아래는 Visual Web Part 를 디버깅하기 위해 중단점을 찍은 화면입니다.
자 그럼 F5 를 누르면 어떤 일이 벌어지는지 한번 보도록 하겠습니다.
1. 새 버전 .wsp 파일 빌드
2. Feature 비활성화/삭제
3. old .wsp 파일 삭제
4. new .wsp 파일 추가/배포
5. Feature 활성화
디버깅을 해서 출력 창을 캡쳐해보도록 하겠습니다.
SharePoint 2010 웹 사이트의 웹 페이지가 뜨게 되고 웹파트를 추가하고 액션을 발생하면 디버깅으로 들어오게 됩니다. 무조건 알아서 오지는 않습니다. 여기는 드롭다운을 변경했을때 디버깅으로 들어오게 됩니다.
이제 디버깅으로 들어온 화면입니다. .NET 디버깅이므로 별로 드릴 말씀이 없습니다.
댓글을 달아 주세요