KR20220052135A - 블록 에디터 기반의 문서 편집을 위한 임포트 블록 삽입 방법, 그를 수행하기 위한 서버 및 컴퓨터 프로그램 - Google Patents
블록 에디터 기반의 문서 편집을 위한 임포트 블록 삽입 방법, 그를 수행하기 위한 서버 및 컴퓨터 프로그램 Download PDFInfo
- Publication number
- KR20220052135A KR20220052135A KR1020200136120A KR20200136120A KR20220052135A KR 20220052135 A KR20220052135 A KR 20220052135A KR 1020200136120 A KR1020200136120 A KR 1020200136120A KR 20200136120 A KR20200136120 A KR 20200136120A KR 20220052135 A KR20220052135 A KR 20220052135A
- Authority
- KR
- South Korea
- Prior art keywords
- document
- import
- block
- data
- blocks
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004590 computer program Methods 0.000 title claims description 6
- 230000008676 import Effects 0.000 claims abstract description 109
- 238000012545 processing Methods 0.000 claims abstract description 35
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 13
- 238000000547 structure data Methods 0.000 claims description 12
- 238000013480 data collection Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000013507 mapping Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (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)
Abstract
본 발명은 컨텐트 엘리먼트(content element)에 각각 대응되는 복수의 블록들이 편집 화면 상에 배치되는 블록 에디터(block editor)를 이용하는 문서 편집 서비스 제공 장치의 동작 방법에 있어서, 상기 복수의 블록들 중 제1 블록의 위치에 대응하여, 외부 문서의 식별 정보를 포함하는 문서 임포트 요청 정보를 서버로 전송하는 단계; 상기 문서 임포트 요청 정보에 대응하여, 상기 외부 문서를 컨텐츠 파싱 분석을 기반으로 객체기반 표준 포맷으로 임포트한 임포트 블록 데이터를 획득하는 단계; 및 상기 임포트 블록 데이터에 기초하여, 상기 제1 블록의 위치에 상기 변환된 외부 문서가 현재 문서 내 구조화되어 삽입된 임포트 블록을 제공하는 단계를 포함한다.
Description
본 발명은 블록 에디터에 기반하여 다양한 컨텐트 엘리먼트들(content element)들을 포함하는 문서를 편집함에 있어서 임포트 블록을 용이하게 구성하여 블록 문서 내 삽입할 수 있도록 하는 방법에 관한 것이다.
오늘날 컴퓨터 사용자는 인터넷을 활용하여 다양한 형태의 많은 정보를 빠르게 제공받을 수 있다. 인터넷 사용자는 인터넷 검색을 통하여 단어의 의미 정보, 도서 관련 정보, 학술지나 논문 관련 정보, 인터넷 신문의 기사 정보, 또는 인터넷 쇼핑몰의 상품 정보 등 자신에게 필요한 정보를 언제 어디서라도 쉽게 접할 수 있다.
인터넷 웹상에서는 인터넷 사용자 간에 정보를 교류할 수 있도록 게시판 또는 댓글 등의 형태로 질문이나 답변 등을 기록하여 정보 교류가 이루어지도록 하고 있다.
일반적인 웹상의 문서 편집기는 한글이나 영어를 사용해 필요한 문장을 입력하고 저장하는 간단한 형태가 주류를 이루고 있다. 이때 글자 사이즈나 글자체를 바꾸거나 색깔을 지정하고 밑줄을 넣을 수 있는 기능을 가지는 문서 편집기가 제공되는 경우도 있다.
최근 들어서는, 단순한 문장 이외에 이미지, 테이블, 링크 등 다양한 컨텐트 엘리먼트들이 문서에 포함되어, 위와 같이 다양한 컨텐트 엘리먼트들을 포함하는 문서를 블록 단위로 편집할 수 있도록 하는 블록 에디터 툴(tool)들이 개발되어 제공되고 있다.
그러나 위와 같은 블록 에디터를 이용하여 문서를 편집함에 있어, 다양한 컨텐트 엘리먼트들이 자유롭게 배치됨에 따라 사용자 입력에 따라 편집 영역을 이동하는데 어려움이 있다.
또한, 블록 기반 편집 영역에 컨텐트 엘리먼트들을 삽입함에 있어서, HTML 포맷 등의 외부 문서를 삽입하는 기능이 일반적으로 요구될 수 있다.
그러나, HTML 포맷은 브라우저 내에서 한 페이지별로 렌더링이 가능한 포맷으로서, 서로 다른 HTML 페이지 간 연결 링크 정보가 포함되어 있는 경우 연결된 HTML 파일들을 모두 수집하여야만 정상적인 렌더링이 가능하며, 필요한 페이지만을 분리하여 블록 렌더링을 처리하는 데에 많은 오류사항이 발생될 수 있다. 그렇다고 하여, 모든 HTML 연관 파일들을 편집 문서 내에 저장하기에는 파일 저장 용량 및 문서 처리 연산 등에 있어서 매우 비효율적인 문제점이 존재한다.
나아가, HTML 내 외부 링크 연동 기능이나, Iframe과 같은 HTML 내 링크 삽입 기능을 이용하여 문서 내 HTML 블록을 구성하는 것도 가능할 수 있으나, 외부 링크된 페이지는 문서 내 데이터가 아니므로, 수정하거나 변경할 수 없으며 주변 블록들의 컨텐츠와의 데이터 교환이 불가하므로 호환성을 보장할 수 없다. 나아가 링크된 페이지가 만료되는 등 접근이 불가능한 경우에는 문서 자체를 정상적으로 로드할 수 없게 되는 문제점도 있다.
한편, 웹 브라우저에서 하나의 웹 문서 내에서 여러 웹 문서를 삽입할 수 있는 확장 애드온도 존재하나, 현재 제공되는 확장 애드온들은 브라우저 호환성이 요구되며, 링크된 HTML의 프리뷰 형태만을 별도 가공하여 삽입하는 것일 뿐, 삽입된 문서 내 다른 컨텐츠 엘리먼트들간의 데이터 교환이나 상호작용이 불가능하다.
선행기술문헌 1. 한국공개특허 제10-2014-0038459호 (2014.03.28 공개)
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 문서 편집 및 다양한 컨텐츠 엘리먼트들와 이와 상호작용 가능한 외부 문서들을 포함시키는 문서 작성에 있어서, 데이터 처리 효율 및 사용자 편의성을 향상시킬 수 있는 블록 에디터 기반의 문서 편집을 위한 연관 블록 연결 방법, 그를 수행하기 위한 서버 및 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.
본 발명의 일실시예에 따른 방법은, 컨텐트 엘리먼트(content element)에 각각 대응되는 복수의 블록들이 편집 화면 상에 배치되는 블록 에디터(block editor)를 이용하는 문서 편집 서비스 제공 장치의 동작 방법에 있어서, 상기 복수의 블록들 중 제1 블록의 위치에 대응하여, 외부 문서의 식별 정보를 포함하는 문서 임포트 요청 정보를 서버로 전송하는 단계; 상기 문서 임포트 요청 정보에 대응하여, 상기 외부 문서를 컨텐츠 파싱 분석을 기반으로 객체기반 표준 포맷으로 임포트한 임포트 블록 데이터를 획득하는 단계; 및 상기 임포트 블록 데이터에 기초하여, 상기 제1 블록의 위치에 상기 변환된 외부 문서가 현재 문서 내 구조화되어 삽입된 임포트 블록을 제공하는 단계를 포함한다.
또한, 본 발명의 일실시예에 따른 장치는, 컨텐트 엘리먼트(content element)에 각각 대응되는 복수의 블록들이 편집 화면 상에 배치되는 블록 에디터(block editor)를 이용하는 문서 편집 서비스를 제공하기 위한 서버 장치에 있어서, 상기 복수의 블록들 중 제1 블록의 위치에 대응하여, 외부 문서의 식별 정보를 포함하는 문서 임포트 요청 정보를 서비스 제공 장치로부터 수신하면, 상기 외부 문서에 대응하는 문서 데이터를 수집하는 문서 데이터 수집부; 상기 문서 임포트 요청 정보에 대응하여, 상기 외부 문서 데이터를 컨텐츠 파싱 분석을 기반으로 객체기반 표준 포맷으로 변환하여, 상기 외부 문서 데이터의 임포트 블록 데이터를 획득하는 객체기반 표준 포맷 변환부; 컨텐츠 파싱 분석을 이용하여, 상기 임포트 블록 데이터를 현재 편집 중인 원문 문서와 병합 처리하는 병합 처리부; 및 상기 병합 처리된 문서 데이터를 상기 서비스 제공 장치로 전달하여, 상기 제1 블록의 위치에 상기 변환된 외부 문서가 현재 문서 내 구조화되어 삽입된 임포트 블록이 제공되도록 처리하는 임포트 블록 처리부를 포함한다.
한편, 상기 방법에 따른 단계들 중 적어도 일부는, 본 발명의 일실시예에 따른 서버 또는 웹브라우저 상에서 수행되도록 컴퓨터 프로그램으로 구성될 수 있으며, 해당 컴퓨터 프로그램은 컴퓨터로 읽을 수 있는 매체에 저장될 수 있다.
본 발명의 실시예에 따르면, 컨텐트 엘리먼트에 각각 대응되어 편집 화면상에 배치되는 복수의 블록들에 대해 컨텐트 엘리먼트 속성을 서로 다르게 설정 변경할 수 있는 블록 에디터를 이용하여 문서를 편집함에 있어 블록 간 편집 위치 이동 등 사용자의 편의성을 향상시킬 수 있으며, 이와 상호작용 가능한 외부 문서들을 포함시키는 문서 작성에 있어서, 외부 문서의 임포트 블록 변환 처리 및 삽입 기능을 제공함에 따라, 데이터 처리 효율 및 사용자 편의성을 향상시킬 수 있는 블록 에디터 기반의 문서 편집을 위한 임포트 블록 삽입 방법, 그를 수행하기 위한 서버 및 컴퓨터 프로그램을 제공할 수 있다.
도 1은 본 발명의 실시 예에 따른 전체 시스템을 설명하기 위한 개념도이다.
도 2는 본 발명의 실시 예에 따른 블록 에디터 기반 문서 편집 서비스에 대한 일예를 설명하기 위한 도면이다.
도 3은 본 발명의 실시 예에 따른 연관 블록 에디터 기반의 문서 편집을 위한 문서 임포트 서비스 모듈을 보다 구체적으로 설명하기 위한 블록도이다.
도 4는 본 발명의 실시 예에 따른 연관 블록 에디터 기반의 문서 편집을 위한 임포트 문서 삽입 방법과, 블록 연결 단계별 데이터 변환 구조를 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시 예에 따라 복수의 블록들을 커서 이동 가능 여부에 따라 분류하는 방법에 대한 일실시예를 설명하기 위한 도면이다.
도 6 내지 도 11은 사용자의 커서 입력에 따라 각 블록에 대응되는 컨텐트 엘리먼트의 속성을 변경 설정하는 방법에 대한 실시예들을 설명하기 위한 도면들이다.
도 2는 본 발명의 실시 예에 따른 블록 에디터 기반 문서 편집 서비스에 대한 일예를 설명하기 위한 도면이다.
도 3은 본 발명의 실시 예에 따른 연관 블록 에디터 기반의 문서 편집을 위한 문서 임포트 서비스 모듈을 보다 구체적으로 설명하기 위한 블록도이다.
도 4는 본 발명의 실시 예에 따른 연관 블록 에디터 기반의 문서 편집을 위한 임포트 문서 삽입 방법과, 블록 연결 단계별 데이터 변환 구조를 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시 예에 따라 복수의 블록들을 커서 이동 가능 여부에 따라 분류하는 방법에 대한 일실시예를 설명하기 위한 도면이다.
도 6 내지 도 11은 사용자의 커서 입력에 따라 각 블록에 대응되는 컨텐트 엘리먼트의 속성을 변경 설정하는 방법에 대한 실시예들을 설명하기 위한 도면들이다.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
또한, 본 발명의 원리, 관점 및 실시예들 뿐 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한, 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.
따라서, 예를 들어, 본 명세서의 블럭도는 본 발명의 원리를 구체화하는 예시적인 회로의 개념적인 관점을 나타내는 것으로 이해되어야 한다. 이와 유사하게, 모든 흐름도, 상태 변환도, 의사 코드 등은 컴퓨터가 판독 가능한 매체에 실질적으로 나타낼 수 있고 컴퓨터 또는 프로세서가 명백히 도시되었는지 여부를 불문하고 컴퓨터 또는 프로세서에 의해 수행되는 다양한 프로세스를 나타내는 것으로 이해되어야 한다.
프로세서 또는 이와 유사한 개념으로 표시된 기능 블럭을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 상기 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예들을 상세히 설명하기로 한다.
이하, 본 발명을 구체적인 내용이 첨부된 도면에 의거하여 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 전체 시스템을 설명하기 위한 개념도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 전체 시스템은 문서 편집 서비스 제공 장치(1000) 및 서버 장치(2000)를 포함할 수 있으며, 서버 장치(2000)는 문서 임포트 서비스 모듈(2200)을 포함할 수 있다.
본 명세서에서 설명되는 문서 편집 서비스 제공 장치(1000)는, 일반적 기능을 포함하는 사용자 단말일 수 있으며, 사용자 입력에 따라 동작되어 사용자 인터페이스를 출력하는 하나 이상의 전자 장치로서, 휴대폰, 스마트 폰(smart phone), 컴퓨터, 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, 가상 현실 장치 등 다양한 전자 기기들이 예시될 수 있다.
그리고, 문서 편집 서비스 제공 장치(1000)는, 서버 장치(2000)와 연동하여 본 발명의 실시 예에 따른 방법들을 실행시키기 위한 프로그램 또는 어플리케이션이 설치되어 동작할 수 있다.
이에 따라, 본 발명의 실시 예에 따른 문서 편집 서비스 제공 장치(1000)는, 서버 장치(2000)와의 연동에 따라, 본 발명의 실시 예에 따른 컨텐트 엘리먼트(content element)에 각각 대응되는 복수의 블록들이 편집 화면 상에 배치되는 블록 에디터(block editor)를 출력할 수 있으며, 블록 에디터의 편집 인터페이스 또는 인터페이스 구동에 필요한 정보를 서버 장치(2000)로부터 수신하거나 별도 연산 처리하여 문서 편집 서비스 제공 장치(1000)의 화면상에 출력 제공할 수 있으며, 본 발명의 실시 예에 따라 생성된 블록 컨텐츠는 문서 편집 서비스 제공 장치(1000)에 저장되거나, 서버 장치(2000)로 업로드되어 사용자 정보에 따라 저장 및 관리될 수 있다.
보다 구체적으로, 도 2는 본 발명의 실시 예에 따른 블록 에디터 기반 문서 편집 서비스에 대한 일예를 설명하기 위해 도시한 것으로, 문서 편집을 위한 블록 에디터의 편집 화면을 나타낸 것이다.
도 2를 참조하면, 블록 에디터는 문서 편집을 위해 사용되는 새로운 접근 방식의 편집기로서, 블록들(100 내지 140)은 컨텐트 레이아웃(content layout)을 생성하기 위해 편집 화면(10)에 추가되는 컨텐트 엘리먼트들(content elements)이다.
즉, 문서를 구성하는 컨텐트 엘리먼트들에 각각 대응되는 복수의 블록들(100 내지 140)이 편집 화면(10) 상에 배치되는 블록 에디터(block editor)를 이용하여, 본 발명에 따른 문서 편집 서비스가 제공될 수 있다.
예를 들어, 복수의 블록들(100 내지 140)은, 각각 텍스트(text), 이미지(image), 테이블(table), 링크(link) 및 단락(paragraph) 중 어느 하나의 컨텐트 엘리먼트에 대응될 수 있으나, 본 발명은 이에 한정되지는 아니한다.
기존 에디터의 경우 문서 전체가 편집 영역이나, 상기한 바와 같은 블록 에디터를 이용하는 경우 문서의 구간별 편집 영역의 분리가 가능할 수 있어 독립적인 복수의 컨텐트 엘리먼트들이 블록 단위로 조합되어 문서가 생성될 수 있다.
다만, 블록들(100 내지 140) 각각에 대한 독립적인 편집 환경을 구성할 수 있는 장점과 대비하여, 각각의 블록 내에서 편집 영역이 제한됨으로써 블록 간 닫힌(closed) 상태가 되어 편집 위치를 나타내는 커서(cursor) 또는 캐럿(caret)이 블록 간 이동하기 어려운 문제가 있을 수 있다.
본 발명의 일실시예에 따르면, 컨텐트 엘리먼트에 각각 대응되어 편집 화면(10) 상에 배치되는 복수의 블록들(100 내지 140)에 대해 커서의 이동 방향에 따라 컨텐트 엘리먼트 속성을 서로 다르게 설정 변경함으로써, 블록 에디터를 이용하여 문서를 편집함에 있어 블록 간 편집 위치 이동 등 사용자의 편의성을 향상시킬 수 있다.
그리고, 본 발명의 실시 예에 따르면, 컨텐트 엘리먼트에 대응하여 배치된 블록들 각각은 블록 컨텐츠로 구성될 수 있으며, 구성된 블록 컨텐츠 중 현재 편집 중인 특정 제1 블록(120)이 선택된 경우, 이에 대응하는 외부 문서가 임포트 블록으로 변환 처리되어 삽입 될 수 있다.
여기서, 외부 문서는 예를 들어 외부 서버의 HTML 문서일 수 있으며, 본 발명의 실시 예에 따른 문서 편집 서비스 제공 장치(1000)는, HTML 문서를 링크나 프레임 기능 등으로 삽입하는 종래 방식의 문제점들을 해결하기 위해, 임포트 대상인 외부 문서를 컨텐츠 파싱 분석을 기반으로 객체기반 표준 포맷으로 매핑 변환 처리하고, 현재 편집 중인 원문 문서의 구조 정보에 병합 처리를 수행함으로써, 외부 문서를 원문 문서의 주변 블록들의 컨텐트 엘리먼트들과 상호작용이 가능한 실제 블록 포맷의 데이터로 삽입 처리할 수 있다.
이와 같은 임포트 블록 컨텐츠는, 블록 에디터 기반의 문서 작성에 있어서의 사용자 편의성을 증진시키기 위한 것으로서, 문서 편집 서비스 제공 장치(1000)는, 서버 장치(2000)와의 연동을 통해, 현재 편집 중인 특정 블록에 삽입될 외부 문서를 색인하여 임포트 블록으로서 구성하고, 현재 원문 문서의 구조 정보 내에 연결 및 삽입하여, 블록간 상호 데이터 교환이 가능한 기능을 제공 및 구현할 수 있게 된다.
그리고, 이러한 기능 구현을 위해, 본 발명의 실시 예에 따른 문서 편집 서비스 제공 장치(1000)는, 상기 복수의 블록들 중 제1 블록의 위치에 대응하여, 외부 문서의 식별 정보를 포함하는 문서 임포트 요청 정보를 서버 장치(2000)로 전송하고, 상기 문서 임포트 요청 정보에 대응하여, 상기 외부 문서를 컨텐츠 파싱 분석을 기반으로 객체기반 표준 포맷으로 임포트한 임포트 블록 데이터를 획득하며, 상기 임포트 블록 데이터에 기초하여, 상기 제1 블록의 위치에 상기 변환된 외부 문서가 현재 문서 내 구조화되어 삽입된 임포트 블록을 제공한다.
또한, 이러한 문서 편집 서비스 제공 장치(1000)의 처리를 위해, 서버 장치(2000)에는 문서 편집 서비스 제공 장치(1000)로의 문서 편집 서비스 기능을 제공하는 기본 모듈 외에, 문서 임포트 서비스 모듈(2200)이 더 구비될 수 있으며, 문서 임포트 서비스 모듈(2200)의 처리를 통해, 본 발명의 실시 예에 따른 임포트 블록의 구성 및 제공이 적절히 처리될 수 있다. 이러한 문서 임포트 서비스 모듈(2200)의 구성 및 분석 시스템에 대하여는 하기 도 3을 통하여 보다 구체적으로 설명하도록 한다.
도 3은 본 발명의 실시 예에 따른 연관 블록 에디터 기반의 문서 편집을 위한 문서 임포트 서비스 모듈을 보다 구체적으로 설명하기 위한 블록도이다.
도 3을 참조하면, 본 발명의 실시 예에 따른 문서 임포트 서비스 모듈(2200)은, 문서 데이터 수집부(2210), 객체기반 표준 표맷 변환부(2220), 컨텐츠 파싱 분석 기반 병합 처리부(2230) 및 임포트 블록 처리부(2240)를 포함하며, 문서 데이터 수집부(2210)는, 문서 데이터베이스(2235)를 포함하거나, 문서 데이터베이스(2235)와 연결 구성될 수 있다.
먼저, 문서 편집 서비스 제공 장치(1000)에서는, 블록 에디터를 통해 블록 컨텐츠가 입력될 수 있으며, 문서 편집 서비스 제공 장치(1000)는 블록 컨텐츠 중 현재 편집 중이거나 선택된 특정 제1 블록에 대응하는 문서 임포트 요청 정보를 문서 데이터 수집부(2210)로 전달할 수 있다.
여기서, 상기 문서 임포트 요청 정보는, 임포트 블록으로 삽입할 외부 문서 식별 정보를 포함할 수 있다. 외부 문서 식별 정보는, 예를 들어 외부 문서의 네트워크상 위치 정보 또는 데이터베이스(2215) 내 식별 정보일 수 있으며, URL 정보, 네트워크 주소 정보, 문서 링크 정보, 문서 식별 정보 등이 예시될 수 있다.
또한, 상기 문서 임포트 요청 정보는 현재 편집 중인 현재 문서의 구조 정보를 포함할 수 있다. 이는 후술할 컨텐츠 파싱 분석 기반 병합 처리를 위한 것으로서, 상기 문서 임포트 요청에 따라 획득되는 임포트 블록 데이터는, 컨텐츠 파싱 분석 기반 병합 처리부(2230)에서 현재 문서의 구조 정보 내 하나의 컨텐트 엘리먼트로서 병합 처리될 수 있다.
그리고, 문서 데이터 수집부(2210)는, 문서 임포트 요청 정보에 따라, 문서 데이터베이스(2215)를 색인하여, 외부 문서 데이터를 수집할 수 있다. 여기서, 외부 문서 데이터는 상기 외부 문서 식별 정보에 대응하여 상기 데이터베이스(2215)로부터 획득되는 통상의 웹 문서 데이터일 수 있으며, HTML 표준 포맷의 웹 페이지데이터가 예시될 수 있다.
한편, 객체기반 표준 표맷 변환부(2220)는, 상기 수집된 외부 문서 데이터로부터, 파싱 분석되는 하나 이상의 컴포넌트를 획득하고, 상기 하나 이상의 컴포넌트를 상기 객체기반 표준 포맷으로 매칭 변환하여 상기 임포트 블록 데이터를 획득한다.
여기서, 상기 컴포넌트는 HTML 포맷 외부 데이터로부터 추출되는 컴포넌트들일 수 있으며, 상기 객체기반 표준 포맷은, 자바 스크립트 표준 방식에 의거한 JSON(JAVA SCRIPT OBJECT NOTATION) 포맷이 예시될 수 있다. JSON 포맷 정보는 블록 컨텐츠의 엘리먼트에 대응하는 객체 항목 정보를 포함할 수 있으며, 각각의 타입 정보로서 구분될 수 있다. 따라서, 객체기반 표준 표맷 변환부(2220)는, 상기 HTML 파일 내 컴포넌트들을 JSON 포맷의 각 타입 정보에 매핑 처리될 수 있다.
예를 들어, HTML 기반 외부 문서 데이터의 <div/>, <img>, <button/>, <table><tr><td/></tr><table/>, <audio/>, <video/>, <ol><li></li></ol>, <input type="checkbox">와 같은 각각의 컴포넌트들은 순서대로 JSON 타입 포맷의 paragraph, image, button, table, audio, video, number-list, check-list와 같은 포맷으로 매핑 변환 처리될 수 있다.
이에 따라, 객체기반 표준 표맷 변환부(2220)는, 상기 외부 문서에 대응하는 HTML 표준 기반의 상기 외부 문서 내 타입 컨포넌트별로 매칭되는 JSON(Java Script Object Notation) 포맷으로의 타입 변환 처리를 수행할 수 있고, 이로부터 획득되는 임포트 블록 데이터는 컨텐츠 파싱 분석 기반 병합 처리부(2230)로 전달될 수 있다.
또한, 임포트 블록 데이터는 각 매핑된 컨텐츠 타입별로 개별 생성 처리될 수 있다. 이에 따라, 하나의 외부 문서로부터 개별 생성 처리된 임포트 블록은 복수 개 존재할 수 있으며, 임포트 블록들은 각각 순차적이고 반복적으로 컨텐츠 파싱 분석 기반 병합 처리부(2230)에 의해 병합 처리되어 원문 문서 구조 정보 내 삽입될 수 있다.
이와 같이, 컨텐츠 파싱 분석 기반 병합 처리부(2230)는, 상기 변환 처리에 따라 획득된 임포트 블록 데이터와, 상기 원문 구조 정보를 이용한 병합 처리를 수행하여, 상기 임포트 블록 데이터가 구조적으로 병합된 원문 데이터를 생성할 수 있다. 이에 따라, 임포트 블록 데이터는 원문 데이터 내 포함된 다른 블록들의 컨텐트 엘리먼트들과 상호 데이터 교환이 가능한 형태로 병합될 수 있다.
이러한 처리를 위해, 컨텐츠 파싱 분석 기반 병합 처리부(2230)는, 상기 현재 문서의 구조 정보를, 상기 JSON 포맷으로 변환한 원문 구조 데이터에, 상기 임포트 블록 데이터를 인라인(Inline) 방식으로 삽입하여 병합 구성된 원문 구조 데이터를 획득할 수 있다.
보다 구체적으로, 본 발명의 실시 예에 따라, 현재 문서를 변환한 원문 구조 데이터는 JSON 포맷 변환 문서의 최상위 문서, 즉 루트 문서를 포함할 수 있다. 그리고, 컨텐츠 파싱 분석 기반 병합 처리부(2230)는, 루트 문서에 포함된 컨텐츠 타입(contents type) 엘리먼트 파트를 이용하여, 각 컨텐츠 타입 엘리먼트에 대응하는 개별 구조 포맷 데이터에 상기 임포트 블록 데이터를 삽입할 수 있다.
예를 들어, 본 발명의 실시 예에 다른 블록 에디터를 이용하여 편집 가능한 컨텐트 타입 엘리먼트는 예를 들어, 단락, 이미지, 버튼, 테이블, 그리드, 불렛리스트(Bulletlist), 넘버리스트, 체크리스트 및 문서 컨텐츠 타입(Documents Contents type) 엘리먼트를 포함할 수 있다.
그리고, 본 발명의 실시 예에 따른 컨텐츠 파싱 분석 기반 병합 처리부(2230)는, 상기 임포트 블록 데이터의 지정 및 병합 처리를 위해, 상기 엘리먼트 중 문서 컨텐츠 타입(Documents Contents type) 엘리먼트에 대응하는 임포트 블록 데이터에 인라인(In-line) 문서 연결 처리를 수행함으로써, 상기 원문 구조 데이터에 상기 임포트 블록 데이터를 삽입 처리할 수 있다.
여기서, 인라인(In-line) 방식은, 별도의 태그 없이 임포트 블록 데이터를 코드화하여 상기 문서 컨텐츠 타입 엘리먼트에 삽입하는 방식으로서, 임포트 블록 데이터는 각 컨텐츠 타입별로 매핑 구성되어, 상기 문서 컨텐츠 타입 엘리먼트 내 인라인 방식으로 삽입될 수 있다.
이에 따라, 외부 문서로부터 추출된 임포트 블록들이 병합되어 삽입 구성된 원문 구조 데이터는 임포트 블록 처리부(2240)에서 편집 문서로서 변환 처리될 수 있다. 이에 따라, 임포트 블록 데이터가 구조적으로 병합된 편집 문서 정보는 문서 편집 서비스 제공 장치(1000)로 전달될 수 있다.
이와 같은 프로세스에 의해, 문서 편집 서비스 제공 장치(1000)에서는 편집 중인 문서 내 상기 제1 블록의 위치에 상기 변환된 외부 문서가 현재 문서 내 구조화되어 삽입된 임포트 블록이 화면상에 출력될 수 있다.
도 4는 본 발명의 실시 예에 따른 연관 블록 에디터 기반의 문서 편집을 위한 임포트 문서 삽입 방법과, 블록 연결 단계별 데이터 변환 구조를 설명하기 위한 흐름도이다.
도 4를 참조하면, 본 발명의 실시 예에 따른 서버 장치(2000)는 문서 임포트 서비스 모듈(2200)의 컨텐츠 파싱 분석 기반 병합 처리부(2230)를 통해, 문서 편집 서비스 제공 장치(1000)에서 현재 편집 중인 블록 문서 내 제1 블록에 대응하는 외부 문서의 문서 임포트 요청 정보로부터 현재 블록 문서의 원문 구조 정보를 추출할 수 있으며, 추출된 원문 구조 정보는 루트 문서(Root document)로 변환될 수 있다.
그리고, 서버 장치(2000)는, 컨텐츠 파싱 분석 기반 병합 처리부(2230)를 통해, 상기 루트 문서를 파싱하여 매핑 적용할 문서 컨텐츠 타입 엘리먼트(11)를 획득한다(S101).
도 4에 도시된 바와 같이, 문서 컨텐츠 타입 엘리먼트(11)에 포함된 특정 엘리먼트는 "b7314d82-67f5-480e-b7b5-1649a8f645e4"와 같은 엘리먼트를 포함할 수 있다.
그리고, 컨텐츠 파싱 분석 기반 병합 처리부(2230)는, 문서 컨텐츠 타입 엘리먼트(11)에 대응하여, 객체기반 표준 표맷 변환부(2220)로 컨텐츠의 임포트된 블록 데이터를 요청한다(S103). 여기서, 요청 여기서, 임포트 요청은 상기 "b7314d82-67f5-480e-b7b5-1649a8f645e4" 엘리먼트 정보를 포함할 수 있다.
객체기반 표준 표맷 변환부(2220)에서는, 요청된 외부 문서에 대한 타입 매핑에 따라 구성된 임포트 블록 데이터를 획득하고, 상기 컨텐츠 파싱 분석 기반 병합 처리부(2230)로, 응답 데이터로서 전달한다(S105). 도 4에 도시된 바와 같이, 응답 임포트 블록 데이터는 임포트 블록 데이터 요청에 대응하는 "b7314d82-67f5-480e-b7b5-1649a8f645e4"에 매핑되어 구성될 수 있다.
이에 따라, 컨텐츠 파싱 분석 기반 병합 처리부(2230)는, 상기 임포트 블록 데이터 응답으로부터 임포트 블록 연결 데이터를 구성할 수 있다(S107).
도 4에 도시된 바와 같이, 파싱된 "b7314d82-67f5-480e-b7b5-1649a8f645e4" 엘리먼트에 상기 임포트 블록 데이터가 인라인 방식으로 삽입된 형태의 JSON 포맷 의 문서 컨텐츠 타입 엘리먼트가 구성될 수 있다.
다만, 임포트 블록 데이터는, HTML의 파일 연결 구조 및 컨텐츠 타입 매핑 등에 따라 구조적으로 연결된 복수의 임포트 블록들로 구성될 수 있으며, 따라서 임포트 블록 내에 추가적인 임포트 블록들이 구조적으로 삽입될 수도 있다. 이에 따라, 본 발명의 실시 예에 따른 임포트 블록 연결 데이터는, 다른 임포트 블록이 다시 문서 컨텐츠 타입 엘리먼트로서 포함될 수 있는 순환구조를 포함할 수 있다.
이와 같은 구조화를 통해, 컨텐츠 파싱 분석 기반 병합 처리부(2230)는, 임포트 블록 연결된 데이터를 루트 문서에 적용할 수 있다(S109).
이러한 처리에 따라, 루트 문서 내 임포트 블록들은 상호 구조적으로 연결될 수 있으며, 각 연결된 구조와 다른 엘리먼트와의 상호 데이터 교환이 가능하게 되므로, 문서 편집 서비스 제공 장치(1000)는 상기 임포트 블록 데이터에 대응하는 편집 입력에 따라, 상기 원문 구조 데이터와 상기 임포트 블록 데이터 간 특정 항목 데이터가 상호 교환되도록 하는 임포트 문서 편집 기능을 제공할 수 있게 된다.
한편, 도 5는 본 발명의 실시 예에 따라 복수의 블록들을 커서 이동 가능 여부에 따라 분류하는 방법에 대한 일실시예를 설명하기 위한 도면이며, 도 6 내지 도 11은 사용자의 커서 입력에 따라 각 블록에 대응되는 컨텐트 엘리먼트의 속성을 변경 설정하는 방법에 대한 실시예들을 설명하기 위한 도면들이다.
도 5를 참조하면, 먼저 블록 에디터가 편집 상태인지 여부가 확인된다(S200 단계).
블록 에디터는, 도 5에 도시된 바와 같이, 특정 컨텐트 엘리먼트에 각각 대응되는 블록들(100 내지 149)이 편집 화면(10) 상에 배치되어 문서를 구성할 수 있다.
상기한 바와 같이, 편집 화면(10) 상에 배치되는 블록들은, 각각 텍스트(text), 이미지(image), 테이블(table), 링크(link) 및 단락(paragraph) 등과 같은 다양한 컨텐트 엘리먼트들 중 어느 하나에 대응될 수 있다.
예를 들어, 편집 화면(10)의 상단에 복수의 래퍼컬럼들(wrapper columns, 100, 101, 102)이 배치되어, 문서의 상단 부분을 구성할 수 있다.
또한, 편집 화면(10)에 텍스트를 포함하는 블록들(110, 120)이 배치되고, 중간 부분에 이미지를 포함하는 블록(130)이 배치될 수 있다.
한편, 편집 화면(10)의 하단에 표(table)을 포함하는 블록(140) 배치되어 문서의 하단 부분을 구성할 수 있으며, 해당 블록(140)은 독립적으로 편집 가능한 복수의 블록들(141 내지 149)로 분할될 수 있다.
여기서, 사용자는 편집 화면(10) 상에 배치된 특정 블록(120)을 선택하여 편집 가능하며, 이때 도 6에 도시된 바와 같이 커서(300)가 해당 블록(120)에 표시되어 위치되어 블록 에디터가 편집 상태가 될 수 있다.
커서(300)는 편집 위치를 나타내는 포인터의 일종으로서, 본 발명은 커서에 한정되지 아니하며, 캐럿(caret) 등과 같이 편집 위치를 나타내는 다양한 기호들에 적용가능할 수 있다.
한편, 편집 화면(10) 상에 배치된 복수의 블록들은, 커서(300)의 이동 가능 여부에 따라 분류될 수 있다.
예를 들어, 도 6에 도시된 바와 같이, 커서(300)가 특정 블록(120)에 위치되면, 현재 블록(120)에서 커서(300)가 이동 가능한 블록들(100, 110, 130, 141, 142, 143)과, 커서(300)가 이동될 수 없는 블록들(101, 102, 144, 145, 146, 147, 148, 149)이 분류될 수 있다.
이 경우, 커서(300)가 이동 가능한 블록들(100, 110, 130, 141, 142, 143)과 커서(300)가 이동될 수 없는 블록들(101, 102, 144, 145, 146, 147, 148, 149)은, 해당 컨텐트 엘리먼트의 속성이 서로 상이하게 설정됨으로써, 사용자 관성에 따른 블록 간 자유로운 커서(300)의 이동이 가능할 수 있다.
본 발명의 일실시예에 따르면, 상기한 바와 같이 생성되는 문서는 자바 스크립트(Java Script)를 이용한 HTML(Hypertext Mark-up Language) 소스로 구성되어, HTML 소스의 형태로 저장, 편집 및 전달될 수 있다.
예를 들어, 기본 상태의 블록 에디터에서, 도 7의 (a)에 도시된 블록 에디터의 블록 배치는 도 7의 (b)에 도시된 HTML 소스로 구성될 수 있다.
즉, 각각의 블록은, 대응되는 컨텐트 엘리먼트의 종류에 따라 HTML 소스에서 서로 다른 클래스(class)로 지정될 수 있으며, 해당 컨텐트 엘리먼트의 내용이 HTML 소스에 포함될 수 있다.
좀 더 구체적으로, 상단의 래퍼컬럼 블록(100)은 HTML 소스에서 클래스가 "wrapper"로 지정되는 컨텐트 엘리먼트(400)로 구성되며, 텍스트 블록(110)과 이미지 블록(130)은 HTML 소스에서 클래스가 "block"으로 지정되는 컨텐트 엘리먼트들(410, 430))로 각각 구성될 수 있다.
한편, 테이블 블록(140)은 HTML 소스에서 클래스가 "table"로 지정되는 컨텐트 엘리먼트(440)로 구성될 수 있다.
도 7을 참조하여 설명한 바와 같은 기본 상태의 블록 에디터에서, 사용자는 특정 블록을 선택하여 커서(300)를 위치시킴으로써 블록 에디터가 편집 상태가 되도록 할 수 있다.
블록 에디터가 편집 상태가 되면, 복수의 블록들 중 편집 위치를 나타내는 커서(300)가 위치한 제1 블록에 대하여, 제1 블록에 대응되는 컨텐트 엘리먼트의 속성을 제1 값으로 설정한다(S210 단계).
여기서, 컨텐트 엘리먼트의 속성은, 해당 블록에 대응되는 컨텐트 엘리먼트에 대한 편집 가능 여부를 나타내는 것이다.
예를 들어, 상기한 바와 같이 블록 에디터로 생성된 문서가 자바 스크립트를 이용한 HTML 소스로 구성되는 경우, 상기 속성은 HTML 소스에 포함된 각각의 컨텐트 엘리먼트에 대해 설정 가능한 "contenteditable"일 수 있다.
도 8의 (a)를 참조하면, 사용자가 래퍼컬럼1 블록(100)을 선택하여 커서(300)가 해당 블록에 위치되는 경우, 블록 에디터가 편집 상태가 될 수 있다.
이때, 도 8의 (b)에 도시된 바와 같이, HTML 소스 중 커서(300)가 위치하는 래퍼컬럼1 블록(100)에 대응되는 컨텐트 엘리먼트(400)에 대하여, "contenteditable" 속성이 제1 값인 "true"로 지정될 수 있다.
이와 같이 "contenteditable" 속성이 "true"로 지정되는 컨텐트 엘리먼트(400)는 입력 등과 같은 편집이 가능한 상태가 되며, 반대로 "contenteditable" 속성이 "false"로 지정되는 컨텐트 엘리먼트는 편집이 불가능한 상태가 될 수 있다.
편집 상태에서 사용자의 커서 입력이 있으면(S220 단계), 커서(300)에 대한 사용자 입력이 수신되어 커서(300)의 이동 방향이 인식된다(S230 단계).
그 후, 상기 S230 단계에서 인식된 커서(300)의 이동 방향에 기초하여, 제1 블록에 인접한 블록들 중 제2 블록에 대응되는 컨텐트 엘리먼트의 속성을 제1 값으로 설정되고(S240 단계), 다른 제3 블록에 대응되는 컨텐트 엘리먼트의 속성은 제2 값으로 설정되며(S250 단계), 커서(300)가 편집 화면상에서 제2 블록으로 이동되도록 처리된다(S260 단계).
여기서, 사용자의 커서 이동 키 입력시, HTML 소스에서 문서 전체에 대한 속성을 제1 값으로 설정되며, 제1 블록에 인접한 블록들 중 사용자의 커서 이동 방향에 대응되는 커서 이동 가능한 제2 블록에 대해 컨텐트 엘리먼트의 속성이 제1 값으로 설정되고, 사용자의 커서 이동 방향에 대응되지 않아 커서 이동 불가능한 제3 블록에 대해서는 컨텐트 엘리먼트의 속성이 제2 값으로 상태 변경될 수 있다.
예를 들어, 사용자가 래퍼컬럼1 블록(100)에 위치한 커서(300)를 하측으로 이동시키기 위해 단말기에서 하측 방향 이동키를 입력하면, 도 9에 도시된 바와 같이, HTML 소스에 대한 "contenteditable" 속성이 제1 값인 "true"로 자동 설정될 수 있다.
또한, 래퍼컬럼1 블록(100)의 우측으로 인접한 블록들(101, 102)에 대응되는 컨텐트 엘리먼트들(401, 402)의 "contenteditable" 속성이 제2 값인 "false"로 자동 설정 변경되며, 래퍼컬럼1 블록(100)의 하측으로 인접하며 커서 이동 가능한 텍스트 블록(110)에 대응되는 컨텐트 엘리먼트(410)의 속성이 제1 값인 "true"로 자동 설정될 수 있다.
상기한 바와 같이 커서 이동 방향에 기초해 주변 블록들에 대응되는 컨텐트 엘리먼트들의 "contenteditable" 속성이 "true" 또는 "false"로 상태 정보가 변경됨으로써, 사용자의 커서 하측 방향 이동키 입력시 도 10에 도시된 바와 같이 커서(300)가 하측의 텍스트 블록(110)으로 이동될 수 있다.
도 11을 참조하면, 사용자가 테이블 블록(140)에 위치한 커서(300)를 하측으로 이동시키기 위해 하측 방향 이동키를 입력하면, HTML 소스 중 해당 테이블을 표현하는 컨텐트 엘리먼트(440) 부분에서, 현재 블록에서 이동 가능한 하측 블록들에 대응되는 컨텐트 엘리먼트들의 "contenteditable" 속성이 "true"로 설정되고, 나머지 다른 열(column)의 블록들에 대응되는 컨텐트 엘리먼트들의 "contenteditable" 속성이 "false"로 자동 설정될 수 있다.
한편, 본 발명의 일실시예에 따른 블록 에디터 기반 문서 편집 서비스 제공 방법은 클라우드(cloud) 환경에서 문서를 편집하기 위해 사용될 수 있다.
상술한 본 발명의 실시예에 따른 방법들은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다.
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이와 같이, 상술한 본 발명의 기술적 구성은 본 발명이 속하는 기술분야의 당업자가 본 발명의 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해되어야 하고, 본 발명의 범위는 전술한 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
Claims (13)
- 컨텐트 엘리먼트(content element)에 각각 대응되는 복수의 블록들이 편집 화면 상에 배치되는 블록 에디터(block editor)를 이용하는 문서 편집 서비스 제공 장치의 동작 방법에 있어서,
상기 복수의 블록들 중 제1 블록의 위치에 대응하여, 외부 문서의 식별 정보를 포함하는 문서 임포트 요청 정보를 서버로 전송하는 단계;
상기 문서 임포트 요청 정보에 대응하여, 상기 외부 문서를 컨텐츠 파싱 분석을 기반으로 객체기반 표준 포맷으로 임포트한 임포트 블록 데이터를 획득하는 단계; 및
상기 임포트 블록 데이터에 기초하여, 상기 제1 블록의 위치에 상기 변환된 외부 문서가 현재 문서 내 구조화되어 삽입된 임포트 블록을 제공하는 단계를 포함하는
문서 편집 서비스 제공 장치의 동작 방법. - 제1항에 있어서,
상기 임포트 블록 데이터는,
상기 외부 문서에서 파싱 분석되는 하나 이상의 컴포넌트를, 상기 객체기반 표준 포맷으로 매칭 변환하여 구성된 데이터인
문서 편집 서비스 제공 장치의 동작 방법. - 제2항에 있어서,
상기 매칭 변환은 HTML 표준 기반의 상기 외부 문서 내 타입 컨포넌트별로 매칭되는 JSON(Java Script Object Notation) 포맷으로의 타입 변환 처리를 포함하는
문서 편집 서비스 제공 장치의 동작 방법. - 제3항에 있어서,
상기 임포트 블록은, 상기 현재 문서를 상기 JSON 포맷으로 변환한 원문 구조 데이터에, 상기 임포트 블록 데이터를 인라인(Inline) 방식으로 삽입하여 병합 구성되는
문서 편집 서비스 제공 장치의 동작 방법. - 제4항에 있어서,
상기 임포트 블록 데이터에 대응하는 편집 입력에 따라, 상기 원문 구조 데이터와 상기 임포트 블록 데이터 간 특정 항목 데이터가 상호 교환되도록 하는 임포트 문서 편집 기능을 제공하는 단계를 더 포함하는
문서 편집 서비스 제공 장치의 동작 방법. - 제4항에 있어서,
상기 임포트 블록은 복수의 임포트 블록을 포함하고, 상기 복수의 임포트 블록은 상기 원문 구조 데이터 내 컨텐츠 타입 정보에 매핑되어 병합 구성되는
문서 편집 서비스 제공 장치의 동작 방법. - 컨텐트 엘리먼트(content element)에 각각 대응되는 복수의 블록들이 편집 화면 상에 배치되는 블록 에디터(block editor)를 이용하는 문서 편집 서비스를 제공하기 위한 서버 장치에 있어서,
상기 복수의 블록들 중 제1 블록의 위치에 대응하여, 외부 문서의 식별 정보를 포함하는 문서 임포트 요청 정보를 서비스 제공 장치로부터 수신하면, 상기 외부 문서에 대응하는 문서 데이터를 수집하는 문서 데이터 수집부;
상기 문서 임포트 요청 정보에 대응하여, 상기 외부 문서 데이터를 컨텐츠 파싱 분석을 기반으로 객체기반 표준 포맷으로 변환하여, 상기 외부 문서 데이터의 임포트 블록 데이터를 획득하는 객체기반 표준 포맷 변환부;
컨텐츠 파싱 분석을 이용하여, 상기 임포트 블록 데이터를 현재 편집 중인 원문 문서와 병합 처리하는 병합 처리부; 및
상기 병합 처리된 문서 데이터를 상기 서비스 제공 장치로 전달하여, 상기 제1 블록의 위치에 상기 변환된 외부 문서가 현재 문서 내 구조화되어 삽입된 임포트 블록이 제공되도록 처리하는 임포트 블록 처리부를 포함하는
문서 편집 서비스를 제공하기 위한 서버 장치. - 제1항에 있어서,
상기 객체기반 표준 포맷 변환부는, 상기 외부 문서에서 파싱 분석되는 하나 이상의 컴포넌트를, 상기 객체기반 표준 포맷으로 매칭 변환하여 상기 임포트 블록 데이터를 획득하는
문서 편집 서비스를 제공하기 위한 서버 장치. - 제8항에 있어서,
상기 매칭 변환은 HTML 표준 기반의 상기 외부 문서 내 타입 컨포넌트별로 매칭되는 JSON(Java Script Object Notation) 포맷으로의 타입 변환 처리를 포함하는
문서 편집 서비스를 제공하기 위한 서버 장치. - 제9항에 있어서,
상기 병합 처리부는, 상기 현재 문서를 상기 JSON 포맷으로 변환한 원문 구조 데이터에, 상기 임포트 블록 데이터를 인라인(Inline) 방식으로 삽입하여 병합 구성하는
문서 편집 서비스를 제공하기 위한 서버 장치. - 제10항에 있어서,
상기 서비스 제공 장치는, 상기 임포트 블록 데이터에 대응하는 편집 입력에 따라, 상기 원문 구조 데이터와 상기 임포트 블록 데이터 간 특정 항목 데이터가 상호 교환되도록 하는 임포트 문서 편집 기능을 제공하는
문서 편집 서비스를 제공하기 위한 서버 장치. - 제10항에 있어서,
상기 임포트 블록은 복수의 임포트 블록을 포함하고, 상기 복수의 임포트 블록은 상기 원문 구조 데이터 내 컨텐츠 타입 정보에 매핑되어 병합 구성되는
문서 편집 서비스를 제공하기 위한 서버 장치. - 제1항 내지 제6항 중 어느 한 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 컴퓨터 판독가능한 매체에 저장되는 컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200136120A KR20220052135A (ko) | 2020-10-20 | 2020-10-20 | 블록 에디터 기반의 문서 편집을 위한 임포트 블록 삽입 방법, 그를 수행하기 위한 서버 및 컴퓨터 프로그램 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200136120A KR20220052135A (ko) | 2020-10-20 | 2020-10-20 | 블록 에디터 기반의 문서 편집을 위한 임포트 블록 삽입 방법, 그를 수행하기 위한 서버 및 컴퓨터 프로그램 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220052135A true KR20220052135A (ko) | 2022-04-27 |
Family
ID=81391074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200136120A KR20220052135A (ko) | 2020-10-20 | 2020-10-20 | 블록 에디터 기반의 문서 편집을 위한 임포트 블록 삽입 방법, 그를 수행하기 위한 서버 및 컴퓨터 프로그램 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220052135A (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140038459A (ko) | 2011-06-16 | 2014-03-28 | 마이크로소프트 코포레이션 | 통합 개발 환경에서의 라이브 브라우저 툴 제공 기법 |
-
2020
- 2020-10-20 KR KR1020200136120A patent/KR20220052135A/ko unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140038459A (ko) | 2011-06-16 | 2014-03-28 | 마이크로소프트 코포레이션 | 통합 개발 환경에서의 라이브 브라우저 툴 제공 기법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108491205B (zh) | 一种基于组件树的前端网页开发方法及系统 | |
CN110520859B (zh) | 更智能的复制/粘贴 | |
CN106293675B (zh) | 系统静态资源加载方法及装置 | |
CN108108342B (zh) | 结构化文本的生成方法、检索方法及装置 | |
CN101661512A (zh) | 一种识别传统表单信息并创建对应Web表单的系统及方法 | |
CN108090104B (zh) | 用于获取网页信息的方法和装置 | |
CN111831384B (zh) | 语言切换方法和装置、设备及存储介质 | |
CN108717437B (zh) | 搜索结果展示方法、装置及存储介质 | |
CN111512315A (zh) | 文档元数据的按块提取 | |
EP1830275A1 (en) | Information distribution system | |
US20130124969A1 (en) | Xml editor within a wysiwyg application | |
US20150161160A1 (en) | Application Localization | |
CN112597410A (zh) | 基于规则配置库对网页内容执行结构化提取的方法及装置 | |
CN113127776A (zh) | 面包屑路径生成方法、装置及终端设备 | |
CN111639504A (zh) | 网页的多语言翻译方法和装置及设备 | |
JPWO2005098660A1 (ja) | 文書処理装置及び文書処理方法 | |
JPWO2005098658A1 (ja) | 文書処理装置及び文書処理方法 | |
JP2019040260A (ja) | 情報処理装置及びプログラム | |
CN113419711A (zh) | 页面引导方法、装置、电子设备及存储介质 | |
CN117369771A (zh) | 一种利用语言模型树生成特定布局网页的方法及装置 | |
CN117389538A (zh) | 页面组件内容开发方法、装置、设备以及存储介质 | |
CN117032666A (zh) | 基于编辑器的页面编辑方法、装置、终端设备及存储介质 | |
KR20220052135A (ko) | 블록 에디터 기반의 문서 편집을 위한 임포트 블록 삽입 방법, 그를 수행하기 위한 서버 및 컴퓨터 프로그램 | |
CN114356291A (zh) | 基于配置文件生成表单的方法、装置、设备及介质 | |
CN112800078A (zh) | 基于javascript的轻量级文本标注方法、系统、设备及存储介质 |