SPNote

SharePoint Notes

Central Admin Health Analyzer

중앙 관리 사이트를 방문하면 Status Container (Title 아래) 에 Issue 가 있다고 친절히 알려줍니다.. (설정 상에 문제가 있을때 가르쳐주는 걸 보면 좋은 기능이라고 생각함) 이 Issue 를 보기 위해서 링크를 누르면, Central Administration > Monitering Tab > Review problems and solutions 의 위치로 이동합니다.

아무 생각없이 기존의 답습대로 Administrator 를 기준으로 SharePoint 2010 을 설치한 결과 앞으로는 하지 말라는 내용이 많이 포함되어 있습니다.


 # Review Problems and solutions

 

보통은 이런 메시지가 작업에 치명적인 영향을 미치지는 않으므로 무시하고 진행을 하겠지만, 오늘은 문제가 생겨서 짚고 넘어가려고 합니다. 다름이 아니라 Service Unavailable (HTTP Error 503) 이라는 끔찍한 메시지가 나와서 진상조사를 하던 중에 이 영향?을 알게 되었습니다.

 # Service Unavailable

 

Beta 버전이 불안정해서 그런지 하고 의심을 해보았으나 보통은 자신의 책임?이 항상 크기 마련이므로 SharePoint 관련 서비스 점검하던 찰나에 단서를 발견하였습니다. 평소 무거운 관계로 필요 없을 듯해 보이는 서비스들을 모조리 죽여놓았었는데... SPUserCodeV4 서비스를 실행하던 찰나에 아래와 같은 메시지를 발견하였습니다. (Sandboxed Solution 사용하면 필요 많습니다.)

 # Error while starting SPUserCodeV4

 

갑자기 인증 문제가 있다니??? 여튼, 단서를 발견하고 곰곰히 생각을 해보니 좀 전에 재부팅하면서 Administrator 암호를 바꾼 기억이 떠올랐습니다. ㅡㅡ; 여튼, 다시 바꾸고 SQL Server 부터 SharePoint 관련 서비스들을 다시 실행하니 정상적인 페이지를 만날 수 있었습니다. Windows 2008 R2 를 사용 중인데... 암호가 기본적으로 42일만 살수가 있어서 그 이후엔 다시 바꾸게 되어 있더군요... 여튼, Windows 2003 시절처럼 가볍게 바꾸려고 했더니... 바꿀 수 없도록 비활성화가 되어 있었지만 구글링해서 적용하였습니다.  

당연한? 말이기도 하지만, 보안 및 설정 상에 있어서 Administrator 보다는 특정 계정을 생성하여 관리하기를 권장합니다. 오늘은 SharePoint Blog 에서 Enabling a Button on the Ribbon Based on Selection 를 따라하다가 Visual Studio 에서 제공하는 솔루션 관리 기능은 믿을게 못된다는 생각을 고집하면서 재부팅하다가 이런 문제를 만났습니다. 이상하게도 Custom Action 의 커스터마이즈가 잘 안되더군요... 중요한 것은 SDK 를 맹신하고 자료가 눈 앞에 없더라도 주변을 잘 둘러보면 해결이 되는 것 같습니다. 다음은 이 글을 이용하여 간단한 예제를 만들어 보겠습니다.

 

SharePoint Object Model

안녕하세요?

Will 입니다.

이번에는 SharePoint2010 OM에 대해서 내용을 적기로 하겠습니다.

우선 OM(Object Model) SharePoint2010에서는 사용자 단에서 즉 클라이언트 단에서 돌아 갈 수 있도록 dll로 정의가 되어 있는데요, Windows 응용프로그램, Consol 응용프로그램, Silverligth 응용프로그램 그리고 Javascript 에서 클라이언트 스크립팅으로 사용을 할 수 있습니다.

 

1 .Clinet Object Model

 우선 VS2010으로 Window응용프로그램을 만들도록 하겠습니다. 응용프로그램을 만드실 때 .net 3.5를 베이스로 해주시고 만드시면은 되겠습니다.

