KR101488595B1 - 위지윅 기반 html 편집기의 템플릿 구조 유지방법 및 장치 - Google Patents

위지윅 기반 html 편집기의 템플릿 구조 유지방법 및 장치 Download PDF

Info

Publication number
KR101488595B1
KR101488595B1 KR20130062398A KR20130062398A KR101488595B1 KR 101488595 B1 KR101488595 B1 KR 101488595B1 KR 20130062398 A KR20130062398 A KR 20130062398A KR 20130062398 A KR20130062398 A KR 20130062398A KR 101488595 B1 KR101488595 B1 KR 101488595B1
Authority
KR
South Korea
Prior art keywords
template
user input
wysiwyg
html editor
type
Prior art date
Application number
KR20130062398A
Other languages
English (en)
Other versions
KR20140141092A (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 KR20130062398A priority Critical patent/KR101488595B1/ko
Publication of KR20140141092A publication Critical patent/KR20140141092A/ko
Application granted granted Critical
Publication of KR101488595B1 publication Critical patent/KR101488595B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • 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

Abstract

위지윅 기반 HTML 편집기의 템플릿 구조 유지방법이 개시된다. 본 발명에 의한 위지윅 기반 HTML 편집기의 템플릿 구조 유지방법은 a) 상기 위지윅 기반 HTML 편집기의 편집창에 템플릿을 표시하는 단계; b) 상기 위지윅 기반 HTML 편집기의 편집창에 대한 사용자 입력이 있으면, 상기 템플릿에 대한 훼손이 발생하는지 판정하는 단계; c) 상기 템플릿에 대한 훼손이 발생함에 따라 상기 발생한 훼손이 미리 정해진 다수의 유형 가운데 어느 것에 해당하는지 판정하는 단계; 및 d) 상기 판정된 유형에 따라 해당 사용자 입력을 무효화하거나, 해당 사용자 입력에 의하여 삭제되는 객체(엘리먼트)를 복구하거나, 해당 사용자 입력에 의하여 삽입되거나 변형된 객체를 삭제하는 단계;를 포함한다.

Description

