KR102189832B1 - 오프라인 콘텐츠를 온라인 콘텐츠로 변환하기 위한 프로그램을 기록한 컴퓨터로 판독할 수 있는 매체 및 콘텐츠 변환 방법 - Google Patents

오프라인 콘텐츠를 온라인 콘텐츠로 변환하기 위한 프로그램을 기록한 컴퓨터로 판독할 수 있는 매체 및 콘텐츠 변환 방법 Download PDF

Info

Publication number
KR102189832B1
KR102189832B1 KR1020180033205A KR20180033205A KR102189832B1 KR 102189832 B1 KR102189832 B1 KR 102189832B1 KR 1020180033205 A KR1020180033205 A KR 1020180033205A KR 20180033205 A KR20180033205 A KR 20180033205A KR 102189832 B1 KR102189832 B1 KR 102189832B1
Authority
KR
South Korea
Prior art keywords
content
offline
online
text
converting
Prior art date
Application number
KR1020180033205A
Other languages
English (en)
Other versions
KR20190111281A (ko
Inventor
조권현
Original Assignee
주식회사 메타교육
조권현
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 메타교육, 조권현 filed Critical 주식회사 메타교육
Priority to KR1020180033205A priority Critical patent/KR102189832B1/ko
Publication of KR20190111281A publication Critical patent/KR20190111281A/ko
Application granted granted Critical
Publication of KR102189832B1 publication Critical patent/KR102189832B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Document Processing Apparatus (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)

Abstract

본 발명은 클라이언트에 의하여 수행되는 적어도 하나의 동작이 요구되는 온라인 콘텐츠 영역에 대응하는 오프라인 콘텐츠 영역을 지정하는 객체를 통하여 상기 동작을 지시하는 텍스트를 입력하는 객체 입력 수단과, 상기 객체 입력 수단에 의해 입력된 상기 객체를 포함하는 오프라인 콘텐츠를 온라인 콘텐츠로 변환할 수 있도록 객체 및 텍스트를 식별하고, 텍스트에 의해 지시되는 동작을 상기 온라인 콘텐츠에 구현하는 포맷 변환 수단을 가지는 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 프로그램이 기록된 매체, 이를 이용하여 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 방법에 관한 것이다. 본 발명의 프로그램을 이용하여 오프라인 콘텐츠가 실질적으로 변환되지 않기 때문에 오프라인 콘텐츠를 재활용할 수 있으며, 콘텐츠가 틀어지는 것을 방지할 수 있을 뿐만 아니라, 액션 또는 이벤트와 관련한 다양한 정보를 부가할 수 있다.

Description

오프라인 콘텐츠를 온라인 콘텐츠로 변환하기 위한 프로그램을 기록한 컴퓨터로 판독할 수 있는 매체 및 콘텐츠 변환 방법{COMPUTER READABLE MEDIA RECORDING PROGRAM FOR CONVERTING OFFLINE CONTENTS TO ONLINE CONTENT AND PROCESS OF CONVERTING CONTENTS}
본 발명은 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 매체에 관한 것으로, 더욱 상세하게는 오프라인 콘텐츠를 변경하지 않으면서 이벤트가 요구되는 온라인 콘텐츠로 변환하기 위한 프로그램을 기록한 컴퓨터로 판독할 수 있는 매체 및 콘텐츠 변환 방법에 관한 것이다.
인터넷 및 데이터 통신과 같은 통신 기술과 컴퓨터 등의 정보 기술이 융합한 정보통신(Information and Communication, IT) 산업은 사회의 다양한 분야에 지대한 영향을 미치고 있다. IT 기술의 발전에 따라 통신망을 통한 상품이나 서비스의 거래는 물론이고, 교육, 학습, 문화 등의 다양한 분야에서도 IT 기술을 활용하여 통신망을 통하여 다양한 콘텐츠를 제공할 수 있게 되었다.
일례로, 통신망을 통해 이루어지는 학습 콘텐츠와 관련해서, 전통적인 종이 시험지와 같은 문서를 이용한 시험인 PBT(Paper Based Testing)를 대신하여 컴퓨터를 이용한 시험(Computer Based Testing, CBT)이 상용화되고 있다. CBT를 구현하기 위해서 일반적으로 오프라인 기반의 문서 편집 소프트웨어인 MS 오피스나 한컴 오피스 등과 같은 상업적으로 판매되고 있는 문서 편집 소프트웨어를 활용하여 오프라인 콘텐츠를 작성한다. 오프라인에서 작성된 문항 데이터를 온라인 포맷의 데이터로 변환하여 CBT등과 같이, 웹으로 대표되는 통신망과 컴퓨터 단말기를 이용한 온라인 테스트 시스템 및 이를 이용한 테스트 방법에 적용될 수 있다.
단순한 텍스트 기반의 오프라인 콘텐츠를 온라인 콘텐츠로 변환하고자 하는 경우에는 문서 편집 소프트웨어에서 제공하는 HTML 변환 기능을 이용할 수 있다. 하지만, 단순한 텍스트 기반의 온라인 콘텐츠가 아니라 클라이언트에 의해 수행되는 다양한 액션이 요구되는 경우에는 오프라인 콘텐츠에 추가적인 정보를 입력하여야 한다.
예를 들어, 도 1은 종래 문서 편집 소프트웨어를 이용하여 작성된 오프라인 문서를 이용하여 드래그 앤 드랍 액션을 구현하는 E-test용의 온라인 콘텐츠를 변환하는 과정을 개략적으로 나타낸 도면이다. 오프라인 문서는 온라인에서 수행되는 액션으로서 드래그(drag) 요소에 대응되는 드래그 영역(10)과, 드랍(drop) 요소에 대응하는 드랍 영역(20)을 갖는다.
오프라인 문서를 온라인 문서로 변환한 뒤에 별도의 툴(tool)을 이용하여 드래그 영역(10) 및 드랍 영역(20)을 지정하는 방법을 고려해 볼 수 있지만, 이는 매우 번거로운 작업이다. 따라서 오프라인 문서에서 드래그 영역(10)과 드랍 영역(20)을 각각 지정하여 온라인에서 동적 액션을 구현하는 E-test로 활용될 수 있다. 예를 들어, 동적 액션으로서 드래그 액션을 구현하기 위하여, 종래에는 드래그 영역(20)에 해당하는 "원줄", "가지", "곁뿌리", "줄기", "원뿌리"등에 각각 특별한 기호(20, 도 1에서는 각각의 드래그 영역의 앞에 삽입된 "!@"과 뒤에 삽입된"#S")를 입력하는 방법을 채택한다. 특별한 기호를 삽입한 뒤에, 특별한 기호가 삽입된 영역은 온라인에서 드래그 요소에 해당한다는 규약을 설정하여 온라인에서 드래그 액션을 구현할 수 있다. 하지만, 이와 같은 방법은 다음과 같은 문제점을 가지고 있다.
첫째, 오프라인 문서에 아무런 의미가 없는 특별한 기호(!@, #S)를 제거하지 않으면 오프라인 문서를 인쇄용, 출판용의 데이터로 사용할 수 없기 때문에 오프라인 문서를 재활용할 수 없다.
둘째, 드래그 액션을 구현하기 위하여 오프라인 문서에 특별한 기호가 추가적으로 삽입되어야 하므로, 오프라인 문서 콘텐츠의 전체적인 구조가 틀어지거나 어긋나는 현상이 발생한다.
셋째, 특별한 기호를 삽입한 경우에 특수 플래그 이외에 부가적인 정보를 남기기 곤란하다. 예를 들어 드래그 영역(30)을 통하여 온라인에서 구현되는 드래그 요소는 복제 이동(드래그 영역(예를 들어 '원줄')을 드래그하여 드랍 영역(10)으로 이동할 때 복사, 이동하여, 여러 개의 '원줄' 드래그 요소를 드랍 영역으로 이동 가능한 형태) 또는 단독 이동(드래그 영역(예를 들어 '원줄')을 드래그하면 원줄이 드래그 영역에서 드랍 영역으로 이동)으로 구분될 수 있다. 드랍 영역도 마찬가지로 부가 정보가 필요하다. 예를 들어, 드랍 영역(10)에 대해서도 한 개의 드랍만 허용할 것인지, 여러 개의 드랍을 동시에 수용할 것인지에 대한 추가적인 속성이 요구된다. 하지만, 종래의 방법에서는 온라인에서 요구되는 액션에 대한 추가적인 정보나 속성을 구현하기 어렵다.
또한, 식별 플래그로 사용된 특별한 기호(!@, #S)가 실제로 오프라인 텍스트의 일부분일 수 있다. 따라서 종래의 방법을 사용하면 오프라인 텍스트에 해당함에도 불구하고 액션 요소로 변경되어 오프라인 문서에서 의도하였던 텍스트가 온라인 문서에서 사라지는 문제가 발생한다.
본 발명의 목적은 오프라인 콘텐츠를 변형하지 않으면서 온라인 콘텐츠로의 변환을 구현하는 프로그램이 기록된 매체 및 이를 이용하여 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 방법을 제공하고자 하는 것이다.
본 발명의 다른 목적은 온라인에서 수행되는 동작에 대한 다양한 정보를 부가할 수 있는, 온라인 콘텐츠로의 변환을 구현하는 프로그램이 기록된 매체 및 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 방법을 제공하고자 하는 것이다.
본 발명의 또 다른 목적은 오프라인 콘텐츠로부터 온라인 콘텐츠로의 변환 과정에서 오류 발생을 방지할 수 있는, 온라인 콘텐츠로의 변환을 구현하는 프로그램이 기록된 매체 및 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 방법을 제공하고자 하는 것이다.
본 발명의 다른 목적 및 이점은 후술하는 발명의 상세한 설명 및 첨부하는 도면을 통해서 더욱 분명해질 것이다.
본 발명의 일 측면에 따르면, 본 발명은 오프라인 콘텐츠를 온라인 콘텐츠로 변환하기 위한 프로그램을 기록한 컴퓨터로 판독할 수 있는 매체로서, 클라이언트에 의하여 수행되는 이벤트 및 액션 중에서 적어도 하나의 동작이 요구되는 온라인 콘텐츠 영역에 대응하는 오프라인 콘텐츠 영역을 지정하는 객체를 통하여 상기 동작을 지시하는 텍스트를 입력하는 객체 입력 수단; 및 상기 객체 입력 수단에 의해 입력된 상기 객체를 포함하는 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 포맷 변환 수단으로서, 상기 객체 입력 수단에 의해 입력된 상기 객체 및 상기 객체에 포함된 텍스트를 식별하고, 상기 텍스트에 의해 지시되는 동작을 상기 온라인 콘텐츠에 구현하는 포맷 변환 수단으로 기능시키기 위한 프로그램을 기록한 컴퓨터로 판독할 수 있는 매체를 제공한다.
일례로, 상기 오프라인 콘텐츠는 콘텐츠 편집 소프트웨어를 사용하여 작성되며, 상기 객체는 상기 콘텐츠 편집 소프트웨어에서 제공하는 메모 객체 및 하이퍼링크 객체 중에서 적어도 어느 하나일 수 있다.
하나의 예시적인 실시형태에서, 상기 포맷 변환 수단은, 상기 객체 입력 수단에 의해 입력된 상기 객체를 포함하는 오프라인 콘텐츠를, 콘텐츠 편집 소프트웨어에 특이적인 마크업 언어(Markup Language)로 변환하는 제 1 포맷 변환 수단과, 상기 제 1 포맷 변환 수단에 의해 작성된 상기 콘텐츠 편집 소프트웨어에 특이적인 마크업 언어 포맷을 통신망 마크업 언어 포맷으로 변환하는 제 2 포맷 변환 수단을 포함할 수 있다.
또한, 상기 동작은 마우스를 이용한 클릭, 마우스를 이용한 더블 클릭, 마우스를 이용한 드래그, 마우스를 이용한 드랍, 마우스를 이용한 드래그-앤-드랍, 손가락 또는 터치펜을 이용한 터치 패널의 터치 또는 키보드 또는 터치 패널을 이용한 텍스트 입력을 포함하지만, 본 발명이 이에 제한되는 것은 아니다.
일례로, 상기 온라인 콘텐츠는 온라인 E-테스트 문항 콘텐츠, 동적 액션을 포함하는 온라인 콘텐츠, 및 비-텍스트 파일의 재생을 구현하는 온라인 콘텐츠 중에서 적어도 하나를 포함할 수 있다.
예를 들어, 상기 프로그램은 상기 온라인 콘텐츠를 통신망을 통하여 콘텐츠 제공 서버에 전송하는 콘텐츠 업로드 수단에 의해 더욱 기능할 수 있다.
필요한 경우, 상기 콘텐츠 업로드 수단은 상기 온라인 콘텐츠 이외에도, 상기 객체 입력 수단에 의해 입력된 상기 객체를 포함하는 오프라인 콘텐츠를 통신망을 통하여 상기 콘텐츠 제공 서버로 전송할 수 있다.
일례로, 상기 동작을 지시하는 텍스트는, 상기 클라이언트에 의하여 수행될 수 있는 동작을 지시하는 명령 텍스트와, 상기 명령 텍스트에 의해 지시된 동작의 속성을 지시하는 식별 텍스트를 포함할 수 있다.
본 발명의 다른 측면에 따르면, 본 발명은 컴퓨터에서 구현되는 프로그램을 이용하여 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 방법으로서, a) 객체 입력 수단에 의하여, 클라이언트에 의하여 수행되는 이벤트 및 액션 중에서 적어도 하나의 동작이 요구되는 온라인 콘텐츠 영역에 대응하는 오프라인 콘텐츠 영역을 지정하는 객체를 통하여 상기 동작을 지시하는 텍스트를 입력하는 단계; 및 b) 포맷 변환 수단에 의하여, 상기 객체 입력 수단에 의해 입력된 상기 객체를 포함하는 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 단계로서, 상기 객체 입력 수단에 의해 입력된 상기 객체 및 상기 객체에 포함된 텍스트를 식별하고, 상기 텍스트에 의해 지시되는 동작을 상기 온라인 콘텐츠에 구현하는 단계를 포함하는 방법을 제공한다.
이때, b) 단계는, 제 1 포맷 변환 수단에 의하여, 상기 객체 입력 수단에 의해 입력된 상기 객체를 포함하는 오프라인 콘텐츠를, 콘텐츠 편집 소프트웨어에 특이적인 마크업 언어(Markup Language)로 변환하는 단계와, 제 2 포맷 변환 수단에 의하여, 상기 제 1 포맷 변환 수단에 의해 작성된 콘텐츠 편집 소프트웨어에 특이적인 마크업 언어 포맷을 통신망 마크업 언어 포맷으로 변환하는 단계를 포함할 수 있다.
필요한 경우, 상기 (b) 단계는, 콘텐츠 업로드 수단에 의하여, 상기 온라인 콘텐츠를 통신망을 통하여 콘텐츠 제공 서버에 전송하는 단계를 포함할 수 있다.
또한, 상기 (a) 단계와 상기 (b) 단계 사이, 또는 상기 (b) 단계에서, 상기 콘텐츠 업로드 수단에 의하여, 상기 (a) 단계에서 상기 객체 입력 수단에 의해 입력된 상기 객체를 포함하는 오프라인 콘텐츠를 통신망을 통하여 상기 콘텐츠 제공 서버로 전송하는 단계를 더욱 포함할 수 있다.
본 발명에서는 온라인에서 동작이 요구되는 영역에 대응되는 오프라인 콘텐츠 영역에 텍스트 입력이 가능한 객체에서 동작을 지시하는 텍스트를 입력하여 작성된 오프라인 콘텐츠를 온라인 콘텐츠로 변환할 때, 해당 영역에 대한 적절한 동작을 구현할 수 있도록 구현된 프로그램을 기록한 컴퓨터로 판독 가능한 매체를 이용한 온라인 콘텐츠 제공 시스템 및 온라인 콘텐츠 제공 방법을 제안한다.
클라이언트에 의하여 온라인 콘텐츠에 대하여 수행되는 동작과 관련된 텍스트는 콘텐츠와 독립적으로 삽입되는 객체를 통하여 입력되기 때문에, 오프라인 콘텐츠와 오프라인 콘텐츠의 내용은 실질적으로 동일하다. 이에 따라, 온라인 콘텐츠와 독립적으로 온라인 콘텐츠를 재활용할 수 있을 뿐만 아니라, 콘텐츠의 배치가 어긋나게 되는 문제가 없다.
또한, 객체에 삽입된 텍스트에서 클라이언트에 의해 수행되는 동작과 관련한 다양한 속성 정보를 부가할 수 있다. 아울러, 콘텐츠와 독립적으로 삽입되는 객체에 텍스트가 삽입되어, 실제 콘텐츠를 구성하는 텍스트와의 혼동이 없어지므로, 오프라인 콘텐츠를 온라인 콘텐츠로 변환할 때 오류 발생을 미연에 방지할 수 있다.
도 1은 종래 오프라인 콘텐츠를 온라인 콘텐츠로 변환하기 위한 과정을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 예시적인 실시형태에 따라 컴퓨터로 판독 가능한 프로그램을 기록한 매체를 통하여 생성된 온라인 콘텐츠를 통신망을 통하여 제공하는 시스템을 개략적으로 나타낸 도면이다.
도 3은 본 발명의 예시적인 실시형태에 따라 온라인 콘텐츠 변환 수단을 가지는 프로그램이 탑재된 개발자 클라이언트와, 개발자 클라이언트에 탑재될 수 있는 콘텐츠 변환 프로그램이 기록된 매체의 구성을 개략적으로 도시한 블록도이다.
도 4는 본 발명의 예시적인 실시형태에 따라 변환된 온라인 콘텐츠를 수신하여 사용자 클라이언트에 제공하는 콘텐츠 제공 서버의 구성을 개략적으로 도시한 블록도이다.
도 5는 본 발명의 예시적인 실시형태에 따라, 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 과정을 개략적으로 도시한 순서도이다.
도 6a 내지 도 6d는 각각 본 발명의 예시적인 실시형태에 따라 객체 입력 수단으로서 메모 객체를 활용하여, 오프라인 콘텐츠로부터 온라인 콘텐츠로의 변환 과정을 개략적으로 설명하기 위한 도면으로서, E-test와 같은 학습 콘텐츠의 변환과 관련하여 드래그 요소 및 드롭 요소를 변환하는 과정을 나타낸다.
도 7a 내지 도 7c는 각각 본 발명의 예시적인 실시형태에 따라 객체 입력 수단으로서 하이퍼링크 객체를 활용하여, 오프라인 콘텐츠로부터 온라인 콘텐츠로의 변환 과정을 개략적으로 설명하기 위한 도면으로서, E-test와 같은 학습 콘텐츠의 변환과 관련하여 드래그 요소 및 드롭 요소를 변환하는 과정을 나타낸다.
도 8a 내지 도 8d는 각각 본 발명의 예시적인 실시형태에 따라 객체 입력 수단으로서 메모 객체를 활용하여, 오프라인 콘텐츠로부터 온라인 콘텐츠로의 변환 과정을 개략적으로 설명하기 위한 도면으로서, E-test와 같은 학습 콘텐츠의 변환과 관련하여 동적 액션 요소를 변환하는 과정을 나타낸다.
이하, 필요한 경우에 첨부하는 도면을 참조하면서 본 발명에 대해서 상세하게 설명한다.
본 발명은 오프라인 콘텐츠를 변경하지 않으면서 클라이언트에 의한 액션 및/또는 이벤트와 같은 동작이 요구되는 온라인 콘텐츠로 변환할 수 있는 프로그램이 기록된 컴퓨터로 판독할 수 있는 매체 및 이러한 프로그램을 이용하여 오프라인 학습 콘텐츠로부터 온라인 학습 콘텐츠로의 변환 방법과, 전술한 프로그램을 이용하여 변환된 온라인 콘텐츠를 제공하는 시스템 및 온라인 콘텐츠를 제공하는 방법에 관한 것이다.
도 2는 본 발명의 예시적인 실시형태에 따라 컴퓨터로 판독 가능한 프로그램을 기록한 매체를 통하여 생성된 온라인 콘텐츠를 통신망을 통하여 제공하는 시스템을 개략적으로 나타낸 도면이다. 도 3은 본 발명의 예시적인 실시형태에 따라 온라인 콘텐츠 변환 수단을 가지는 프로그램이 탑재된 개발자 클라이언트와, 개발자 클라이언트에 탑재될 수 있는 콘텐츠 변환 프로그램이 기록된 매체의 구성을 개략적으로 도시한 블록도이다. 도 4는 본 발명의 예시적인 실시형태에 따라 변환된 온라인 콘텐츠를 수신하여 사용자 클라이언트에 제공하는 콘텐츠 제공 서버의 구성을 개략적으로 도시한 블록도이다.
도 2에 도시한 바와 같이, 온라인 콘텐츠 제공 시스템(100)은 본 발명에 따라 오프라인 콘텐츠로부터 온라인 학습 콘텐츠로의 변환을 위한 프로그램이 기록된 매체(200)에 의하여 오프라인 학습 콘텐츠로부터 온라인 학습 콘텐츠를 저작, 구현하는 개발자 클라이언트(300)와, 개발자 클라이언트(300)에 의해 저작된 온라인 콘텐츠를 제공하는 콘텐츠 제공 서버(400)와, 통신망을 통하여 콘텐츠 제공 서버(400)에 접속하여 해당 서버에서 제공하는 다양한 콘텐츠를 수신할 수 있는 사용자 클라이언트(500)를 포함한다.
개발자 클라이언트(300)와 사용자 클라이언트(500)는 최소한의 데이터 프로세싱 능력을 갖는 데이터 처리 장치이다. 또한, 콘텐츠 제공 서버(400)와 개발자 클라이언트(300) 및/또는 사용자자 클라이언트(500)를 연결하는 통신망으로서, 예를 들어 인터넷을 들 수 있지만, 그 외에도 3G 및/또는 LTE 등과 같은 데이터 통신망을 활용할 수 있다.
하나의 예시적인 실시형태에서, 온라인 콘텐츠는 클라이언트에 의해 수행되는 액션 및/또는 이벤트 중에서 적어도 하나의 동작 요소를 갖는다. 일례로, 온라인 콘텐츠는 적어도 하나의 동작 요소를 가지는 온라인 E-테스트 문항 콘텐츠, 동적 액션과 같은 적어도 하나의 동작 요소를 가지는 온라인 콘텐츠, 음성 파일/이미지 파일/동영상 파일 등과 같은 비-텍스트 파일을 구현하는 온라인 콘텐츠 중에서 적어도 하나를 포함할 수 있지만, 본 발명이 이에 한정되지 않는다.
온라인 학습 콘텐츠는 오프라인 및/또는 온라인에서 저작, 작성, 변환된 시험 문제와 같은 온라인 문항 콘텐츠 또는 온라인 문제 콘텐츠로서 적어도 하나의 동작 요소를 가질 수 있다. 예를 들어, 온라인 학습 콘텐츠는 본 발명에 따라 개발자 클라이언트(300)에서 저작되어, 콘텐츠 제공 서버(400)를 통하여 사용자 클라이언트(500)로 제공될 수 있는 CBT 방식의 문제를 들 수 있다.
개발자 클라이언트(300) 및/또는 사용자 클라이언트(500)는 예를 들어 데스크톱, 노트북과 같은 컴퓨터 단말기이고/이거나, 스마트폰, 태블릿 PC, PDA 등과 같은 통신망에 접속 가능한 모바일 단말기일 수 있다. 이때, 개발자 클라이언트(300)는 콘텐츠 제공 서버(400)와 통신망을 통하여 연결될 수도 있고, 또는 학습 콘텐츠 제공 서버(400)에 로컬(local) 형태로 연결될 수도 있다. 한편, 사용자 클라이언트(500)는 통신망을 통하여 콘텐츠 제공 서버(400)와 연결될 수 있다.
도 3에 도시된 것과 같이, 개발자 클라이언트(300)는 다양한 하드웨어(310 내지 340 및 360)와 이러한 하드웨어를 실행시키기 위한 구동/응용 프로그램(350)과 같은 소프트웨어인 다양한 컴포넌트를 포함할 수 있다.
예시적인 실시형태에서, 개발자 클라이언트(300)는 키보드, 마우스 및/또는 터치 패널과 같이 데이터 또는 정보, 예를 들어 응용 프로그램의 일종인 콘텐츠 편집 프로그램을 이용하여 오프라인 콘텐츠를 작성할 수 있는 입력부(310)를 갖는다. 개발자 클라이언트(300)는 또한 입력 또는 다운로드 된 데이터 또는 정보를 인쇄하기 위한 프린터와 같은 출력부(320)와, 이들 데이터를 화면으로 표시하기 위한 모니터와 같은 디스플레이(330)를 포함한다. 아울러, 개발자 클라이언트(300)는 다양한 데이터 및 정보를 저장하고 있는 RAM, ROM, 하드디스크 등과 같은 메모리(340)를 가지고 있으며, 개발자 클라이언트(300)에서의 다양한 구현 작업을 위하여 구동/응용 프로그램(350)을 탑재하고 있다.
개발자 클라이언트(300)에서 구현되는 구동/응용 프로그램(350)의 예로서 WINDOWS 등과 같은 구동 소프트웨어는 물론이고, 한글 오피스, MS 오피스 및/또는 PDF 편집기 등과 같이 오프라인 콘텐츠를 작성할 수 있는 콘텐츠 편집 소프트웨어, 인터넷과 같은 통신망에서의 데이터나 정보를 검색하기 위한 브라우저, 이미지 등을 처리하기 위한 포토샵 등의 이미지 처리 소프트웨어 등을 들 수 있다. 하지만, 그 외에도 다양한 구동/응용 프로그램이 개발자 클라이언트(300)에 탑재될 수 있을 것이다. 또한, 이들 하드웨어와 소프트웨어의 작업을 적절히 제어할 수 있도록 CPU와 같은 제어부(360)를 포함한다. 특히 개발자 클라이언트(300) 중의 메모리(340)와 제어부(360)는 매체(200)에 기록된 프로그램(100) 명령에 따른 일련의 작업을 실현한다는 점에서, 일종의 프로그램 실행부를 구성한다.
도면으로 도시하지 않았으나, 사용자 클라이언트(500) 역시 개발자 클라이언트(300)와 유사한 하드웨어 및 소프트웨어를 포함할 수 있다. 일례로, 사용자 클라이언트(500)는 통신망에 접속할 수 있는 임의의 단말기로서, 예시적으로 데스크톱, 노트북, 스마트 TV와 같은 컴퓨터 단말기는 물론이고, 스마트폰, 태블릿 PC, PDA, 일반 핸드폰과 같은 모바일 단말기를 포함한다. 별도로 표시하지는 않았지만, 학습자 클라이언트(500) 역시 마우스/키보드/터치 패드와 같은 입력부, 프린터와 같은 출력부, 모니터 또는 LCD/OLED 패널과 같은 디스플레이, RAM/ROM/하드 드라이브와 같은 메모리, 구동/응용 프로그램 및 제어부를 포함한다.
한편, 개발자 클라이언트(300)의 콘텐츠 편집 소프트웨어를 통하여 작성될 수 있는 오프라인 콘텐츠는 온라인 콘텐츠로의 변환이 가능한 프로그램(210)을 기록한 매체(200)를 통하여 온라인 콘텐츠로 변환될 수 있다. 온라인 콘텐츠는 통신망을 통하여 접속할 수 있는 사용자 클라이언트(500)에 의한 액션 및/또는 이벤트인 하나 이상의 동작 요소를 가지고 있다.
본 발명의 일 측면에 따르면, 본 발명은 오프라인에서 작성된 콘텐츠를 온라인 포맷의 콘텐츠로 변환하기 위한 프로그램(210, 도 3 참조)이 기록된 컴퓨터로 판독할 수 있는 매체(200)에 관한 것이다. 즉, 적절한 콘텐츠 편집 소프트웨어를 이용하여 개발자 클라이언트(300)에 의해 작성된 오프라인 콘텐츠(600, 700, 800, 도 6a, 7a 및 8a 참조)는 개발자 클라이언트(300)에 의해 구현되는 일련의 동작, 수단 및/또는 기능을 실행하기 위한 프로그램 명령에 의하여 온라인 콘텐츠(650, 750, 850, 도 6d, 7c 및 8d 참조)로 변환될 수 있다. 예를 들어 본 발명에 따라 컴퓨터로 판독 가능한 매체(200)는 오프라인에서 작성된 콘텐츠 온라인 포맷의 콘텐츠로 변환하기 위한 일련의 프로그램 명령은 물론이고, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
프로그램 명령이 기록된 컴퓨터로 판독 가능한 매체(200)의 예는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 판독할 수 있는 매체(200)의 예로는 자기 테이프, 하드 디스크, 플로피 디스크와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬(floptical) 디스크와 같은 자기-광 매체, 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령을 저장, 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
한편, 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 아래에서 예시적으로 기술하고 있는, 본 발명을 구현하기 위한 기능적인 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야에서 통상의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.
도 3에 도시한 바와 같이, 개발자 클라이언트(300)를 통하여 그 기능이 구현될 수 있는 매체(200)에는 일련의 코드로 작성된 명령 등을 갖는 프로그램(210)이 기록된다. 이 프로그램(210)은 오프라인에서 작성된 콘텐츠를 온라인 포맷의 콘텐츠로 변환하기 위한 일련의 수단들(220-260)로 구성될 수 있다. 예시적인 실시형태에 따르면, 프로그램(210)은 객체 입력 수단(220), 콘텐츠 업로드 수단(230) 및/또는 포맷 변환 수단(240)을 포함한다.
하나의 예시적인 실시형태에서, 객체 입력 수단(220)은 이벤트 및/또는 액션 등의 적어도 하나의 동작이 요구되는 온라인 콘텐츠 영역에 대응되는 오프라인 콘텐츠 영역을 지정하는 객체를 오프라인 콘텐츠(600, 700, 800, 도 6a, 7a 및 8a 참조)에 삽입한다. 이때, 객체 입력 수단(220)에 수단에 의하여 지정된 오프라인 콘텐츠 영역(즉, 온라인 콘텐츠 중에서 동작 영역)에 지정된 객체 내에 동작 요소와 관련된 텍스트가 입력될 수 있다.
클라이언트에 의한 이벤트(event) 및/또는 액션(action) 중에서 적어도 하나인 동작이란, 특히 온라인 포맷으로 변환된 콘텐츠에 포함된 특정 영역에 대하여, 예를 들어 개발자 클라이언트(300) 및/또는 사용자 클라이언트(500)에 의한 메서드(method) 또는 속성(attribute)의 변경을 특히 포함할 수 있다. 이러한 이벤트 및/또는 액션의 예로서 클라이언트(300, 500)를 구성하는 마우스를 이용한 클릭, 마우스를 이용한 더블 클릭, 마우스를 이용한 드래그, 마우스를 이용한 드랍, 마우스를 이용한 드래그-앤-드랍, 손가락 또는 터치펜을 이용한 터치 패널의 터치, 키보드 및/또는 터치 패널을 이용한 텍스트 입력을 포함할 수 있다. 하지만, 그 외에도 오프라인 콘텐츠(600, 도 6a 참조) 및/또는 온라인 학습 콘텐츠(650, 도 6d 참조)의 특정 영역에 대한 속성 및/또는 메서드를 변경하기 위한 일련의 동작 역시 이벤트 또는 액션에 포함될 수 있다.
객체 입력 수단(220)에 의해 입력되는 객체는 오프라인 콘텐츠와 독립적으로 기능할 수 있으며, 텍스트 입력이 가능한 객체이다. 일례로, 객체 및 객체 내부에서 온라인에서 수행되는 동작을 지시하는 텍스트는 클라이언트(300, 500)의 디스플레이(330)에 표시되지 않을 수 있으며, 프린터 등에 의해 인쇄되지 않을 수 있다. 하나의 예시적인 실시형태에서, 객체 입력 수단(220)에 의해 오프라인 콘텐츠 중에 삽입될 수 있는 객체는 콘텐츠 편집 소프트웨어에서 제공하는 메모 객체 및/또는 하이퍼링크 객체일 수 있다. 하지만, 본 발명에 따라 객체 입력 수단(220)을 통하여 오프라인 콘텐츠에 삽입될 수 있는 객체가 이에 한정되지 않는다. 이러한 의미에서, 본 명세서에서 사용된 용어 객체란, 예를 들면, 태스크(task) 및/또는 객체 유형을 의미할 수 있다.
또한, 오프라인 콘텐츠는 상업적으로 판매되는 콘텐츠 편집 소프트웨어에 의해 작성될 수 있다. 예를 들어, 오프라인 콘텐츠(600, 700, 800, 도 6a, 7a 및 8a 참조)는 개발자 클라이언트(300)에 탑재된 한컴 오피스 및/또는 MS 오피스 등의 문서 편집 소프트웨어, 및/또는 포토샵, PDF 편집기 등과 같은 이미지 또는 문서 편집 소프트웨어를 사용하여 작성된 오프라인 콘텐츠일 수 있다.
한편, 오프라인 콘텐츠(600, 700, 800, 도 6a, 7a 및 8a 참조)로부터 하나 이상의 동작 요소를 포함하도록 변환된 온라인 콘텐츠(650, 750, 850, 도 6d, 7c 및 8d 참조)는 적어도 하나의 동작 요소를 가지는 온라인 학습 콘텐츠, 적어도 하나의 동작 요소(예를 들어, 동적 액션)를 가지는 온라인 콘텐츠, 및/또는 비-텍스트 파일(예를 들어, 음성 파일, 이미지 파일 및/또는 동영상 파일 등)의 재생을 구현하는 온라인 콘텐츠 일 수 있지만, 본 발명이 이에 제한되지 않는다.
클라이언트(300, 500)에 의한 이벤트 및/또는 액션 중에서 적어도 하나의 동작 요소에 대응되는 특정 오프라인 콘텐츠 영역을 지정한 객체에 동작과 관련한 텍스트를 입력한다. 동작 요소에 대응되는 텍스트가 입력된 객체는 오프라인 콘텐츠와 독립적인 속성을 가지고 있다. 객체 입력 수단(220)에 의해 동작과 관련한 텍스트가 삽입된 객체에 대한 독특한 속성 데이터 또는 정보는 프로그램 실행부를 구성하는 메모리(340)에 저장할 수도 있다.
객체 입력 수단(220)에 의하여 삽입되는 객체 내부에 입력되는 텍스트는 클라이언트에 의하여 온라인 콘텐츠(650, 750, 850, 도 6d, 7c 및 8d 참조)에서 수행되는 동작을 지시한다. 일례로, 객체 내부에 입력되는 텍스트는 동작을 지시하는 명령 텍스트(632, 642, 도 6a 참조)와, 명령 텍스트에 의해 지시되는 동작의 속성 및/또는 순번을 지시하는 식별 텍스트(634, 644, 도 6a 참조)를 포함할 수 있다.
하나의 예시적인 실시형태에서, 명령 텍스트(632, 642, 도 6a 참조)는 클라이언트에 의한 소정의 동작 요소와 실질적으로 동일한 텍스트로 이루어질 수 있다. 한편, 식별 텍스트(634, 644, 도 6a 참조)는 원문자(ⓐⓑ/㉠㉡/㉮㉯ 등), 원숫자(①②③ 등), 숫자(1, 2, 3), 로마식 숫자(ⅰ,ⅱ,ⅲ/Ⅰ,Ⅱ,Ⅲ 등) 등의 텍스트를 포함하지만, 본 발명이 이에 제한되지 않는다. 하나의 예시적인 실시형태에서, 하나의 동작에 대하여 특정 식별 텍스트(예를 들어, 알파벳 원문자)가 사용되고, 다른 동작에 대하여 다른 특정 식별 텍스트(예를 들어, 원숫자)가 사용될 수 있다. 객체 입력 수단(220)에 의해 오프라인 콘텐츠에 삽입된 객체 및 그 내부에 삽입된 텍스트에 대한 정보는 프로그램 실행부에 저장될 수 있다.
오프라인 콘텐츠와 독립적으로 기능하는 객체를 사용하기 때문에 오프라인 콘텐츠에 대한 변형이 없다. 따라서 온라인 콘텐츠와 함께 오프라인 콘텐츠를 재활용할 수 있으며, 온라인 콘텐츠로의 변환을 위해서 오프라인 콘텐츠의 전체적인 포맷이나 틀이 어긋나는 문제가 없다.
한편, 콘텐츠 업로드 수단(230)은 콘텐츠 편집 소프트웨어에 의해 작성된 오프라인 콘텐츠 및/또는 프로그램(210)에 의해 변환된 온라인 콘텐츠를 통신망을 통하여 콘텐츠 제공 서버(400)로 전송한다. 콘텐츠 업로드 수단(230)에 의해 전송되는 오프라인 콘텐츠는 후술하는 포맷 변환 수단(240)에 의해 변형되기 전의 오프라인 콘텐츠, 즉 객체 입력 수단(220)에 의해 오프라인 콘텐츠에 객체가 삽입된 형태일 수 있다. 하나의 예시적인 실시형태에서, 콘텐츠 업로드 수단(230)은 온라인 콘텐츠만을 콘텐츠 제공 서버(400)로 전송할 수 있다. 다른 예시적인 실시형태에서, 콘텐츠 업로드 수단(230)은 오프라인 콘텐츠와 온라인 콘텐츠를 모두 콘텐츠 제공 서버(400)로 전송할 수 있다.
객체 입력 수단(220)에 의해 오프라인 콘텐츠에 삽입된 객체는 오프라인 콘텐츠와 독립적으로 기능할 뿐만 아니라, 객체의 삽입에 의하여 오프라인 콘텐츠가 변형되지 않는다. 이처럼, 본 발명에 따르면, 온라인 콘텐츠와 오프라인 콘텐츠는 실질적으로 동일한 내용을 가지고 있다. 따라서 콘텐츠 제공 서버(400)에서는 추가적인 작업 없이도 동일한 내용의 오프라인 콘텐츠와 온라인 콘텐츠를 사용자 클라이언트(500)에 제공할 수 있다.
포맷 변환 수단(240)은 객체 입력 수단(220)에 의해 입력된 객체를 포함하는 오프라인 콘텐츠를 온라인 콘텐츠로 변환한다. 보다 구체적으로, 포맷 변환 수단(240)은 객체 입력 수단(220)에 의해 오프라인 콘텐츠와 별도로 입력된 객체 및 객체에 포함된 텍스트(동작 요소에 대응하며 동작을 지시함)를 식별하여, 텍스트에 의해 지시되는 동작을 온라인 콘텐츠에 구현할 수 있다.
하나의 예시적인 실시형태에서, 객체 입력 수단(220)에 의하여 동작을 지시하는 텍스트가 삽입된 객체가 입력된 오프라인 콘텐츠는, 포맷 변환 수단(240)을 통하여 통신망 기반의 온라인 콘텐츠, 즉 온라인에서 수용될 수 있는 포맷으로 변환될 수 있다. 예를 들어, 포맷 변환 수단(240)은 한컴 오피스에서 제공하는 HTML(HyperText Markup Language) 변환 기능을 이용하거나, 또는 (주)한글과컴퓨터에서 제공하는 HDCS(Hancom Document Control Server) 또는 HDK(Hangul Development Library Kit) 등을 이용할 수 있다. MS 오피스는 HTML 또는 XML로의 변환 기능을 제공하므로 이를 이용하거나, 오프라인 포맷의 온라인 포맷으로의 변환(converting)을 위한 공개 또는 상용 솔루션들이 많으므로 이를 이용할 수 있다.
다른 예시적인 실시형태에서, 포맷 변환 수단(240)은 제 1 포맷 변환 수단(250) 및 제 2 포맷 변환 수단(260)을 포함할 수 있다.
제 1 포맷 변환 수단(250)은, 객체 입력 수단(220)에 의해 입력된 객체 및 그 내부의 텍스트를 포함하는 오프라인 콘텐츠를, 오프라인 콘텐츠를 작성할 때 사용된 콘텐츠 편집 소프트웨어에 특이적인 마크업 언어(Markup Language)로 변환할 수 있다. 예를 들어, 오프라인 콘텐츠가 문서 편집 소프트웨어에 의해 작성된 경우, 객체가 삽입된 오프라인 콘텐츠는 ㈜한글과컴퓨터에서 제공하는 HML(Hangul Markup Language)로 변환하거나, MS 오피스에서 제공하는 OOXML(Office Open Extensible Markup Language) 등과 같은 콘텐츠 편집 소프트웨어에 특이적인 마크업 언어로 변환될 수 있다. 필요한 경우, 제 1 포맷 변환 수단(250)은 오프라인 콘텐츠에 삽입된 객체 정보를 토대로, 표적 요소 및/또는 동작 요소를 추출할 수도 있다.
제 2 포맷 변환 수단(260)은 콘텐츠 편집 소프트웨어에 특이적인 마크업 언어 포맷을 통신망 마크업 언어 포맷으로 변환한다. 이때, 제 2 포맷 변환 수단(260)은 소프트웨어에 특이적인 마크업 언어 포맷 중에서 객체 입력 수단(220)에 의해 입력된 객체 정보를 토대로 동작 요소를 변환하거나, 동작 요소를 삽입하여 최종적인 온라인 콘텐츠를 작성할 수 있다.
예를 들어, 오프라인 콘텐츠가 한글 파일로 작성된 경우, 제 2 포맷 변환 수단(260)은 메모 객체(CONTAINER 노드)의 Type이 "Memo"인 속성(Attribute)을 추출하여 객체 입력 수단(220)에 의해 입력된 객체 및 내부의 텍스트 정보를 찾아낼 수 있다. 이는 ㈜한글과컴퓨터사에서 공개한 한글 파일의 문서 포맷이나 HML 파일의 규약을 보면 자세히 알 수 있다. MS 오피스도 마찬가지로 OOXML의 규약을 이용하여 객체 정보를 산출할 수 있다.
제 2 포맷 변환 수단(260)에 의해 오프라인 콘텐츠는 온라인 포맷의 온라인 콘텐츠로 변환된다. 예를 들어, 온라인 콘텐츠는 웹에서 구현되는 하이퍼텍스트 마크업 언어(HyperText Markup Language, HTML) 포맷, 휴대용 기기 마크업 언어(Handheld Device Markup Language, HDML) 포맷, 무선 마크업 언어(Wireless Markup Language, WML) 등의 포맷을 가질 수 있다. 객체 입력 수단(220) 및 포맷 변환 수단(240)을 이용하여 적절한 포맷으로 변환된 온라인 콘텐츠는 콘텐츠 업로드 수단(220)에 의하여, 개발자 클라이언트(300)로부터 통신망을 경유하여 콘텐츠 제공 서버(400)로 전송될 수 있다.
한편, 클라이언트(300, 500)와 통신망을 통하여 연결되는 콘텐츠 제공 서버(400)는 개발자 클라이언트(300)에 의해 작성된 오프라인 콘텐츠 및/또는 온라인 콘텐츠를 수신하여, 이들 콘텐츠를 사용자 클라이언트(500)에 제공한다. 이러한 기능을 구현하기 위하여, 도 4에 도시한 바와 같이, 콘텐츠 제공 서버(400)는 다양한 모듈을 가질 수 있다. 일례로, 콘텐츠 제공 서버(400)는 인터페이스 모듈(410), 데이터베이스 모듈(DB 모듈, 420), 콘텐츠 관리 모듈(430), 사용자 관리 모듈(440), 결제 관리 모듈(450) 및 이들 모듈을 제어하는 CPU와 같은 제어부(460)로 구성될 수 있다.
본 명세서에서 "모듈"이라는 용어는 프로그램 코드와 상기 프로그램 코드를 수행할 수 있는 하드웨어 리소스(resource)의 논리적 단위 또는 집합을 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나 한 종류의 하드웨어를 의미하는 것은 아니다.
본 명세서에서 "데이터베이스(database; DB))"라는 용어는, 각각의 DB에 대응되는 정보를 저장하는 소프트웨어 및 하드웨어의 기능적 구조적 결합을 의미할 수 있다. DB는 적어도 하나의 테이블로 구현될 수도 있으며, 상기 DB에 저장된 정보를 검색, 저장, 및 관리하기 위한 별도의 DBMS(Database Management System)를 더 포함할 수도 있다. 또한, 링크드 리스트(linked-list), 트리(Tree), 관계형 DB의 형태 등 다양한 방식으로 구현될 수 있으며, 상기 DB에 대응되는 정보를 저장할 수 있는 모든 데이터 저장매체 및 데이터 구조를 포함한다.
인터페이스 모듈(410)은 콘텐츠 제공 서버(400)에 접속한 클라이언트(300, 500)에 대한 통신망 접속 환경 및 적절한 사용자 인터페이스 등을 제공한다. 예를 들어, 인터페이스 모듈(410)은 개발자 클라이언트(300)에 오프라인 콘텐츠 및/또는 온라인 콘텐츠를 업로드하고, 콘텐츠의 수정과 같은 콘텐츠의 업그레이드를 구현할 수 있는 사용자 인터페이스를 제공할 수 있다. 또한, 인터페이스 모듈(410)은 사용자 클라이언트(500)에 사용자 정보 입력, 콘텐츠의 검색/조회/수신 요청 등은 물론이고, 콘텐츠 이용에 따른 결제 수단 정보를 입력할 수 있는 인터페이스를 제공할 수 있다.
DB 모듈(420)은 개발자 클라이언트(300)에 의해 작성, 전송된 콘텐츠 등의 정보를 저장한다. 일례로, DB 모듈(420)은 오프라인 콘텐츠 및/또는 온라인 콘텐츠에 대한 정보를 저장하는 콘텐츠 DB(422)와, 사용자 클라이언트(500)를 이용하여 접속한 사용자 정보(사용자의 인적 정보, 연락 정보, ID나 패스워드 등)를 저장하는 사용자 DB(424)와, 사용자 클라이언트(500)를 통하여 접속한 사용자의 콘텐츠 이용과 관련한 결제 정보(결제 수단, 결제 대금, 결제 시기 등)을 저장하는 결제 DB(426)로 이루어질 수 있다.
콘텐츠 관리 모듈(430)은 개발자 클라이언트(300)로부터 수신된 오프라인 콘텐츠 및/또는 온라인 콘텐츠를 관리한다. 하나의 예시적인 실시형태에서, 콘텐츠 관리 모듈(430)은 콘텐츠를 적절한 카테고리로 구분할 수 있다. 일례로, 콘텐츠 관리 모듈(430)은 오프라인 콘텐츠 및/또는 온라인 콘텐츠를 학습 카테고리(예를 들어, E-test용의 문항 콘텐츠 등), 오락/엔터테인먼트 카테고리, 쇼핑 등과 같은 경제/소비 카테고리 등으로 구분할 수 있다. 이에 따라, 사용자 클라이언트(500)에서 사용자는 자신이 원하는 콘텐츠를 신속하게 조회, 검색할 수 있다. 다른 예시적인 실시형태에서, 콘텐츠 관리 모듈(430)은 무료 콘텐츠 카테고리와, 유료 콘텐츠 카테고리로 콘텐츠를 분류, 관리할 수도 있을 것이다.
사용자 관리 모듈(440)은 사용자 클라이언트(500)를 이용하여 접속한 사용자 등을 관리한다. 일례로, 사용자 관리 모듈(440)은 콘텐츠 관리 모듈(430) 및 결제 관리 모듈(450) 등과 연동하여 사용자 클라이언트(500)의 IP 주소와 같은 접속 환경은 물론이고, 사용자 클라이언트(500)에서 이용한 콘텐츠 정보 등을 관리할 수 있을 것이다.
결제 관리 모듈(450)은 유료로 제공되는 콘텐츠의 이용과 관련한 결제를 관리한다. 이를 위하여, 결제 관리 모듈(450)은 콘텐츠 관리 모듈(430) 및 사용자 관리 모듈(440)과 연동될 수 있다.
계속해서, 본 발명에 따른 프로그램(210)을 이용하여 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 방법에 대하여 설명한다. 도 5는 본 발명의 예시적인 실시형태에 따라, 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 과정을 개략적으로 도시한 순서도이다.
도 5에 개략적으로 도시한 바와 같이, 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 방법은, 객체 입력 수단(220, 도 3 참조)을 이용하여 오프라인 콘텐츠에 텍스트 입력 가능한 객체가 입력, 삽입하는 단계(S510 단계)와, 선택적으로 오프라인 콘텐츠가 개발자 클라이언트(400, 도 3 참조)에 의하여 콘텐츠 제공 서버(500, 도 2 참조)로 업로드, 전송하는 단계와(S520 단계), 객체가 삽입된 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 단계(S530, S540 단계)와, 선택적으로 온라인 콘텐츠를 콘텐츠 제공 서버로 업로드, 전송하는 단계(S550 단계)를 포함할 수 있다.
S510 단계에서, 프로그램(210, 도 3 참조)을 구성하는 객체 입력 수단(220, 도 3 참조)에 의하여 텍스트 입력 가능한 객체가 오프라인 콘텐츠에 입력된다. 예를 들어, 객체는 사용자 클라이언트(500, 도 2 참조)에 의해 수행되는 이벤트 및/또는 액션 중에서 적어도 하나의 동작이 요구되는 온라인 콘텐츠 영역에 대응되는 오프라인 콘텐츠 영역에 지정되며, 객체 내부에 삽입되는 텍스트는 이러한 동작을 지시한다. 일례로, 오프라인 콘텐츠는 문서 편집 소프트웨어, 이미지 편집 소프트웨어, 동영상 편집 소프트웨어 등의 콘텐츠 편집 소프트웨어에 의해 작성될 수 있다. 또한, 객체 입력 수단(220)에 의하여 오프라인 콘텐츠와 독립하여 오프라인 콘텐츠에 삽입되는 객체는 콘텐츠 편집 소프트웨어에서 제공하는 메모 객체 및/또는 하이퍼링크 객체일 수 있다.
객체 입력 수단(220, 도 3 참조)을 이용하여 삽입된 객체를 포함하는 오프라인 콘텐츠는 S520 단계에서 콘텐츠 업로드 수단(230, 도 3 참조)에 의하여 개발자 클라이언트(300, 도 2 참조)로부터 콘텐츠 제공 서버(400, 도 2 참조)로 업로드, 전송된다. 필요한 경우에, 오프라인 콘텐츠는 S550 단계에서 변환된 온라인 콘텐츠를 업로드 할 때, 개발자 클라이언트로부터 콘텐츠 제공 서버로 업로드 될 수도 있다.
S530, S540 단계에서, 포맷 변환 수단(240, 도 3 참조)에 의하여 객체 입력 수단(220, 도 3 참조)에 의해 입력된 객체를 포함하는 오프라인 콘텐츠가 온라인 콘텐츠로 변환된다. 이때, 포맷 변환 수단(240)은, 객체 입력 수단(220)에 의하여 오프라인 콘텐츠와 별개로 삽입된 객체 및 객체에 포함된 텍스트를 식별하고, 텍스트에 의해 지시되는 동작을 상기 온라인 콘텐츠에 구현할 수 있다.
하나의 예시적인 실시형태에서, 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 단계는, 제 1 포맷 수단(250, 도 3 참조)에 의하여 제 1 포맷으로 변환하는 단계(S530 단계)와, 제 2 포맷 변환 수단(260, 도 3 참조)에 의하여 제 2 포맷(온라인 포맷)으로 변환하는 단계(S540 단계)를 포함할 수 있다.
일례로, 제 1 포맷 변환 단계(S530 단계)는 객체 입력 수단(220, 도 3 참조)에 의해 입력된 객체(및 텍스트)를 포함하는 오프라인 콘텐츠를, 콘텐츠 편집 소프트웨어에 특이적인 마크업 언어(제 1 포맷)로 변환한다. 또한, 제 2 포맷 변환 단계(S540 단계)는 제 1 포맷을 통신망에 적합한 마크업 언어 포맷(제 2 포맷)으로 변환한다. 이러한 변환 방법은 도 3을 참조하면서 위에서 설명한 것과 실질적으로 동일하다.
본 발명에 따른 프로그램(210, 도 3 참조)을 이용하여 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 방법을 보다 구체적으로 설명한다. 하기에서는 예를 들어 문서 편집 소프트웨어에 의해 작성한 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 방법을 온라인 학습 콘텐츠로 변환하는 방법을 설명한다. 하지만, 문서 편집 소프트웨어 이외에도 다른 콘텐츠 편집 소프트웨어에 의하여 오프라인 콘텐츠가 작성될 수 있으며, 적어도 하나의 동작이 구현된다면, 온라인 학습 콘텐츠 이외의 다른 온라인 콘텐츠에 대해서도 본 발명이 적용될 수 있음은 물론이다.
도 6a 내지 도 6d는 각각 본 발명의 예시적인 실시형태에 따라 객체 입력 수단으로서 메모 객체를 활용하여, 오프라인 콘텐츠로부터 온라인 콘텐츠로의 변환 과정을 개략적으로 설명하기 위한 도면으로서, E-test와 같은 학습 콘텐츠의 변환과 관련하여 드래그 요소 및 드롭 요소를 변환하는 과정을 나타낸다.
온라인 콘텐츠를 개발, 저작하고자 하는 콘텐츠 저작자는, 예를 들어 개발자 클라이언트(300, 도 2 참조)에 탑재되어 있는 응용 프로그램(350)의 하나인 문서 편집기 소프트웨어를 사용하여 오프라인 콘텐츠(600)를 작성한다. 오프라인 콘텐츠(600)는 클라이언트에 의해 요구되는 적어도 하나의 동작에 대응하는 영역을 가질 수 있다. 일례로, 오프라인 콘텐츠(600)에는 사용자 클라이언트(500, 도 2 참조)의 마우스를 이용한 드랍 동작에 대응하는 드랍 영역(610, 610a, 610b)과, 마우스를 이용한 드래그 동작에 대응하는 드래그 영역(620, 620a, 620b, 620c, 620d, 620e)을 포함하고 있다.
본 실시형태에서, 개발자 클라이언트(300, 도 3 참조)는 객체 입력 수단(220, 도 3 참조)을 통하여 각각의 동작에 대응하는 오프라인 콘텐츠 영역(610, 620)을 지정하는 객체로서 메모 객체(630)를 이용한다. 구체적으로, 제 1 드랍 영역(610a) 및 제 2 드랍 영역(610b)에 대해서 각각 제 1 드랍 메모 객체(630A)와 제 2 드랍 메모 객체(630B)가 지정된다. 또한, 제 1 드래그 영역(620a) 내지 제 5 드래그 영역(620a, 620b, 620c, 620d, 620e)에 대해서 각각 제 1 드래그 메모 객체 내지 제 5 드래그 메모 객체(640A, 640B, 640C, 640D, 640E)가 지정된다.
이때, 각각의 메모 객체(630A 내지 630B, 640A 내지 640E)는 클라이언트에 의해 수행되는 적어도 하나의 동작을 지시하는 텍스트(632, 634, 642, 644)가 삽입된다. 예를 들어, 드랍 메모 객체(630A, 630B)는 드랍 동작을 지시하는 명령 텍스트("드랍", 632)와, 해당 명령 텍스트에 의하여 지시되는 드랍 동작의 속성 정보를 지정하는 식별 텍스트("ⓐ", "ⓑ", 634)로 이루어질 수 있다. 또한, 드래그 메모 객체(640A 내지 640E)는 드래그 동작을 지시하는 명령 텍스트("드래그", 634)와, 해당 명령 텍스트에 의해 지시되는 드래그 동작의 속성 정보를 지정하는 식별 텍스트("①", "②", "③", "④", "⑤", 644)로 이루어질 수 있다.
이때, 도면에서 명령 텍스트(632, 634)가 동작과 동일한 명칭으로 입력하고 있지만, 본 발명이 이에 한정되는 것은 아니며 적절한 텍스트를 사용할 수도 있다. 또한, 도면에서 식별 텍스트(634, 644)로서 알파벳 원문자와 원숫자를 사용하였으나, 그 외에도 한글 원문자(예를 들어, ㉠㉡㉢, ㉮㉯㉰ 등), 로마 숫자(ⅰ,ⅱ,ⅲ/Ⅰ,Ⅱ, Ⅲ), 한글(가, 나, 다/ㄱ, ㄴ, ㄷ), 알파벳(A, B, C/a, b, c), 그리스 문자(Α,Β,Γ/α,β,γ) 등이 식별 텍스트(634, 644)로 사용될 수 있다. 아울러, 필요한 경우에, 명령 텍스트(632, 642)와 식별 텍스트(634, 644)는 적절한 기호(예를 들어 도면에서는 콜론 기호를 사용하였으나, 그 외에도 세미콜린, dash 문자, 언더바, 특수 문자 등)를 사용하여 구분될 수 있다.
하나의 예시적인 실시형태에서 식별 텍스트(634, 644)를 사용하여 명령 텍스트(632, 642)에 의해 지시되는 동작에 대한 다양한 속성 정보를 부가할 수 있다. 일례로, 드랍 메모 객체(630A, 630B)에 삽입되는 식별 텍스트가 고유 아이디를 지시하는 알파벳 원문자 이외에 추가적인 식별 속성(Attribute) "M"을 더하여 "@M"으로 기록함으로써, 여러 개의 드랍을 허용한다는 속성 정보가 부가되도록 규약을 정할 수 있다.
마찬가지로, 드래그 메모 객체(640A 내지 640E)도 고유의 아이디를 의미하는 알파벳 원문자 이외에 추가적인 식별 속성(Attribute) "C"를 규정하여, 원숫자 "①"만 기록된 경우는 Default로 단독 이동(클라이언트가 드래그 동작을 구현하면 드래그 영역이 드랍 영역으로 이동)을 구현하는 속성 정보가 부가된다. 반면, 식별 텍스트가 "①C"와 같이 추가적인 속성 "C"가 있는 경우에는 복제 이동(클라이언트가 드래그 동작을 구현하면 드래그 영역은 그대로 잔존하여 여러 개의 드래그 요소를 드랍 영역으로 이동)을 구현하는 속성 정보가 부가되도록 규약을 정할 수 있다.
클라이언트에 의한 동작이 수행되는 온라인 콘텐츠 영역에 대응되는 오프라인 콘텐츠 영역(610, 620)에 대하여 적절한 명령 텍스트(632, 642)와 식별 텍스트(634, 644)가 입력된 객체(630)를 오프라인 콘텐츠(600)에 삽입하고, 오프라인 콘텐츠(600)는 온라인 콘텐츠로 변환된다. 이는 프로그램(210, 도 3 참조)을 구성하는 포맷 변환 수단(240)을 통하여 수행될 수 있다.
하나의 예시적인 실시형태에서, 메모 객체(630)가 삽입된 오프라인 콘텐츠는 제 1 포맷 변환 수단(250, 도 3 참조)에 의하여 문서 편집 소프트웨어에 특이적인 마크업 언어로 변경될 수 있다. 일례로, 오프라인 콘텐츠가 한글 파일로 작성된 경우, 제 1 포맷 변환 수단은 메모 객체(630)가 삽입된 오프라인 콘텐츠를 HML 포맷으로 변환할 수 있다. 또한, 오프라인 콘텐츠가 MS 오피스 파일로 작성된 경우, 제 1 포맷 변환 수단은 메모 객체(630)가 삽입된 오프라인 콘텐츠를 OOXML 포맷으로 변환할 수 있다.
일례로, 도 6b는 도 6a에 도시된 오프라인 콘텐츠로부터 변환된 HML 포맷의 소스를 나타낸다. 도 6b에서는 <FILEDBEGIN> ~ <FIELDEND> 명령을 이용하여, 오프라인 콘텐츠에 삽입된 메모 객체 정보를 추출하고, 이를 통하여 동작 요소로의 변환을 구현하고 있다.
이어서, HML 포맷과 같은 제 1 포맷으로 변환된 언어는 제 2 포맷 변환 수단(260, 도 3 참조)을 통하여 온라인에서 구현되는 포맷으로 변환될 수 있다. 일례로, HML 포맷에서 지정된 드래그 메모 영역은 드래그 요소로 변환되고, 드랍 메모 영역은 드랍 요소로 변환되도록 구현할 수 있다. 예를 들어, 본 실시형태에서 드래그 메모 영역을 드래그 요소로 변환하기 위하여, "<span class='spantxtdrop' numindex='ⓐ'></div>"라는 명령을 사용하고, 드랍 메모 영역을 드랍 요소로 변환하기 위하여, "<span class='imgdragctrl' dragindex='①'>원줄</span>"이라는 명령을 사용할 수 있다.
예를 들어, 제 2 포맷 변환 수단은 제 1 포맷인 HML에 부여된 메모 객체 정보의 텍스트 데이터를 검색하고, 이를 토대로 메모 객체에 의해 지정된 오프라인 콘텐츠 영역에 동작 요소를 구현한다. 또한 MS 오피스는 OOXML를 문서 포맷으로 사용하기 때문에 저장된 docx 파일의 XML데이터를 분석하여 메모 객체 정보의 텍스트 데이터를 검색하여, 메모 객체 블록을 검색하고, 해당 메모 객체에 의해 지정되는 영역에 동작 요소를 구현한다.
도 6c는 도 6b에 도시한 HML 포맷을 HTML 포맷으로 변환하였을 때 소스를 나타낸다. 일례로, 도 6c와 같이 작성된 HTML 포맷을 적절한 스크립트 프로그램(예를 들어, Javascript와 같은 Client Side Script나 ASP, PHP, JSP 등의 Server Side Script 언어 등)을 이용하여 적어도 하나의 동작 요소가 구현된 온라인 콘텐츠로 변환할 수 있다. 도 6d는 전술한 과정을 통하여 온라인 콘텐츠(650)를 나타낸다. 오프라인 콘텐츠의 드랍 영역(610, 도 6a 참조)에 대응하여 드랍 요소(660)가 구현되어 있으며, 오프라인 콘텐츠의 드래그 영역(620, 도 6a 참조)에 대응하여 드래그 요소(670)가 구현되어 있다. 이에 따라, 사용자 클라이언트(500)에 의한 동작(드랍 및/또는 드래그)을 온라인에서 실행할 수 있다.
계속해서, 메모 객체가 아닌 다른 객체를 이용하여 오프라인 콘텐츠로부터 온라인 콘텐츠로의 변환 방법을 설명한다. 도 7a 내지 도 7c는 각각 본 발명의 예시적인 실시형태에 따라 객체 입력 수단으로서 하이퍼링크 객체를 활용하여, 오프라인 콘텐츠로부터 온라인 콘텐츠로의 변환 과정을 개략적으로 설명하기 위한 도면으로서, E-test와 같은 학습 콘텐츠의 변환과 관련하여 드래그 요소 및 드롭 요소를 변환하는 과정을 나타낸다.
도 7a에 도시한 바와 같이, 개발자 클라이언트(300, 도 2 참조)에 문서 편집기 소프트웨어를 사용하여 오프라인 콘텐츠(700)를 작성한다. 일례로, 오프라인 콘텐츠(700)는 사용자 클라이언트(500, 도 2 참조)의 마우스를 이용한 드랍 동작에 대응하는 드랍 영역(710, 710a, 710b)과, 마우스를 이용한 드래그 동작에 대응하는 드래그 영역(720, 720a, 720b, 620c)을 포함하고 있다.
본 실시형태에서, 개발자 클라이언트(300, 도 3 참조)는 객체 입력 수단(220, 도 3 참조)을 통하여 각각의 동작에 대응하는 오프라인 콘텐츠 영역(710, 720)을 지정하는 객체로서 하이퍼링크 객체(730)를 이용한다. 도면에서는 설명의 편의를 위하여, 제 1 드래그 영역(720a)을 지정하는 하나의 하이퍼링크 객체(730)만을 도시하였다. 하지만 도 6a에 도시한 다수의 메모 객체(630)와 유사하게, 하이퍼링크 객체(730)는 클라이언트에 의한 동작 영역에 대응되는 제 1 내지 제 2 드랍 영역(710a, 710b)과, 제 1 내지 제 3 드래그 영역(720a, 720b, 720) 각각을 지정하는 다수의 하이퍼링크 객체를 포함할 수 있다.
이때, 하이퍼링크 객체(730)에서 "표시할 문자열"에 드래그 또는 드랍 영에 대응되는 문자(예를 들어 "원줄")를 입력하고, "연결 대상"에 클라이언트에 의해 수행되는 적어도 하나의 동작을 지시하는 텍스트(732, 734)가 삽입된다. 예를 들어, 드래그 하이퍼링크 객체(730)는 드래그 동작을 드래그 동작을 지시하는 명령 텍스트("드래그", 732)와, 해당 명령 텍스트에 의해 지시되는 드래그 동작의 속성 정보를 지정하는 식별 텍스트("①", 734)로 이루어질 수 있다. 전술한 바와 같이, 명령 텍스트(732)는 동작과 동일한 명칭일 수도 있고 다른 적절한 텍스트가 이용될 수 있으며, 식별 텍스트(734)는 원숫자 이외에도, 알파벳 원문자, 한글 원문자, 로마 숫자, 한글, 알파벳, 그리스 문자 등이 사용될 수 있다. 식별 텍스트(734)의 형식을 달리하여, 명령 텍스트(732)에 의해 지시되는 동작에 대한 속성 정보를 부가할 수 있다.
클라이언트에 의한 동작이 수행되는 온라인 콘텐츠 영역에 대응되는 오프라인 콘텐츠 영역(710, 720)에 대하여 적절한 명령 텍스트(732)와 식별 텍스트(734)가 입력된 하이퍼링크 객체(730)를 오프라인 콘텐츠(700)에 삽입하고, 오프라인 콘텐츠(600)는 온라인 콘텐츠로 변환된다. 이는 프로그램(210, 도 3 참조)을 구성하는 포맷 변환 수단(240)을 통하여 수행될 수 있다. 이 과정은 도 6b를 참조하여 설명한 것과 실질적으로 동일하다. 일례로, 도 7b는 도 7a에 도시된 오프라인 콘텐츠로부터 1차 포맷 변환된 HML 소스를 나타낸다.
이어서, HML 포맷과 같은 제 1 포맷으로 변환된 언어는 제 2 포맷 변환 수단(260, 도 3 참조)을 통하여 온라인에서 구현되는 포맷으로 변환될 수 있다. 이는 전술한 도 6c에서 설명한 과정과 실질적으로 동일한 절차에 따라 이루어질 수 있으며, 도 7b에 도시한 HML 포맷을 HTML 포맷으로 변환하면 도 6c에 도시한 소스와 실질적으로 동일하다. HTML 포맷을 적절한 스크립트 프로그램(예를 들어, Javascript와 같은 Client Side Script나 ASP, PHP, JSP 등의 Server Side Script 언어 등)을 이용하여 온라인 콘텐츠로 변환할 수 있는데, 도 7c는 전술한 과정을 통하여 온라인 콘텐츠(750)를 나타낸다. 오프라인 콘텐츠의 드랍 영역(710, 도 7a 참조)에 대응하여 드랍 요소(760)가 구현되어 있으며, 오프라인 콘텐츠의 드래그 영역(720, 도 7a 참조)에 대응하여 드래그 요소(770)가 구현되어 있다. 이에 따라, 사용자 클라이언트(500)에 의한 동작(드랍 및/또는 드래그)을 온라인에서 실행할 수 있다.
한편, 위에서는 클라이언트에 의해 수행되는 동작으로서 드래그 및 드랍을 구현하는 온라인 콘텐츠 변환 과정을 설명하였다. 하지만, 본 발명에 따른 프로그램을 이용하여 그 이외의 동적 동작(예를 들어 마우스를 이용한 클릭/더블 클릭 등을 이용하여 숨겨진 콘텐츠를 클라이언트에 표시, 비-텍스트 파일의 재생, 새로운 웹 페이지의 이동 등)을 구현하는 온라인 콘텐츠가 생성될 수 있다. 도 8a 내지 도 8d는 각각 본 발명의 예시적인 실시형태에 따라 객체 입력 수단으로서 메모 객체를 활용하여, 오프라인 콘텐츠로부터 온라인 콘텐츠로의 변환 과정을 개략적으로 설명하기 위한 도면으로서, E-test와 같은 학습 콘텐츠의 변환과 관련하여 동적 액션 요소를 변환하는 과정을 나타낸다.
도 8a에 도시한 바와 같이, 오프라인 콘텐츠(800)는 클라이언트에 의해 요구되는 적어도 하나의 동작에 대응하는 영역을 가질 수 있다. 일례로, 오프라인 콘텐츠(600)에는 사용자 클라이언트(500, 도 2 참조)의 마우스를 이용한 클릭 동작에 대응하는 영역(810, 표적 영역)과, 마우스를 이용한 클릭 동작에 의하여 클라이언트에게 제시되는 동적 동작 영역(820)을 포함하고 있다.
본 실시형태에서, 개발자 클라이언트(300, 도 3 참조)는 객체 입력 수단(220, 도 3 참조)을 통하여 각각의 동작에 대응하는 오프라인 콘텐츠 영역(610, 620)을 지정하는 객체로서 메모 객체(830)를 이용한다. 구체적으로, 표적 영역(830)에 대해서 표적 메모 객체(830A)가 지정되고, 동적 액션 영역(820)에 대하여 동적 액션 메모 객체(840A)가 지정된다.
이때, 각각의 메모 객체(830A, 840A)는 클라이언트에 의해 수행되는 적어도 하나의 동작을 지시하는 텍스트(832, 834, 842, 844)가 삽입된다. 예를 들어, 표적 메모 객체(830A)는 클릭 또는 터치 동작에 의한 액션 및/또는 이벤트를 지시하는 명령 텍스트("링크", 832)와, 해당 명령 텍스트에 의하여 지시되는 드랍 동작의 속성 정보를 지정하는 식별 텍스트("SW_12981", 834)로 이루어질 수 있다. 또한, 동적 동작 메모 객체(840A)는 초기 동작을 지시하는 명령 텍스트("숨김", 834)와, 해당 명령 텍스트에 의해 숨겨지는 텍스트 정보 또는 데이터를 지정하는 식별 텍스트("12981")로 이루어질 수 있다.
이때, 도면에서 명령 텍스트(832, 834)가 동작과 동일한 명칭으로 입력하고 있지만, 본 발명이 이에 한정되는 것은 아니며 적절한 텍스트를 사용할 수도 있다. 또한, 도면에서 식별 텍스트(834, 844)로서 숫자, 문자-특수 문자)-숫자의 조합 등이 사용되었으나, 그 외에도 원문자, 로마 숫자 등이 사용될 수 있다. 하나의 예시적인 실시형태에서, 표적 메모 객체(830A)에 포함된 식별 텍스트(834)와, 동적 액션 메모 객체(840A)에 포함된 식별 텍스트(844)는 상호 관련성을 가진 텍스트를 입력하여 상호 연동되도록 작성될 수 있다.
클라이언트에 의한 동작이 수행되는 온라인 콘텐츠 영역에 대응되는 오프라인 콘텐츠 영역(810, 820)에 대하여 적절한 명령 텍스트(832, 842)와 식별 텍스트(834, 844)가 입력된 메모 객체(830)를 오프라인 콘텐츠(800)에 삽입하고, 오프라인 콘텐츠(600)는 온라인 콘텐츠로 변환된다. 이는 프로그램(210, 도 3 참조)을 구성하는 포맷 변환 수단(240)을 통하여 수행될 수 있다.
하나의 예시적인 실시형태에서, 메모 객체(630)가 삽입된 오프라인 콘텐츠는 제 1 포맷 변환 수단(250, 도 3 참조)에 의하여 문서 편집 소프트웨어에 특이적인 마크업 언어로 변경될 수 있다. 일례로, 오프라인 콘텐츠가 한글 파일로 작성된 경우, 제 1 포맷 변환 수단은 메모 객체(630)가 삽입된 오프라인 콘텐츠를 HML 포맷으로 변환할 수 있다. 또한, 오프라인 콘텐츠가 MS 오피스 파일로 작성된 경우, 제 1 포맷 변환 수단은 메모 객체(630)가 삽입된 오프라인 콘텐츠를 OOXML 포맷으로 변환할 수 있다.
예시적인 실시형태에서, 객체(830)가 삽입된 오프라인 콘텐츠를 제 1 포맷 변환 수단(250, 도 3 참조)을 통하여 HML과 같은 콘텐츠 편집 소프트웨어에 특이적인 제 1 포맷으로 변환할 때, 객체에 삽입된 동작 요소를 추출할 수 있다. 일례로, 제 1 포맷으로 변환할 때, 제 1 포맷 변환 수단(250, 도 3 참조)은 표적 메모 객체(830A)에 포함된 표적 요소와, 동적 동작 메모 객체(840A)에 포함된 동적 동작 요소를 추출할 수 있다. 일례로, 도 8b는 도 8a에 도시한 오프라인 콘텐츠를 HML로 변환한 소스를 나타낸다. <FILEDBEGIN> ~ <FIELDEND> 명령을 이용하여, 오프라인 콘텐츠에 삽입된 메모 객체 정보를 추출하고, 이를 통하여 동작 요소로의 변환을 구현하고 있다.
이어서, HML 포맷과 같은 제 1 포맷으로 변환된 언어는 제 2 포맷 변환 수단(260, 도 3 참조)을 통하여 온라인에서 구현되는 포맷으로 변환될 수 있다. 일례로, HML 포맷에서 추출된 표적 요소는 표적 요소로서 제 2 포맷 언어에 삽입되고, 동적 동작 요소는 동적 동작 요소로서 제 2 포맷 언어에 삽입될 수 있다. 예를 들어, 제 2 포맷 변환 수단은 제 1 포맷인 HML에 부여된 메모 객체 정보의 텍스트 데이터를 검색하고, 이를 토대로 메모 객체에 의해 지정된 오프라인 콘텐츠 영역에 동작 요소를 구현한다.
예를 들어, 본 실시형태에서 표적 메모 영역에 대응하여 표적 요소를 삽입하기 위하여, "<span class='spinlink' linkinfo='SW_12981'>힌트보기</span>"이라는 명령을 사용하고, 동적 동작 메모 영역에 대응하여 동적 동작 요소를 삽입하기 위하여 "<span class='iblhide' iblid='12981'>힌트내용</label>"이라는 명령을 사용할 수 있다.
도 8c는 도 8b에 도시한 HML 포맷을 HTML 포맷으로 변환하였을 때 소스를 나타낸다. 일례로, 도 8c와 같이 작성된 HTML 포맷을 적절한 스크립트 프로그램을 이용하여 동작 요소가 구현된 온라인 콘텐츠로 변환할 수 있다. 도 8d는 전술한 과정을 통하여 온라인 콘텐츠(850)를 나타낸다. 오프라인 콘텐츠의 표적 영역(810, 도 8a 참조)에 대응하여 표적 요소(860)가 삽입되도록 구현되어 있으며, 오프라인 콘텐츠의 동적 동작 영역(820, 도 8a 참조)에 대응하여 동적 동작 요소(870)가 구현될 수 있다. 예를 들어, 도 8c 및 도 8d를 참조하면, 온라인에서 iblhide라는 이름의 class를 숨김 처리하였다가, javascript 등의 스크립트를 이용하여 spnlink라는 이름으로 처리된 '힌트보기' 영역을 클릭하면 iblid가 12981에 해당하는 label을 보임 처리하도록 구현된다.
상기에서는 본 발명의 예시적인 실시형태에 기초하여 본 발명을 설명하였으나, 본 발명이 이에 한정되는 것은 아니다. 오히려 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 전술한 실시형태에 기초하여 다양한 변형과 변경을 용이하게 추고할 수 있을 것이다. 예를 들어, 본 명세서에서는 오프라인 문서 편집 소프트웨어를 이용하여 작성된 학습 콘텐츠를 예를 들어 설명하였으나, 오프라인의 다른 콘텐츠 편집기 소프트웨어를 이용하여 작성되는 비-학습 콘텐츠를 온라인 포맷으로 변환하는 데에도 응용될 수 있다. 하지만, 이러한 변형과 변경은 모두 본 발명의 권리범위에 속한다는 사실은, 첨부하는 청구의 범위를 통하여 더욱 분명해질 것이다.
100 : 콘텐츠 제공 시스템 200: 매체
210: 콘텐츠 변환 프로그램 220: 객체 입력 수단
230: 콘텐츠 업로드 수단 240: 포맷 변환 수단
250: 제 1 포맷 변환 수단 260: 제 2 포맷 변환 수단
300: 개발자 클라이언트 310: 입력부
320: 출력부 330: 디스플레이
340: 메모리 350: 구동/응용 프로그램
360: 제어부 400: 콘텐츠 제공 서버
500: 사용자 클라이언트
600, 700, 800: 오프라인 콘텐츠 650, 750, 850: 온라인 콘텐츠

