검색결과 리스트
Sharepoint 2010에 해당되는 글 5건
- 2012/04/04 게시를 활성화시켰는데 Page 라이브러리가 없다고 에러가 나는경우
- 2012/04/04 유용한 툴 - Sharepoint Manager 2010
- 2012/04/04 ULS Viewer 라는 프로그램. 에러 잡을때 유용하더랍니다.
- 2011/07/01 Contributor (어드민이 아닌 계정) 에서 swf 파일을 올리려고 하면 권한없다고 안되는 경우
- 2010/11/02 new SPSite("xxxx")가, System.NullException 을 뱉어낼 때는.
글
페이지에서 게시를 눌렀는데. 에러가 나더라. (Unexpected.. 어쩌구 하는 짜증나는 에러)
그래서 한번 체크해보았다.
뭐? -_-; 활성화 되어있는데 저거?
됐잖아!
있잖아!!!
정신을 차리고 생각을 해보니, 이 문제의 배경은 내가 저 'SharePoint Server 게시' 활성화를 껐다켰다 했다는 것.
그러니까 뭐가 문제냐면. 활성화를 시켰는데도 불구하고, 정확하게 게시했다는 값이 들어가있지 않았다는것이다.
아니 뭐 제품이 이래 -_-;;
저... 활성화 시켰는데요? -_- 왜 이러세요?
그래서. 구글에서 이거 True로 시키는 방법이 있나 없나 조회해보고, 다음과 같은 솔루션을 얻었다.
http://sharepoint.stackexchange.com/questions/1662/publishing-spweb-properties-missing-why-how
Power Shell 을 켜고
|
[System.Reflection.Assembly]::LoadWithPartialName("System.Web") | Out-Null |
그러니까 True로 되더라
역시 외국인 아저씨들은 머리가 좋다.
이러니까 게시도 잘 되고, 페이지도 잘 만들어지더라.
아 그리고, 돌아다니다가 하나 더 안건데. 이 경우 True인데도 안되면 속성 하나를 더 확인해보라고 한다.
이 __PagesListId 값이 없을 수도 있고, 엉뚱한 값이 들어가있을 수가 있다고 한다.
Pages 라이브러리를 정확하게 지정해야 하니, Id값 확인하고 Shell을 이용하고 업데이트를 해주자.
설정
트랙백
댓글
글
내가 Sharepoint 프로젝트를 할 때, 가장 많이 쓰는 2개의 프로그램 중에 하나다.
직접 설치해서 이거저거 보면 되기때문에, 구체적인 내용은 쓰지 않겠지만. 간략히 이야기하면...
보통 Sharepoint 코딩이라는 것도 결국 WSS_Content 라는 데이터베이스와의 소통이다. 넣고빼고넣고빼고 -_-; 뭐 예를 들어서 어느 사이트의 어느 리스트에 있는 어떤 아이템 중에 최근 10개만 불러와라. 라고 하는것도. 결국은 WSS_Content의 어느 테이블의 어느 리스트의 어느 아이템의 정보가 어떻게 저장되어있는지 캐치해서 적절하게 뭐 SPWeb, SPList 등으로 가져오는 그런 정도?
의의로 Sharepoint가, 데이터 부분에 있어서는 정말 단순한 것 같다. 결국 저장창고는 모두 DB다. 리스트 정보, 컨텐츠 타입 정보, 아이템 정보, 사이트 정보, 웹 정보, 리스트 컬럼 정보... 다 WSS_Content 라는 DB에 때려박는다.
그런데 WSS_Content 라는 DB를 보면 알겠지만, 진짜 복잡하다. 구조를 전혀 모르겠다. 그렇다고 Sharepoint UI 안에서 이 모든 정보를 볼 수 있느냐? 그것도 아니다. 내가 한번은 어떤 List 의 Guid 값이 뭔지 찾아볼라 했는데. 결국 못찾았다. 뭐 여기서 이렇게 가셔서 보시면 되요 라고 친절하게 알려주실 수 있는 분들에게 참 감사하다.
그런데 중요한건 어쨌건 한눈에 안들어왔다는게 중요한거지 -_-; 솔까말 [리스트 설정] 들어가서 그 정보 안보이면 '못보나?' 라고 생각하는게 당연한거 아닌가.
그러다보니 이 아이템에는 어떤 정보가 들어가있고, 이 사이트에는 어떤 컬럼이 있으며.. 뭐 이런거 한눈에 볼 수 있는 방법이 없는가? 를 찾게된다. 이건 실제로 코딩할때도, 쉽게 볼 수 있으면 꽤 유용한 정보가 될 것이다.
출처는 http://spm.codeplex.com/ 이다.
간단한 스샷! 보통 이렇게 각 요소별로 디테일하게 알려면, 우리는 디버깅을 해야한다 -_-; 어느세월에...
보면 별거 다 있다. Event Receivers, Fields, Lists, Webs, Items 개별 조회 모두 가능하다. 간단하게 각 요소 삭제나 편집이 가능한 항목도 있으니 한번 가지고 놀아(?) 보는것도 좋겠고, 현업에서 현재 Sharepoint 구조상태 조회용으로도 유용하게 사용할 수 있을 것이다. -_-)/
설정
트랙백
댓글
글
아마 SharePoint 코딩을 하다보면 가장 짜증나고 막막한 에러는 다음 유형의 에러가 아닐까.
뭐 어떻게 하라는지 나와있지도 않고, 어디서 에러가 난건지. 굉장히 뜬금없다.
이럴때, 사실 어느 부분에서 에러가 났는지 LOG 디렉토리에는 다 쌓여있다. 그래? 그럼 로그파일을 보면 무엇이 문제인지 나와있을꺼야.
... 싸우자는 것도 아니고.
그래서, 외국의 어떤 착하신 분께서 이 로그파일을 쉽게 알아볼 수 있게끔 프로그램을 만들어주셨다. 바로 ULS Viewer 라는 툴이다. (http://archive.msdn.microsoft.com/ULSViewer)
사용방법은 아주 간단하다. 첨부파일을 다운받아 서버에 두고, 관리자 모드로 실행시킨 후에. File -> Open From -> ULS 를 각각 선택한다.
다음 화면에서 그냥 OK를 눌러주면 되겠다.
그러면, 창이 뜨면서, 뭐가 막 쌓인다.
자세히 보면 사실 앞에서 잠깐 봤었던 황당한 텍스트파일이 정리되어 나오는 것이라는걸 눈치챌 수 있을 것이다. 오 그럼 그게 틀린 로그는 아니구나. 하지만 아까의 텍스트 파일은 너무 무성의했어(...)
이렇게 해 놓은 상태에서 아까의 에러 케이스를 재현시켜보면 여기에 로그가 쌓인단 이야기가 되겠지. 오오..
여기에 있는 에러 ID를 기억했다가..
ULS Viewer에 똑같은 아이디에 Unexpected 라고 되어있는 부분 때문에 에러가 났다고 알려준다. 그 부분을 클릭하면 상세 정보가 나오며, 문제 해결에 '꽤나 큰' 도움을 준다.
뭐 예를 들어서, 어떤 페이지에 웹파트가 덕지덕지 붙어있을 때 그거 권한에러 한번 나면 난감하다. 그 페이지에 웹파트 100개 붙어있다면 어쩔껀데? 다 떼고 하나씩 다 붙여야되나 -_- 싶을 때 이걸 해보면 어느 웹파트에서 권한오류가 나는지도 조회할 수 있다. 등등.. 기타 여러가지 예외상황을 조회할 수 있다.
이렇게 까지 해서 문제를 해결해야하는 MS를 욕하자 ㅋㅋㅋㅋㅋ 아니 그들 입장에선 개발자도 고객일텐데 뭐 좀 쉽게 만들어주던지 해야할꺼 아닌가.
설정
트랙백
댓글
글
http://support.microsoft.com/kb/2483447 에 보면, 명시적으로 못을 박고 있네요.
(구성원인 유저가 특정 확장자를 가진 파일을 업로드하려고 하면, 아마 Access Denied 라는 창이 뜰 것이다. swf 파일 못올린다)
-_-;
참나. 어쩌라고.
올릴 수 없는 확장자는 다음과 같습니다.
< ascx, asmx, aspx, jar, master, swf, xap, xsf, xsn >
딱 보기에, 뭔가 있어보이는 파일들 같긴 합니다.
그럼 뭐... 지워야죠.
파워쉘을 '관리자 권한'으로 실행시켜서 (어드민으로 로그인되어있다면 필요없겠죠) 다음을 입력합니다.
PS c:\> $sa = Get-SPWebApplication - Identity "(어플리케이션 명)"
PS c:\> $sa.WebFileExtensions
ascx
asmx
aspx
jar
master
swf
xap
xsf
xsn (이러면 이게 죽 나와요 어떤 것들이 막혀있는지)
PS c:\> $sa.WebFileExtensions.Remove("swf")
True (실행이 되고)
PS c:\> $sa.Update() (업데이트)
이렇게 해주시면 됩니다.
설정
트랙백
댓글
글
주의 : 제 경우입니다. 여러분의 케이스와 다를수도 있음을 알려드립니다.
프로젝트 중에 이런 메세지가 뜬 적이 있어요.
분명히 SPSite에 제대로 된 Url을 추가했는데, Null로.. Url이 없다는 다소 황당한 메세지였습니다.
이럴때는 일단 분석을 해봐야 할 필요가 있습니다. 분명히 Url이 틀렸다던지. 하는 문제는 아니었거든요.
일단 eventvwr로 봅니다.
일반적으로, Sharepoint 2010 을 설치했을 때, API가 사용하는 계정은 sntd\administrator입니다.
그리고 이 계정의 결정은, 전적으로 Pool의 결정에 따릅니다.
즉, 이 웹 응용프로그램에서 기본적으로 사용하는 Pool인, DefaultAppPool의 계정이 무엇이냐에 따라 달라지는 것이지요.
Url이 없는것이 아니라, 그 SPSite의 데이터를 읽어오기 위한 DB에 접근하지 못했다는 이야기입니다.
그럼 해결방법은 2가지가 되겠지요. DefaultAppPool의 프로세스 ID를 바꿔주던지.
아니면 SQL Server에 이 잡혀있는 프로세스 ID의 계정을 추가해 주던지.
두가지 방법 중 하나를 취해주시면 해결됩니다.
DefaultAppPool 프로세스 ID를 보시면,
지금 이 화면은, 인터넷 정보 관리자(inetmgr)에서 DefaultAppPool의 고급설정창을 켠 결과입니다.
기본적으로, 프로세스 모델 ID를 지정하는 곳이 되겠습니다. 기본 웹 크리덴셜과는 별도로 들어가는 프로세스 아이디죠.
즉, SPSite 등의 Sharepoint API가, 저 계정을 가지고 들어간다고 생각하시면 됩니다.
일반적으로 (도메인계정)\Administrator로.. 설정을 하시고 설치를 하셨을 것입니다.
즉, 이 계정이 SQL Server에 있는 계정인지를 확인해보시면 됩니다.
그러니까, 이 계정을 sntd\Administrator 로 바꾸셔도 해결이 될 것이고,
SQL Management Studio 안에 이 (도메인계정)\gwUser를 추가해도 무방하겠습니다.
당연한 말이겠지만.. SNTD\administrator가 저기 있기 때문에 프로세스 ID에 SNTD\administrator가 되는 것이며,
gwUser와 SNTD\gwUser는 다른 계정입니다.
혹시 이 이외의 케이스가 있다면 답글 부탁드리겠습니다.
수고하세요 ^^
Release 20110711.zip
RECENT COMMENT