그리고 폼에 각각의 컨트롤들을 그림과 같이 배치 하시면은 되겠습니다.

컨트롤

ID

Event

Text Box

txtUrl

 

List Box

lstCollection

 

Button

btnSearch

btnSearch_Click
  

 

그런 다음 참조를 통해서 C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI 해당 경로에 잇는 Microsoft.SharePoint.Client.dll Microsoft.SharePoint.Client.Runtime.dll 을 추가해 줍니다.

  

그런 다음 해당 소스를 자신의 코딩에 맞춰서 넣습니다.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using Microsoft.SharePoint.Client;   

namespace SPNote.SharePoint.ObjectModel{   

public partial class ClientOM : System.Windows.Forms.Form    {       

public ClientOM()        {            

InitializeComponent();       

}        

private void btnSearch_Click(object sender, EventArgs e)        {           

//Create A Client Connection           

using (ClientContext clientCon = new ClientContext(txtUrl.Text))           

{                //Get the Site Collection               

Site csite = clientCon.Site;                

//Fill SharePoint Data               

clientCon.Load(csite);               

 clientCon.ExecuteQuery();                

lstCollection.Items.Add(csite.Url);                

//Get the Site                

Web cWeb = clientCon.Web;                

//Fill SharePoint Data               

clientCon.Load(cWeb);               

clientCon.ExecuteQuery();                 

lstCollection.Items.Add(cWeb.Title);                

//Load Lists               

clientCon.Load(cWeb.Lists);               

clientCon.Load(cWeb, x => x.Lists.Where(l => l.Title != null));               

clientCon.ExecuteQuery();                 

foreach (List list in cWeb.Lists)               

{                   

lstCollection.Items.Add(list.Title);               

}           

}       

}   

}//class

}//namespace  

그리고 실행을 하면은 해당 값들을 확인 할 수 있습니다.

  

 

2. ECMAScript Client Object Model

 Script단에서 SharePoint 컨트롤을 사용 할 수 있도록 정의가 되어 있는 것이다. 우선 Project를 새로 생성 하는데 SharePoint 의 빈 SharePoint 프로젝트를 선택하고 생성 한 다음 Applicationpage를 추가 한다. 그럼 Layouts 밑에 해당 페이지가 생성 되게 된다.

  

그리고 나서 해당 소스를 집어 넣고 돌려 본다. 첫번째 했던 ClientOM과 비슷한 소스 이다. 보고 이해 하시기 바랍니다. 그럼 해당 컨트롤을 통해서 Ajax처리가 되어서 해당 사이트의 타이틀을 읽어 올 수 있습니다.

<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>

<%@ Import Namespace="Microsoft.SharePoint.ApplicationPages" %>

<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %><%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %><%@ Import Namespace="Microsoft.SharePoint" %><%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ECMAScript.aspx.cs" Inherits="EcmascriptClientOM.Layouts.EcmascriptClientOM.ECMAScript" DynamicMasterPageFile="~masterurl/default.master" %> 

<asp:Content ID="PageHead" ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server">

<SharePoint:ScriptLink ID="SPScriptLink" runat="server" LoadAfterUI="true" Localizable="false" Name="sp.js" /> 

<script language="javascript" type="text/jscript" >   

function eClientOM(){       

var context = new SP.ClientContext.get_current();       

this.site = context.get_web();       

context.load(this.site);       

context.executeQueryAsync(Function.createDelegate(this,this.rSuceess),Function.createDelegate(this,this.rFailure));   

}    

function rSuceess(senger, args){       

alert("site title" + this.site.get_title());   

}       

function rFailure(sender, args){       

alert("Request failed " + args.get_message());   

}</script>

</asp:Content> 

<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">   

<input type="button" onclick="eClientOM()" value="Ecmas" />

</asp:Content> 

<asp:Content ID="PageTitle" ContentPlaceHolderID="PlaceHolderPageTitle" runat="server">Application Page</asp:Content> 

