Page tree

Versions Compared

Key

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

...

목차

Table of Contents


...

지원 브라우저

Image Added

Image Added

Image Added

Image Added

ChromeEdgeSafariIE

Image Added

Image Added

Image Added

Image Added

  • 공식적으로 지원하는 웹 브라우저는 다음과 같습니다.
    • Microsoft Edge 최신버전
    • Google Chrome 최신버전
    • Apple Safari 최신버전
    • Mozilla Firefox 최신버전
  • 다른 브라우저에서도 작동할 수는 있지만 모든 기능이 올바르게 작동하지 않을 수 있습니다.
  • Internet Explorer 브라우저는 지원하지 않습니다.

...

Code Block
languagexml
themeEmacs
<!-- SynapEditor 객체가 존재해야 적용할 수 있기 때문에 에디터 스크립트 파일 아래에 include 해야 합니다 -->
<script src="collaboration.min.js의 url"></script>

<!-- 접속 사용자 정보 기본 제공 UI, 업데이트 기록 보기 다이얼로그를 사용하는 경우 CSS 파일을 include 해야 합니다 -->
<link rel="stylesheet" href="collaboration.min.css의 url">


플러그인 설정하기

웹소켓 URL 설정 (필수)

웹소켓 URL을 설정합니다. 설정을 하지 않으면 플러그인이 초기화되지 않습니다.

Code Block
languagejs
themeEmacs
titlesynapeditor.config.js
//...
'collaboration.config': { 
    'wsUrl': 'ws://websocket_url:1234'
}
// ...


실시간 협업 문서 Id 설정 (선택)

실시간 협업을 시작할 문서의 Id를 설정합니다.

Code Block
languagejs
themeEmacs
titlesynapeditor.config.js
//...
'collaboration.config': { 
    'docId': 'documentId'
}
// ...


사용자 이름, 커서 색, 데이터 설정 (선택)

사용자의 이름과 커서의 색을 색, 데이터(특정 정보)를 설정할 수 있습니다.

사용자 이름이 설정되지 않은 경우 10개의 형용사와, 10개의 동물 이름을 랜덤하게 조합해 표기합니다.

사용자 커서의 색이 설정되지 않은 경우 10개의 기본 색에서 랜덤으로 설정됩니다.

사용자의 데이터는 시스템에서 관리하는 userId 및 접속 시간등을 저장 할 수 있습니다.

Code Block
languagejs
themeEmacs
titlesynapeditor.config.js
//...
'collaboration.config': { 
    'userName': 'SynapEditor', // 사용자 이름 설정
    'userColor': '#39B6B8', // 사용자 커서 색 설정
    'userData': { // userData의 Object는 'userId', 'connected'외 자유롭게 설정 가능
		'userId': 'userId', // 사용자 데이터베이스에서 관리하는 id
		'connected': Date.now() // 사용자 접속 시간
	}
}
// ...


userName, userColor를 설정하지 않은 경우userName, userColor를 설정한 경우
  • 이름: 10개의 형용사와, 10개의 동물 이름을 랜덤하게 조합해 영문으로 표기
  • 색: 기본으로 정의된 10개의 색 중 랜덤으로 표기
  • 이름: userName 에 설정한 이름 표기
  • 색: userColor에 설정한 색으로 표기


사용자 이미지 설정 (선택)

Status
title릴리즈 3.2.2507 이상

userData에 사용자 이미지 Url을 설정하면 기본으로 제공되는 접속 사용자 UI에 이미지를 표시할 수 있습니다.

Code Block
languagejs
themeEmacs
titlesynapeditor.config.js
//...
'collaboration.config': { 
    'userName': '사이냅',
    'userColor': '#39B6B8',
    'userData': {
		'profileImage': '/img/path.png' // 사용자 이미지 Url
	}
}
// ...


설정 전설정 후

Image Added

Image Added


기본 이름, 기본 색 설정 (선택)

사용자 이름과 색을 설정을 하지 않았을 때 보여질 기본 이름 목록과 기본 색 목록을 설정할 수 있습니다.

...

