2012-04-02 2 views
0

저는 셰어 포인트 용 응용 프로그램을 개발하는 방법을 배우고 있습니다.Sharepoint 용 응용 프로그램을 개발하는 데 사용할 수있는 방법은 무엇입니까?

지금까지 내가 통합의 세 가지 유형이 가능 셰어에있다 볼 수 있습니다 :

  • 팜 솔루션 (관리자로부터 설치에서만 사용 가능) (등을 설치하는 제한된 리소스 액세스하지만 쉬운)

    • 샌드 박스 솔루션 SPS 기능을

    에 액세스 할 수 셰어 어셈블리를 참조와

  • 표준 응용 프로그램 (아마도 .NET MVC)는 그 정확하고 COM인가 내가 뭔가를 놓친거야?

  • +0

    타이머 작업, 이벤트 처리기, Silverlight 또는 .net 등의 클라이언트 응용 프로그램과 같은 다른 많은 것들이 있습니다 – Shoban

    답변

    2

    범위, 요구 사항 등에 따라 SharePoint를 개발하는 데는 몇 가지 방법이 있습니다. 내 지식은 2010 년보다 SP2007 영역에 더 많이 포함되어 있으며 내 대답은이를 반영합니다. 당신이 셰어 포인트의 모양을 사용자 정의 목록 데이터와 상호 작용 그냥 jQuery를하고 SPServices 플러그인을 사용하여 몇 가지 흥미로운 UI 효과를 할 수있는 콘텐츠 편집기 웹 파트를 사용

    자바 스크립트

    . 이러한 솔루션에는 패키지 및 배포가 필요하지 않습니다.

    이들은는 SharePoint UI를 통해 생성 또는 정의 된 사용자 정의 XML 문서를 통해 WSP를 통해 배포 할 수 있습니다

    사용자 정의 내용을 입력합니다. 본질적으로 이것은 논리적 인 방식으로 관련된 필드 정의 모음입니다. 모든 필드를 자동으로 사용할 수 있도록 컨텐트 유형을 목록에 추가 할 수 있습니다. 또한 이러한 방식으로 사용한 적이 없지만 동일한 목록 (롤업 또는 목록 데이터 백업)에서 데이터를 혼합하고 일치시키는 편리한 방법을 제공합니다.

    는 이벤트 수신기

    이벤트 수신기는 SharePoint의 특정 이벤트에 응답하기 위해 생성 할 수 있습니다. 이벤트 수신자를 목록에 첨부하면 동기식 (- ing) 방식으로 추가, 업데이트, 삭제되는 항목이나 첨부 파일과 같은 이벤트를 수신하고 응답 할 수 있으므로 유효성 검사를 구현하고 작업을 취소 할 수 있습니다. 비동기식 (-ed) - SharePoint에서 항목 처리를 마친 후 일부 후 처리를 수행합니다. 이벤트 수신기는 이벤트를 트리거 한 요청을 처리 한 프런트 엔드 SharePoint 서버에서 처리합니다. 사용 가능한 팜의 서버에서 실행되는 타이머 작업 및 워크 플로와 다릅니다.

    이벤트 수신자는 유형에 따라 목록에 첨부하거나 (이 ID 유형의 모든 목록에 적용) 콘텐츠 유형과 연관되어 목록과 연관 될 수 있습니다 (콘텐츠 유형이 목록에 추가됨, 이벤트 수신자도 추가됨).

    기능 수신자은 추가 작업을 수행하기 위해 기능 이 활성화되거나 비활성화 될 때 응답하는 특별한 종류의 이벤트 수신기입니다. 많은 사람들이이 추가 작업을 Feature Stapling이라고 부릅니다. XML 문서만으로는 할 수 없었던 추가 작업을 필요할 때 수행 할 수 있기 때문입니다.

    타이머 작업

    타이머 작업은 일정에 따라 실행되는 코드의 조각이다. Event Receiver와 같은 W3WP 프로세스에서는 실행되지 않지만 TimerService를 통해 처리됩니다. 이 때문에 특정 기능이나 값이 SPRequest 개체에서 누락되었습니다. Timer Jobs 개발은 이벤트 수신기보다 어렵고, 실제로는 오류가 발생하기 쉽고, 디버그가 어렵습니다.

    워크 플로우

    SharePoint 디자이너 또는 Visual Studio를 사용하여

    워크 플로우를 생성 할 수 있습니다. 이들의 주요 차이점은 디자인 타임에 사용할 수있는 기능입니다. SharePoint Designer 워크 플로는 만들고 작성하기가 더 쉽지만 SharePoint 2007에서는 버그가있는 경향이 있습니다. 또한 환경간에 쉽게 패키지되고 배포되지는 않지만 직접 작성한 목록에 직접 연결됩니다 (2007 년에는 2010 년에 더 복잡한 사용자 정의를 위해 Visual Studio로 패키징하거나 마이그레이션 할 수있는 확장 된 기능).

    Visual Studio를 사용하면 더 깊이와 기능을 제공하지만 Timer Jobs와 같이 "받기가 어려울 때가 많으며 Timer Service 프로세스에 의해 처리되기도합니다.

    웹 파트

    사용자 지정 웹 파트는 SharePoint의 컨텍스트 내에서 일부 확장 기능이있는 일반 ASP.NET 웹 파트와 매우 유사합니다. 작업을 수행하기 위해 SPRequest 객체와 모든 컨텍스트 정보 (현재 사용자, 현재 목록/웹/사이트 등)에 액세스 할 수 있습니다. 웹 파트는 사용자의 요구에 충분하지 않을 또는 전체 페이지를 제어하려는 경우, 대부분의 ASP.NET 컨트롤의 활용 등

    사용자 정의 ASPX 페이지

    를 외부 데이터베이스에 액세스 할 수 있습니다 SharePoint 지원 웹 페이지를 만들 수 있습니다. 이들은 적절한 SharePoint 마스터 페이지로 장식되고 하이브 LAYOUTS 디렉터리의 하위 디렉터리에 배포되는 표준 ASP.NET 페이지입니다. 이 기능을 사용하면 웹 파트와 마찬가지로 현재 요청 상태에 유사한 액세스 권한을 가지지 만 전체 페이지 렌더링을보다 잘 제어 할 수 있습니다.

    지정 웹 응용 프로그램

    당신이 독립 실행 형 응용 프로그램에 필요한 경우, 당신은 여전히 ​​맥락에서 직접 실행하지 않고 셰어의 인증 및 권한 부여 툴을 활용할 수 있습니다. 이렇게하려면 IIS 웹 응용 프로그램을 만들고 응용 프로그램 풀 ID를 SharePoint와 동일하게 설정하십시오. 또는 SharePoint 응용 프로그램 풀 내에서 가상 디렉터리를 만들 수도 있지만 일반적으로 권장되지 않습니다. SharePoint 개체 모델을 전혀 사용하지 않으려는 경우에도 .NET Framework 2.0 런타임을 사용하도록 제한됩니다. 이 설정은 대부분 사용자 지정 ASPX 페이지 나 웹 파트를 사용하여 사용자의 요구를 충족 할 수 있기 때문에 거의 사용되지 않는 것으로 보입니다. 특정 질문에 대해서는

    :

    샌드 박스 솔루션 등, 네임 스페이스 귀하의 웹 파트를 제한 솔루션의 단지 특별한 유형에 액세스 할 수 있습니다. 예를 들어 코드에서 권한 영역 외부의 목록에 액세스 할 수 없습니다. 귀하 대신 전자 메일을 보낼 수 없습니다. 사용자 지정 권한 집합을 사용하여 권한을 늘릴 수 있지만 이는 고급 항목입니다.방금 "샌드 박스 솔루션"이 유형이 아니며 이전에는 존재하지 않았던 제한 사항을 설명하기도했습니다 (SP 2007 GAC 배포 솔루션).

    SharePoint 개체 모델을 사용하는 MVC 응용 프로그램에 관한 질문에 대해서는 언급 한 것처럼 여전히 .NET 2.0 런타임에서 실행되도록 제한됩니다.

    편집 : 한 가지 이상의 옵션을 잊어 버렸습니다!

    목록 서비스/기타 ASMX 서비스

    셰어는 다른 것들 사이리스트와 상호 작용하는 데 소비 할 수있는 웹 서비스의 번호가 있습니다. 이 경우 응용 프로그램은 ASMX 서비스를 사용하는 방법을 알고있는 한 원하는 모든 기술 (또는 런타임!)을 사용하여 개발할 수 있습니다. 사용할 수있는 기능은 개체 모델을 직접 사용하는 것만 큼 풍부하지는 않습니다. 따라서이 모델을 고려하는 것을 잊어 버리는 경우가 많습니다. 그러나 코드가 SharePoint 환경 자체에서 더욱 분리 될 수 있습니다. 2010 년에는 더 많은 기능을 제공하기 위해 Client Services에 대한 더 많은 옵션이 제공됩니다.

    +0

    답장을 보내 주셔서 대단히 감사합니다. – Marc

    +0

    목록 서비스를 잊어 버렸습니다! 나는 그 (것)들에 관하여 선전을 추가하기 위하여 편집했다. 어쩌면 나는 몇몇 연결을보고 더 많은 것을 편집해야하거나 계속하기 위하여 이것 충분히이어야 하는가? –

    +0

    당신은 이미 예상했던 것보다 훨씬 더 많은 정보를 제공해 주셨고, 또한 추가해 주셔서 감사합니다! 물론 더 많은 정보를 추가하면 행복 할 것입니다! 고마워요! – Marc

    0

    비주얼 스튜디오에서 솔루션을 개발하려면 Sandbox 솔루션과 팜 솔루션을 찾으십시오. SharePoint 2013을 사용하고 있다면 App Part 개발과 같은 더 나은 옵션을 사용할 수 있습니다.

    샌드 박스 솔루션은 SharePoint 2013 이후부터 사용하기 때문에 샌드 박스 솔루션을 사용하지 않는 것이 좋습니다. App Part 개발에 참여하는 것이 더 좋습니다.

    관련 문제