위지윅 기반 HTML 편집기의 템플릿 구조 유지방법 및 장치{APPARATUS AND METHOD OF MAINTAINING TEMPLATE STRUCUTRE IN WYSIWYG BASED HTML EDITOR}
본 발명은 HTML 기반의 위지윅 학습 컨텐츠 저작도구 기술분야에 속한다.
이러닝 컨텐츠(E-learning Contents)는 구성과 형태에 대한 표준안이 존재하기 때문에 저작도구를 사용하여 저작을 함에 있어, 효율적인 컨텐츠 저작을 위해 템플릿을 사용하는 것이 일반적이다.
템플릿을 지원하는 공지의 이러닝 컨텐츠 저작도구를 이용하여 이러닝 컨텐츠를 저작하는 과정을 살펴보면, 저작자는 먼저 적당한 템플릿을 선택하여 화면에 표시한 다음, 템플릿의 각 항목마다 소정의 내용을 입력하는 것에 의해 컨텐츠를 저작하게 된다.
한편, 템플릿을 지원하는 이러한 공지의 컨텐츠 저작도구에 의할 때, 저작자가 입력할 수 있는 영역이 고정되어 있고 다른 편집을 추가적으로 할 수 없도록 되어 있다.
따라서, 저작자가 컨텐츠의 구성을 위해 별도의 노력을 기울이지 않아도 된다는 장점이 있는 반면, 저작이 가능한 컨텐츠의 형태가 제공되는 템플릿에 의해 제한되기 때문에 저작자가 컨텐츠의 구조나 형태를 다양하게 변형할 수 없다는 한계를 갖는다.
이러한 한계점을 극복하기 위하여, 저작자에게 보다 많은 자유도가 허용될 수 있도록 위지윅(WYSIWYG) 기반 HTML 편집기에 템플릿을 적용하는 방안이 검토되고 있다.
이에 의할 때 컨텐츠 전반에 대한 자유로운 편집이 가능하며, 템플릿의 형태로 제한된 양식을 제공할 수 있게 된다. 따라서, 저작자는 편집의 자유도를 보장받으면서, 동시에 템플릿을 함께 이용하기 때문에 간편하고 손쉬운 저작을 할 수 있게 된다.
그러나, 위지윅 기반의 HTML 편집기에서 이러닝 컨텐츠를 템플릿 방식으로 저작할 경우, 사용자의 입력 행위에 따라 템플릿이 훼손되는 위험성이 존재한다.
즉, 사전에 정의된 템플릿이 의도치 않게 훼손되는 문제가 발생할 수 있다.
특히, 컨텐츠의 구조 및 구성이 규격화되어있는 이러닝 컨텐츠에서는 이러한 템플릿의 훼손이 LMS(Learning Management System)와의 호환성 문제를 일으키거나, 학습자의 학습을 트래킹하는 과정에 기능상 오류를 초래할 수 있어 치명적일 수 있다.
문헌 1. 대한민국특허청, 특허공개번호 제10-2009-0000199호 "웹 서버 어플리케이션 프레임워크와 상기 프레임워크를 이용한 웹 어플리케이션 처리 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체" 문헌 2. 대한민국특허청, 특허공개번호 제10-2006-0107945호 "무선 인터넷 사용자 인터페이스를 위한 템플릿 구조를 제공하기 위한 장치"
문헌 1. K. H. II, S. M. Young, "Implementation of a Template-Based Authoring Tool for Multimedia Content", Journal of Korea Multimedia Society Vol,7, No. 3, 2004.03 문헌 2 S. S. Jun, J. S. Chae, H. S. Choi, "A Design and Implementation of Template-based WYSIWYG XML Editor" KIISE Database Society of Korea, Vol. 19, No.1, 2003.03 문헌 3. M. Johnson, J. Karat, C. M. Karat, "Usable Policy Template Authoring for lterative policy Refinement", IEEE, pp18-21, 2010 문헌 4. D. D. Chamberlin, "An Adaptation of Dataflow Methods for WISYWYG Document Processing", ACM, pp101-109, 1988.12 문헌 5 S. J. Han, J. J. Kim, Y. S. Lee, J. H. Cha, B. U. Choi, "dinsEditor: A Browser Extension for QTI-Compliant Assessment Item", ICALT, pp231. 232, 2010 문헌 6 S. Hui, J. Lui, "An Online Template-Based Authoring System for E-Learning", ICWL, pp38-48, 2005 문헌 7. P. Sorggard, T. I. Sandahl, "Problems with Styles in Word Processing: A Weak Foundation for Electronic Publishing with SGML", IEEE, pp137-146, 1977
본 발명은 상기와 같은 종래기술의 문제점을 해소하기 위하여 개발된 것으로, 위지윅 기반의 HTML 편집기에서 템플릿을 적용하되, 저작자의 편집과정에서 템플릿이 훼손되는 것을 방지하기 위한 방안을 제시한다.
이러한 목적을 달성하기 위하여, 본 발명에 의한 위지윅 기반 HTML 편집기의 템플릿 구조 유지방법은 a) 상기 위지윅 기반 HTML 편집기의 편집창에 템플릿을 표시하는 단계;
b) 상기 위지윅 기반 HTML 편집기의 편집창에 대한 사용자 입력이 있으면, 상기 템플릿에 대한 훼손이 발생하는지 판정하는 단계;
c) 상기 템플릿에 대한 훼손이 발생함에 따라 상기 발생한 훼손이 미리 정해진 다수의 유형 가운데 어느 것에 해당하는지 판정하는 단계; 및
d) 상기 판정된 유형에 따라 해당 사용자 입력을 무효화하거나, 해당 사용자 입력에 의하여 삭제되는 객체(엘리먼트)를 복구하거나, 해당 사용자 입력에 의하여 삽입되거나 변형된 객체를 삭제하는 단계;를 포함한다.
한편, 상기와 같은 목적을 달성하기 위하여 본 발명에 의한 위지윅 기반 HTML 편집기의 템플릿 구조 유지장치는 상기 위지윅 기반 HTML 편집기의 편집창에 템플릿이 표시된 후, 상기 편집창에 대한 사용자 입력이 있으면, 상기 사용자 입력에 의하여 템플릿의 객체가 제거되는지, 템플릿에 객체가 삽입되는지 또는 템플릿의 구조가 변경되는지 판정하는 템플릿 분석수단;
상기 사용자 입력에 의하여 템플릿의 구조가 변경되는 경우, 해당 사용자 입력을 무효화하며, 상기 사용자 입력에 의하여 템플릿에 객체가 삽입되는 경우 해당 사용자 입력을 무효화하는 사전방지수단; 및
상기 사용자 입력에 의하여 템플릿의 객체가 제거되는 경우, 해당 객체를 복구하며, 상기 사용자 입력에 의하여 템플릿에 객체가 삽입되는 경우 삽입된 객체를 삭제하는 사후교정수단;을 구비한다.
이때, 상기 템플릿 방지 수단은 상기 사용자 입력에 의하여 템플릿의 객체가 제거되거나, 템플릿에 객체가 삽입되거나 또는 템플릿의 구조가 변경되는 경우,
각 경우마다 미리 정의된 유형 가운데 어느 하나에 해당하는지 더 판정한다.
이때, 각 유형에 대하여 처리하지 않을 것인지, 사전방지수단에 의하여 사용자 입력을 무효화시킬 것인지, 사후교정수단에 의하여 복구하거나 삭제할 것인지에 대하여 미리 정의된 정보를 갖는다.
한편, 상기와 같은 목적을 달성하기 위하여 본 발명에 의한 위지윅 기반 HTML 편집기의 템플릿 구조 유지방법을 수행하기 위한 컴퓨터가 실행가능한 명령을 갖는 컴퓨터가 읽을 수 있는 매체는,
a) 상기 위지윅 기반 HTML 편집기의 편집창에 템플릿을 표시됨에 따라 상기 템플릿의 태그구조를 파싱하여 분석하는 단계;
b) 상기 위지윅 기반 HTML 편집기의 편집창에 대한 사용자 입력이 있으면, 상기 템플릿의 태그구조에 대한 훼손이 발생하는지 판정하는 단계;
c) 훼손이 발생함에 따라 상기 발생한 훼손이 미리 정해진 다수의 유형 가운데 어느 것에 해당하는지 판정하는 단계;
d) 상기 판정된 유형에 따라 해당 사용자 입력을 무효화하거나, 해당 사용자 입력에 의하여 삭제되는 객체를 복구하거나, 해당 사용자 입력에 의하여 삽입되거나 변형된 객체를 삭제하는 단계;를 포함한다.
이러한 본 발명에 의할 때, 위지윅 기반의 HTML 편집기에서 템플릿을 적용하되, 저작자의 편집행위에 의하여 템플릿이 훼손되는 것을 사전에 방지하거나 또는 사후적으로 복구하는 것이 가능해진다.
이에 따라, 저작자는 컨텐츠 - 특히, 이러닝 컨텐츠를 저작함에 있어 위지윅 방식으로 자유롭게 편집을 하되, 템플릿을 이용하여 빠르고 간편하게 저작을 할 수 있다.
도 1은 HTML 편집기에 템플릿 저장수단, 플러그인이 결합되는 형태를 개념적으로 설명하는 도면이며,
도 2는 위지윅 방식의 HTML 편집기에 템플릿이 적용된 모습을 예시하는 도면이며,
도 3은 본 발명에 의한 위지윅 기반 HTML 편집기의 템플릿 구조 유지장치의 구성을 설명하는 블록도이며,
도 4는 본 발명에 의한 위지윅 기반 HTML 편집기의 템플릿 구조 유지방법을 설명하는 플로우 차트이며,
도 5는 저작자의 편집과정에서 템플릿이 훼손되는 경우를 설명하는 도면이다.
이하에서는 본 발명의 바람직한 실시예 및 첨부하는 도면을 참조하여 본 발명을 상세히 설명하되, 도면의 동일한 참조부호는 동일한 구성요소를 지칭함을 전제하여 설명하기로 한다.
발명의 상세한 설명 또는 특허청구범위에서 어느 하나의 구성요소가 다른 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 당해 구성요소만으로 이루어지는 것으로 한정되어 해석되지 아니하며, 다른 구성요소들을 더 포함할 수 있는 것으로 이해되어야 한다.
또한, 발명의 상세한 설명 또는 특허청구범위에서 "~수단", "~부", "~모듈", "~블록"으로 명명된 구성요소들은 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이들 각각은 소프트웨어 또는 하드웨어, 또는 이들의 결합에 의하여 구현될 수 있다.
도 1은 HTML 편집기에 템플릿 저장수단, 플러그인이 결합되는 형태를 개념적으로 설명하는 도면이며, 도 2는 위지윅 방식의 HTML 편집기에 템플릿이 적용된 모습을 예시하는 도면이다.
도 1에 도시된 바에 의할 때, HTML 편집기(1)에 템플릿 저장수단(2) 및 플러그인(3)이 결합된 형태를 확인할 수 있다.
HTML 편집기(1)는 위지윅 환경을 제공하는 공지의 일반적인 HTML 편집기(1)이다. HTML 편집기를 이용하여 HTML을 직접 코딩할 수도 있으나, 본 발명에서는 HTML 편집기의 위지윅 GUI(Graphic User Interface)에서의 편집과정에서 템플릿이 훼손되는 경우를 전제하므로 소스 수준의 코딩환경을 제공하는 HTML 편집기는 고려하지 않는다.
한편, 템플릿 저장수단(2)은 이러닝 컨텐츠의 유형마다 미리 정의되는 다수의 템플릿을 저장하되, 이러한 HTML 편집기(1)와 연동되어 저작자가 선택한 템플릿을 HTML 편집기(1)의 위지윅 화면상에 표시한다.
템플릿들은 HTML 태그로 정의된 다수의 객체(엘리먼트)를 갖는다.
도 2는 사용자가 선택한 템플릿이 HTML 편집기(1)의 편집 화면상에 표시된 모습을 예시한다.
도 2에 예시된 바와 같이 템플릿이 표시된 상태에서 사용자는 문제의 번호, 문항의 내용, 각 선택지의 내용을 입력하는 등의 방식에 의해 간단히 이러닝 컨텐츠를 저작할 수 있게 된다.
템플릿에는 도 2의 우측 체크박스 및 체크 박스의 선택에 따른 기능상 처리를 위한 코드가 더 포함된다.
저작이 완료된 후, 학습자가 전용 뷰어나 LMS를 통해 상기 이러닝 컨텐츠를 재생하여 표시할 때에 체크박스가 표시되며, 학습자가 문항을 읽고 어느 하나를 선택했을 때의 처리과정은 템플릿에 포함된 코드에 의해 자동으로 처리될 수 있다.
그런데, 도 2에 예시된 바와 같은 템플릿은 공지의 템플릿을 지원하는 저작도구와 달리, 저작자가 편집과정에서 삭제하거나 이동시키거나 변형을 가할 수 있다.
공지의 저작도구들은 미리 정해진 템플릿 항목에 대해서만 입력을 할 수 있도록 하고 있으나, 이로 인한 편집상 자유도 문제를 해소하기 위해 본 발명에서는 위지윅 방식으로 저작자로 하여금 직접 편집할 수 있도록 하는 환경을 가정하는데 이에 따라 템플릿 자체가 훼손되는 일이 발생하게 되는 것이다.
그럼에도 불구하고, 저작자에 의한 템플릿을 복사하여 객체의 인스턴스를 새로 추가한다거나, 템플릿에 의해 제공되는 객체의 위치를 바꾼다거나, 일부 인스턴스를 삭제하는 등의 행위는 지극히 정상적인 저작과정의 일부로 이해되어야 한다.
따라서, 저작자의 정상적인 저작행위와 그렇지 않은 템플릿의 훼손을 나누어 후자의 경우에 대해서만 이를 치유할 필요가 있다.
플러그인(3)은 이를 위하여 HTML 편집기(1)에 추가적으로 설치되는 모듈에 해당한다.
이러한 플러그인(3)은 저작자가 HTML 편집기(1)에 템플릿을 적용하여 이러닝 컨텐츠를 저장하되, 저작과정에서 의도치 않은 템플릿의 훼손이 발생하면 이를 방지하거나 또는 복원한다.
본 발명에 의한 위지윅 기반 HTML 편집기의 템플릿 구조 유지장치(100)는 바로 이와 같은 플러그인(3)의 형태로 구현될 수 있다.
즉, HTML 편집기(1)가 실행되는 컴퓨팅 하드웨어 - 예컨대, 개인용 컴퓨터(PC), 워크스테이션, 타블렛 컴퓨터(Tablet Computer) 등 - 에서 HTML 편집기(1)의 실행시에 함께 실행되는 플러그인(3)의 형태로 구현될 수 있다.
도 3은 본 발명에 의한 위지윅 기반 HTML 편집기의 템플릿 구조 유지장치의 구성을 설명하는 블록도이다.
도 3에 도시된 바에 의할 때, 본 발명에 의한 위지윅 기반 HTML 편집기의 템플릿 구조 유지장치(100)는 템플릿 분석수단(110), 사전방지수단(120) 및 사후교정수단(130)을 갖는다.
템플릿 분석수단(110)은 저작자가 HTML 편집기(1)를 이용하여 적당한 템플릿을 선택함으로써 도 2에 도시된 바와 같이 편집창에 템플릿을 표시하면, 해당 템플릿의 구조를 파악하여 이후 사용자 입력에 의하여 템플릿의 객체가 제거되는지, 템플릿에 객체가 삽입되는지 또는 템플릿의 구조가 변경되는지 판정한다.
저작자는 위지윅 방식의 HTML 편집기(1)에 템플릿이 표시된 상태에서 자유롭게 편집을 할 수 있는데 그 과정에서 템플릿은 애시당초 표시된 형태에서부터 다양한 형태로 편집되고 변경될 수 있다.
그 결과를 소정의 기준에 따라 분류하여 일부는 정상적인 편집과정의 일환으로 취급할 수 있을 것이나, 또 나머지 일부는 템플릿이 훼손된 것으로 판정하여 이를 복구하거나 또는 해당 사용자의 편집 자체를 무효화하여 훼손을 방지할 수 있다.
템플릿 방지 수단(110)은 이와 같이 사용자에 의한 편집과정에서 템플릿이 애초 표시된 형태에서 수정되고 편집됨에 따라, 사용자의 단일 편집행위 즉, 입력 각각(예를 들어, 키보드의 특정 키 입력, 마우스 드래그 앤 드롭 등)에 대하여 해당 사용자 입력이 정상적인 것인지, 또는 미리 정의된 템플릿의 훼손 유형에 해당하는지를 판정한다.
템플릿에 대한 편집이나 수정은 크게 템플릿에 정의된 객체가 제거되거나, 템플릿에 다른 객체가 삽입되거나, 또는 기타 다른 방식으로 템플릿의 구조가 변경되는 3가지 경우로 나눌 수 있다.
객체의 제거는 키보드의 백스페이스(Back Space)나 딜리트(Delete) 키를 누르는 것에 의해 해당 객체의 태그의 일부가 삭제되는 경우에 발생할 수 있다. 해당 객체의 종료 태그나 개시 태그가 삭제되어도 해당 객체는 정상적으로 표시될 수 없게 되므로 제거된 것으로 취급한다.
한편, 객체의 삽입은 템플릿에 의해 화면에 표시된 객체를 복사하여 붙여넣기 하는 등의 방식의 편집과정에서 이루어질 수 있다.
그런데, 기존의 객체와 관계없이 별도 화면 영역에 붙여넣기 한 경우라면 객체의 레퍼런스 아이디가 중복되는 문제가 발생할 수 있고, 기존 객체의 태그 사이에 붙여넣기가 된 경우라면 태그가 깨지는 문제가 발생할 수 있다.
기타의 변경은 기존 객체를 드래그 앤 드롭하는 등의 방식으로 옮기는 등의 조작에 의해 발생할 수 있는데, 이 경우에도 마찬가지로 다른 객체의 태그 사이로 옮겨지는 등의 이유로 태그가 깨지는 문제가 발생할 수 있다.
이와 같이 템플릿에 대한 수정, 편집이 있으면, 템플릿 분석수단(110)은 템플릿의 제거, 추가 또는 변경인지를 판정한다. 제거, 추가 또는 변경이라 표현하였으나 제거, 추가 또는 변경의 원인이 되는 이벤트의 종류에 따라 더 세분화하여 나누어 판정할 수도 있다.
그리고, 각 경우마다 미리 정의된 유형 가운데 어느 것에 해당하는지 더 판정한다.
템플릿의 제거의 경우에도 정상적인 편집과정에 해당하는 유형이 있으며, 또는 템플릿의 훼손으로 취급되는 유형이 있을 수 있다.
객체의 추가나 변경의 경우에도 마찬가지이다.
그리고, 템플릿 분석수단(110)은 각 유형에 대하여 어떻게 템플릿의 훼손에 대응할 것인지 미리 정해진 정보를 갖는다.
예컨대, 저작자의 편집과정에서 "템플릿의 제거"가 이루어졌으나, 세부 유형을 판단한 결과 정상적인 편집과정에 해당하는 경우라면 아무런 대응을 하지 않을 것이다.
그러나, 정상적인 편집과정이 아닌 미리 정해진 템플릿의 훼손 유형에 속한다면 다음과 같은 두 가지의 방법으로 대응할 수 있다.
첫 번째는, 사용자의 해당 입력 그 자체를 무효화함으로써 템플릿의 훼손이 아예 일어날 수 없도록 막는 것이다.
이를 위하여 플러그인(3)의 형태로 구현되는 위지윅 기반 HTML 편집기의 템플릿 구조 유지장치(100)는 사용자의 입력을 인터셉트하여 그 결과가 정상적인 편집과정에 해당하는 경우에는 HTML 편집기(1)로 사용자 입력을 전달하되, 템플릿의 훼손에 해당하는 경우라면 사용자의 해당 입력이 HTML 편집기(1)로 전달되지 않도록 차단한다.
사전방지수단(120)은 이와 같이 사용자 입력에 의해 템플릿이 훼손되는 경우에, 해당 사용자의 입력을 무효화한다. 구체적으로는, 사용자 입력을 인터셉트하여 사용자의 해당 입력이 HTML 편집기(1)로 전달되지 않도록 차단할 수 있다.
예컨대, 사용자 입력에 의하여 템플릿의 구조가 변경되는 경우, 상기 사용자 입력에 의하여 템플릿에 객체가 삽입되는 경우 그 유형에 따라서 해당 사용자 입력을 무효화할 수 있다. 단, 그 유형이 정상적인 편집과정에 해당한다면 아무런 처리를 하지 않음은 당연하다.
두 번째의 방법은 사용자의 입력에 의한 템플릿의 훼손을 사후적으로 복구하는 것이다.
사후교정수단(130)은 이와 같이 사용자의 입력에 의한 템플릿의 훼손이 있으면, 해당 템플릿의 훼손된 부분을 원래의 상태로 복구한다.
예컨대, 사용자 입력에 의하여 템플릿의 객체가 제거되는 경우, 제거된 객체를 복원하거나, 또는 사용자 입력에 의하여 템플릿에 객체가 삽입되는 경우 삽입된 객체를 제거하는 방법으로 템플릿의 훼손을 사후적으로 복구할 수 있다.
즉, 템플릿 내의 특정 엘리먼트에 대한 접근을 사전에 차단하는 사전방지와, 키보드나 마우스 이벤트 발생 이후 변형된 템플릿을 직전 상태로 되돌리거나 정해진 구조에 맞게 복구하는 사후 교정의 두 가지 방식이 사용된다.
이하에서는 도 4를 참조하여 본 발명에 의한 위지윅 기반 HTML 편집기의 템플릿 구조 유지방법을 살펴보기로 한다.
도 4는 본 발명에 의한 위지윅 기반 HTML 편집기의 템플릿 구조 유지방법을 설명하는 플로우 차트이다.
본 발명에 의한 위지윅 기반 HTML 편집기의 템플릿 구조 유지방법은 HTML 편집기(1), 템플릿 저장수단(2) 및 플러그인(3)을 적재하여 실행하는 컴퓨팅 하드웨어에서 수행될 수 있다.
도 4에 도시된 바에 의할 때, 상기 컴퓨팅 하드웨어는 우선, 사용자가 HTML 편집기(1) 상에서 임의의 템플릿을 선택함에 따라 사용자에 의하여 선택된 템플릿을 HTML 편집기(1)의 편집창에 표시한다(a 단계).
이후, 사용자가 HTML 편집기(1)상에서 편집을 하는 동안, 사용자의 각 입력에 의하여 상기 템플릿에 대한 훼손이 발생하는지 판정한다(b 단계).
템플릿의 훼손이 아닌 정상적인 편집과정으로 판단되는 경우라면 아무런 처리를 하지 않는다.
그러나, 템플릿이 의도치 않게 훼손된 경우 컴퓨팅 하드웨어는 상기 발생한 훼손이 미리 정해진 다수의 유형 가운데 어느 것에 해당하는지 판정한다(c 단계).
한편, 상기 판정된 유형에 따라 해당 사용자 입력을 무효화하거나, 해당 사용자 입력에 의하여 삭제되는 객체를 복구하거나, 해당 사용자 입력에 의하여 삽입되거나 변형된 객체를 삭제한다(d 단계).
이하에서는 도 5 및 표 1 내지 표 4를 참조하여 사용자에 의한 템플릿의 훼손의 유형과 이에 대한 컴퓨팅 하드웨어에 의한 사전방지 또는 사후교정 방법을 살펴본다.
사용자에 의한 템플릿에 대한 수정이나 편집은 크게 템플릿의 객체를 삭제하거나, 새로운 객체를 추가하거나, 변형하는 행위로 나눌 수 있다.
한편, 처리의 용이성을 위하여 저작자의 편집행위에 수반되는 입력 이벤트가 무엇인지에 따라서 붙여넣기, 마우스 드래그 앤 드롭, 엔터키 입력, 백스페이스(또는 딜리트 키)입력과 같은 4 가지의 경우로 구분하였다.
붙여넣기는 템플릿의 추가, 백스페이스는 템플릿의 제거, 마우스 드래그 앤 드롭과 엔터키는 대체로 템플릿의 변형에 해당한다.
각 유형은 도 5에 도시된 바와 같다.
그리고, 4 가지의 각 경우에 해당하는 세부 유형들을 정의하였다.
각 유형들마다 해당 유형에 부합하는지 여부를 가리기 위한 조건을 설정하고, 각 유형마다 대응방법을 개발하였다.
아래 표 1은 붙여넣기의 경우에 대한 훼손의 유형과 유형별 대응방법을 나타낸다.
발생상황 case 대응방법
1. 정상적인 편집행위 1 처리 안함
2. 템플릿 내부에 템플릿이 추가됨 1 내부의 태그를 제거함
2 태그없이 plain-text 붙여넣기
3. 내용없는 템플릿이 남게 됨 1 템플릿 삭제
4. 같은 ID를 갖는 두 개의 템플릿이 존재 1 새로운 response ID 부여
2 태그없이 plain-text 붙여넣기
5. 아이디가 사라지고 템플릿이 2개로 분리됨 1 템플릿의 사라진 responseID 부여
2 태그없이 plain-text 붙여넣기
6. 템플릿이 3개로 분리됨 1 템플릿의 사라진 responseID 부여
2 태그없이 plain-text 붙여넣기
붙여넣기 유형의 경우에는, 엘리먼트의 내부에 또 다른 태그, 엘리먼트를 붙여넣기 할 수 있도록 허용할 경우 예측 불가능한 예외 사항이 과도하게 발생하여 처리가 어려우며, 경우에 따라 텍스트(Plain Text)만 붙여넣기가 되도록 하였다.
이와 같이, 상기 b) 단계에서 클립보드 내용의 붙여넣기 이벤트가 발생한 경우, 컴퓨팅 하드웨어는 상기 c) 단계에서 훼손의 세부 유형을 판단하는데,
템플릿 내부에 태그가 추가되는 경우이면, 상기 d) 단계에서는 상기 붙여넣기 이벤트를 무효화하거나, 또는 태그를 제외한 텍스트에 대한 붙여넣기를 처리한다.
반면, 훼손의 유형이 붙여넣기에 의해 동일한 아이디를 갖는 템플릿이 중복되거나 아이디 없이 템플릿의 일부가 중복되는 경우이면, 상기 d) 단계에서는 아이디가 중복되거나 아이디가 없는 템플릿에 중복되지 않는 새로운 아이디를 부여하거나, 또는 태그를 제외한 텍스트에 대한 붙여넣기를 처리할 수 있다.
아래 표 2는 마우스로 드래그 앤 드롭을 하는 경우에 대한 훼손의 유형과 유형별 대응방법을 나타낸다.
발생상황 case 대응방법
1. 정상적인 편집행위 1 처리 안함
2. 내용없는 템플릿이 남게 됨 1 템플릿 삭제
3. 아이디가 사라지고 불필요한 태그가 남게 됨 1 마우스 이벤트 차단
4. 코드는 문제가 없으나 에러 검출 1 마우스 이벤트 차단
5. 태그가 복사되나 내용은 복사되지 않음 1 태그 부여하고 아이디 새롭게 부여
2 처리하지 않음
6. 태그 내용이 복사되지만 아이디만 사라짐 1 중복되지 않는 아이디를 새롭게 부여
2 마우스 이벤트 차단
7. 태그가 분리되고 아이디가 사라짐 1 마우스 이벤트 차단
8.아이디가 중복되어 엘리먼트 내부에 포함되며, '&nbsp'입력 1 내부 템플릿 제거
9. 아이디가 중복되어 복사 1 중복되지 않은 아이디 새롭게 부여
10. 아이디가 중복되어 형제노드가 되고,'&nbsp'입력 1 중복되지 않은 아이디 새롭게 부여
11. 중복되지 않고 내부에 삽입 1 내부 템플릿 제거
마우스로 템플릿을 드래그 앤 드롭하는 경우, 인터넷 익스플로러의 경우에 템플릿을 드래그 앤 드롭할 경우에 브라우저가 중지되는 현상이 발생하기도 하였으며, 실제 코드와 화면의 불일치 현상이 발생하였으며 이에 대처할 수 있도록 경우를 나누어 개발하였다.
이와 같이, 상기 b) 단계에서 마우스로 템플릿 또는 객체를 드래그 앤 드롭(Drag and Drop) 하는 이벤트가 발생한 경우, 컴퓨팅 하드웨어는 상기 c) 단계에서 훼손의 세부 유형을 판단하는데,
내용없는 템플릿이 남게 되는 경우이면, 상기 d) 단계에서는 상기 내용없는 템플릿을 삭제한다.
그리고, 템플릿의 아이디가 사라지거나, 이벤트 이후 에러가 검출되는 경우이면, 상기 d) 단계에서는 해당 드래그 앤 드롭 이벤트를 무효화하며,
훼손의 유형이 템플릿의 아이디가 중복되는 경우이면, 상기 d) 단계에서는 중복되지 않는 새로운 아이디를 부여한다.
아래 표 3은 엔터키 입력에 의한 훼손의 유형과 유형별 대응방법을 나타낸다.
발생상황 case 대응방법
1. 불필요한 태그가 남게 됨 1 불필요한 태그 삭제
2 템플릿 내에서 엔터키 입력 차단
2. 중복된 아이디를 갖는 템플릿으로 분리됨 1 새로운 아이디 부여
2 템플릿 내에서 엔터키 입력 차단
3 분리된 태그를 붙여주기
3. 아이디가 없는 태그로 분리 됨 1 삭제하기
엔터키의 입력은 템플릿에 의하여 제공되는 엘리먼트 외부에서의 엔터키 입력은 정상적인 편집이므로 제외하며, 엘리먼트 내에서의 엔터키 입력에 대해서만 다룬다. 이 경우에도 "선택 문항"에 관한 이러닝 컨텐츠의 템플릿이라면 문항의 수가 증가하는 것으로 처리할 수 있으므로 허용하는 등 경우를 나누어 개발하였다.
이와 같이, 상기 b) 단계에서 엔터(Enter)키가 입력되는 이벤트가 발생한 경우, 컴퓨팅 하드웨어는 상기 c) 단계에서 훼손의 세부 유형을 판단하는데,
내용없는 템플릿이 남게 되는 경우이면, 상기 d) 단계에서는 상기 내용없는 템플릿을 삭제하며,
템플릿의 아이디가 중복되는 경우이면, 상기 d) 단계에서는 중복되지 않는 새로운 아이디를 부여한다.
한편, 훼손의 유형이 템플릿의 아이디가 없는 태그로 분리되는 경우이면, 상기 d) 단계에서는 상기 템플릿을 삭제한다.
아래 표 4는 백 스페이스 또는 딜리트 키의 입력에 의한 훼손의 유형과 유형별 대응방법을 나타낸다.
발생상황 case 대응방법
1. 태그가 사라짐 1 기본 태그는 지워질 수 없도록 복구
2 백스페이스(딜리트 키)입력을 차단
백 스페이스 등에 의한 태그 삭제의 경우, 특정 영역을 지울 수 없도록 설계된 템플릿을 사용할 수도 있으나, 실제 위지윅 환경에서의 편집시에 태그가 삭제되는 것을 방지할 수 없으며, 따라서 별도로 템플릿을 저장하는 임시의 저장공간을 마련하여, 구조 태그를 삭제할 경우 이를 감지하여 이전 상태로 복구하도록 하였다.
이와 같이, 상기 b) 단계에서 백스페이스(Back Space) 또는 딜리트(Delete) 키가 입력되는 이벤트가 발생한 경우, 컴퓨팅 하드웨어는 상기 c) 단계에서 훼손의 세부 유형을 판단하는데,
템플릿의 태그가 삭제되는 경우이면, 상기 d) 단계에서는 상기 백스페이스(Back Space) 또는 딜리트(Delete) 키 입력을 무효화하거나, 삭제된 태그를 복구한다.
한편, 상기에서 살펴본 바와 같은 위지윅 기반 HTML 편집기의 템플릿 구조 유지방법은 컴퓨팅 하드웨어가 판독할 수 있는 명령어의 집합인 소프트웨어의 형태로 구현되어 기록 매체에 수록될 수 있다.
이때, 기록매체는 컴퓨터에 의하여 읽을 수 있는 모든 종류의 매체를 포함할 수 있으며, 그 예로는 DVD-ROM, CD-ROM, 하드 디스크, USB 메모리, 플래쉬 메모리와 같은 유형물을 들 수 있다.
한편, 기록매체에 수록된다는 표현은 이와 같은 유형의 기록매체에 수록되는 경우는 물론, 무형의 반송파(Carrier Wave)의 형태로 통신회선을 통해 제공되는 경우를 포함한다.
한편, 상기에서는 이러닝 컨텐츠라는 표현을 사용하였으나, 이러닝 컨텐츠라는 용어로 지칭되지 아니하더라도 커리큘럼에 따라 일정 분량 단위로 저작되되, 미리 정의된 규약에 의해 학습자에게 제공되는 컨텐츠로서, 해당 컨텐츠를 통한 학습자의 학습을 트래킹 또는 학습과정에 정보의 수집을 허용하는 형태의 컨텐츠라면 모두 이에 포함되는 것으로 이해되어야 한다. 예컨대, 스마트 러닝 컨텐츠 또는 전자교과서 등을 포함하는 광의의 개념으로 이해되어야 한다.
본 발명은 첨부 도면 및 상기와 같은 실시예를 참조하여 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다.
본 발명은 이러닝 컨텐츠, 스마트러닝 컨텐츠 저작도구 기술분야에 적용될 수 있다.
1 : HTML 편집기
2 : 템플릿 저장수단
3 : 플러그인
100 : 위지윅 기반 HTML 편집기의 템플릿 구조 유지장치
110 : 템플릿 분석수단
120 : 사전방지수단
130 : 사후교정수단

