Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 30 Current »

릴리즈 3.0.0 이상

여러 사용자가 동시에 문서를 편집할 수 있는 실시간 협업 플러그인입니다.

목차



지원 브라우저

ChromeEdgeSafariIE

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


사용방법

플러그인 파일 불러오기

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

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

플러그인 설정하기

웹소켓 URL 설정 (필수)

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

synapeditor.config.js
//...
'collaboration.config': { 
    'wsUrl': 'ws://websocket_url:1234'
}
// ...


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

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

synapeditor.config.js
//...
'collaboration.config': { 
    'docId': 'documentId'
}
// ...


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

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

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

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

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

synapeditor.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에 설정한 색으로 표기


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

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

사용자 이름(userName)과 색(userColor)을 설정하지 않은 경우 설정한 기본 이름 목록(defaultNames)과 기본 색 목록(defaultColors)에서 랜덤으로 설정됩니다.

synapeditor.config.js
//...
'collaboration.config': { 
    'defaultNames': ['강아지', '고양이', '참새'],  // 기본 이름 목록 설정
    'defaultColors': ['#CDB4DB', '#F5CAC3', '#87BBA2']  // 기본 색 목록 설정
}
// ...


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



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

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

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

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


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

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

configscript
synapeditor.config.js
var synapEditorConfig = {
    ...
    'collaboration.config': { 
        'wsUrl': 'ws://websocket_url:1234',
        'docId': 'documentId' // 문서 Id 설정
    },
    ...
}
synapeditor.config.js
var editor = new SynapEditor(id, synapEditorConfig);
var collaboration = editor.plugins.collaboration;
 
collaboration.init();


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

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

configscript
synapeditor.config.js
var synapEditorConfig = {
    ...
    'collaboration.config': { 
        'wsUrl': 'ws://websocket_url:1234'
    },
    ...
}
synapeditor.config.js
var editor = new SynapEditor(id, synapEditorConfig);
var collaboration = editor.plugins.collaboration;
 
collaboration.changeDocument('documentId'); // 문서 Id 설정


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

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

script
synapeditor.config.js
var collaboration = editor.plugins.collaboration;
 
collaboration.destroy();



접속 사용자 정보 보기

기본 제공 UI

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

목록의 사용자 이름을 클릭하면 해당 사용자의 캐럿 위치로 이동합니다.


설정 방법

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

synapeditor.config.js
//...
'editor.toolbar': [
    'paragraphStyleWithText', '|', 'fontFamilyWithText', '|', 'fontSizeWithText', '|', ...
    'collaborator', '|',  // collaborator 추가
    'bold', 'italic', 'underline', 'strike', ....
]
// ...



Custom UI

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

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



업데이트 기록 보기

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

목록을 선택하여 편집 내용을 확인 할 수 있고 내용을 복원 할 수 있습니다.

실시간 협업에 참여 중인 사용자가 없는 경우 내역이 초기화 됩니다.


설정 방법

'editor.toolbar' 설정에 'updateHistory'를 추가해 다이얼로그를 실행하는 버튼을 추가할 수 있습니다.

synapeditor.config.js
//...
'editor.toolbar': [
    'paragraphStyleWithText', '|', 'fontFamilyWithText', '|', 'fontSizeWithText', '|', ...
    'updateHistory', '|',  // updateHistory 추가
    'bold', 'italic', 'underline', 'strike', ....
]
// ...


플러그인 API

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

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



  • No labels