Korea Evangelist

Developer & Platform Evangelism, Microsoft Korea

July, 2011

  • Korea Evangelist

    [Orchard 강좌] 1. Orchard CMS 개발 환경 구축

    • 0 Comments

    이 내용은 ASP.NET MVP로 활동하고 계신 박용준님이 작성하신, 오픈소스 기반 웹사이트 제작 엔진인 Orchard로 처음 웹사이트를 구축 및 개발하기 위한 시리즈 강좌입니다. 많은 도움 되시길 바랍니다.
    ==================================================================================================

     

    소개

    안녕하세요. 박용준입니다.

    이번 시간에는 Orchard CMS 오픈소스 솔루션을 사용하기 위한 기반을 다지기 위한 필수 프로그램을 설치하는 과정을 설명드리도록 하겠습니다.

    WebPlatformInstaller 및 WebMatrix에 대한 강좌는 SQLER.com 사이트의 아래 링크의 강좌를 미리 보기로 참고하셔도 됩니다.

    Microsoft/Web : 웹 플랫폼 인스톨러

    Microsoft는 오프소스를 손쉽게 다운로드 받고 이를 설치할 수 있도록 [웹 플랫폼 인스톨러]라는 또 다른 관리 도구를 제공하고 있습니다.

    이 도구는 http://www.microsoft.com/web 사이트에서 언제든지 최신 버전으로 받을 수 있습니다.

    image_thumb.png

    또한, 아래 그림처럼, [다운로드] 메뉴의 [웹 플랫폼 인스톨러] 메뉴를 사용하여 Web Platform Installer 3.0 프로그램을 다운로드 받아 설치할 수 있습니다.

    참고.

    WebMatrix에 대한 기본 강좌는 이미

    http://www.sqler.com/의 아래 링크에서 제공되고 있으니 참고하시기 바랍니다.

    따라하기. [웹 플랫폼 인스톨러]를 사용하여 Orchard CMS 개발 환경 구축하기

    1. Microsoft/Web 사이트의 다운로드 메뉴에서 Microsoft Web Platform Installer 3.0을 다운로드 받습니다.

    image_thumb_2.png

    2. 다운로드 받은 설치 파일을 더블클릭하여 설치를 진행합니다.

    image_thumb_3.png

    3. 웹 플랫폼 설치 관리자 3.0(이하 WPI)이 설치 후 로드되면 아래 그림처럼 설치할 수 있는 여러 제품 및 응용 프로그램 목록이 나열됩니다. 이 중에서 [응용 프로그램] 카테고리내의 [Orchard CMS(영어)]가 이번 강좌 시리즈를 통해서 저와 함께 다뤄볼 내용입니다.

    image_thumb_4.png

    4. 우선, Orchard를 실행하기 위한 최소 도구를 설치하기 위하여 WPI의 제품 카테고리에서 3가지 제품을 설치합니다. 아래 그림처럼, [ASP.NET MVC 3], [Microsoft WebMatrix], [IIS 7 권장 구성]의 오른쪽에 있는 [추가] 버튼을 클릭합니다.

    image_thumb_7.png

    5. 그런 후 응용 프로그램 카테고리내의 [Orchard CMS(영어)] 항목의 오른쪽 추가 버튼을 클릭합니다.

    image_thumb_6.png

    6. 마지막으로 왼쪽 하단의 [설치할 항목(T)] 링크를 클릭하여 3가지 제품과 1개 응용 프로그램이 선택되었고, 기타 추가적인 모듈이 선택된 것을 확인 후 [설치] 버튼을 클릭하여 Orchard CMS 및 기타 기반 제품들을 설치합니다.

    image_thumb_8.png

    7. 몇 분 정도의 설치시간이 진행된 후 설치가 완료되면 설치 목록 확인 후 [마침] 버튼을 클릭합니다.

    image_thumb_9.png

    8. WebMatrix와 Orchard를 같이 설치하면, 설치 완료 후 아래 그림처럼 Orchard 소스가 바로 WebMatrix 도구를 통해서 로드됩니다. Orchard 소스는 기본값으로 [내 문서]-[My Web Sites]-[orchard] 웹 사이트에 저장됩니다.

    image_thumb_10.png

    9. 나중에 추가적인 다른 오픈소스를 설치해서 운영하고자 할 때에는 언제든지 [Microsoft Web Platform Installer] 프로그램을 실행하여 설치할 수 있습니다.

    image_thumb_11.png

    10. 또한, Orchard 소스를 실행 또는 편집할 때 사용할 에디터로 [WebMatrix]를 사용할 수 있는데, 이를 사용하려면, Orchard가 설치된 폴더에 마우스 오른쪽 버튼을 클릭하여 나타나는 메뉴에서 [Open as a Web Site with Microsoft WebMatrix]를 실행하면 됩니다. 이 메뉴는 WebMatrix를 설치했을 때에만 나타나는 메뉴입니다.

    image_thumb_12.png

    11. WebMatrix 도구를 사용하여 Orchard 소스(처음 소스 : 클리어 버전)를 열면 아래 그림처럼, WebMatrix에 대한 기본 구조에 Orchard 소스가 나타납니다. 여기까지 진행하면 Orchard CMS 개발 환경 구축이 완료가 됩니다.

    image_thumb_13.png

    마무리

    자~ 그러면 이제 우리는 Orchard에 대한 학습을 시작할 수 있는 단계까지 왔습니다. 시작이 반이라는 말씀을 알고계시죠???

    오늘은 여기까지 마무리하고 다음시간에 Orchard 솔루션을 실행해 보도록 하겠습니다.

    관련글

  • Korea Evangelist

    [Orchard 강좌] 0. Orchard CMS 소개

    • 1 Comments

     

    이 내용은 ASP.NET MVP로 활동하고 계신 박용준님이 작성하신, 오픈소스 기반 웹사이트 제작 엔진인 Orchard로 처음 웹사이트를 구축 및 개발하기 위한 시리즈 강좌입니다. 많은 도움 되시길 바랍니다.
    ==================================================================================================

     

    소개

    안녕하세요. 박용준입니다.

    이번 강좌부터 Orchard CMS에 대한 강좌를 진행해 보도록 하겠습니다.

    제가 이 강좌를 30회에 걸쳐서 진행할텐데요… 그 목적은 이 글을 읽으시는 분들에게 Orchard에 대한 사용법을 전달하는 것 단 한가지입니다. 이 강좌에서는 어려운(?) 코드도 거의 나오지도 않고, 마우스 클릭 몇 번, 데이터 입력 몇 번의 단계를 거쳐서 하나의 웹 사이트를 만들어가는 과정을 보여드립니다.

    자, 그럼, Orchard가 무엇인지 그 탐험을 떠나보도록 하겠습니다…

    CMS(Content Management System)

    CMS는 웹에서 소스 수정 없이 모든 콘텐츠에 대한 생성/수정/삭제 등을 관리자 모드(또는 대시보드)에서 관리해주는 응용 프로그램을 말합니다. 웹 분야에 종사하시는분들이라면 익히 들어본 제로보드(XE)라던가 그누보드 등의 게시판 솔루션도 하나의 CMS로 볼 수 있습니다.

    그런 CMS 솔루션 중 최신 닷넷(.NET) 기술로 만들어진 Orchard(http://www.orchardproject.net)에 대한 소개 및 활용 방안을 여러분들께 소개하고자 하는 시간을 갖도록 하겠습니다.

    여기서 질문 한가지를 드려보도록 하겠습니다.

    여러분들은 웹 사이트를 만들 때, 처음부터 모든 것을 다 만들기 시작합니까? 아니면, 이미 만들어져 있는 시스템(기존 소스)에 내용을 추가하는 방법을 사용합니까?

    아마도 많은 분들이 기존 소스에 덧붙여서 새롭게 디자인하고 기능을 추가하는 방식을 많이 사용하실 것입니다. 이 방법이 생산성 면에서 비즈니스 요구사항을 가장 빨리 받아드릴 수 있는 방법이 아닐까 합니다. 우리가 오픈소스를 사용하는 가장 큰 이유도 바로 이러한 부분이 아닐까 합니다.

    Orchard

    Orchard라고 하면 무엇이 떠오르시나요? 예… “과수원”입니다. Orchard는 단어 자체의 의미와 동일합니다. 넓디넓은 과수원 땅에 구역을 나누어 한곳은 배나무 다른 한곳은 사과나무 등 관리자가 필요한 만큼 농사를 지어 풍성한 수확을 거두는 곳입니다.

    Orchard 프로젝트는 ASP.NET 기술로 만들어진 오픈소스 CMS 솔루션으로 Orchard 웹 사이트에 여러분들이 가꾸고자하는 페이지 및 위젯(부분 영역)을 맘껏 가꾸어나갈 수 있는 기반을 제공합니다.

    1_OrchardProjectWebsite_thumb.png

    [그림] Orchard 공식 사이트(http://www.orchardproject.net/)

    Orchard는 최신의 ASP.NET MVC 3와 Razor Syntax로 만들어져 있어, 성능과 확장성에서 매우 뛰어난 장점을 지닙니다. 무엇보다도 믿음직스러운 점은 일반 개발자들이 모여서 오픈소스 프로젝트가 구성된 점이 아닌, Microsoft 본사 개발자가 직접 참여하여 오픈소스 프로젝트를 진행하는 부분이기에 Microsoft의 직접 지원을 받을 수 있어 믿고 사용할 수 있다는 점과 꾸준히 업그레이드가 진행될 로드맵이 구성되었다는 장점 등 많은 이점을 가지고 태어난 오픈소스입니다.

    Orchard vs. DotNetNuke vs. Umbraco

    ASP.NET 기술로 만들어진 성공적인 오픈소스를 꼽자면 DotNetNuke(http://www.dotnetnuke.com/)가 있습니다. 국내에서는 많이 활성화되진 못했지만, 해외에서는 상당히 많이 사용되고 있는 오픈소스입니다. 이러한 DotNetNuke와 Orchard를 비교하자면, DotNetNuke는 이미 2003년쯤부터 프로젝트가 시작되어 지금은 상당히 방대한 커뮤니티가 활성화되어있습니다. 하지만, Orchard는 2011년 1월에 시작해서 2011년 4월에 버전 1.1로 만들어진 따끈따근한 새내기 오픈소스입니다. 또한, DotNetNuke와 같이 ASP.NET Web Forms 기술을 기반으로 만들어진 또 하나의 성공적인 오픈소스는 Umbraco(http://www.umbraco.com) 입니다. Umbraco도 CMS 기반으로 규모로 따지면, DotNetNuke만큼 많이 사용되는 닷넷으로 만들어진 CMS 솔루션입니다.

    DotNetNuke와 Umbraco는 ASP.NET Web Forms 기반으로 만들어져 있으며, Orchard는 ASP.NET MVC 기반으로 만들어져 있어, 각각의 영역에 관심있는 개발자로 나눠지는 경향이 있을 수 있습니다. 이에 필자는 Web Forms 기반 CMS는 DotNetNuke 및 Umbraco에게 손을 들어주고, MVC 기반 CMS에는 단연코 Orchard에게 힘을 실어 주고자 합니다.

    어쨌든, 본 강좌 시리즈에서는 Orchard에 대한 내용을 설명드리고, 추가로 DotNetNuke와 Umbraco에 대한 관심이 있는 분들은 각각의 공식 사이트를 방문해 보기 바랍니다.

    비전

    Orchard는 아래와 같은 여러 역할에 따른 기능을 비전으로 제시하여, 개발자와 디자이너의 기본 요구사항을 충족시킬 수 있습니다.

    • 일반사용자:
      • 인터넷 기반의 웹사이트를 간단하고 빨리 생성 가능
    • 개발자:
      • ASP.NET MVC 기반으로 모듈 단위 개발 및 프레임워크 기능 확장 가능
    • 디자이너:
      • 유연하고, 웹 표준 기반의 UI를 제작할 수 있는 테마 제공 가능
    • 웹 전문가:
      • Orchard는 모듈과 테마 개념을 적용하여 현대적인 웹 사이트 제작에 필요한 모든 것을 재정의할 수 있는 CMS 솔루션 제공

    Orchard 아키텍처(Architecture)

    image_thumb.png

    [그림] Orchard Architecture

    위 그림처럼, Orchard는 기본 베이스로 ASP.NET MVC를 기반으로 Orchard CMS Core 엔진이 위에 Orchard 모듈 기반으로 모든 페이지가 구성됩니다. Orchard 설치 후 모든 기능을 관리자 모드(대시보드)에서 새로운 페이지(Pages) 생성 및 관리, 블로그(Blogs) 생성 및 관리 등 웹 응용 프로그램 제작에 필요한 모든 구성요소를 Orchard CMS를 통해서 제공 받을 수 있습니다.

    커뮤니티

    앞서 제시하였지만, Orchard 프로젝트는 시작하지 얼마되지 않았고, 앞으로 계속 진행형입니다. Orchard에 대한 성공 여부는 얼마나 많은 커뮤니티가 활성화되느냐에 달려있다고 봐도 됩니다.

    이에 필자는 국내에 Orchard에 대한 소개 및 사용법을 짧지만 알차게 구성하여 여러분에게 소개하고자 이러한 강좌시리즈를 구성하였습니다. 이에 여러분들의 적극적인 참여도 부탁드립니다.

    마무리

    자~ 그럼, Orchard에 대한 소개는 여기까지 마치고, 다음시간부터 Orchard에 대한 A to Z를 진행해 보도록 하겠습니다. 단, 여기서 당부 드리고 싶은 말은 제 강좌는 무척 쉽습니다. 그냥 물 흐리듯이 최대한 따라하기 위주로 진행될 예정이고, Orchard에 대한 제 주관적인 생각보다는 Orchard 공식 사이트에서 제공하는 매뉴얼(Documents)처럼 Orchard에 대한 기능소개를 최우선으로 진행하고자 합니다…

    그럼, 다음 시간에 뵙도록 하겠습니다.

    끝.

    관련글

  • Korea Evangelist

    개발자들을 위한 Windows Phone Mango 베타 OS 및 SDK 공개

    • 1 Comments

    WP_000350_thumb1윈도우폰 망고 개발 도구 베타1이 발표 되었는지 한 달 만에 즐거운 소식을 여러분들께 전달하게 되어서 매우 기쁩니다!

    그 동안 저는 내부적으로 한 해를 마감하고 새로운 한 해를 위한 계획들을 정리하고 있어서 블로깅이 뜸 했습니다만 이번에 윈도우폰 망고 개발 도구 베타2 내면서 App Hub 등록된 개발자들이라면 현재 판매 되었던 모든 윈도우폰7 장치에 대해 영문용 윈도우폰 망고 OS 베타를 다운로드 받아 개발할 있도록 지원됩니다!

    그렇다면, 어떠한 내용이 바뀌어졌는지에 대해 좀더 상세히 말씀해 드리도록 하겠습니다!

    여러분들도 잘 알고 있다시피, 작년 11월에 윈도우폰7 디바이스 출시 및 마켓플레이스를 오픈하여 현재까지 25,000개 올라와져 있습니다. 이것은 이미 RIM Marketplace 에 올라와져 있는 앱의 개수를 초월하고 있습니다. 현재 고품질의 앱을 준수하고 있는데, XBOX Live 와 결합된 게임이나 실생활에서 유용한 앱들이 계속적으로 나오고 있습니다.

    그래서 이러한 혁신적인 앱들을 윈도우폰 망고 OS에 대해 개발해 주시기를 바라는 희망으로 이번에 개발자들을 위한 Mango OS 베타를 공개하게 되었습니다. 또한 이 Mango OS 베타는 윈도우폰 망고 개발 도구 및 SDK 베타2와 동시에 발표했는데, 여기에 가면 다운로드를 받을 수 있습니다.

    이번 윈도우폰 7.1 SDK 베타2에서는 베타1에서 지원되는 기능을 좀 더 확장시키고 정리시켜 놓았습니다!

    기능 설명
    멀티태스킹(Multi-Tasking) 윈도우폰 망고 부터는 멀티태스킹을 지원하는 데, 이러한 멀티태스킹을 지원하는 API를 지원합니다.
    FAS(Fast Application Switching)과 실행 모델(Execution Model) 윈도우폰 7.0 에서는 application process 의 state management 를 위하여 Tombstoning 이라는 개념을 도입했는데, 이번에 멀티태스킹을 지��하면서 태스크 스케쥴러에 관련된 State를 저장할 수 있도록 지원하는 데 이 상태를 dormant state 입니다. 이 dormant state 에서 빠르게 앱을 실행시킬 수 있도록 지원해주는 것이 바로 FAS 입니다. 이 API 를 어떻게 활용하는지에 대해 지원합니다.
    Background Agents (Scheduled Notifications and Tasks) 현재 프로그램이 돌아 가는 도중에도 Background Agents 를 통해 스케쥴링에 대해 예약을 할 수 있도록 제공해 줍니다. 예를 들어, Reminder 나 Alarm 등을 사용할 수 있습니다.
    Background Audio 여러분의 audio application 은 백그라운드에서 동작시킬 수 있도록 API 를 지원합니다. 따라서 여러분의 앱에서 배경으로 Audio 를 쓸 수 있도록 제공해 줍니다.
    Background File Transfers 백그라운드에서 웹 서비스로 이미지나 동영상을 다운로드하거나 스트리밍할 때 사용하는 API로 컨텐츠 중심의 경험을 만들 수 있도록 도와 줍니다.
    센서(Sensors) 장치 안에 포함되어 있는 Accelerometer, Compass Sensor, Gyroscope 그리고 Combined Motion 센서 등을 사용할 수 있도록 API를 제공해 줍니다.
    Sockets 지원 TCP 및 UDP 프로토콜을 지원함으로 클라우드 서비스와의 양방향 커뮤니케이션을 가능하도록 해줍니다. 예를 들어, 인스턴스 메시징이나 멀티 플레이어 게임등을 제공해 줍니다.
    Network Information 네트워크 및 네트워크 인터페이스에 대한 정보를 접근할 수 있도록 제공하는 API로 이통사 3G 나 WiFi와 같은 네트워크 연결성에 대해 식별할 수 있습니다.
    Push Notifications 푸시 노티케이션을 쓸 수 있도록 제공하는 API 로써 보내고 받을 수 있도록 제공되며, 앱이나 인터넷을 실행시켜 주는 Raw 타입과 메시지를 보여주는 Toast 타입, 라이브 타일 타입 등을 지원해 줍니다.
    Live Titles 시작화면에 좀더 동적으로 이미지나 숫자를 표현하고 정보를 사용자에게 보여줄 수 있도록 차별화할 수 있는 API 를 제공 합니다.
    Silverlight 와 XNA 통합 Silverlight 와 XNA 프레임워크를 동시에 쓸 수 있도록 제공해 줍니다. 각각의 프레임워크를 장점을 쓸 수 있도록 제공해 줍니다.
    Application Profiling 여러분 앱이나 게임 등을 만들 때 CPU나 메모리와 같은 것에 대해 문제가 발생할 때 시스템 리소스를 살펴 보고 그 결과를 코드에 반영시킬 수 있도록 하는 프로파일링을 할 수 있도록 지원해 줍니다.
    Windows Phone Emulator 하드웨어 센서와 데이터 등을 장치에서 사용하지 않고 에뮬레이터에서 쓸 수 있도록 제공해 줍니다.
    Visual Basic Support Silverlight 및 XNA Framework 를 Visual Basic 에서도 쓸 수 있도록 제공해 줍니다.
    Multi-Targeting and App Compatibility 윈도우폰 7.0 에서 윈도우폰 7.1로 개발할 때 애플리케이션 호환성, 변경된 API 그리고 타겟 버전에 대해서 업그레이드 할 수 있도록 제공해 줍니다.
    Web Browser Control WebBrowser 컨트롤은 Internet Explorer 9 엔진을 그대로 쓸 수 있도록 제공되며 HTML5 렌더링할 수 있도록 제공해 줍니다. 또한 Cookie 등을 접근하여 프로그래밍할 수 있도록 제공해 줍니다. 예를 들어, 엔터프라이즈의 MEAP 나 Hybrid App 을 개발 할 때 사용할 수 있도록 지원 해 줍니다!
    Device Status 배터리나 외부 전원, 장치 제조사, 키보드를 사용할 수 있는지 없는지에 대한 것을 지원할 수 있는 지 DeviceStatus 클래스를 지원해 줍니다.
    Local Database 애플리케이션이 실행될 때 저장소등을 통해 파일 입출력이나 데이터베이스를 사용할 수 있도록 해 주는데, Linq to SQL를 통해 로컬용 데이터베이스를 조작할 수 있습니다.
    Isolated Storage Explorer Isolated Storage 에 파일를 복사하거나 삭제할 수 있도록 커맨드 라인에서 제공해 줍니다.
    Launchers and Choosers 새로운 Launchers and Choosers 를 쓸 수 있도록 제공하는 데, 주소를 선택하거나, 게임 플레이어들에게 Game Session 에 대해 초대하거나, 지도를 크게 하거나 축소하거나 보여줄 수 있도록 제공 됩니다. 새롭게 추가된 Task 는 Address Chooser, Bing Maps, Bing Maps Directions Task, Game Invite Task, Save Ringtone Task, Share Link Task, Share Status Task 등이 있습니다.
    Contacts and Calendar People 허브에 있는 연락처 및 캘린더 정보를 읽을 수 있도록 제공해 주는 API 입니다.
    새로운 Camera API Raw 프레임을 접근할 수 있도록 리얼 타임 액세스를 포함할 수 있습니다. 따라서 이를 이용해서 스캐닝이나 Augmented Reality 애플리케이션을 개발할 수 있도록 제공해 줍니다.
    Pictures Extensibility 여러분의 앱에서 Picture 허브를 접근할 수 있도록 제공해 줍니다.
    Search Extensibility 여러분의 앱에서 Bing 검색을 제공해 줍니다.
    System Tray and Progress Indicator System Tray 로서 opacity 및 colors 를 지원해 줍니다.
    oData Client Linq를 이용하여 오픈 데이터 서비스를 이용할 수 있도록 oData 를 사용할 수 있습니다. id 와 password를 oAuth 가 아닌 데이터를 주고 받을 수 있도록 제공할 수 있습니다.
    시험판 앱 만들기(Trial Mode) 여러분의 앱을 판매하기 전에 시험판을 쓸 수 있도록 API를 제공해 줍니다.

    모두 설치하고 나면 아래와 같이 Visual Studio 2010 Express Edition 기반의 수 많은 템플릿과 Visual Basic.NET 에서도 앱을 개발할 수 있도록 제공하는 화면이 나올 것 입니다. 한편, 여러분들이 좀더 편리하게 앱을 개발하기 위해 “Windows Phone Mango 개발자를 위한 MSDN Webcast 제2탄” 과 "실습 교재(HOL)”를 현재 번역 중 입니다. 따라서 이 달 말쯤은 MSDN 을 통해 공개 될 예정입니다.

    wp7-2_thumb1

Page 14 of 14 (68 items) «1011121314