<asp:Content ID="PageTitleInTitleArea" ContentPlaceHolderID="PlaceHolderPageTitleInTitleArea" runat="server" >My Application Page</asp:Content>   

 

3. Silverlight Client Object Model

 해당 dll의 오류가 있어서 지금 작업은 하지 못하였으나 조만간 작업을 하여서 올리도록 하겠습니다.

 

좋은 한해 보내시고 질문 사항이 있으면은 메일을 주시거나 코멘트를 달아 주시면은 답변을 드리도록 하겠습니다.

 

  

SP.js (379.92 kb)

SharePoint 2010 설치

안녕하세요?

Will입니다. 이번에는 SharePoint 2010의 설치에 대한 내용을 쓰도록 하겠습니다.

 기본적으로 Window2008 R2에 MSSQL2008 을 설치 하여서 SharePoint를 설치 하도록 하겠습니다.

1.SharePiont Server 2010 설치 파일을 더블 클릭 하면은 아래와 같은 화면이 나옵니다 Install -> Install software prerequisites 를 클릭하여서

SharePoint의 구성 시 필요한 사항들을 체크 및 설치를 합니다.

2.  해당 구성들을 확인 하기 위해서 넥스트.

3. 해당 설치 프로그램을 설치 할 수 있도록 I accept 체크 넥스트

 

4. 설치가 완료 되었으면은 완료.

5. 이제 본격적으로 SharePoint를 설치해 보도록 하겠습니다. Install -> Install SharePoint Server 클릭.

 6. SharePoint 2010 키를 입력 합니다. 그리고 계속 클릭.

7. License에 대한 동의를 하고 계속

8.  독립된 서버가 아닌 서버 팜으로 구성 하도록 하겠습니다. Server Farm 클릭.

9. Server Type에서 Stand - alone 이 아닌 전체를 설치 하도록 하겠습니다 Complete 선택 -> 지금 설치.

10. 클릭이 완료 되면은 지금 진행중인 화면이 나옵니다.

11.  설치가 완료 되었으며 이제 SharePoint의 구성이 남았습니다 Configuration Wizard를 선택한 상태에서 닫기를 선택.

12.  SharePoint를 구성 하기 위한 요건들 확인 후 넥스트

13. 해당 서비스들이 돌아 갈수 있도록 수락 Yes 클릭.

14. 현재 구성되어 있는 팜이 없으므로 Create a new server farm 체크 -> 넥스트.

15. DB정보와 사용자 아이디 및 비번을 넣고 넥스트.

16. 켁 에러가 나오네요.... 읽어 보니 SQL Server 2008 SP1 CU2를 설치 안했다는 에러 네요. SQL Server 2008 SP1 을 설치 하도록 하겠습니다

http://www.microsoft.com/downloads/details.aspx?FamilyID=66ab3dbb-bf3e-4f46-9559-ccc6a4f9dc19&displaylang=en <-- 해당 url에서 다운을 받고 설치.

17.  동의 하고 넥스트.

18. 전체 선택 후 (MSSQLSERVER는 무조건 되어있어야 함 안되있으면은. 취소 했다가 다시 클릭)-> 넥스트

 19. 파일 체크가 완료 되면은 넥스트 클릭.

20. 해당 구성 확인후 Update 클릭.

21. 설치가 성공 하면은 넥스트. -> 완료 화면 닫기 클릭.

22. 다시 시작 -> 모든프로그램 -> SharePoint 2010 -> Configuration Wizard 클릭 후 -> 12번에서 15번까지 다시 설정

켁;; 그래두 똑같은 에러가 ㅡㅡ  알아 보니 버젼이 틀려서 안되는 거였네;; 10.00.2714.00 찾기 위해서 해당 Url로 이동

http://support.microsoft.com/kb/970315

23. 해당 페이지가 나오면은 핫픽스 보기 및 다운로드 요청 하기 클릭.

 

 24. 약관의 동의 후 동의를 클릭.

