Korea Evangelist

Developer & Platform Evangelism, Microsoft Korea

July, 2011

  • 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

  • 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

    [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 강좌] 2. Orchard CMS 설치

    • 0 Comments

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

     

    소개

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

    이번 시간에는 Orchard 소스를 기반으로 실제 웹에서 실행할 수 있도록 소스를 설치하는 과정을 보여드리도록 하겠습니다. WebMatrix와 Orchard소스만 준비되어있다면, 짧은 시간내에 Orchard CMS를 설치해서 사용할 수 있습니다.

    아래 따라하기 순서대로 진행하시면 어렵지 않게 설치가 가능하니, 눈으로만 따라하지 마시고, 직접 따라하기를 권장해 드립니다.

    따라하기 : WebMatrix 사용하여 Orchard CMS 설치하기

    1. 앞서 Orchard 개발 환경 구축 시간에 살펴봤듯이 Orchard 소스를 다운로드 받은 곳으로 이동하여, [Orchard] 소스에 마우스 오른쪽 버튼을 클릭하면 나타나는 메뉴에서 [Open as a Web Site with Microsoft WebMatrix]를 클릭합니다.

    image_thumb.png

    2. WebMatrix로 Orchard 소스가 열립니다. 아래 그림과 같이 [실행] 메뉴를 클릭하면, 현재 운영체제에 설치되어있는 웹 브라우저 리스트가 출력됩니다. 이 중에서 원하는 웹 브라우저로 Orchard 웹 사이트를 실행시킵니다. 필자의 경우에는 Windows 7에 기반 내장되어 있는 Internet Explorer를 사용하도록 하겠습니다.

    image_thumb_1.png

    3. Orchard를 WebMatrix로 실행하면 아래 그림과 같이 Orchard 처음 설치화면이 나타납니다. 나중에 설치가 완료되면 현재화면은 더이상 나타나지 않습니다. 이처럼, Orchard는 설치를 포함한 모든 작업을 웹에서 실행할 수 있습니다.

    image_thumb_2.png

    4. Orchard의 처음 설치화면에서 5가지의 주요 정보를 입력해서 설치를 진행합니다.

    image_thumb_3.png

    설치 관련 항목

    • 사이트명  : Orchard CMS의 사이트 이름을 나타냅니다. 만약, 블로그로 운영한다면 “~의 블로그”식으로 입력하시면 됩니다.
    • 사용자명 : 사용자 아이디를 입력합니다. 이는 Orchard의 최고 관리자 아이디를 나타냅니다.
    • 암호 : 위에서 사용할 아이디의 암호를 설정합니다.
    • 데 이터베이스 : Orchard는 SQL Server 기반으로 Compact 버전 또는 Express 버전을 포함한 정식 버전을 지원합니다. 원하는 데이터베이스를 선택하면 됩니다. 필자는 파일 기반의 데이터베이스인 Compact 버전으로 설치하였습니다. 뒷 부분에 SQL Server 정식 버전에 Orchard를 설치하는 내용을 부록으로 동영상 강의로 제공할 예정입니다.

    5. 처음 설치 화면에서 하단에 보면 추가적으로 Orchard Recipe를 선택하는 화면이 나타납니다. 이는 Orchard에 설치시 자주 사용하는 기본 구조를 만들어놓은 것입니다. 만약 블로그에 최적화된 UI로 시작하고 싶다면, [Blog] 항목을 선택하면 됩니다. Recipe를 선택한 후 설치를 진행하려면 [Finish Setup] 버튼을 클릭합니다.

    image_thumb_4.png

    Recipe 종류

    • Default : Orchard 기본 레이아웃으로 구성하고자할 때 선택합니다.
    • Blog : Orchard를 블로그로 사용하고자할 때 선택합니다.
    • Core : Orchard 웹 사이트의 엔진만을 설치하고 나중에 따로 구성하고자할 때 선택합니다.

    6. 설치의 마지막 화면은 아래 그림처럼, Orchard Recipe에 의한 웹 사이트를 구성하는 짧은 화면이 나타납니다. Orhcard 개발 환경 구축이 정상적으로 구성된 상태라면, 문제없이 설치가 완료가 됩니다.

    image_thumb_5.png

    7. 설치 완료 후에 Orchard CMS 메인 페이지가 열린 모습을 나타냅니다. 여기까지 잘 따라오셨다면, Orchard CMS가 정상적으로 설치되었습니다.

    image_thumb_6.png

    8. 설치 완료 후 WebMatrix로 돌아와서 Orchard 소스에 마우스 오른쪽 버튼을 클릭하여 [새로 고침] 메뉴를 클릭한 후 아래 그림과 같이 Orchard-App_Data-Sites-Default 폴더로 이동하면 Orchard.sdf 파일이 생성됩니다. 이 파일은 SQL Server Compact Edition 버전의 파일 데이터베이스 파일입니다. 이곳에 Orchard CMS에서 생성되는 모든 데이터가 보관됩니다.

    image_thumb_7.png

    9. Orchard.sdf 파일을 WebMatrix로 열면(아래 [데이터베이스] 메뉴 클릭)그림과 같이 많은 수의 테이블이 생성된 것을 알 수 있습니다. 우리가 추가적으로 모듈(Module) 등의 기능을 추가하면 테이블이 더 늘어날 수 있습니다.

    image_thumb_8.png

    마무리

    이상으로 Orchard 클리어 버전의 소스를 바탕으로 웹에서 실행 가능하도록 Orchard를 설치하는 과정을 보여드렸습니다.

    다음 시간부터는 이 소스를 바탕으로 페이지/블로그 등의 기능들을 추가하면서 하나의 완성된 웹 사이트를 만들어가는 과정을 보여드리도록 하겠습니다.

    관련글

  • Korea Evangelist

    [Orchard 강좌] 3. 페이지(Pages) 추가하기

    • 0 Comments

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

     

    소개

    안녕하세요…

    이번 시간은 Orchard CMS 솔루션을 사용하여 하나의 페이지(HTML 페이지, ASP 페이지, PHP 페이지와 같은 개념)를 만드는 개념에 대해서 설명을 드리고자 합니다. 다만, 여기서 말하는 페이지가 단순히 물리적인 하나의 파일을 나타내진 않고, 논리적인 하나의 페이지를 말합니다.

    Orchard에서는 모든 페이지가 데이터베이스에 저장된 콘텐츠로 이루어집니다. 또한 하나의 페이지는 그 페이지를 표현하는 URL("라우트 경로)을 함께 가지고 있습니다.

    Orchard 가 ASP.NET MVC 3 기술을 사용하다보니 자연스레 각각의 페이지를 구성하는게 파일 단위가 아닌 메서드 단위, 즉, 하나의 URL이 하나의 메서드를 호출하는 식으로 URL과 그 URL을 처리하는 메서드(액션메서드)로 이루어져 이기에 물리적인 파일이 아닌 논리적인 메서드가 하나의 페이지를 표현합니다.

    말이 어려울 수도 있는데요… 아래와 같이 기존 페이지의 개념과 ASP.NET MVC 기술을 사용한 Orchard의 페이지를 표현하는 방법이 조금 다를 뿐입니다.

    자, 위에 내용은 그냥 잊고, 아래 절차에 따라서 따라하기를 진행하면 위 개념을 몰라도, ASP.NET을 몰라도, ASP.NET MVC를 몰라도 HTML 코드만 알면 웹 사이트를 만들 수 있으니, 무작정 따라하기를 해보도록 하겠습니다…

    따라하기 : 페이지 추가하기

    1. WebMatrix 또는 Visual Studio 2010(Visual Web Developer 2010 Express)을 사용하여 로컬에 다운로드 받은 Orchard CMS 소스를 열고, 웹 브라우저로 실행시킵니다. 실행시킨 후 추가적인 페이지를 만들기위해서 [Sign In] 링크버튼을 클릭합니다.

    image_thumb.png

    2. Orchard CMS 처음 설치시 요청받은 최고관리자(Super User) 권한으로 로그인하면, 관리자 모드인 [대시보드]에 접근할 수 있습니다. 1번과 2번과 같은 절차는 앞으로 진행되는 모든 강좌에서 동일하게 진행해야하는 순서임을 기억하시기 바랍니다…

    image_thumb_1.png

    3. 최고 관리자 권한으로 로그인을 한 후 사이트 하단의 [Dashboard] 링크를 클릭하여 [대시보드]로 이동합니다.

    image_thumb_2.png

    4. 아래 그림은 Orchard CMS 솔루션의 관리자 모드로 불리우는 [대시보드]의 외양입니다. 어찌보면, 다른 CMS와 비교해보면 아직은 많이 부족한(?) 느낌의 단순한 형태의 모양이지만, 앞으로 계속해서 발전해 나갈것은 틀림이 없어 보입니다… 3회까지 강좌를 봐왔는데 믿어야겠죠??? Orchard Core 개발자들 화이팅입니다…

    image_thumb_3.png

    5. 자, 그러면 하나의 페이지를 만들어보도록 하겠습니다. [대시보드]의 좌측 메뉴를 보시면, 아래 그림과 같이 [Page]라는 메뉴가 보입니다. 이는 Orchard에 하나의 페이지(Page)를 만드는 역할을 하게 됩니다. 페이지 메뉴를 클릭하게되면, 오른쪽 영역에 [Title], [Permalink], [Body] 등의 항목에 내용을 입력할 수 있습니다. 각 항목에 대한 간단 설명은 아래에 제시합니다.

    image_thumb_4.png

    페이지 생성시 포함되는 내용들

    • Title : 페이지 제목
    • Permalink : 페이지를 표시하는 고유 URL("기본적으로 페이지 제목을 바탕으로 자동으로 생성됨)
    • Set as home page : 체크시 현재 페이지가 메인페이지(홈페이지)로 표시됨
    • Body : rich-text 에디터에 의해서 페이지에 표시될 컨텐트를 입력
    • Tags : 컨텐트에 대한 분류를 위한 태그 입력
    • Show on main menu : 메인 메뉴에 현재 페이지를 표시할건지 여부
    • Owner : 현재 페이지의 주인(기본값 : 최고관리자)
    • 기타 저장 버튼들 : 임시 저장, 바로 출판, 특정일에 출판 등의 메뉴를 제공

    6. 페이지 생성시 제목 입력시 자동으로 Permalink가 입력이 됩니다. 만약, 자동으로 입력되는 URL이 아닌 특정 URL로 표시되게 진행하고 싶다면, Permalink의 내용을 변경하면 됩니다.

    image_thumb_5.png

    7. 페이지 생성시 Body 영역은 Rich-Text 에디터에 원하는 내용을 입력할 수 있습니다. 위지윅 에디터 형태로, 웹을 사용해보신 분들이라면 손쉽게 사용할 수 있는 구조를 가집니다. 조금 아쉬운 것은 요즘 국내 사이트에서 제공하는 화려한 에디터와 비교했을 때 기능이 조금 아쉽다라는 것입니다… 그래도 쓸만 합니다. 또한, 블로그에서의 태그 기능과 동일한 기능을 페이지에서도 사용할 수 있습니다. 제가 아래에 작성한 About Us라는 페이지를 메인 메뉸에 About Us라는 이름으로 표시하고자한다면, 아래 그림처럼, [Show on main menu] 체크박스를 클릭하면 됩니다.

    image_thumb_6.png

    8. 마지막으로 페이지 컨텐트에 대한 출판(웹에 표시)하는 기능을 제공하는 3개의 버튼을 제공합니다. [Save] 버튼은 현재 페이지에 대한 모든 내용을 데이터베이스에는 저장하지만 웹에는 표시하지 않고, [Publish Now] 버튼은 DB에 저장 후 바로 웹에 표시하는 기능입니다. 마지막으로 [Publish Later] 버튼은 특정일시 이후로 현재 페이지를 표현하고자할 때 사용하는 기능입니다.

    image_thumb_7.png

    9. 앞서 그림에서 [Publish Now] 버튼을 클릭하면 해당 페이지는 데이터베이스에 저장과 동시에 실제 웹 페이지에 표시가 됩니다. [대시보드]에서 사용자 모드라 불리우는 메인 웹 사이트로 이동하려면, 아래 그림의 Your Site 제목 링크를 클릭합니다.

    image_thumb_9.png

    10. 페이지 생성 후 메인 페이지로 이동하면, 기본 메뉴인 Home 메뉴와 더불어 우리가 이번에 새롭게 생성한 [About Us]라는 메뉴가 생성되고 그안에 우리가 입력한 콘텐트가 웹에 표시가 정상적으로 되는지를 확인할 수 있습니다. 만약, 페이지 생성 후 원하는 페이지를 수정하고자한다면, 해당 페이지의 오른쪽 상단의 [Edit] 버튼을 클릭하거나, [대시보드]로 접속 후 페이지의 [수정] 버튼을 눌러서 진행할 수 있습니다.

    image_thumb_10.png

    11. 이러한 방법을 사용하여 Orchard에서 보여질 수많은 페이지들을 [Page] 메뉴를 사용하여 생성/수정 또는 삭제 등의 일련의 작업들을 수행할 수 있습니다.

    image_thumb_11.png

    마무리

    Orchard 웹에서 제일 중요한 작업이 무엇인지 아세요? 바로, 이번 시간에 다뤄본 페이지 생성(수정/삭제)입니다. 이는 효과적으로 웹을 통해서 무엇인가를 전달할 수 있고 컨텐트를 손쉽게 웹에서 생성, 수정, 삭제 등을 진행할 수 있습니다. 특정 페이지를 수작업으로 HTML 소스를 건드려서 웹에 컨텐트를 출력하는게 아닌 웹에서 자동화된 편집도구를 사용하여 바로 수정 후 바로 확인의 절차를 거칠 수가 있는 것입니다. 어찌보면, 10년 전에는 상상하기 힘든 기술로 보여질 수도 있습니다. 예전에는 이런게 어디 있었나요… 하나의 페이지를 작성하려면, 웹디자이너 또는 웹개발자가 하나의 페이지를 만들고 FTP와 같은 전송 프로그램을 사용해서 서버에 HTML 페이지를 올려서 테스트를 하던 방식이 전부였습니다. 물론, 지금도 이 방법이 제일 많이 사용되지요… 이러한 방식에서 더욱 발달해서 현재의 CMS 솔루션들은 모두다 하나의 페이지/컨텐트를 표현할 때 웹에서 바로 입력 후 출력하는 시스템을 제공합니다.

    자~ 그럼, 가장 중요한 페이지를 살펴보았으니, 더 많은 기능들을 학습해 보기 위해서 전진해 보도록 하겠습니다.

    끝.

    관련글

Page 1 of 14 (68 items) 12345»