Claims (16)

  1. 오프라인 콘텐츠를 온라인 콘텐츠로 변환하기 위한 프로그램을 기록한 컴퓨터로 판독할 수 있는 기록 매체로서,
    클라이언트에 의하여 수행되는 이벤트 및 액션 중에서 적어도 하나의 동작이 요구되는 온라인 콘텐츠 영역에 대응하는 오프라인 콘텐츠 영역을 지정하며, 상기 오프라인 콘텐츠와 독립적으로 기능하며 텍스트 입력이 가능한 메모 객체 및 하이퍼링크 객체 중에서 적어도 어느 하나인 객체 내부에 상기 동작을 지시하는 텍스트를 입력하는 객체 입력 수단으로서, 상기 동작을 지시하는 텍스트는 상기 클라이언트에 의하여 수행될 수 있는 동작을 지시하는 명령 텍스트를 포함하는 객체 입력 수단; 및
    상기 객체 입력 수단에 의해 입력된 상기 객체를 포함하는 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 포맷 변환 수단으로서, 상기 객체 입력 수단에 의해 입력된 상기 객체 및 상기 객체에 포함된 텍스트를 식별하고, 상기 텍스트에 의해 지시되는 동작을 상기 온라인 콘텐츠에 구현하는 포맷 변환 수단
    으로 기능시키기 위한 프로그램을 기록한 컴퓨터로 판독할 수 있는 기록 매체.
  2. 제 1항에 있어서,
    상기 오프라인 콘텐츠는 콘텐츠 편집 소프트웨어를 사용하여 작성되는 컴퓨터로 판독 가능한 기록 매체.
  3. 제 1항에 있어서,
    상기 포맷 변환 수단은,
    상기 객체 입력 수단에 의해 입력된 상기 객체를 포함하는 오프라인 콘텐츠를, 마크업 언어(Markup Language)로 변환하는 제 1 포맷 변환 수단과,
    상기 제 1 포맷 변환 수단에 의해 작성된 마크업 언어 포맷을 통신망 마크업 언어 포맷으로 변환하는 제 2 포맷 변환 수단을 포함하는 컴퓨터로 판독할 수 있는 기록 매체.
  4. 제 1항에 있어서,
    상기 동작은 마우스를 이용한 클릭, 마우스를 이용한 더블 클릭, 마우스를 이용한 드래그, 마우스를 이용한 드랍, 마우스를 이용한 드래그-앤-드랍, 손가락 또는 터치펜을 이용한 터치 패널의 터치 또는 키보드 또는 터치 패널을 이용한 텍스트 입력을 포함하는 컴퓨터로 판독할 수 있는 기록 매체.
  5. 제 1항에 있어서,
    상기 온라인 콘텐츠는 온라인 E-테스트 문항 콘텐츠, 동적 액션을 포함하는 온라인 콘텐츠, 및 비-텍스트 파일의 재생을 구현하는 온라인 콘텐츠 중에서 적어도 하나를 포함하는 컴퓨터로 판독 가능한 기록 매체.
  6. 제 1항에 있어서,
    상기 프로그램은 상기 온라인 콘텐츠를 통신망을 통하여 콘텐츠 제공 서버에 전송하는 콘텐츠 업로드 수단에 의해 더욱 기능되는 컴퓨터로 판독할 수 있는 매체.
  7. 삭제
  8. 제 1항에 있어서,
    상기 동작을 지시하는 텍스트는, 상기 명령 텍스트에 의해 지시된 동작의 속성을 지시하는 식별 텍스트를 더욱 포함하는 컴퓨터로 판독할 수 있는 기록 매체.
  9. 컴퓨터에서 구현되는 프로그램을 이용하여 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 방법으로서,
    a) 객체 입력 수단에 의하여, 클라이언트에 의하여 수행되는 이벤트 및 액션 중에서 적어도 하나의 동작이 요구되는 온라인 콘텐츠 영역에 대응하는 오프라인 콘텐츠 영역을 지정하며, 상기 오프라인 콘텐츠와 독립적으로 기능하며 텍스트 입력이 가능한 메모 객체 및 하이퍼링크 객체 중에서 적어도 어느 하나인 객체 내부에 상기 동작을 지시하는 텍스트를 입력하는 단계로서, 상기 동작을 지시하는 텍스트는 상기 클라이언트에 의하여 수행될 수 있는 동작을 지시하는 명령 텍스트를 포함하는 단계; 및
    b) 포맷 변환 수단에 의하여, 상기 객체 입력 수단에 의해 입력된 상기 객체를 포함하는 오프라인 콘텐츠를 온라인 콘텐츠로 변환하는 단계로서, 상기 객체 입력 수단에 의해 입력된 상기 객체 및 상기 객체에 포함된 텍스트를 식별하고, 상기 텍스트에 의해 지시되는 동작을 상기 온라인 콘텐츠에 구현하는 단계
    를 포함하는 방법.
  10. 제 9항에 있어서,
    상기 오프라인 콘텐츠는 콘텐츠 편집 소프트웨어를 사용하여 작성되는 방법.
  11. 제 9항에 있어서,
    상기 b) 단계는,
    제 1 포맷 변환 수단에 의하여, 상기 객체 입력 수단에 의해 입력된 상기 객체를 포함하는 오프라인 콘텐츠를, 마크업 언어(Markup Language)로 변환하는 단계와,
    제 2 포맷 변환 수단에 의하여, 상기 제 1 포맷 변환 수단에 의해 작성된 마크업 언어 포맷을 통신망 마크업 언어 포맷으로 변환하는 단계를 포함하는 방법.
  12. 제 9항에 있어서,
    상기 동작은 마우스를 이용한 클릭, 마우스를 이용한 더블 클릭, 마우스를 이용한 드래그, 마우스를 이용한 드랍, 손가락 또는 터치펜을 이용한 터치 패널의 터치 또는 키보드 또는 터치 패널을 이용한 텍스트 입력을 포함하는 방법.
  13. 제 9항에 있어서,
    상기 온라인 콘텐츠는 온라인 E-테스트 문항 콘텐츠, 동적 액션을 포함하는 온라인 콘텐츠, 및 비-텍스트 파일의 재생을 구현하는 온라인 콘텐츠 중에서 적어도 1개를 포함하는 방법.
  14. 제 9항에 있어서,
    상기 (b) 단계는,
    콘텐츠 업로드 수단에 의하여, 상기 온라인 콘텐츠를 통신망을 통하여 콘텐츠 제공 서버에 전송하는 단계를 포함하는 방법.
  15. 삭제
  16. 제 9항에 있어서,
    상기 동작을 지시하는 텍스트는, 상기 명령 텍스트에 의해 지시된 동작의 순번 또는 개수를 구분하는 식별 텍스트를 더욱 포함하는 방법.