Claims (7)

  1. 위지윅 기반 HTML 편집기를 구비한 컴퓨팅 하드웨어에서 실행되는 방법에 있어서,
    a) 상기 위지윅 기반 HTML 편집기의 편집창에 템플릿을 표시하는 단계;
    b) 상기 위지윅 기반 HTML 편집기의 편집창에 대한 사용자 입력이 있으면, 상기 템플릿에 대한 훼손이 발생하는지 판정하는 단계;
    c) 상기 템플릿에 대한 훼손이 발생함에 따라 상기 발생한 훼손이 미리 정해진 다수의 유형 가운데 어느 것에 해당하는지 판정하는 단계;
    d) 상기 판정된 유형에 따라 해당 사용자 입력을 무효화하거나, 해당 사용자 입력에 의하여 삭제되는 객체를 복구하거나, 해당 사용자 입력에 의하여 삽입되거나 변형된 객체를 삭제하는 단계;를 포함하는 위지윅 기반 HTML 편집기의 템플릿 구조 유지방법.
  2. 제 1 항에 있어서,
    상기 b) 단계에서 클립보드 내용의 붙여넣기 이벤트가 발생한 경우,
    상기 c) 단계에서, 훼손의 유형이 템플릿 내부에 태그가 추가되는 경우이면, 상기 d) 단계에서는 상기 붙여넣기 이벤트를 무효화하거나, 또는 태그를 제외한 텍스트에 대한 붙여넣기를 처리하며,
    상기 c) 단계에서, 훼손의 유형이 붙여넣기에 의해 동일한 아이디를 갖는 템플릿이 중복되거나 아이디 없이 템플릿의 일부가 중복되는 경우이면, 상기 d) 단계에서는 아이디가 중복되거나 아이디가 없는 템플릿에 중복되지 않는 새로운 아이디를 부여하거나, 또는 태그를 제외한 텍스트에 대한 붙여넣기를 처리하는 위지윅 기반 HTML 편집기의 템플릿 구조 유지방법.
  3. 제 1 항에 있어서,
    상기 b) 단계에서 마우스로 템플릿 또는 객체를 드래그 앤 드롭(Drag and Drop) 하는 이벤트가 발생한 경우,
    상기 c) 단계에서, 훼손의 유형이 내용없는 템플릿이 남게 되는 경우이면, 상기 d) 단계에서는 상기 내용없는 템플릿을 삭제하며,
    상기 c) 단계에서, 훼손의 유형이 템플릿의 아이디가 사라지거나, 이벤트 이후 에러가 검출되는 경우이면, 상기 d) 단계에서는 해당 드래그 앤 드롭 이벤트를 무효화하며,
    상기 c) 단계에서, 훼손의 유형이 템플릿의 아이디가 중복되는 경우이면, 상기 d) 단계에서는 중복되지 않는 새로운 아이디를 부여하는 위지윅 기반 HTML 편집기의 템플릿 구조 유지방법.
  4. 제 1 항에 있어서,
    상기 b) 단계에서 엔터(Enter)키가 입력되는 이벤트가 발생한 경우,
    상기 c) 단계에서, 훼손의 유형이 내용없는 템플릿이 남게 되는 경우이면, 상기 d) 단계에서는 상기 내용없는 템플릿을 삭제하며,
    상기 c) 단계에서, 훼손의 유형이 템플릿의 아이디가 중복되는 경우이면, 상기 d) 단계에서는 중복되지 않는 새로운 아이디를 부여하며,
    상기 c) 단계에서, 훼손의 유형이 템플릿의 아이디가 없는 태그로 분리되는 경우이면, 상기 d) 단계에서는 상기 템플릿을 삭제하는 위지윅 기반 HTML 편집기의 템플릿 구조 유지방법.
  5. 제 1 항에 있어서,
    상기 b) 단계에서 백스페이스(Back Space) 또는 딜리트(Delete) 키가 입력되는 이벤트가 발생한 경우,
    상기 c) 단계에서, 훼손의 유형이 템플릿의 태그가 삭제되는 경우이면, 상기 d) 단계에서는 상기 백스페이스(Back Space) 또는 딜리트(Delete) 키 입력을 무효화하는 위지윅 기반 HTML 편집기의 템플릿 구조 유지방법.
  6. 위지윅 기반 HTML 편집기를 구비한 컴퓨팅 하드웨어에서 실행되는 방법에 있어서,
    a) 상기 위지윅 기반 HTML 편집기의 편집창에 템플릿을 표시됨에 따라 상기 템플릿의 태그구조를 파싱하여 분석하는 단계;
    b) 상기 위지윅 기반 HTML 편집기의 편집창에 대한 사용자 입력이 있으면, 상기 템플릿의 태그구조에 대한 훼손이 발생하는지 판정하는 단계;
    c) 훼손이 발생함에 따라 상기 발생한 훼손이 미리 정해진 다수의 유형 가운데 어느 것에 해당하는지 판정하는 단계;
    d) 상기 판정된 유형에 따라 해당 사용자 입력을 무효화하거나, 해당 사용자 입력에 의하여 삭제되는 객체를 복구하거나, 해당 사용자 입력에 의하여 삽입되거나 변형된 객체를 삭제하는 단계;를 포함하는 위지윅 기반 HTML 편집기의 템플릿 구조 유지방법을 수행하기 위한 컴퓨터가 실행가능한 명령을 갖는 컴퓨터가 읽을 수 있는 매체.
  7. 컴퓨팅 하드웨어에서 실행되는 위지윅 기반 HTML 편집기의 플러그 인에 있어서,
    상기 위지윅 기반 HTML 편집기의 편집창에 템플릿이 표시된 후, 상기 편집창에 대한 사용자 입력이 있으면, 상기 사용자 입력에 의하여 템플릿의 객체가 제거되는지, 템플릿에 객체가 삽입되는지 또는 템플릿의 구조가 변경되는지 판정하는 템플릿 분석수단;
    상기 사용자 입력에 의하여 템플릿의 구조가 변경되는 경우, 해당 사용자 입력을 무효화하며, 상기 사용자 입력에 의하여 템플릿에 객체가 삽입되는 경우 해당 사용자 입력을 무효화하는 사전방지수단; 및
    상기 사용자 입력에 의하여 템플릿의 객체가 제거되는 경우, 해당 객체를 복구하며, 상기 사용자 입력에 의하여 템플릿에 객체가 삽입되는 경우 삽입된 객체를 삭제하는 사후교정수단;을 가지되,
    상기 템플릿 방지 수단은 상기 사용자 입력에 의하여 템플릿의 객체가 제거되거나, 템플릿에 객체가 삽입되거나 또는 템플릿의 구조가 변경되는 경우, 각 경우마다 미리 정의된 유형 가운데 어느 하나에 해당하는지 더 판정하되,
    각 유형에 대하여 처리하지 않을 것인지, 사전방지수단에 의하여 사용자 입력을 무효화시킬 것인지, 사후교정수단에 의하여 복구하거나 삭제할 것인지 미리 정의된 정보를 더 보유하는 위지윅 기반 HTML 편집기의 템플릿 구조 유지장치.
