[Orchard 강좌] 0. Orchard CMS 소개
이 내용은 ASP.NET MVP로 활동하고 계신 박용준님이 작성하신, 오픈소스 기반 웹사이트 제작 엔진인 Orchard로 처음 웹사이트를 구축 및 개발하기 위한 시리즈 강좌입니다. 많은 도움 되시길 바랍니다.
==================================================================================================
소개
안녕하세요. 박용준입니다.
이번 강좌부터 Orchard CMS에 대한 강좌를 진행해 보도록 하겠습니다.
제가 이 강좌를 30회에 걸쳐서 진행할텐데요… 그 목적은 이 글을 읽으시는 분들에게 Orchard에 대한 사용법을 전달하는 것 단 한가지입니다. 이 강좌에서는 어려운(?) 코드도 거의 나오지도 않고, 마우스 클릭 몇 번, 데이터 입력 몇 번의 단계를 거쳐서 하나의 웹 사이트를 만들어가는 과정을 보여드립니다.
자, 그럼, Orchard가 무엇인지 그 탐험을 떠나보도록 하겠습니다…
CMS(Content Management System)
CMS는 웹에서 소스 수정 없이 모든 콘텐츠에 대한 생성/수정/삭제 등을 관리자 모드(또는 대시보드)에서 관리해주는 응용 프로그램을 말합니다. 웹 분야에 종사하시는분들이라면 익히 들어본 제로보드(XE)라던가 그누보드 등의 게시판 솔루션도 하나의 CMS로 볼 수 있습니다.
그런 CMS 솔루션 중 최신 닷넷(.NET) 기술로 만들어진 Orchard(https://www.orchardproject.net)에 대한 소개 및 활용 방안을 여러분들께 소개하고자 하는 시간을 갖도록 하겠습니다.
여기서 질문 한가지를 드려보도록 하겠습니다.
여러분들은 웹 사이트를 만들 때, 처음부터 모든 것을 다 만들기 시작합니까? 아니면, 이미 만들어져 있는 시스템(기존 소스)에 내용을 추가하는 방법을 사용합니까?
아마도 많은 분들이 기존 소스에 덧붙여서 새롭게 디자인하고 기능을 추가하는 방식을 많이 사용하실 것입니다. 이 방법이 생산성 면에서 비즈니스 요구사항을 가장 빨리 받아드릴 수 있는 방법이 아닐까 합니다. 우리가 오픈소스를 사용하는 가장 큰 이유도 바로 이러한 부분이 아닐까 합니다.
Orchard
Orchard라고 하면 무엇이 떠오르시나요? 예… “과수원”입니다. Orchard는 단어 자체의 의미와 동일합니다. 넓디넓은 과수원 땅에 구역을 나누어 한곳은 배나무 다른 한곳은 사과나무 등 관리자가 필요한 만큼 농사를 지어 풍성한 수확을 거두는 곳입니다.
Orchard 프로젝트는 ASP.NET 기술로 만들어진 오픈소스 CMS 솔루션으로 Orchard 웹 사이트에 여러분들이 가꾸고자하는 페이지 및 위젯(부분 영역)을 맘껏 가꾸어나갈 수 있는 기반을 제공합니다.
[그림] Orchard 공식 사이트(https://www.orchardproject.net/)
Orchard는 최신의 ASP.NET MVC 3와 Razor Syntax로 만들어져 있어, 성능과 확장성에서 매우 뛰어난 장점을 지닙니다. 무엇보다도 믿음직스러운 점은 일반 개발자들이 모여서 오픈소스 프로젝트가 구성된 점이 아닌, Microsoft 본사 개발자가 직접 참여하여 오픈소스 프로젝트를 진행하는 부분이기에 Microsoft의 직접 지원을 받을 수 있어 믿고 사용할 수 있다는 점과 꾸준히 업그레이드가 진행될 로드맵이 구성되었다는 장점 등 많은 이점을 가지고 태어난 오픈소스입니다.
Orchard vs. DotNetNuke vs. Umbraco
ASP.NET 기술로 만들어진 성공적인 오픈소스를 꼽자면 DotNetNuke(https://www.dotnetnuke.com/)가 있습니다. 국내에서는 많이 활성화되진 못했지만, 해외에서는 상당히 많이 사용되고 있는 오픈소스입니다. 이러한 DotNetNuke와 Orchard를 비교하자면, DotNetNuke는 이미 2003년쯤부터 프로젝트가 시작되어 지금은 상당히 방대한 커뮤니티가 활성화되어있습니다. 하지만, Orchard는 2011년 1월에 시작해서 2011년 4월에 버전 1.1로 만들어진 따끈따근한 새내기 오픈소스입니다. 또한, DotNetNuke와 같이 ASP.NET Web Forms 기술을 기반으로 만들어진 또 하나의 성공적인 오픈소스는 Umbraco(https://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)
[그림] 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에 대한 기능소개를 최우선으로 진행하고자 합니다…
그럼, 다음 시간에 뵙도록 하겠습니다.
끝.
관련글
- 0. Orchard CMS 소개
- 1. Orchard CMS 개발 환경 구축–WebPlatformInstaller 3 다운 및 설치
- 2. Orchard CMS 설치
- 3. 페이지(Pages) 추가하기
- 4. 블로그 모듈 추가 및 아티클 작성하기
- 5. 위젯(Widet)으로 메인에 HTML 조각 삽입하기
- 6. 다국어 처리 : 한글 언어팩 설치
- 7. 미디어(이미지…) 관리
- 8. 레이어(Layer) 만들기
- 9. Windows Live Writer를 사용하여 블로그 아티클 작성하기
- 10. 위젯(Widget) 추가 및 빙맵(BingMap) 모듈 적용하기
- 11. Chapters 모듈 설치 및 적용
- 12. 검색(Search) 기능 구현하기
- 13. Content Localization(컨텐트에 대한 다국어 처리)
- 14. 테마(Theme) 다운로드 및 적용
- 15. 새로운 나만의 테마(Theme) 만들기(자식 테마 만들기)
- 16. 사용자 정의 Content Type 만들기
- 17. 리스트(List)로 Content Type 그룹화
- 18. Designer Tools로 UI의 원하는 부분 변경하기
- 19. Placement.info 파일 이해하기
- 20. 리스트(List)를 위젯(Widget)으로 표현하여 요약 출력하기
- 21. Orchard 사이트 설정 변경
- 22. Orchard.exe 소개 및 사용 데모
- 23. 사용자(Users)와 역할(Roles) 관리
- 24. 초간단 모듈 제작 : HelloWorld 모듈 만들기
- 25. 추가 모듈 다운 및 적용 : FollowMe 모듈
- 26. 최근 트위터(Twitter) 목록 나열하기
- 27. 파일 필드 모듈 적용하기(파일 업로드 및 다운로드)
- 28. Orchard CMS를 원격 서버로 배포
- 29. Orchard CMS를 SQL Server R2에 설치하기
- 30. Orchard CMS 테마 시안 잡기(순수 HTML/CSS 레벨)
- 31. 페이지 추가시 “add a widget layer” 링크를 사용하여 페이지에 특화된 레이어 만들기
- 32. Command-Line Interface 사용하기
Comments
- Anonymous
July 07, 2011
광대한 강좌 감사합니다.. 일단 하루에 한강좌 목표로 달려야 겠네요 ^^