본문 바로가기

SharePoint 2010/Development

Sharepoint 2010 개발자 대시보드.. (Developer Dashboard)에 관한 이야기.. 개발이 끝나는 무렵… 이제 성능 테스트와… 벌래(bug)를 찾아 삼만리 하게 됩니다. 쉐어포인트에는 참 좋은 성능 확인과 벌래 잡이용 대시보드라는게 있습니다. 일단 실행은 아래와 같이 입력하시면 됩니다. Sharepoint 2010 Management Shell을 실행하고.. 아래와 같이 입력하시면 됩니다. 시작 stsadm -o setproperty -pn developer-dashboard -pv on 종료 stsadm -o setproperty -pn developer-dashboard -pv off 위의 내용은 아래 링크에서 좀 더 자세히 볼 수 있습니다. http://msdn.microsoft.com/en-us/library/ff512745.aspx 그리고 실행하게 되면 아래와 같은 화면을 볼 .. 더보기
Sharepoint 2010 - Detected use of SPRequest for previously closed SPWeb object 개발자 대시보드를 켜 놓고 확인을 하다가 아래와 같은 메시지를 보게 되었습니다. General Unexpected 90hv Detected use of SPRequest for previously closed SPWeb object. Please close SPWeb objects when you are done with all objects obtained from them, but not before. 위의 메시지는 그 동안 개발하면서 많이 보아 오던 것입니다. 이 녀석이 왜 나타난건지 찾아보게 되었습니다. 저는 SPWeb 객체를 재대로 닫지 않았을 거라고 생각했는데 그게 아니더군요… 제가 주로 SPWeb 객체를 사용하는 방법은 일단 아래와 같습니다. using (SPSite oSite = new S.. 더보기
Sharepoint 2010 Social Collaboration Colleagues WebPart Row 변경 방법 마이 사이트 쪽을 개발하다가 기존의 Colleagues 웹파트를 추가하고 사용자를 추가하고 난 후 사용자가 하나의 Row로 보이는 것이 아니라 웹파트의 크기 만큼 셀로 보이는 문제가 발생하였습니다. 일단 웹파트를 입력한 후 페이지에서 보게 되면 아래와 같이 보이게 됩니다. 웹파트 속성을 보게 되면 속성에는 몇 Row를 보이게 할 것인가 라는 속성과 이름이 보일지 말지 결정하는 속성 두가지 밖에 없습니다. 이게 셀단위로 증가 되는 경우는 폭이 80 이상이 경우 80으로 나눠서 샐을 만들고 데이터를 입력하는 형태로 개발되어 있습니다. 웹파트에서요… 개발되어 있는 곳도 portal.js에서 구형되어 있어 스크립트로만 구현하면 됩니다. 저는 아래와 같이 만들었으며 사이즈 계산하는 곳만 잘 해 놓으시면 될 것 같.. 더보기
Sharepoint 2010 WebApplication Page에서 Prefix, WebApplication Scope Feature 프로그래밍으로 제어 할 수 없다! 어제 오늘 삽질한 결과 결론은 Web Application Page에서는 안된다!! 라는 참혹한 결과를 얻었습니다. Prefix의 경우 제가 하고자 하는 방식은 다음과 같습니다. 해당 Url에 Prefix가 있는지 검사해서. 없으면 만드는 아주 단순한 방식의 프로그래밍.. 소스는 아래와 같습니다. SPWebApplication webApp = SPWebApplication.Lookup(new Uri(strHostUrl)); SPPrefixCollection prefixColl = webApp.Prefixes; if (prefixColl.Contains(txtSitePrefix.Text.Trim()) == false) { SPPrefix newPrefix = webApp.Prefixes.Add(txtSit.. 더보기
How to : Sharepoint 2010 View Search Results XML Data(검색 xml결과 확인하는 방법) 쉐어포인트 2010에서 검색페이지의 디자인을 많이 바꾸게 되는데요.. 검색결과 웹 파트의 XSL을 변경하여 디자인을 수정하게 될 것입니다. XSL 편집을 위해서는 Xml Data가 필요한데요.. 검색 시 나오는 결과 페이지에 Xml 확인하는 방법입니다. 확인하는 방법은 http://servername/siteName/Pages/Results.aspx 로 이동 후 Search Core Results 웹파트의 Display를 수정하여 확인하는 방법입니다. MSDN의 페이지를 참조한 것이며 URL은 아래와 같습니다. http://msdn.microsoft.com/en-us/library/ms546985.aspx 방법은 아래와 같습니다. http://servername/siteName/Pages/Results... 더보기
Sharepoint Object의 Disposing 방법 Sharepoint 개발 중 가장 중요한 부분인 것 같아.. 꼭 알고 계셔야 할 부분입니다. 역시 가장 잘 설명되어 있는 곳은 MSDN입니다. http://msdn.microsoft.com/en-us/library/ee557362.aspx SPSite, SPWeb의 코딩에는 반드시 Dispose되어야 합니다. 그 중 Context로 잡은 SPSite, SPWeb의 경우에는 Dispose 할 필요가 없습니다. loop 안에 있는 Site, Web 등의 경우가 좀 중요하다고 할 수 있는데요.. 좋은 코딩은 아래와 같습니다. SPSite oSite = SPContext.Current.Site; using (SPWeb oWeb = oSite.OpenWeb()) { foreach (SPWeb oWeb2 in oW.. 더보기
타이머잡 디버깅 방법(Debug a Timer Job) 타이머 잡 디버깅 방법... 가장 잘 성명되어 있는 곳은 역시 MSDN입니다. http://msdn.microsoft.com/en-us/library/ff798310.aspx 간단하게 과정을 설명하면 아래와 같습니다. 해당 프로젝트를 연다. 프로세스를 OWSTIMER.exe 로 연결한다. Breakpoint를 Execute method에 건다. 중앙관리로 가서 모니터링(Monitoring) –> 작업 정의 검토(Review job definitions)로 간다. 해당 타이머잡을 찾아서 선택하고.. 지금 실행(Run Now)를 선택하여 실행한다. 그러면 걸린다... 중요한 부분은 역시 프로세스 연결인데요.. 연결해야 하는 프로세스가 w3c.exe가 아닌 OWSTIMER.EXE로 연결하셔야 합니다. 그리고 .. 더보기
Element Type에 따른 Features 범위 사이트 정의나 리스트 정의 그리고 Event Receiver 등을 만들게 되면.. Feature가 생성 됩니다. 이때 Feature의 범위가 지정되는데요.. Farm, WebApplication, Site, Web 중 하나로 만들어 집니다. 어떤 요소가 어떤 범위에 해당하는지 MSDN에 잘 나와있어서 작성하게 되었습니다. 확인은 아래 링크에서 하시면 되고요.. http://msdn.microsoft.com/en-us/library/ms474383.aspx Feature 범위 순은 아래와 같습니다. Farm Control Custom Action Custom Action Group Feature/Site Template Association Hide Custom Action WebApplication Co.. 더보기