KR1020180033205A 2018-03-22 2018-03-22 오프라인 콘텐츠를 온라인 콘텐츠로 변환하기 위한 프로그램을 기록한 컴퓨터로 판독할 수 있는 매체 및 콘텐츠 변환 방법 KR102189832B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180033205A KR102189832B1 (ko) 2018-03-22 2018-03-22 오프라인 콘텐츠를 온라인 콘텐츠로 변환하기 위한 프로그램을 기록한 컴퓨터로 판독할 수 있는 매체 및 콘텐츠 변환 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180033205A KR102189832B1 (ko) 2018-03-22 2018-03-22 오프라인 콘텐츠를 온라인 콘텐츠로 변환하기 위한 프로그램을 기록한 컴퓨터로 판독할 수 있는 매체 및 콘텐츠 변환 방법

Publications (2)

Publication Number Publication Date
KR20190111281A KR20190111281A (ko) 2019-10-02
KR102189832B1 true KR102189832B1 (ko) 2020-12-15

Family

ID=68422829

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180033205A KR102189832B1 (ko) 2018-03-22 2018-03-22 오프라인 콘텐츠를 온라인 콘텐츠로 변환하기 위한 프로그램을 기록한 컴퓨터로 판독할 수 있는 매체 및 콘텐츠 변환 방법

