ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 제로보드XE에 대량으로 글을 올리기 , xml 이용해서
    달을파는아이 2008. 10. 20. 08:30

    제로보드4는 그 엄청난 자유로움으로 많은 사람들의 사랑을 받았지만 개인적으로 정말 싫었다. 너무 정리가 되지 않은 코드들과 난잡한 스킨 .. 소스만 보고 있으면 머리가 지끈거렸기 때문이다. 하지만 제로보드 xe는 매니아가 된것같다. 프로그래머로써 이런 멋진 프로그램이 나올수록 입지가 좁아진다는건 알지만 그래도 너무 편하고 좋다.

    여러가지 편한기능중에 기존보드에서 자료를 이전해오는 기능이 있다.

    기존 데이타를 xml로 변환한다음 그걸 가져오게 된다. XML Expoter 라는 이름으로 여러가지 보드들을 제로보드xe용 xml로 바꿔주는 프로그램이 있는데 , 제로보드만 아니라 다른 여러 보드들도 있다.

  • cs_export/
  • gnuboard/
  • iezn_migration/
  • miniboard/
  • wordpress/
  • zb5beta/
  • zbxe/
  • zeroboard4/
  • 위와 같이 여러보다로부터 데이타를 이전해볼수있다고 한다면, xml 데이타 형식만 맞춰준다면 게시물을 대량으로 올릴수도 있지 않을까? 하는 생각을 했다. 그래서 XML Expoter 중에 제로보드4를 선택해서 xml 구조를 파악하기로 하고 분석을 했다.

    역시 고수들의 소스를 분석하는것만으로도 많은 공부가 되었다. xml로 첨부화일까지 소화를 하는것을 보고 아 이렇게도 가능하구나. 놀라웠다.

    너무 세세하게 만드는 방법까지는 나중에 시간이 된다면 하고 원리만 설명한다.

    올리고자 하는 글들은 무조건 아래 XML 형식대로만 만들어주면 올라간다. 댓글이라든지,파일첨부 등등을 올릴려면 더 많은 태그가 필요하지만 지금은 글에만 초점을 맞춘다.

    <?xml version="1.0" encoding="UTF-8"?>
    <posts count="1" id="" pubdate="20081018103030">
        <categories>
            <category></category>
            <category></category>
        </categories>
        <post>
            <category></category>
            <title></title>
            <content></content>         
            <user_id></user_id>
            <nick_name></nick_name>
            <password></password>
            <readed_count></readed_count>
            <email></email>
            <homepage></homepage>
            <regdate></regdate>
        </post>
        <post>
            <category></category>
            <title></title>
            <content></content>         
            <user_id></user_id>
            <nick_name></nick_name>
            <password></password>
            <readed_count></readed_count>
            <email></email>
            <homepage></homepage>
            <regdate></regdate>
        </post>
    </posts>

    이 형식을 만드는것은 직접 손으로 치든, 프로그램으로 만들든 상관없다. 그냥 저 xml 형식에 맞기만 하면 대량 글 올리기가 가능해진다.

    몇가지 주의 할점이 있다

    • XML 파일은 무조건 UTF-8이어야 한다.
    • 각 데이타는 base64_encode 가 되어야 한다.
    • 한번에 최대 1000개의 글까지만 업로드가 가능하다.

    두번째 조건인 base65_encode 때문에 한참을 고생했다. 그냥 인코딩안하고 올리면 아무글도 보이지 않는다.

    <title>테스트</title> (X)

    <title>7J6FLOy5qCztmIDsl5Ag64yA7ZWc6r+I</title> (0)

    php에 보면 base64_encode() 라는 함수가 있으니 그걸 한번 적용시켜 주면 된다. 모든 항목을 다 인코딩시켜줘야한다.

     

    xml이 다 생성되었으면 제로보드 관리자로 가서 업로드를 시켜준다. 부가모듈메뉴에서 "제로보드 데이타 이전" 을 눌러준다.

    "게시물정보" 를 선택하고 다음을 누른다.

     

    데이타를 입력할 게시판을 선택하고 , xml 파일의 경로를 지정고 다음을 누르면 완료된다.

    제목을 대량으로 글올리기 라고 했지만, 제로보드xe의 XML expoter에서 제공되지 않는 보드나 집에서 개인적으로 쓰던 자료들, 기존 홈페이지 있던 자료들을 게시판으로 정리해서 올리고 싶으신분들 , 한꺼번에 글을 올리고 싶은 마케터들 , 쇼핑몰의 상품들을 제로보드에 올리고 싶으신분들 등등 많은 사람들에게 유용하다.

    예제 소스들은 다음에 올리도록 하겠습니다. ^^

     

    ps. 질문은 http://money.web2r.net/?mid=factory&category=4816 에 올려주세요 ^^

댓글