MOSS 교육 정리


교육 1일차

※ 웹사이트 템플릿 구성
- C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\1042\XML
 에 xml 파일 만든후

- C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\SiteTemplates
 에 위의 xml 파일 명의 폴더를 찾는다.

- C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\SiteTemplates\SAMPLE\xml
 에 ONET.XML 에 정의된 내용이 템플릿이다.

- C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\1042
 에 정의 된 새 템플릿 소스를 넣어둔다 sample

========================================================================================

교육 1일차

※ IIS 및 aspx 실행 흐름도

Default.aspx  = > IIS 6.0 (매핑정보) = > aspnet_isapi.dll = > 런타임 = >
1. HttpRuntime  - 런타임시에 자동 생성
2. HttpApplication, HttpContext - 런타임시에 자동 생성
3. HttpModules(session, authication...)
4. HttpHandler(.aspx => 랜더링(PageHandlerFactory))
5. Global.asax
6. Page_Init
7. Page_Load
8. Page_PreRender
9. Page_Render(HTML)
10. Page_Unload
11. HttpModules

========================================================================================

교육 2일차 Feature

Feature
- 물리적 경로 : C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES


※ 사이트 작업 > 새로 만들기 에서 문서 Feature 라이브러리 비활성화/활성화 시키기
- 커멘드 창에서 CD C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN 경로 설정
- 비활성화 실행 stsadm -o deactivatefeature -filename DocumentLibrary\feature.xml -url http://localhost:10000 -force
- 활성화 시에 stsadm -o activatefeature -filename DocumentLibrary\feature.xml -url http://localhost:10000 -force

Tip ) -filename  ==> C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES

 


Feature 생성 (sample 코드 HellowAction)
1. Feature 생성시 물리적경로에 폴더로 만들어야
2. 생성 폴더 안에 Feature.xml 파일 이 필히 있어야함(Feature라고 정의)
 <Feature Title="New Simple Form Toolbar Button"
  Scope="Web"         => Web(자기사이트) or Site(사이트안에 포함된 모든것)
  Id="A11D70FD-FC23-4996-970E-B2C1A6C47667"     => GUID
  xmlns="http://schemas.microsoft.com/sharepoint/"> => namespace 정의
  <ElementManifests>
   <ElementManifest Location="Elements.xml" /> => Feature 갯수 및 작업처리 정의 연결
  </ElementManifests>
 </Feature>

 

 <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomAction Title="HelloAction"     => 임의의 위치에기능추가 즉 링크 추가
   Sequence="10"      
   RegistrationType="List"     => 어디에 나타나는지 정의
   RegistrationId="104"      => 어디에 나타나는지 정의
   Location="EditFormToolbar"     => 어디에 나타나는지 정의 (EditformToolbar 위치함) - 쉐어포인트의 메뉴설정
          (리스트템플릿 104(공지사항) 번에 EditformToolbar에 하나더 추가한다는 내용)
   Id="HelloAction Toolbar">     
   <UrlAction Url="/_layouts/HelloActionPage.html" />  => 클릭시에 Url이동
           C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS 에 html 파일이 있어야함
  </CustomAction>
 </Elements>


3. Feature 인스톨 / 활성화 작업
 인스톨 작업 :  stsadm -o installfeature -filename HelloAction\feature.xml
 활성화작업 : stsadm -o activatefeature -filename HelloAction\feature.xml -url http://localhost:10000 -force

4. iisreset (파일이 추가 되는 것이기 때문에 iisreset 해줘야함

 

※ 리스트 상에서 컬럼을 Feature 만들기 (sample 코드 demos\ListOM2\ListWithCAMLDemo)
1. 물리적 경로 : C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES
   에 샘플 소스의 BizCustomColumns 폴더를 복사 해서 넣어둔다


2. 인스톨 작업 :  stsadm -o installfeature -filename BizCustomColumns\feature.xml
   활성화작업  :  stsadm -o activatefeature -filename BizCustomColumns\feature.xml -url http://localhost:10000 -force

 


※ Feature 데모 (demos\ListOM2\CustomFieldDemos)
- 등록시 컬럼 생성

 


TIP) GAC 등록 방법
프로젝트의 속성에서 빌드 이벤트에 빌드 이벤트 후 명령줄에 아래 내용 쓴후 빌드
call "%VS80COMNTOOLS%\vsvars32.bat" > NULL 
gacutil.exe /if "$(TargetPath)  

TIP) 쉐어포인트의 조각들 경로 ascx
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES

TIP) Feature 에서 컬럼들 추가시 xml 파일 등록 경로
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML


※ Feature 데모  (demos\Features\CustomApplicationPage)
- 사이트 작업 에 Feature 추가  / 공지 사항 리스트의 속성목록 추가

 


