완벽한 한글을 지원하는

File Maker Pro 7 for Mac & Windows

File Maker Pro 7

드디어 많은 매킨토시 유저들의 숙원인 File Maker Pro 7(이하 FMP7)이 발표되었다. 많은 기능과 데이터 베이스 구축의 편리함이라는 장점을 가지고 꾸준히 버전 업 되어온 FMP는 매킨토시 유저들이라면 적어도 한번쯤은 들어 보았을 것이며 또한 실제로 일본이나 Roman어를 사용하는 국가에서는 애용되어온 통합 데이터베이스 애플리케이션이다.

하지만 한국의 매킨토시 유저들은 이 막강한 기능을 가지고 있는 FMP를 제대로 사용할 수 없었다. 물론 한 때 엘렉스가 국내의 매킨토시 시장을 주름(?)잡고 있었을 때에 FMP3버전을 한글화 하여 보급한 적이 있었다. 물론 매킨토시 버전뿐만 아니라 윈도우즈 버전도 한글화 하였다. 특히 ADB (Apple Desktop Bus) 락키를 가지고 있던 한글화 된 매킨토시 버전의 FMP3는 단순한 한글 입출력 뿐만 아니라 모든 메뉴와 다이얼로그 박스 등, 유저가 사용하는 인터페이스의 모든 곳에 우리나라말을 당당히 쓸 수 있었다. 지금은 2004년! 1995년도에 엘렉스에서 한글화를 하였으니까 바야흐로 8년이 넘는 세월이 흘렀다. 이 좋은 애플리케이션을 한글을 정상적인 방법으로 사용할 수 없었던 시간이 너무나 길었지 않았나라는 생각이 앞서 든다.


<완벽한 한글화를 자랑했던 File Maker Pro 3 윈도우즈 버전> **그림클릭-큰그림**