defaultNames, defaultColors를 설정하지 않은 경우defaultNames, defaultColors를 설정한 경우
  • 이름: 10개의 형용사와, 10개의 동물 이름을 랜덤하게 조합해 영문으로 표기
  • 색: 기본으로 정의된 10개의 색 중 랜덤으로 설정
  • 이름: defaultNames 에 설정된 이름 중 랜덤으로 표기
  • 색: defaultNames  defaultColors 에 설정된 색 중 랜덤으로 표기



실시간 협업 시작/종료 하기

플러그인 API를 사용하여 실시간 협업을 시작하거나 종료할 수 있습니다.

  • 실시간 협업 시작: init()changeDocument(docId)
  • 실시간 협업 종료: destroy()

자세한 내용 보기: [Collaboration] 플러그인 API


init()을 사용하여 실시간 협업 시작하기 

config 에 설정된 docId로 실시간 협업을 시작(초기화)합니다. 설정된 docId가 없다면 실시간 협업이 시작되지 않습니다.

configscript


Code Block
languagejs
themeEmacs
titlesynapeditor.config.js
var synapEditorConfig = {
    ...
    'collaboration.config': { 
        'wsUrl': 'ws://websocket_url:1234',
        'docId': 'documentId' // 실시간 협업을 시작할 문서 Id
    },
    ...
}



Code Block
languagejs
themeEmacs
titlesynapeditor.config.js
var editor = new SynapEditor(id, synapEditorConfig);
var collaboration = editor.plugins.collaboration;
 
collaboration.init();



changeDocument(docId)를 사용하여 실시간 협업 시작하기 

docId로 실시간 협업을 시작합니다.

configscript


Code Block
languagejs
themeEmacs
titlesynapeditor.config.js
var synapEditorConfig = {
    ...
    'collaboration.config': { 
        'wsUrl': 'ws://websocket_url:1234'
    },
    ...
}



Code Block
languagejs
themeEmacs
titlesynapeditor.config.js
var editor = new SynapEditor(id, synapEditorConfig);
var collaboration = editor.plugins.collaboration;
 
collaboration.changeDocument('documentId'); // 실시간 협업을 시작할 문서 Id



destroy()를 사용하여 실시간 협업 종료하기

현재 사용자의 실시간 협업을 종료합니다. 

script


Code Block
languagejs
themeEmacs
titlesynapeditor.config.js
var collaboration = editor.plugins.collaboration;
 
collaboration.destroy();




접속 사용자 정보 보기

기본 제공 UI

실시간 협업에 참여 중인 사용자 정보를 표시하는 UI가 기본으로 제공됩니다. 툴바에 버튼 형태로 추가 할 수 있습니다.

...

'editor.toolbar' 설정에 'collaborator'를 추가해 설정합니다.

Image Added

Code Block
languagejs
themeEmacs
titlesynapeditor.config.js
//...
'editor.toolbar': [
    'paragraphStyleWithText', '|', 'fontFamilyWithText', '|', 'fontSizeWithText', '|', ...
    'collaborator', '|',  // collaborator 추가
    'bold', 'italic', 'underline', 'strike', ....
]
// ...

...

플러그인이 제공하는 API를 활용해 커스텀하게 사용자 정보를 표현 할 수 있습니다.Image Removed

자세한 내용 보기: [Collaboration] 접속 사용자 정보 Custom UI 작성 가이드

Image Added



업데이트 기록 보기

실시간 협업 중 발생한 편집 이력을 최대 100개까지 확인 할 수 있습니다.

...

Code Block
languagejs
themeEmacs
titlesynapeditor.config.js
//...
'editor.toolbar': [
    'paragraphStyleWithText', '|', 'fontFamilyWithText', '|', 'fontSizeWithText', '|', ...
    'updateHistory', '|',  // updateHistory 추가
    'bold', 'italic', 'underline', 'strike', ....
]
// ...


플러그인 API

플러그인이 제공하는 API에 대한 자세한 내용을 확인해보세요! 

자세한 내용 보기: [Collaboration] 플러그인 API