25. 파일 이름에 x64 인지 체크 후 해당 파일 두개 선택 후 메일주소를 쓰면은 해당 파일을 다운 받을 수 있는 url경로와 압축 풀시 키값이 날라 온다.

26. 내용은 이렇다. 요기 라구 체크 한데서 다운을 받고 비밀 번호는 그 밑에 있는걸 쓰면은 해당 핫픽스를 다운 받을 수 있다.

IMPORTANT INFORMATION

For your convenience, we put the hotfix that you requested on an HTTP site. You can download the hotfix from this site without us filling up your e-mail inbox.

WARNING This hotfix has not undergone full testing. Therefore, it is intended only for systems or computers that are experiencing the exact problem that is described in the one or more Microsoft Knowledge Base articles that are listed in "KB Article Numbers" field in the table at the end of this e-mail message. If you are not sure whether any special compatibility or installation issues are associated with this hotfix, we encourage you to wait for the next service pack release. The service pack will include a fully tested version of this fix. We understand that it can be difficult to determine whether any compatibility or installation issues are associated with a hotfix. If you want confirmation that this hotfix addresses your specific problem, or if you want to confirm whether any special compatibility or installation issues are associated with this hotfix, support professionals in Customer Support Services can help you with that. For information about how to contact support, copy the following link and then past it into your Web browser:

http://support.microsoft.com/contactus/

For additional support options, please copy the following link and then paste it into your Web browser:

http://support.microsoft.com/

Before you install this hotfix
------------------------------

If you decide to install this hotfix, please note the following items:

Do not deploy a hotfix in a production environment without first testing the hotfix.

Back up the system or the computer that will receive the hotfix before you install the hotfix.

Additional hotfix information
-----------------------------

This hotfix package uses a password. Therefore, you must enter for each package the password that we included in this e-mail message. To make sure that you enter the correct password, we recommend that you highlight, copy, and then paste the password from this e-mail message when you are prompted. If you do not enter the correct password, you cannot install the hotfix.

NOTE Passwords are set to expire every seven days. Download the package within the next seven days to make sure that you can extract the files. If there are fewer than seven days left in the password change cycle when you receive this e-mail message, you receive two passwords. If this is the case, use the first password if you download the hotfix package before the date in the "Password Changes On" field that is listed in the table at the end of this e-mail message. Use the second password if you download the hotfix package after the date in the "Password Changes On" field.

NOTE For your convenience, we send the hotfix location to you in a hyperlink. To connect to this hotfix location, you can click the hyperlink in the "Location" field that is listed in the table at the end of this e-mail message to have your Web browser open that location. However, sometimes e-mail program settings disable hyperlinks. If the hyperlink in this e-mail message is disabled, please copy the hyperlink in the "Location" field and then past it into the address box of your Web browser. Make sure that you include the exact text (without spaces) between the parentheses in the http:// address.