====================================================================================================

교육 2일차 Masterpage

기존 UserControl 사용하여 레이아웃을 잡았을 경우
1. default.aspx 페이지에 ascx 지시자 등록 / 사용시에 등록 테그에 Src 때문에 문제가 생긴다.
2. 페이지의 작업량이 많아 진다.
3. 레이아웃 변경시 작업량이 많아 진다.

= > 위와 같은 이유로 인한 마스터 페이지가 등장함


TIP) 웹사이트로 만든 dll 파일 생성 하려면 게시를 해준다.
그것을 MOSS 적용시키기 위해서 dll 파일은
C:\Inetpub\wwwroot\wss\VirtualDirectories\10000\_app_bin 에 복사해주구
해당 파일들은 웹사이트 최상위 경로경로에  C:\Inetpub\wwwroot\wss\VirtualDirectories\10000 폴더에 넣어준다.
그 후에 iisreset


Masterpage 데모  (demos\Features\CustomBranding)
- 사이트 작업에서 마스터 페이지 적용 Feature 만들기


※ Masterpage 데모  (demos\Features\CustomSitePages\CustomSitePages)
- SPFeatureReceiver : Feature activatefeature / installfeature / deactivatefeature 등의 등록시 사용되는 이벤트


<Feature
  Id="EEC24C3D-B14A-4c4b-8673-5E196E7DDA17"
  Title="A demo feature with Custom Site Pages"
  Description="This educational demoware created by Ted Pattison (www.TedPattison.net)"
  Scope="Web"
  Hidden="false"
  ImageUrl="CATLG.GIF"
  ReceiverAssembly="CustomSitePages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b38a04419cc857d9"   =>어셈블리정보
  ReceiverClass="CustomSitePages.FeatureReceiver"         =>클래스
  xmlns=" http://schemas.microsoft.com/sharepoint/">

  <ElementManifests>
    <ElementManifest Location="elements.xml"/>
  </ElementManifests>
 
</Feature>

 


※ Masterpage 데모  (demos\ListOM2\ListDemo\ListRssFeedHandlerLib) : 핸들러 사용
-페이지상에서 AllItems.aspx 호출시 모든 페이지를 Rss피드로호출하려고 사용함


=======================================================================================================================

교육 3일차

※ Event Handler 접근을 Feature
Ex) 업데이트 시에 에러 메세지 호출 샘플 소스

1. Day03\Events\Xml_Event\Simple\SimpleEventHandler 의 소스로 이벤트 핸들 소스 빌드후에  GAC 등록해야함

2. feature 폴더에 Day03\Events\Xml_Event\Simple\SimpleEvent 폴더를 복사한후

3. 배포 bat 파일을 실행한다.

 


※Event Handler 접근을 API 로
1. 적용 할 리스트 생성
API 로 리스트 생성 방법
Day03\Events\CreateListInstance


2.
Day03\Events\API_Event\RegisterEventHanlder
의 프로젝트의 RegisterEventHanlder 소스 작성

 

※ Webpart 로 답변형 게시판 만들기
1.Day03_1\Board\SiteFeature 프로젝트로 사이트 를 생성하고 4개의 페이지를 만들어 놓는다.

2.Day03_1\Board\DBConnectionBoardWebPart 솔루션을 실행우 배포 해준다.

3.1번에서 물리적으로 생긴 페이지들에 아래의 Register 을 등록하고 웹파트 영역을 잡아준다.
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<WebPartPages:WebPartZone runat="server" FrameType="None" ID="Main" Title="loc:Main" />

4. 사이트에서 웹파트를 추가해준다.


======================================================================================

교육 4일차

※ 데모 1 (Day04\aspnet20\WebParts 웹사이트 열기)
- 2.0의 전체적인 webpart


※Static Connection : Webpart 간의 연결


========================================================
교육 5일차 2005 사용시
- Visual Studio 2005 Extensions for Windows Workflow Foundation (KO) 설치
- OfficeServerSDK.exe 설치 후 사용


※ 워크 플로는 라이브러리 형식으로 만든다 workflow 의 workflow Library

※ TEST VS2008 로 workflos 에 sequential Workflow console 생성

TIP ) Sequential 일방적인거
    ) Statemachin 은 임의 설정가능

 

StateMachineWorkFlow 테스트데모

state 추가 AT 추가 한후에 StateInitalization


-EventDrivenAT 는 이벤트 Deiven AT 이 플로우에는 HandleExternalEvent 를우선등록되어야함
-프로젝트에서 오른쪽 버튼 item 추가 workflow 의 Activity 추가 한후에


 

태그 : MOSS