Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejs
themeEmacs
title에디터 설정
// SEModel(json 타입)로 에디터 열기
window.editor = new SynapEditor(editorId, that.editorConfig);
window.editor.openSEModel(json); // db에서 꺼내온 json
var documentComparisonPlugin = window.editor.plugins.documentComparison;
if (documentComparisonPlugin) {
    documentComparisonPlugin.addListParam('docId', docId); // addListParam: 문서이력 목록조회 API(ex:'/getDocumentVersionList')의 param을 추가합니다.
}

// 모델로 저장하기
var json = window.editor.getBodyModelJSON(true);
// 문서 이력 데이터 저장 API(ex:/saveDocumentVersionData)로 json(SEModel: 에디터모델)을 전송


DB 스키마 설정 예시

DB 스키마 설정은 예시로 제공되며 고객사에서 원하는 형태로 구성하는 것을 권장 드립니다.

컬럼 이름필수 여부타입속성기본값설명
idYBIGINT(20) 또는
VARCHAR(100)
Not Null-각 문서 버전 기록의 고유 식별자(ex: 게시글 이력)
user_nameYVARCHAR(255)Not Null-문서 버전을 생성한 사용자의 이름
doc_idYBIGINT(20) 또는
VARCHAR(255)
Not Null-문서 번호(ex: 게시글 번호)
jsonYLONGTEXTNot Null-문서 모델 JSON 데이터
- getBodyModelJSON() 로 추출한 JSON 데이터
created_atYDATETIMENot NullCURRENT_TIMESTAMP()버전 생성 시각


문서 이력 리스트 조회

[request]

문서 이력 리스트 조회를 위해 지정된 고객 시스템의 URL로 에디터에서 조회를 요청합니다. 이 URL은 앞서 설정된 ‘documentComparison.config’ 항목의 ‘list’-’url’값에 해당합니다.

Code Block
themeEmacs
Request URL: http://hostname/getDocumentVersionList
Request Method: POST


설명필수타입
doc_id문서 번호(ex: 게시글 번호)OString 또는 Int

[response]

 문서의 이력 리스트 조회 시, 고객사에서는 아래와 같은 응답을 돌려주어야 합니다.

Code Block
themeEmacs
[
	{
    	"id":"1",
		"date":"2024-12-23 10:39:04",
		"author":"synap"
	},
	{
    	"id":"2",
		"date":"2024-12-23 11:21:31",
		"author":"synap"
	},
]


설명타입
id이력 번호String 또는 Int
date이력 생성 날짜Date
author이력 작성자String

문서 개별 이력 조회

[request]

문서의 개별 이력 조회를 위해 지정된 고객 시스템의 URL로 에디터에서 조회를 요청합니다. 이 URL은 앞서 설정된 ‘documentComparison.config’ 항목의 ‘data’-’url’값에 해당합니다.

Code Block
themeEmacs
Request URL: http://hostname/getDocumentVersionData
Request Method: POST


설명필수타입
id문서 이력 번호(ex: 게시글 히스토리 번호)OString 또는 Long

[response]

문서의 개별 이력 조회 시, 고객사에서는 아래와 같은 응답을 돌려주어야 합니다.

Code Block
themeEmacs
titlegetBodyModelJSON()
collapsetrue
{
    "id": "se_4f57d485-ef9c-4613-aa3c-1c94849b37a6",
    "type": "Body",
    "fromHTMLBuilder": false,
    "style": {},
    "children": [
        {
            "style": {},
            "children": [
                {
                    "text": "열매 생산을 자극할 뚜렷한 건기가 있는 곳에서만",
                    "isEmoji": false,
                    "style": {},
                    "id": "se_b4186c3c-04f1-4dca-910f-d60c7b419a1d",
                    "type": "TextRun"
                }
            ],
            "id": "se_70b77667-0cb9-4f6d-99ae-40da3143ea43",
            "className": "",
            "type": "Paragraph",
            "fromHTMLBuilder": false,
            "defaultStyle": {
                "margin": {
                    "top": 16,
                    "left": 0,
                    "right": 0,
                    "bottom": 16
                },
                "display": "block",
                "overflowWrap": "break-word"
            },
            "tagName": "P",
            "endRunStyle": {}
        }
    ],
    "pageInfo": {
        "fixedWidth": false,
        "padding": {
            "left": 23,
            "right": 23,
            "top": 18,
            "bottom": 18
        }
    },
    "styleSheet": "",
    "linkTagStr": "",
    "scriptStrs": []
}


설명타입
json

getBodyModelJSON()으로 저장된 에디터 본문 이력 데이터 

JSON Object 또는 JSON String

문서 개별 이력 삭제

[request]

문서 개별 이력 삭제를 위해 지정된 고객 시스템의 URL로 에디터에서 삭제를 요청합니다. 이 URL은 앞서 설정된 ‘documentComparison.config’ 항목의 ‘data’-’url’값에 해당합니다.

Code Block
themeEmacs
Request URL: http://hostname/getDocumentVersionData
Request Method: DELETE


설명필수타입
id문서 이력 번호(ex: 게시글 히스토리 번호)OString 또는 Long

문서 이력 데이터 저장

문서 이력 데이터 저장의 경우 고객사의 서버 환경 구성에 맞게 설정을 필요로 하기에 별도의 설정 및 API를 제공하고 있지 않습니다.

아래 예시는 위의 DB 스키마 구조로 작성된 예시입니다.

[request]

설명타입
doc_id문서 번호String 또는 Int
id이력 번호String 또는 Int
created_at이력 생성 날짜Date
user_name이력 작성자String
json

문서 모델 JSON 데이터

- getBodyModelJSON() 로 추출한 JSON 데이터

LONGTEXT