KR20130062398A 2013-05-31 2013-05-31 위지윅 기반 html 편집기의 템플릿 구조 유지방법 및 장치 KR101488595B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130062398A KR101488595B1 (ko) 2013-05-31 2013-05-31 위지윅 기반 html 편집기의 템플릿 구조 유지방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130062398A KR101488595B1 (ko) 2013-05-31 2013-05-31 위지윅 기반 html 편집기의 템플릿 구조 유지방법 및 장치

Publications (2)

Publication Number Publication Date
KR20140141092A KR20140141092A (ko) 2014-12-10
KR101488595B1 true KR101488595B1 (ko) 2015-01-30

Family

ID=52458700

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130062398A KR101488595B1 (ko) 2013-05-31 2013-05-31 위지윅 기반 html 편집기의 템플릿 구조 유지방법 및 장치

Country Status (1)

Country Link
KR (1) KR101488595B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988981A (zh) * 2015-01-27 2016-10-05 中兴通讯股份有限公司 一种在文本中插入多媒体对象的方法、装置及终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030671A (ja) 2002-06-24 2004-01-29 Microsoft Corp Xml文書のフリースタイル編集用ワードプロセッサ機能を有する記録媒体及びその実行方法
KR20060112577A (ko) * 2005-04-27 2006-11-01 주식회사 디지털인21 엑스엠엘 호환 위지윅 에디터와 그 제공 서버 장치
KR100852495B1 (ko) 2006-09-01 2008-08-18 주식회사 케익소프트 웹 에디팅 시스템 및 웹 에디팅 시스템 제공방법
US20120102386A1 (en) 2010-10-20 2012-04-26 Microsoft Corporation Customization of Display Templates

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030671A (ja) 2002-06-24 2004-01-29 Microsoft Corp Xml文書のフリースタイル編集用ワードプロセッサ機能を有する記録媒体及びその実行方法
KR20060112577A (ko) * 2005-04-27 2006-11-01 주식회사 디지털인21 엑스엠엘 호환 위지윅 에디터와 그 제공 서버 장치
KR100852495B1 (ko) 2006-09-01 2008-08-18 주식회사 케익소프트 웹 에디팅 시스템 및 웹 에디팅 시스템 제공방법
US20120102386A1 (en) 2010-10-20 2012-04-26 Microsoft Corporation Customization of Display Templates

