Goose CMS

Develop Extra

Goose CMS

SCE 프로그램으로 출발

개인 홈페이지를 학생때부터 시작해서 오랬동안 만들어왔다.
중간중간 이름이나 도메인 주소는 바뀌게 되었지만 개인 홈페이지라는 공간을 통해서 나의 흥미거리나 사진, 작업물들을 업로드하여 다른사람들에게 보여주고 있다.

2012년 이전에는 프로그램을 직접 만들기도 하고 마지막에는 XpressEngine을 이용하여 나의 작업물이나 사진들을 업로드하여 갤러리 서비스에 이용하고 있었지만 NAS라는 장비를 사용하여 집에서 서버를 돌릴 수 있게되어 개인 홈페이지를 NAS에 넣어서 서비스하려고 하는데 XE(XpressEngine)은 프로그램이 너무크고 무거워서 사용하는데 체감속도가 느릴 지경이었다.(NAS장비는 기본적으로 하드웨어 스펙이 낮다.)
많은 기능을 가지고 있는 CMS를 사용하는거에 비해서 너무 적은 기능만 사용하고 있고, 닭 한마리 잡는데 소잡는 칼을 사용한다는 기분이 크게 들어서 내가 사용할 기능만 들어가있는 CMS를 만들자고 결심을 하게되어 SCE라는 이름으로 프로그램을 만들었다.
기본적으로 게시판이나 블로그와 비슷한 기능을 가지고 있으며 회원관리 기능은 없기 때문에 오로지 관리자만 글을 올릴 수 있도록 제한되어있다.
다 만들고보니 프로그램이 단순하다보니 사용하기가 편했고, 무엇보다 속도가 대단히 만족스러웠다.

goose_6.jpg

방문객에게 작업물이나 사진을 보여주는 페이지. 조금씩 디자인을 바꿔왔다.

Goose 프로그램으로 변화를 구상

이렇게 잘 사용하고 있다가 좀 더 폭넓게 사용할 수 없을까라는 생각을 시작하여 관리영역과 방문객에게 보여주는 영역을 분리시켜버리자는 생각에 미쳤다. 그리고 관리 프로그램은 다른 사람에게 공개를 하여 다른 사람들도 사용했으면 하는 바램도 생겼다.
그래서 생각했던것들을 대충 연습장에다 그리면서 어떤 방향으로 프로그램을 구성할건지 정리를 한다.

goose_2.jpg

가장 큰 목적은 데이터베이스 관리 프로그램으로 쉽게 데이터를 얻어오면서 다양한 형태로 글이나 사진 정보를 제공할 수 있는 환경을 구축하는것이다.
쉽게 말하자면 다르게 말하자면 관리자와 홈페이지 스킨을 분리해버린 셈이다.

데이터베이스 데이터를 관리하는 프로그램이 Goose라는 이름으로 바꾸게 되었다. 거위라는 동물의 이름의 프로그램으로 둥지라는 큰 그룹에서 알(포스트 글)을 만드는 과정을 착안하여 이름도 그와 비슷하게 바꿨다. 나름대로 독창성도 노렸다. :)

오픈소스 활동의 출발 GitHub

Goose프로그램을 만드는중에 친구가 GitHub에서 저장소를 생성해서 다른사람들에게 소스를 제공해주는 방법에 대해서 교육을 받았다. (정말로 고마운 친구다!)
그리하여 곧장 Goose프로그램에 GitHub저장소에 올리고 프로그램 개발작업을 시작했다. 오픈소스로 풀어버릴거라고 작정하고 있어서 GitHub 서비스는 더한나위없이 좋은 서비스다. 개인적으로 내가 프로그램 작업했던 흔적을 남길 수 있고, 다양한 곳에서(개인 데스크탑, 개인 노트북, 회사 데스크탑 등) 동일한 환경으로 개발작업을 할 수 있다는 것이 아주 좋았다.

커밋을 올리는 재미도 쏠쏠했다. 아마도 많은 사람들이 사용하고 이슈가 늘면 대단히 중독이 되지 않을까 예상된다.

본격적인 프로그램 작업

개발 작업은 로컬호스트에서 프로그램을 새로 만들었다.
디자인이나 일부 프로그램 소스들은 필요한 부분은 떼서 가져오고, 과거의 교훈을 삼아 프로그램을 좀 더 정리를 하는 기회로 삼았다. 그래서 프로그램 소스가 더 깔끔해졌다고 생각한다.

디자인들은 전에 사용하던 프로그램을 그대로 사용하면서 작은 부분들은 조금씩 개선해갔다.

goose_3.jpg

관리자 화면의 둥지목록, 수정페이지의 모습

전에 만들어진 형태를 그대로 사용하기 때문에 소스들을 정리하는데 집중할 수 있었다. 그리고 컨텐츠가 매우 단순해서 손이 많이가지 않는 편이었다.

goose_4.jpg

포스트 글 상세화면

소스의 내용이 가장많이 밀집해있고, 가장 많이 신경쓴 페이지가 글쓰기 페이지다. 그래서 작업시간도 많이 소요되었고, 프로그램 작업하면서 가장많이 아이디어와 기술을 많이 집어넣는 공간이 되어버렸다.

goose_5.jpg

관리자의 형태가 아무리 단순하지만 가장편리하고 강력하게 기능을 갖추고 싶은 부분이 글쓰기 페이지다. 글쓰기의 기능이 강력하고 편하면 포스팅한 결과물이 좋아질것이라고 믿고있기 때문이다. 그래서 파일을 드래그앤 드롭으로 파일이 업로드 된다거나 선택한 사진을 썸네일 이미지로 만들어주거나 편리하게 글을 편집을 할 수 있는 에디터를 사용하는 부분에서 프로그램 소스가 많이 들어가기도 하고 금전적인 비용도 많이 나갔다.
처음에 html5업로드 프로그램을 따로 만들기 귀찮아서 업로드 컴포넌트를 구입해서 사용하기도 하였고, 에디터는 jQuery 베이스로 유료로 팔고있는 redactor를 거금을 들여 구입해서 사용하고 있다.

나름대로 편리하게 글쓰고 편집하는 환경을 만드려고 가장 많은 노력을 기한 부분이다.

마무리

Goose 프로그램은 서비스 할 수 있을정도로 완성이 되어있는 상태고, 이 프로그램을 이용하여 2,3개의 다른 사이트를 만들어 주었다.
커스터마이즈 문제로 초보자들이 사용할 수 없는 프로그램이지만 어느정도 html, css, javascript, php를 사용할 수 있는 개발자라면 날개가 되어주는 멋진 도구가 될 수 있다고 생각한다.

도움말 문서를 정리해야하고, 공식 페이지를 만들어야하고, 프로그램을 좀 더 정리를 해야하는 일들이 산더미지만 이걸로 평생 사용한다는 생각으로 천천히 개선해 나갈것이다.