Country Status (1)

Country Link
KR (1) KR102189832B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100798465B1 (ko) 2006-09-08 2008-01-28 (주)드림투리얼리티 출판용 학습자료를 문제풀이가 가능한 포맷으로 변환하는학습데이터생성시스템 및 그 생성방법
KR101632951B1 (ko) * 2014-07-23 2016-06-23 주식회사 에듀베이스 온라인 학습 콘텐츠로의 변환을 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 및 온라인 학습 콘텐츠로의 변환 방법
KR101638511B1 (ko) 2014-07-29 2016-07-11 주식회사 에듀베이스 온라인 학습 콘텐츠 저작을 위한 프로그램이 기록된 컴퓨터 판독 가능한 매체 및 온라인 학습 콘텐츠 저작 방법
KR101717492B1 (ko) 2009-12-31 2017-03-17 삼성전자주식회사 문서 정보 전달 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100798465B1 (ko) 2006-09-08 2008-01-28 (주)드림투리얼리티 출판용 학습자료를 문제풀이가 가능한 포맷으로 변환하는학습데이터생성시스템 및 그 생성방법
KR101717492B1 (ko) 2009-12-31 2017-03-17 삼성전자주식회사 문서 정보 전달 방법 및 장치
KR101632951B1 (ko) * 2014-07-23 2016-06-23 주식회사 에듀베이스 온라인 학습 콘텐츠로의 변환을 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 및 온라인 학습 콘텐츠로의 변환 방법
KR101638511B1 (ko) 2014-07-29 2016-07-11 주식회사 에듀베이스 온라인 학습 콘텐츠 저작을 위한 프로그램이 기록된 컴퓨터 판독 가능한 매체 및 온라인 학습 콘텐츠 저작 방법