Also Published As

Publication number Publication date
KR20140141092A (ko) 2014-12-10

Similar Documents

Publication Publication Date Title
US7831902B2 (en) Displaying interrelated changes in a grid
US9128723B2 (en) Method and apparatus for dynamic document object model (DOM) aware code editing
US20080021922A1 (en) Method and system for maintaining originality-related information about elements in an editable object
US20080072209A1 (en) Systems, method and computer program products for tracking and viewing changes to information stored in a data structure
JP2007257629A (ja) 共同で作成されるマスター・ドキュメントにサブ・ドキュメントをマージするためのシステムおよび方法
CN104620221A (zh) 捕捉活动历史流
CN101416143A (zh) 基于许可的用户界面变形
US20240070580A1 (en) Systems and Methods for Decommissioning Business Intelligence Artifacts
CN107783766A (zh) 对应用程序的文件进行清理的方法和装置
Feng et al. Gifdroid: Automated replay of visual bug reports for android apps
US20160320945A1 (en) User experience for multiple uploads of documents based on similar source material
Ölvecký et al. Wiping techniques and anti-forensics methods
US8954481B2 (en) Managing the product of temporary groups in a community
US8375011B2 (en) Safe multi-stream versioning in a metadata repository
CN104978241B (zh) 一种cow类型文件系统的数据恢复方法及装置
KR101488595B1 (ko) 위지윅 기반 html 편집기의 템플릿 구조 유지방법 및 장치
Jeong et al. Study on the tracking revision history of MS Word files for forensic investigation
US8504520B2 (en) Background synchronization of data objects
US9465504B1 (en) Automated collaborative behavior analysis using temporal motifs
Su Capturing exploration to improve software architecture documentation
Didriksen Forensic analysis of OOXML documents
JP5845961B2 (ja) 情報処理装置及び情報処理プログラム
US7418460B2 (en) Method and system for enabling undo across object model modifications
Woodall et al. A cloud-based system for scraping data from amazon product reviews at scale
Park et al. Non-Linear Editing of Text-Based Screencasts

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180116

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190123

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200122

Year of fee payment: 6