Package:
-----------------------------------------------------------
-----------------------------------------------------------
KB Article Number(s): 948567, 949862, 953626, 956574, 956686, 960616, 960976, 960978, 961106, 961146, 961237, 961282, 961325, 961340, 961526, 961648, 961695, 961760, 961803, 961811, 961920, 961928, 961935, 961979, 962003, 962008, 963061, 963117, 963118, 963659, 965217, 965221, 966306, 967148, 967157, 967161, 967162, 967164, 967169, 967178, 967205, 967206, 967315, 967337, 967480, 967523, 967524, 967552, 967561, 967614, 967749, 967821, 967889, 967983, 967984, 968080, 968085, 968152, 968159, 968290, 968369, 968449, 968539, 968543, 968615, 968722, 968740, 968741, 968742, 968834, 968900, 969007, 969050, 969086, 969099, 969131, 969235, 969357, 969362, 969386, 969453, 969467, 969469, 969513, 969528, 969588, 969611, 969653, 969775, 969793, 969844, 969872, 969890, 969942, 969997, 970014, 970044, 970058, 970070, 970133, 970150, 970160, 970184, 970198, 970255, 970287, 970315, 970324, 970349, 970399, 970461, 970507, 970538, 970550, 970551, 970654, 970666, 970713, 970719, 970731, 970823, 970824, 970909, 970966, 970989, 971020, 971049, 971051, 971057, 971064, 971068, 971125, 971132, 971136, 971402, 971482, 971491, 971622, 971640, 971683, 971753, 971772, 971780, 971898, 971914, 971934, 971985, 972068, 972075, 972101, 972184, 972197, 972198, 972200, 972201, 972203, 972207, 972261, 972271, 972367, 972395, 972440, 972458, 972498, 972521, 972537, 972545, 972650, 972681, 972687, 972759, 972763, 972777, 972833, 972856, 972893, 972936, 972939, 972969, 972984, 973087, 973090, 973102, 973103, 973192, 973200, 973204, 973223, 973250, 973251, 973255, 973257, 973292, 973300, 973302, 973303, 973524, 973580, 973588, 973602, 973696, 973877, 973897, 973953, 974076, 974231, 974262, 974269, 974276, 974289, 974371, 974398, 974404, 974712, 974766, 974816, 974948, 975055, 975171, 975272, 976761
Language: All (Global)
Platform: x64
Location: (http://hotfixv4.microsoft.com/SQL%20Server%202008/sp1/SQL_Server_2008_SP1_CU_Updated_Ref_KB_97/10.00.2740.00/free/398850_intl_x64_zip.exe)   <--요기
Password: )llB]dsAM  <-- 요기

-----------------------------------------------------------
KB Article Number(s): 960616, 961106, 961760, 961811, 963061, 965217, 967206, 967337, 967561, 967983, 967984, 968085, 968290, 968449, 968834, 968900, 969007, 969131, 969235, 969362, 969469, 969588, 969775, 969872, 970070, 970184, 970198, 970255, 970315, 970461, 970550
Language: All (Global)
Platform: x64
Location: (http://hotfixv4.microsoft.com/SQL%20Server%202008/sp1/SQL_Server_2008_SP1_Cumulative_Update_2/10.00.2714.00/free/381569_intl_x64_zip.exe) <-- 요기
Password: +iSZWIF <-- 요기



NOTE Make sure that you include all the text between "(" and ")" when you visit this hotfix location.

27. SP1을 깔아서 그런지. 핫픽스 두개 중에 한개만 설치가 된다 압축을 풀고 나서 끝자리가 315로 되어 있는건 설치가 안되고 다른 건 설치가 된다 SP1에 똑같은 버젼의 315가 포함이 되어 있어서 설치가 안됨.

무튼 한개의 핫픽스를 깔고 (까는 방법은 SP1 설치 방법과 같다 위에 그림들을 참고 하시기를..)

28. 다시 12에서 16번 까지 하였더니 이번에는 해당 버젼이 맞아서 넘어 감. 비밀 번호를 넣고 넥스트.

29. portnumber를 5000번으로 지��� 하도록 하겠습니다. 그리고 인증은 NTLM으로 하도록 하겠습니다 그리고 넥스트

30. 해당 구성이 맞는지 체크를 하고 넥스트.  여기가 맞나;; SharePoint 구성의 진행 화면이 나옴..

31. 구성이 완료 되었다는 페이지가 나오고 완료 클릭.

32. 해당 구성 화면을 들어가 보면은.. SharePoint 2010의 구성 페이지를 볼 수 있음.

SharePoint 2010은 언듯 봐도 참많이 바뀌었다는 생각이듬. 리본 메뉴가 생겨 났으며, SPS사라지구 각각의 구성으로 밖으로 나와 있는 것을 볼 수 있었음. 해당 구성 방법은 이번주 내로

추가 해서 올리도록 하겠습니다 .

저도 피곤한지라... 짬날때 조금씩 하구 있으니.. 많은 양해를;;;ㅋㅋ

 궁금하시거나 모르시는게 있으면은 댓글을 달아 주시거나~ 메일을 보내주시면은 답변을 드리도록 하겠습니다.