Also Published As

Publication number Publication date
KR20190111281A (ko) 2019-10-02

Similar Documents

Publication Publication Date Title
US10706091B2 (en) User driven computerized selection, categorization, and layout of live content components
US8869023B2 (en) Conversion of a collection of data to a structured, printable and navigable format
CN101183355B (zh) 复制和粘贴处理方法及装置
US8566711B1 (en) Document views
US20140075281A1 (en) Systems and methods for annotating digital documents
KR20110063697A (ko) 지속 저장 포탈
WO2006137530A1 (ja) 文書処理装置
JPWO2006051964A1 (ja) データ処理システム、データ処理方法、及び管理サーバ
JPWO2006051975A1 (ja) 文書処理装置
WO2006051958A1 (ja) 情報配信システム
US6931385B1 (en) Interactive examples for online coding tutorials
Kumar Human computer interaction
JP4723511B2 (ja) 文書処理装置及び文書処理方法
KR101638511B1 (ko) 온라인 학습 콘텐츠 저작을 위한 프로그램이 기록된 컴퓨터 판독 가능한 매체 및 온라인 학습 콘텐츠 저작 방법
US20110295785A1 (en) Mobile e-learning method and apparatus based on media adapted learning objects
WO2007105364A1 (ja) 文書処理装置及び文書処理方法
KR102189832B1 (ko) 오프라인 콘텐츠를 온라인 콘텐츠로 변환하기 위한 프로그램을 기록한 컴퓨터로 판독할 수 있는 매체 및 콘텐츠 변환 방법
KR102201585B1 (ko) 온라인 콘텐츠 제공 시스템 및 온라인 콘텐츠 제공 방법
WO2007007529A1 (ja) 文書処理装置および文書処理モジュール
WO2006051956A1 (ja) サーバ装置及び検索方法
JP7438769B2 (ja) 文章構造描画装置
KR101632951B1 (ko) 온라인 학습 콘텐츠로의 변환을 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 및 온라인 학습 콘텐츠로의 변환 방법
JPWO2006051973A1 (ja) 文書処理装置及び文書処理方法
KR20190111282A (ko) 온라인 콘텐츠 제공 시스템 및 온라인 콘텐츠 제공 방법
JPWO2006051868A1 (ja) 文書処理装置及び文書処理方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2019101003934; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20191128

Effective date: 20201130

GRNO Decision to grant (after opposition)
GRNT Written decision to grant