이번 리뷰에서는 FMP7의 새로운 기능과 한글 구현, 그리고 Windows버전과의 호환성에 대해서 집중적으로 다루고자 한다. 실질적으로 FMP7는 그 이전 버전과 사용하는 방법이 거의 같으므로 조금만 익힌다면 유용한 툴로서 매킨토시와의 생활이 더욱더 즐거워지리라 믿는다. 참고로 FMP3의 사용방법과 강좌는 본 사이트의 아카데미 섹션에 자리잡고 있다. (http://www.kissmac.com/academy/)

본 리뷰를 위해서 미국에서 급하게 정식버전을 구해왔다. 아무래도 FMP7의 시험판은 사용 가능한 시간이 30일로 제약이 되어 있고, 혹시나 정식판과 비교하여 빠진 부분이나 기능이 있을 수 있기 때문이다.

# 데이터 베이스란 무엇인가?

데이터 베이스 (data base)는 말 그대로 자료의 집합체이다. 좀 더 구체적으로 묘사하면 연관성 있는 자료들을 정리하여 모아둔 것이라 말할 수 있다. 보통 데이터 베이스는 field(필드)와 record(레코드)로 구성이 되어있다. 필드와 레코드를 묶어둔 것을 table이라고 하며 보통 필드는 세로줄, 레코드는 가로줄로 이루어져 있다. 간단하게 말하면 Microsoft의 Excel에서 스프레드 시트를 열어놓은 구조다.


<데이터베이스의 기본적 구성(MS Excel의 스프레드시트)> **그림클릭-큰그림**

데이터 베이스는 모델에 따라서 크게 4가지로 나눈다. 계층형 DB, 네트워크 DB, 관계형 DB 그리고 오브젝트 DB가 그것이다. 우리가 알고 있는 데이터 베이스 프로그램은 여러가지가 있으며 Excel, SQL, Oracle등이 대표적이다. 일반적으로 웹의 게시판으로 사용하는 데이터 베이스 프로그램은 MySQL이 주를 이루고 있으며, 사무실에서 도표계산등의 스프레드 시트 프로그램, 그리고 주소록, 재고관리, 회계관리 등 우리 주변에는 셀수 없이 많은 데이터 베이스가 존재를 한다.

FMP7도 마찬가지로 매킨토시에서 돌아가는 데이터베이스 애플리케이션이며 중소기업에서 사용하는 데이터베이스에 바로 응용할 수 있을 정도로 직관적이며 무엇보다도 유니코드를 바탕으로한 완벽한 한글 구현을 할 수 있다는 점이 큰 장점이다.

데이터 베이스에 대한 기본적인 개념이나 지식은 인터넷 검색엔진을 통하여 쉽게 검색해 볼 수 있으므로 여기서는 생략을 하겠다.

# File Maker Pro 7을 설치해 보자

FMP7을 구동시켜보자. FMP7의 시험판은 File Maker사의 홈페이지를 가면 다운로드 받을 수 있다. (http://www.filemaker.com/)

이미 시험판을 다운로드 받아 보신 유저들은 알겠지만 시험판을 다운받기 위해서는 여러가지 신상정보를 입력하라고 요구를 한다. 필자의 작은 보람은 FMP7에 관심있는 많은 유저들께서 신상정보를 되도록이면 제대로 작성해 주는 것이다. 가장 큰 이유는 한국에서 사는 사용자가 FMP7에 관심을 많이 보여주게 되면 File Maker사는 한국 시장에 대해서 조금이나마 관심을 가져줄 수 있다는 희망(?)이 있기 때문이다. 무엇보다도 country 항목에 "Republic of Korea"를 선택하는 것을 잊지 않았으면 좋겠다.

매킨토시 버전이던 윈도우즈 버전이던 다운을 받으면 압축을 풀고 인스톨러를 더블클릭하여 시험판 설치를 하자. 물론 필자는 정식버전으로 설치하였지만, 아직 정식버전을 구매할 수는 없다. (어쩌면 영원히 한국에서 정식으로 판매할 지는 미지수다. 이것은 끊임없는 유저들의 요구와 그 무엇보다도 애플코리아가 직접 나서면서 애플리케이션의 한글화가 선행되어져야만 한다!)

File Maker Pro 7 for Macintosh
File Maker Pro 7 for Windows
File Maker Pro 7의 플랫폼별 아이콘

맥유저는 왼쪽 아이콘을, 윈도우즈 유저는 오른쪽 아이콘을 사정없이 더블클릭 하여 보자.


<File Maker Pro 7의 시작화면>

# File Maker Pro 7에서의 한글

먼저 기본적으로 염두하여야 할 것이 있다. FMP7은 현재 영어/프랑스어/이태리어/독일어 버전만 발표가 되어있는 상태이고, 물론 메뉴와 모든 입출력에 대한 메시지는 위의 4개의 언어별로만 지원을 한다. 일반적인 다국어를 지원하는 Mac OS X의 애플리케이션과는 달리 각각의 언어별로 구입을 따로 해야하는 불편함이 있다. 본 리뷰에서는 모든 설명이 영어버전을 기초로 하였으니 참고하기 바란다. (한마디로 한국어버전은 없다!)


<New Database 다이얼로그 박스>

FMP6과 마찬가지로 새로운 버전도 template를 이용하여 작업을 할 것인지, 빈 새로운 데이터베이스를 작성할 것인지, 아니면 기존에 작업하였던 데이터베이스 파일을 사용할 것인지 물어보는 다이얼 로그 박스가 나타난다.

일단 cancel을 선택한 후, 파일메이커>환경설정 메뉴를 선택하면 아래와 같은 다이얼로그 박스가 나타난다.


<Preferences메뉴의 Fonts카테고리>

Fonts탭을 클릭하면 국가별(언어별)로 폰트를 지정해 줄 수가 있다. 그러니까 이 기능으로 인해서 한글 폰트 등의 2바이트 언어도 문제없이 사용할 수가 있다. "Use Font Locking"은 다른 언어권이나 특정 폰트가 존재하지 않을 때에 글자가 깨지는 것을 방지해주는 옵션이다. 아무래도 시스템마다 폰트의 종류와 개수가 조금씩은 다르므로 이 옵션을 켜두면 글자가 불가피하게 깨지는 경우를 대비할 수 있다.


<유니코드 한글의 실현 / 위로부터 윈도우즈 익스플로러 - 사파리 - FMP7 for Mac> **그림클릭-큰그림**

FMP7은 FMP6과 마찬가지로 Instant Web Publishing기능이 있다. 이 기능을 사용하여 웹페이지로 FMP의 데이터베이스를 발행하여 윈도우즈의 익스플로러, 매킨토시의 사파리 그리고 FMP7 for Mac을 모니터 하나로 모아서 캡춰를 해 보았다. 유저분들도 아시겠지만 위에 나와있는 필드의 내용들은 모두다 유니코드 한글로만 표현할 수 있는 단어들이다. 매킨토시나 윈도우즈 공히 한글을 표현을 해내는 데에 전혀 문제가 없었다.

일단 양쪽 플랫폼 간에 Instant Web Publishing을 이용한 한글 자료 교환에는 문제가 없음을 알 수 있었다. 하지만 실질적인 파일 교환을 어떠할까? 일례로 매킨토시에서 작업한 "전화번호부.fp7"파일을 윈도우즈 XP에서 아무 문제를 야기시키지 않고 열릴 수 있을지 필자는 매우 궁금하였다.


<FMP7 for Windows에서 파일열기 "전화번호부" 파일이 보인다.> **그림클릭-큰그림**

맥과 윈도우즈가 공유가 기본적으로 가능하므로 윈도우즈 XP에서 필자의 Powerbook G4 1GHz의 Documents폴더를 열어보았다. FMP파일들이 뒤로 쭈욱 정렬이 되어 있었다. 기대되는 마음으로 "열기" 클릭!


<FMP7 for Mac에서 작업한 화일을 FMP7 for Windows에서 열었을 때 나타나는 경고창> **그림클릭-큰그림**

잠시 기다리니 분명 한글로 작업한 파일이 열리면서 경고창이 하나 떴다. '설마, 버튼을 잘못 눌러서 뒤에 나와있는 멀쩡한 한글퍄일을 손상시키면 어떻하지?'라는 걱정은 하지 마시길 바란다. 단순히 매킨토시와 윈도우즈간의 날짜와 시간 포맷이 다르기 때문에 나오는 경고창이기 때문이다. 'System's setting'을 선택하게 된다면 현재 이 파일을 열게 한 윈도우즈 시스템의 시간/날짜의 포멧으로 파일의 내용이 나타날 것이고, 'File's setting'을 선택하게 된다면 파일이 가지고 있는 속성 그대로를 사용하겠다는 의미가 된다.

DTP를 주로 하시는 편집 디자인들도 많이 겪어보는 일이겠지만 다른 곳에서 작업한 QuarkXpress파일을 자신의 맥에서 불러들일 때, 나타나는 Preferences에 관련된 다이얼로그 박스와 꽤 흡사하다.

# 간단한 전화번호부를 만들어 보자

1. 전화번호부를 만들기 위한 준비

일단 무언가를 만들어 보자. 낚시도 '손맛'이라고 데이터 베이스도 일단 만들어 봐야 한다. 먼저 간단한 '전화번호부' 데이터 베이스를 만들어보자. 위에서 이미 언급을 했지만 전화번호부 뿐만 아니라, 일기장, CD라벨정리, 출석부 등 모든 정리가 가능한 연관이 있는 자료들은 모두 데이터 베이스로 만들어 불 수 있다.

집에 있는 전화번호부 혹은 내 주머니 속, 또는 책상에 있는 거래처 전화번호부를 한번 들여다 보자.


<매우 친근한 우리의 전화번호부 / 손으로 만들어내는 최초이며 최고의 데이터베이스가 아닐까?>

역시나... 위에서 데이터베이스에 관하여 잠깐 언급한 field와 record의 모습이 보이지 않는가? '이름', '전화번호', 핸드폰번호' 등의 항목 옆에는 분명히 빈칸이 있다. 이 항목과 빈칸들 하나하나를 field로 생각하도록 하자. 그리고 한사람의 대한 field들의 집합을 record라고 생각하면 데이터베이스를 만들기 위한 기초적인 정리가 될 것이다.


<전화번호부에서의 필드와 레코드의 구분> **그림클릭-큰그림**

FMP7으로 돌아가서 새로운 파일을 한번 만들어보자.

항상 기본적으로 지정되어있는 디렉토리는 ~/Documents(도큐멘트)/이다. 그리고 파일이름은 Untitled.fp7으로 되어있다. 파일이름을 '전화번호부.fp7'으로 바꾼 후에 Save버튼을 눌러보자.

그러면 잠시 후에 데이터베이스를 만들기 위한 필드 정의 창이 나타난다.

FMP7부터는 하나의 파일 안에 다수개의 Table을 만들 수가 있다. 그리고 "Relationships"라는 탭이 새로 생겼는데 '관계형 DB'를 위한 각 데이터베이스간의 연계성을 설정해 줌으로서 한번의 데이터 입력 만으로도 연관성을 설정한 다른 데이터베이스의 필드나 결과가 연계되어 처리되는 상당한 편리성을 새로 부가했다. 이 부분은 뒤에 자세히 설명하도록 하겠다.

일단 전화번호부의 필드는 '이름', '회사명', '직위', '전화번호' 등이 전화번호부를 만드는데 필수적인 기본 필드이다. Field Name부분에 필드이름을 적어넣고 필드의 속성을 text, number, date, calculation등으로 알맞게 설정한 다음 Create를 눌러주면 하나의 필드를 정의할 수 있다. 필요한 만큼 필드를 만들면 된다.

참고로 필드의 속성(type)을 결정한 후 'option'버튼을 누르면 각 속성에 대한 자세한 설정사항을 조절할 수 있다. 이 필드 옵션을 어떻게 설정하느냐에 따라서 자동으로 날짜를 채워넣을 수도 있고, 입력할 수 있는 필드의 데이터의 내용도 조절할 수 있으며, 각 필드끼리의 값을 계산하여 결과를 도출할 수도 있다.

다 만들었으면 'OK' 버튼을 눌러서 밖으로 나가면 된다. 그러면 실제로 데이터를 입력 하거나, 레이아웃등을 만들고 수정할 수 있는 메인창으로 이동을 할 수 있다.

왼쪽 부분은 상태를 보여주는 영역(Status Area)이다. 여기서는 각 레코드간 이동이나, 데이터 입력 및 검색 모드(Browse), 레이아웃 모드(Layout), 찾기 모드(Find), 인쇄 및 프리뷰 모드 (Preview)등의 기능전환을 할 수 있는 기능이 있고, 그 아래쪽에는 화면을 확대하고 축소할 수 있는 버튼이 있다. 그리고 오른쪽의 큰 영역은 말그대로 작업을 할 수 있는 영역이다.

본론으로 돌아와서 한글이 나와야할 모든 글자가 네모로 나타났다. 완전한 한글화 버전이 아니라서 기본 폰트가 한글 폰트가 아닌 영문폰트로 되어있기 때문이다. 빨리 한글 폰트로 바꾸어 보도록 하자.

먼저 폰트를 바꾸기 위해서는 레이아웃 모드로 전환을 하여야만 한다.


<왼쪽 윗부분의 모드전환 버튼을 누른다>

그러면 왼쪽 상태 영역에 레이아웃을 꾸밀 수 있는 팔레트들이 나오고 오른쪽에 작업영역에는 Browse모드에서 봤던 비슷한 내용이 나온다. 그러나 Browse모드와는 달리 Layout모드에서는 각 필드나 데이터 입력 부분의 글자나 모양 색깔등의 모든 조작이 가능하다.

전체선택을 한 후에 메뉴에서 Format>Font>한글폰트를 선택해주어야 한다. 이때 한글폰트를 선택할 때에 반드시 커맨드+옵션키를 동시에 누른 상태에서 선택을 해야 한다는 것이다. 그렇지 않으면 필드명은 한글 폰트로 바뀌어서 한글이 제대로 나타나게 되지만 필드 자체는 한글폰트로 바뀌어지지 않는다. 또한 데이터베이스 운용시 문제가 될 수도 있다는 경고창이 뜬다.


<폰트변경시 다국어폰트 선택을 하였을 때에 나타나는 경고창>

2. 입력을 위한 레이아웃을 만들기

성공적으로 한글폰트로 바꾸게 되면 올바르게 나타나는 한글의 모습을 볼 수가 있다.

FMP6를 사용해 본 유저들은 잘 알겠지만, FMP6에서는 한글을 사용하기 위해서 Field Option에서 인코딩을 'ASCII'로 바꾸어서 사용을 하여야 한글을 입력할 수 있었으나, FMP7에서는 그럴 필요가 없다. 또한 FMP6에서는 필드명이던 필드데이터든 한글을 사용하기 위해서는 필드영역을 일반 문장 길이의 두배를 확보하지 않으면 글씨가 깨지거나 줄이 밀려서 나온다.


<File Maker Pro 6에서 한글이 밀려서 깨지는 현상>

그러기 때문에 레이아웃을 구성하는데 매우 많은 제약이 따르게 되며 표현의 한계에 부딪히게 된다. 하지만 FMP7은 그런 문제가 발생하지 않는다. FMP6는 한글을 억지로 ASCII인코딩에다가 맞추어서 화면으로만 한글이 나타나는 것으로 보이기 때문에 각 글자의 스페이스가 한글 한 글자당 2개씩 할당되게 되어 문제가 발생한 것이다. 반면 FMP7은 Unicode로 처리하기 때문에 2바이트 폰트에 대한 처리에 전혀 문제가 없다.


<전화번호부 레이아웃>

독자 여러분들의 실력을 십분 발휘해서 필자가 만든 어줍잖은 레이아웃보다 더 깔끔하고 예쁜 레이아웃을 구성하길 바란다. 레이아웃을 배치하는 것은 FMP6나 그 이전버전과 동일하다.

3. 전화번호부 데이터 입력


<Browse 모드에서 전화번호 데이터를 입력한 모습>

이제 Browse모드로 이동하여 필요한 데이터를 입력한다. 한글이 전혀 깨지지 않는 것을 볼 수 있다.

데이터를 입력한 후에는 전화번호부의 레이아웃을 보여주어야 인쇄하기나 또한 한번에 간편하게 여러명의 전화번호 및 데이터를 확인할 수 있으므로 새로운 레이아웃을 만들어 보도록 하자.

4. 인쇄용 레이아웃을 위한 새 레이아웃 만들기


<새로운 레이아웃/레포트 창>

다시 Layout 모드로 들어와서 Layouts>New Layout/Report 메뉴를 선택하면 위의 그림과 같은 창이 뜬다. 일목요연하게 정리하기 위해서는 일렬로 필드의 데이타가 나열이 되어야 하므로 "Columnar list/report"를 선택한다음버튼을 클릭한다.


<새로운 레이아웃에 필요한 필드를 선택>

그러면 새로운 레이아웃에 적용할 필드를 선택을 하는 창이 뜬다. 필자는 간단하게 꼭 필요한 필드만을 선택하였다. 'Layout fields'아래에 선택한 필드명이 나오고 옆에는 조그만 화살표 모양이 나온다. 이것은 필드의 순서를 결정해 주는 일종의 핸들로서 화살표를 위아래로 드래그하면 필드의 순서들이 바뀌게 된다. 필요한 조작을 행하였으면 버튼을 클릭한다.


<레코드 정렬을 지정해주는 창>

많은 데이터를 입력을 하게되면 순서를 맞추어 하나하나씩 입력을 해야 할 방법이 없게된다. 특히 이름이나 전화번호 또는 회사이름을 가나다 순으로 정렬을 하면서 데이터를 입력을 하는것은 거의 불가능하다. 또한 중간에 누락된 데이터를 입력을 하게되면 누락된 데이터는 레코드열의 가장 끝에 위치하게 되며 검색시 매우 불편하게 된다. 때문에 Sort라고 하여 각종 레코들을 가나다 순으로, 알파벳 순으로 그리고 숫자의 크기순으로 정렬을 하는 작업을 거치게 된다. Sort를 하게 되면 검색을 할때 레코드가 지정한 정렬의 방법대로 항상 화면에 뿌려지게 되며 전화번호부에 기본적으로 필요한 기능이다. Sort창은 왼쪽에는 현재 존재하고 있는 필드명이, 오른쪽에는 정렬을 해주고자 하는 필드명이 나타나게 되며 오른쪽 'Sort order'쪽으로 필드명을 드래그 해주면 된다. 그리고 가장 위에 있는 필드명일수로 우선하여 정렬을 하게 된다. 'Ascending order'는 '가나다'와 같이 오름차순으로, 'Descending order'는 그와 반대로 '다나가'와 같이 내침차순으로 정렬을 하게된다.


<테마를 선택하는 창>

그 다음으로는 테마를 결정하게 되는데, 기본적으로 30여가지의 테마를 내장하고 있으며 원하는 테마를 선택하면 된다. 테마없이 사용자가 직접 레이아웃을 만들고자 하면 가장 위에 있는 'Default'항목을 선택하면 된다. 필자는 'Aqua Screen'을 선택해 보았다.


<페이지 Header/Footer를 설정하는 창>

페이지 상단 또는 하단에 페이지 수라던지, 회사이름, 그리고 인쇄한 날짜등을 삽입하고 싶을 때에 사용하는 옵션이다. Header 좌, 중, 우에 3개, Footer 좌, 중, 우에 3개, 총 도합 6가지의 Header와 Footer를 삽입할 수 있다.


<스크립트 생성 창>

FMP7에는 이전버전과 같이 단순히 데이터를 입력/검색/인쇄만 할 수 있는 것만이 아니라, 강력한 스크립트 기능을 가지고 있다. 이 스크립트 기능을 이용해서 오래전에 하이퍼카드나 4D와 같이 여러가지 작업을 병행하고 특수한 명령을 수행시키며, 단순한 DB작업 이외에 통합적인 'office bata base suite'로 업그레이드가 가능한 것이다. 이 스크립트 기능은 많은 연습과 공부가 필요하므로 본 리뷰에서는 생략하기로 한다. 첨언하면 스크립트 기능은 모두 화면에 명령어가 표시되며 하나하나씩 대화식으로 진행되므로 그다지 부담스러움 없이 작성할 수 있다.

버튼을 누르면 새로 작성된 레이아웃을 Layout 모드에서 볼 것인지 Preview 모드에서 볼 것인지 결정하는 창이 나타난다. 일단은 Layout 모드에 라디오버튼을 체크한 후에 버튼을 누르도록 하자.


<인쇄를 위한 새로운 레이아웃 / 한글이 깨져있다>

아까전 처음에 한글이 깨진 상황과 같은 상황으로서 layout 모드로 들어가 전체 선택을 한 후 한글폰트로 지정을 해 주어야 한다. 앞서 언급한 것과 같이 커맨드+옵션키를 동시에 눌러서 강제로 폰트변환을 실행하도록 하자.



<한글 폰트로 바꾼 후에 제대로 나오는 레이아옷>

일단 한글 폰트로 바꾸게 되면 한글이 문제없이 나타나게 된다. 하지만 '핸드폰' 필드쪽에 긴 세로줄이 걸쳐져 있다. 이 세로줄은 페이지의 레이아웃을 나타내는 것으로 이미 가로길이의 레이아웃이 가로페이지의 한계를 넘어섰다는 이야기가 된다. 이때에는 Print Setup에서 용지 사이즈를 세로길이에서 가로길이로 바꾸던지 더 큰 용지로 세팅을 바꾸어 주면된다. 현재의 세팅된 용지밖에 사용할 수 밖에 없는 상황인 경우는 레이아웃을 적당히 조정하여 세로선 안쪽으로 들어오게 하면 된다.


<완성된 전화번호부 인쇄용 레이아웃>

일단 완성이 되었으면 인쇄하는데에 어떠한 형태로 결과물이 출력될지 한번 확인 해 보자.


<프린트 미리보기>

레이아웃 작업을 실시한 대로 출력 결과물의 상태를 확인 할 수 있었다. Mac OS X은 기본적으로 PDF 프린팅 브리뷰를 지원하기 때문에 인쇄하기 전에 실질적인 인쇄물의 결과를 화면으로 먼저 확인을 할 수 있기 때문에 레이아웃의 오류로 인한 반복수정의 횟수를 획기적으로 줄일 수 있다.흑백 레이저 프린터의 경우에서는 프리뷰 하단부의 '출력 색상으로 보기'의 체크박스가 표시가 되어있는 경우, 흑백으로 나타나는데 배경의 흑백의 정도가 컬러의 밝기에 해당하면서 주의를 하면서 작업을 하도록 한다. 물론 컬러 프린터의 경우는 프리뷰(미리보기)의 나타난 모습과 같이 나타나므로 큰 문제가 없다.

위에 설명한 방법을 잘 이용하고 응용을 하면 위의 데이터만을 가지고 레이아웃을 바꾸어 가면서 DM발송이나, 연하장 및 초대장 발행 및 인쇄등으로 응용범위를 넓힐 수 있다. 필자도 이 전화번호부를 만드는데 시간이 10여분 밖에 걸리지 않았다. 어떠한 데이터베이스 프로그램보다도 간단하고 명료하게 사용자가 원하는 대로 만들 수 있음을 쉽게 알 수 있었다.

# Instant Web Publishing 기능을 이용하여 데이터베이스를 공유하자.

FMP6시절에도 Instant Web Publishing기능이 있었다. 앞서 잠깐 언급을 했었지만 FMP6 상에서 변칙적인 방법으로 한글을 이용을 하여 데이터베이스를 만들어 내고 사용을 할 수 있다. 그러나 FMP6의 Instant Web Publishing으로 한글을 구현하는 것은 원천적으로 불가능했다. FMP6에서 한글 사용은 ASCII인코딩으로 강제설정을 하였던 것이었기 때문에 웹에서는 EUK-KR이나 UTF-8등의 범용 인코딩으로 웹브라우저의 화면에 뿌릴 재간이 없었던 것이다.

다행스럽게도 FMP7에서는 인코딩이 '영어'로 설정이 되어있다 하더라도 한글의 사용은 너무나 완벽하였다. 이제부터 FMP7의 Instant Web Publishing기능으로 많은 사용자들에게 웹을 통하여 데이터베이스의 접근 및 조작을 할 수 있게 하는 방법을 설명하겠다.

1. Instant Web Publishg을 사용하기 위한 준비 작업

위에서 쭈~욱 설명해왔던 "전화번호부" 데이터 베이스를 기준으로 설명하는 것이 이해가 잘 될 것이다.


<Instant Web Publishing 메뉴 선택>

Filemaker Pro>Sharing>Instant Web Publishing메뉴를 선택을 한다. 그러면 아래와 같은 메뉴가 나타난다.


<Instant Web Publishing 세팅 창>

"Instant Web Publishing"을 활성화 하게 되면 시스템 엑세스를 위한 관리자의 암호를 묻는 창이 나타난다. 실제 매킨토시 사용자 (루트권한을 가지고 있는 유저)의 아이디와 패스워드를 입력하고 잠시 기다리면 "Instant Web Publishing"의 On으로 체크표시가 이동한다. "URL"에는 현재 유저의 컴퓨터가 할당 받은 IP주소와 Port번호가 나타나게 되며 여기에 표시된 주소가 실제로 웹브라우저 상의 Instant Web Publishing의 접속 주소가 된다.

"Status Area Language"는 웹상에서 왼쪽에 나타나는 상태창의 언어를 나타내는 것이며 "English"로 선택해 놓으면 일반 유저들은 무난하게 조작할 수 있다.


<Advanced Web Publishing Options>

Mac OS X은 기본적으로 아파치 웹서버가 내장되어 있어서 "개인 웹 공유"를 할 수가 있다. 일반적으로 웹서버의 접속 포트는 80번인데 FMP7의 Instant Web Publishing에서 80번 포트를 사용하게 되면 개인 웹 공유의 기능을 이용할 수 없다. 그러기 때문에 포트 번호를 사용하지 않는 것으로 바꾸어 주어야 한다.

Mac OS X에서는 1024번 포트 이하의 사용을 권장하지 않는다. 그 이유는 Mac OS X은 UNIX기반의 운영체제이기 때문에 1024번 포트 이하에 시스템이나 인터넷과 관련된 여러가지 프로토콜의 소통을 위해서 여러가지 포트를 준비해 놓았다. 이 포트들과의 충돌로 인해서 여러 문제가 발생할 수 있다. 또 다른 이유는 1024 이하의 포트에 시스템 운용과 관련된 포트가 설정되어 있는 경우가 많기 때문에 해킹 등의 보안상 문제를 피하기 위해서 1024번 이상의 포트에 세팅을 하도록 권고하고 있다.

필자는 간단하게 '5432'번 포트를 Instant Web Publising 용으로 지정하였다.

다음으로 준비해야 할 상황이 '보안'이라는 것이다. 일반적으로 '보안'이라 함은 도둑맞는 것을 피하기 위해서 문을 열쇠로 잠그는 것 뿐만이 아닌, 정보가 내가 원치 않는 방향과 사람에게로 접수되는 것을 방지 하는 것이다. 따라서 일반적인 파일이나 정보 보안의 방법으로 username과 password를 사용하는 것이 보통이다.


<File Maker Pro 7에서 제공하는 유저레벨의 보안>

물론 FMP7도 마찬가지로 각각의 데이터베이스에 유저를 만들고 지정하여 상황에 맞는 허가권을 부여할 수 있다. Instant Web Publishing 또한 정보의 보호를 위해서 사용자별로 login을 할 수 있도록 세팅을 할 수가 있다.

File > Define > Accounts&Previleges...메뉴를 선택하면 창이 하나 나타나는데 Accounts탭을 클릭하여 현재 데이터베이스 파일에 정의되어있는 사용자들을 확인한다.


<Account(계정) 설정 창>

Admin을 선택하여 편집을 한다. Password에 사용자가 원하는 암호를 입력하도록 한 후 'OK'버튼을 눌러 설정을 완료한다. 그리고 FileMaker Pro > Sharing > Instant Web Publishing... 메뉴를 선택을 한다.


<Instant Web Publishing에 적용하기 위한 사용자 설정>

Instant Web Publishing 세팅 창의 하단에는 현재 열려져 있는 데이터베이스 파일의 목록이 나타나며 목록 별로 모든 사용자 접속가능, 특정 유저의 접속 세팅, 접속 불가 등의 설정을 할 수 있다. 여기서는 특별한 유저권한 등을 설정하지 않았기 때문에 admin 관리자를 통한 접속을 설정하도록 하였다.

2. Web Browser로 데이터베이스 파일을 검색해 보자

이제 기본적인 세팅을 끝났다. Safari나 Internet Explorer등의 웹 브라우저를 이용을 하여 FMP7의 데이터 베이스를 조작을 해 보도록 하자.


<Safari를 통한 Instant Web Publishing 기능 접속>

만약 웹 브라우저가 FMP7이 실행되는 같은 컴퓨터상에 있다면 굳이 IP번호를 입력할 필요없이 http://localhost:5432/를 주소창에 입력하면 된다. (5432는 이미 앞에서 언급한 필자가 활성화 시켜놓은 포트번호이다.) 그러면 깔끔한 화면에 "전화번호부"라는 링크가 나타날 것이다. 물론 한꺼번에 데이터베이스를 Web Instant Publishing기능을 활성화 시켜 놓으면 나타나는 데이터베이스 링크도 증가한다. 일단 "전화번호부" 링크를 클릭해 보자.


<데이터베이스 접속시에 나타나는 로긴 창>

접속을 위한 login창이 나타난다. 아까전에 admin 유저에 Instant Web Publishing을 활성화 하였으므로 admin이라 입력하고 Account Setting 시에 입력했던 admin의 password를 암호란에 입력한 후 "로그인"버튼을 누른다. 잠시후에 놀랍고도 그토록 바라던 화면이 나타날 것이다.


<Safari에서 나타난 데이터베이스 파일>

FMP6와는 달리 완벽한 한글이 표현이 된다. FMP7의 상태창과 거의 동일한 레이아웃으로 데이터베이스를 조작할 수 있게 배려를 해 놓았다.

맨 처음으로 가기 / Browse 모드 / Find 모드
새로운 레코드 / 현재레코드 수정 / 레코드 복제 / 레코드 삭제 / 정렬
모든 레코드 보여주기 / 툴바 확장하여 보여주기
레코드 제외하기 / 여러 레코드 제외하기 / 제외시킨 레코드 보기


<새로운 레코드 작성하기>


<레코드 정렬하기>


<인쇄용 레이아웃>


<File Maker Pro 7에서의 레이아웃과 Safari 웹 브라우저에서의 레이아웃 비교>

3. File Maker Pro 7 for Windows에서는...

FMP7 for Mac에서 Instant Web Publishing이 완벽하게 구현된 것처럼 FMP7 for Windows에서의 그것도 완벽하게 작동되었다. 물론 한글도 완벽했다. 설명은 동일하므로 스크린 샷으로 훑어보도록 하자.


<File Maker Pro 7 for Window에서의 전화번호부 레이아웃>


<Instant Web Publishing을 위한 보안 세팅>


<Windows XP에서의 FMP7과 웹 브라우저와의 레이아웃 비교>


<MS의 Remote Desktop Connection을 이용한 Mac과 Windows에서의 작업화면>

4. Instant Web Publishing의 한계

FMP7에서의 Instant Web Publishing은 거의 완벽하게 동작하였다. 한글의 사용뿐만이 아니라 웹브라우저 상의 기동속도도 크게 느리지 않았다. 단지 몇가지의 문제점이 발견이 되었다.

첫째로, 웹 브라우저 상에서 데이터 베이스를 선택한 후, login을 하여 데이터 베이스에 접근을 하면 logout버튼을 누르거나, 웹 브라우저 자체를 종료하지 않으면 계속 login된 상태로 남게된다. (물론 비활성화 상태를 지정하여 특정시간이 지나게 되면 자동으로 logout상태가 되게 할 수 있다.) 예를들어 이전 사용자가 logout버튼이나 웹 브라우저를 완전종료를 하지 않은 상태에서는 다음 사용자가 데이터베이스 접속시에 추가적인 login작업 없이도 데이터베이스에 접근이 가능하다는 의미이다. 작업 이후에는 반드시 logout버튼이나 웹 브라우저를 완전히 종료하여 보안을 유지해야 한다.

두번째로는, 가끔씩 그림파일이 깨지거나 페이지 전환시에 오류가 발생한다. 아직까지는 정확한 원인을 파악을 하지 못했지만 FMP7를 동작시키는 컴퓨터의 메모리 문제로 보여진다. 문제가 발생하면 웹 브라우저를 완전히 종료한 후, 다시 실행시켜 데이터베이스에 재접속하면 해결되는 경우가 많다.

세번째는, 웹브라우저로 사용자가 FMP7으로 접속한 상태에서는 웹사용자가 접속을 종료하지 않는 한 FMP7 애플리케이션 자체를 종료시킬 수가 없다. 다이얼로그박스로 종료를 할 수 없다라는 메세지와 접속차단을 시도하겠느냐는 내용을 알려주는데, 만약 계속적으로 접속차단을 시도해도 FMP7를 종료할 수 없다면 대부분의 경우는 '강제종료'의 방법으로 FMP7를 종료시키려 할 것이다. 물론 FMP7를 강제종료해도 큰 문제는 없지만 문제는 다음에 있다. 시스템을 재시동 하지 않는 한은 FMP7의 Instant Web Publishing기능을 다시는 사용할 수 없다는 것이다. 필자도 Terminal 유틸리티를 통해서 문제가 발생되는 PID(Process ID)를 찾아보았으나 확인할 길이 없었다, 결론은 Instant Web Publishing기능이 작동되는 상태에서 (특히 사용자가 접속을 한 상태이거나, 확실하게 연결 종료가 되지 않는 경우) FMP7을 '강제종료'를 하게 되면 다음 번 FMP7 작동시에는 Instant Web Publishing을 사용할 수가 없다. 대안은 현재로서는 시스템을 재시동 하는 길 뿐이다. 다음 버전에서 고쳐지길 기대해 본다.

네번째는, 동시에 접속할 수 있는 사용자가 5명으로 제한된다는 사실이다. 접속자 수를 늘리기 위해서는 File Maker Pro Server 7버전을 구입하여야 하며 아직 시장에는 출시 되지 않았다. (예정은 금년 이른 여름이라고 한다.)

마지막으로, Instant Web Publishing으로는 FMP7을 직접 조작하는 것에 비해서 할 수 있는 일이 그리 많지 않다. 레이아웃에 대한 제약이 가장 크다. 예를들어 FMP7상에서의 레이아웃에서는 모서리가 둥글게 처리된 사각형을 웹에서는 처리를 할 수가 없다. 그냥 네모난 박스로만 나타난다. 물론 레이아웃 자체를 수정할 수도 없다. 그리고 FMP7상에서의 폰트처리도 웹브라우저상에서 지정된 폰트로 나타날 수밖에 없기 때문에 상대적으로 미려한 레이아웃을 나타낼 수가 없다. 또한 녹음파일, 그림, 동영상 등을 업로딩 할 수 없다. 그 외에 script명령에 한계가 있어 모든 script를 처리할 수없다.

하지만 FMP7에서의 Instant Web Publishing은 FMP6에서와는 다르게 몇가지 부분에 있어서 수정 및 보완이 되어 더욱더 강력해진 부분도 많다.

# File Maker Pro 6 을 7에서 사용하는 방법

기본적으로 FMP7에서는 FMP6나 그 이하 버전에 대한 하향 호환성을 갖추고 있어 별도의 작업이 없이 이전버전의 데이터베이스 파일을 가지고 FMP7에서 열어볼 수 있다. 물론 데이터베이스의 안정성을 고려하여서 파일변환작업을 거친 후에 이전 버전을 따로 저장을 하게 되는데 이는 이전버전과의 작업에 있어서 과도기적인 문제점을 보완하기 위한 것이라 생각된다.

하지만 FMP6에서 한글로 데이터를 입력 하게 되면 FMP7에서 변환작업을 거친 후에는 여지없이 글자가 깨진다. 따라서 단순하게 변환 작업만으로는 소기의 성과를 거둘 수 없음은 물론이거니와 FMP7로의 이행에 있어서 걸림돌이 될 수밖에 없다.

그러므로 이 장에서는 한글로 작성된 FMP6의 데이터베이스 파일을 무리없이 FMP7에서 작업을 할 수 있는 변환 과정에 대하여 설명을 하고자 한다.

1. 한글 데이터 변환 준비작업

FMP6파일을 FMP7으로서 변환을 하는데에 문제는 바로 한글이다. 그것도 FMP6이 가지고 있던 변칙으로 사용된 한글이다. 이렇게 변칙으로 사용된 한글 데이터베이스는 EUC-KR이나 UTF-8도 아닌 ASCII로 코딩이 되어 있기 때문에 변환을 하게되면 FMP7에서는 여지없이 깨진 처참한 한글의 모습을 볼 수밖에 없다.


<File Maker Pro 6버전의 파일을 File Maker Pro 7에서 사용하기 위한 변환단계>
<File Maker Pro 6버전의 데이터베이스 파일은 확장자가 .fp5로 되어있다>


<File Maker Pro 7으로 컨버트 된 파일을 저장하기 위한 창>


<변환 후에 깨진 한글 데이터 / 한글 레이아웃은 깨지지 않았다>

이 문제를 해결하기 위해서는 두가지의 문제점을 해결해야만 한다. 첫째는 레이아웃이 깨지지 말아야 하는 것과. 둘째는 한글 필드데이터가 깨지지 않아야 한다는 것이다.

일단 FMP7의 기본적인 컨버팅 기능으로는 레이아웃상의 한글은 깨지지 않았다. 그러면 필드데이타 상의 한글들을 깨지지 않게 FMP7으로 옮기기만 하면 되는 것이다. 즉, 변환작업을 두번 해 주어야 한다. 처음에는 레이아웃을 변환하고 마지막으로 한글 필드데이터를 변환하면 되는 것이다.

우선 필요한 것은 Basic 및 Merge포맷을 받아들이고 보내줄 수 있는 애플리케이션이 필요하다. 가장 대표적으로는 Microsoft의 Excel이 있을 것이다. 이 Excel을 이용하면 레이아웃을 변환시킬 수는 없지만, 필드와 레코드의 내용은 고스란히 옮길 수가 있게 되는 것이다.

2. 한글 데이터를 변환시켜보자

먼저 변환하고자 하는 FMP6버전의 데이터 베이스 파일을 먼저 찾아서 열어보자.


<File Maker Pro 6에서 레코드와 필드의 내용을 basic 포맷으로 변환하는 작업>

File > Export Records...메뉴를 선택하면 여러가지 포맷으로 FMP6의 파일 내용을 변환할 수 있는 창이 나타난다. 'Type'에서 BASIC을 선택하고 'Save'버튼을 누르면 다음과 같은 옵션이 나타난다.


<변환하여 내보낼 파일의 필드의 순서와 종류를 정의하는 옵션창>

이 옵션창에서는 특별한 조작할 필요없이 'Export'버튼을 눌러주면 된다. 단 'Format output using current layout' 버튼만 체크를 해 주기만 하면 된다. 특별히 조작할 필요가 없는 가장 큰 이유는 FMK7에서 FMK6의 한글파일을 아무런 가공없이 그대로 사용하는 것이 목적이기 때문이다.그 다음에는 엑셀을 구동시켜 파일을 연다.


<MS Excel에서 basic 포맷 파일을 선택하여 열기>

BASIC포멧의 한글 데이터베이스 파일을 열게 되면 다음과 같은 옵션창이 나타난다. 그림에 나와있는 대로 작업을 해 주면 된다.


<Delimited로 선택을 해 준 후 Next버튼을 클릭>


<Tab 및 Comma에 체크표시를 하고, Text qualifier에 "표시가 되어있는지 확인후 Next버튼을 클릭>


<General에 표시를 한후 Finish버튼을 클릭>


<MS Excel에서 basic 포멧 파일을 열었을 때의 모습>

파일을 열어보면 한글이 큰 문제없이 그대로 고스란히 살아있는 것을 확인할 수 있을 것이다. 하지만 1번행에는 필드이름이 없기 때문에 자칫 잘못하면 FMP7에서 Import설정시 필드이름이 서로 맞지 않을 수가 있다. 이럴 때에는 한번 더 FMP6에서 Export를 실시하는데 이때에는 Type을 Merge로 설정하여 Export한다. 그런 후에 Excel에서 .mer파일을 읽어오는데 옵션창이 나타난다. 이 때에는 Basic포맷과 같은 방법으로 읽어오면 된다.

Merge파일의 장점은 Basic파일과는 달리 필드 이름이 Excel시트의 1번 행에 위치함으로서 FMP7에서 Import시에 필드이름이 서로 맞으므로 필드 갯수가 많은 파일을 불러올 때에 불상사를 방지할 수 있다. 하지만 단점이 하나 있다. 필드 내에서의 행바꿈(리턴)이 네모로 표시가 되기 때문에 행바꿈이 있는 필드 데이터가 있는 경우에는 사용하지 않는 것이 좋다.

결론적으로 Merge파일의 첫번째 행이되는 필드 이름을 Basic파일의 1번행으로 붙여넣기 함으로서 포맷간의 단점을 서로 보완해 줄수 있게 되는 것이다

  • 먼저 Excel에서 Merge파일의 1번행을 선택하여 복사를 한다. (컴맨드+C)
  • Basic파일을 선택한 후, 시트의 선택부분을 1A로 맞춘다음 (가장 왼쪽의 윗부분) Insert > Rows 메뉴를 선택하여 첫번째의 행을 한칸 밑으로 내린다.
  • 비어있는 1번행에 A열에 선택부분을 맞춘 후 붙여넣기를 한다. (컴맨드+V)

그러면 1번행에 필드데이타가 삽입이 되어서 FCP7에서 읽어오기 할 때에 필드이름 때문에 고생할 필요가 없게 된다.

그런 후에 Excel에서의 File > Save as ... 메뉴를 선택한다.


<MS Excel에서 Save as...를 통하여 Excel 2002 Workbook파일로 저장한다>

Format을 "Microsoft Excel 97-2002, X & 5.0/95 Workbook"으로 설정하고 '저장'버튼을 누른다.

FMP7을 기동시켜 변환된 파일.fp7을 연다. 그러면 필드내용의 한글이 깨진 변환된 파일이 나타날 것이다.


<FMP7에서 깨진 레코드를 전부 삭제한다>

데이터를 모두 삭제를 하였으면 File > Import Records > File... 메뉴를 선택한다. 그러면 import할 파일을 선택하라 할 것인데, Excel에서 저장한 XLS파일을 선택하여 주면된다.


<Import 옵션>

마지막으로 어떻게 불러오기 (import)를 할 것인지 물어보는 창이 나타난다. 이미 엑셀 파일의 1번행은 필드이름으로 작성되어져 있으므로 "Don't import first record (contains field names)"에 체크 표시를 한 후 Arrange by항목에서 "matching names"를 선택하면 Source Fields와 Target Fields에 항목이 서로 일치되는 것을 확인할 수 있다. 일치된 것을 확인을 한 후에 "Import"버튼을 클릭하자.

자! 완성이 되었다.


<파일변환 완료!>

간단하게 정리해보면,
  • FMP6에서 Basic 타입과 Merge 타입으로 Export를 실시한다.
  • Excel에서 이 두가지 파일을 불러낸다.
  • Merge 타입의 시트 1번행을 복사하여 Basic 타입의 1번행으로 밀어 붙이기 한다.
  • Basic 타입의 열려있는 파일을 Excel포맷으로 바꾸어 완성된 파일을 저장한다.
  • FMP7에서 FMP6포멧의 데이터베이스 파일을 불러와 연다.
  • FMP7에서 변환된 파일의 레코드를 전부 삭제한다.
  • FMP7에서 Excel포맷으로 저장된 파일을 Import한다.

3. 이 파일 변환 방식의 단점

아무래도 여러번 손이 간다는 점. 그래서 불편하고 시간이 조금 걸린다. 또한 Excel이라는 프로그램이 있어야 한다는 점이다. 그리고 가장 큰 단점은 그림이나, 음성이 들어가 있는 데이터베이스파일은 원천적으로 파일을 변환시킬 수가 없다. 물론 파일을 변환시킨다고 하여도 멀티미디어의 요소는 모두 누락되게 된다. 하지만 ASCII 인코딩 방식의 변칙적 한글 데이터를 실질적으로 가공이 가능한 유니코드 한글로 바꿀 수 있는 방법이 있다는 것은 참으로 다행스런 일이 아닐 수 없다.

# 마치면서

지금까지 한글의 지원가능성을 중심으로 File Maker Pro 7에 대해서 알아 보았다. 데이터베이스의 세계는 너무나 깊고 넓어서 제한된 지면으로 많은 내용을 담으려다 보니 많은 내용을 담아내지 못했다.

참고적으로 FMP7은 이전 버전에 비해서 많은 발전을 이루었다.
그 대표적인 예가 '관계형 데이터베이스'를 본격적으로 지원함으로서 데이터베이스의 테이블들과 각각의 파일들이 유기적으로 통합이 될 수 있게 하였다.


<관계형 데이터베이스의 설정창>

이 관계형 데이터베이스는 오라클이나 SQL등의 대형 데이터베이스 시스템에서 중점적으로 사용되어진 모델로서 단순한 DB의 처리뿐만 아니라, 전사적인 전산시스템 구축에 필수적인 요소가 된다.
또한 한개의 파일 안에 복수개의 테이블을 정의할 수 있게 되어있고, 사용자 권한 또한 운영체제에 버금가도록 다양한 옵션이 추가되었다. 그리고 외부의 데이터베이스와 유기적인 연관을 맺을 수 있도록 XML의 지원과 ODBC까지 지원한다.

하지만 그 무엇보다도 가장 높이 평가하고 싶은 점은,한국에서 매킨토시를 그리고 File Maker Pro를 사용하는 유저로서 이번 File Maker Pro 7의 발표로 인하여 그동안 실현하기 어려웠던 사무자동화에 매킨토시가 당당하게 동참할 수 있는 실로 크나큰 전환점이 될 수 있을 것이라는 점이다.

글을 마치기에 앞서서 좋은 소스를 알려주겠다. 데이터베이스는 예제가 많아야 하는 법, FMP가 외국에서 만들어진 애플리케이션이기에 모두 영어이긴 하지만 이 애플리케이션을 이해하는데 충분한 양의 소스가 있는 곳이 있다. 바로 File Maker 홈페이지이다. (http://collection.filemaker.com/collection/index.jsp)


<파일 메이커 콜렉션 웹 페이지>

이곳에서는 File Maker Pro를 가지고 응용을 해 볼수 있는 수백가지의 예제와 템플레이트가 있다. 시험판을 다운로드하여 이곳에 있는 수많은 예제를 가지고 많은 공부를 해본다면 대부분의 유저들은 한번쯤 구매를 해 보고 싶다는 생각이 들 것이라 믿는다.

이런 소중한 좋은 애플리케이션을 한글화하여 국내 시장에 내어 놓는다면 자꾸만 줄어져 가는 매킨토시의 국내 점유율을 조금이나마 끌어올릴 수 있을 것이라는 희망에 잠겨보면서 길고 긴 리뷰를 마칠까 한다.

*본 페이지는 저작권이 있으므로 저작권자의 동의 없이 복사, 링크, 전재 등을 금합니다.*

이 홈페이지에 대한 문의사항은 mcseoung@sungjin.com
이 홈페이지는 2004년 2월에 최종적으로 갱신되었습니다.