Skip to content

huhani/xe-noti

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XE 웹푸시 모듈

1. XE 웹푸시 모듈

XE, Rhymix의 알림센터에서 발생하는 알림에 대해 웹푸시로 전송해주는 모듈입니다.
관리자는 개별 회원에게 알림을 보낼수도 있으며, 여러가지의 관리 기능들을 제공합니다.

또한 대량의 푸시전송을 시도할 경우에도 PHP에서 처리하지 않고 NodeJS에서 처리하기 때문에 푸시전송으로 인한 딜레이를 최소화합니다.
기존 푸시 전송방식 'PHP --> 푸시서버' 에서 'PHP --> NodeJS --> 푸시서버' 로 전송방식이 변경되었습니다.
PHP와 nodejs간 데이터 전달을 RabbitMQ를 이용하여 처리합니다.

2. 요구사항

2.1. 서버 요구사항

  • DB는 반드시 MySQL(MariaDB)여야 합니다. MSSQL, CUBRID와 같은 DB는 지원하지 않습니다.
  • nodejs에서 발생하는 각종 푸시들을 처리하기 위해(예; 발송결과) XE에서 사용하는 DB서버에 접근이 가능해야 합니다.
  • 웹 사이트 주소는 IP가 아닌 도메인으로 구성되어야 하며, HTTPS 환경에서만 동작합니다.
  • 서버는 외부 푸시서버 FCM(Firebase Cloud Messaging), WNS(Windows Notification Service), MCS(Mozilla Cloud Services)와 정상적으로 통신이 가능해야 합니다. 인터넷과 별도로 분리된 환경(예; 인트라넷, 테스트망)에서는 작동하지 않습니다.
Name Min Version description
PHP 7.1
MySQL(MariaDB)
nodejs 6.17
RabbitMQ 9.1.0

2.2. 클라이언트 요구사항

2.2.1 지원하는 브라우저

Chrome, Firefox, Opera, Edge에 대한 웹푸시를 지원합니다.

Name Min Version description
Chrome 52 iOS 미지원
Firefox 60 iOS 미지원
Edge 79
Samsung Browser 6

2.2.2 지원하지 않는 브라우저

IE, Safari, Android Browser, Etc..

3. 설치

3.1. RabbitMQ 설치

3.2. NodeJS 설치

3.3. 모듈 설치

4. 모듈 설정

모듈은 '모듈', '알림센터 연동', '수동 전송', '알림 그룹', '푸시 장치 목록', '발송 로그', '점검', '스킨 설정' 항목으로 구성되어 있습니다.

일부 고급설정 항목은 '모듈 - 전체 - 간편 설정' 설정값이 '상세설정'으로 되어야 표시되는 경우가 있습니다.

페이지 이름 설명
모듈 기본적으로 모듈이 동작하는데 있어 필요한 설정정보를 입력하는 페이지입니다.
알림센터 연동 알림센터에서 생성되는 알림을 웹푸시로 어떻게 보낼지 설정하는 페이지입니다.
수동 전송 관리자가 지정된 알림을 특정 유저 혹은 전체에게 보낼때 사용하는 페이지입니다.
알림 그룹 한 개로 묶어서 처리할 푸시 알림들의 그룹을 설정하는 페이지입니다.
푸시 장치 목록 알림을 사용하는 단말기를 보여주는 페이지입니다.
발송 로그 푸시가 발송된 로그를 볼 수 있는 페이지입니다.
점검 오래된 단말기를 삭제하거나 로그를 일괄정리하는 페이지입니다.
스킨 설정 사용자 웹푸시 설정(모듈 설정 항목에서 '회원정보 보기메뉴 추가'가 활성화되어야 함)에서 사용할 스킨, 레이아웃을 설정하는 페이지입니다.

4.1. 모듈

알림 템플릿

일부 설정에 대해서는 알림 템플릿이 존재합니다.

4.1.1. 전체

4.1.2. 푸시 서버 설정

4.1.3. 메세지 큐 서버 설정

4.1.4. 회원 푸시

4.1.5. 비회원 푸시

4.1.6. 기타

4.2. 알림센터 연동

알림센터의 알림을 웹푸시로 어떻게 보낼지 설정하는 부분입니다. '맨션', '댓글', '대댓글', '추천', '쪽지', '스크랩', '관리자 알림', '기타', '테스트' 알림 항목에 대해 개별적으로 '알림 템플릿' 정의가 가능하며, 알림센터에서 해당 알림 기능이 사용중이어야 합니다.
'알림 템플릿' 항목을 보려면 상세설정 상태여야 합니다.

4.3. 수동 전송

4.4. 알림 그룹

4.5. 푸시 장치 목록

4.6. 발송 로그

4.7. 점검

DB에 있는 웹푸시 관련 데이터를 정리하기 위한 기능입니다.

이름 설명
발송로그 일괄 삭제 선택한 발송로그를 일괄 삭제합니다.
단말기 일괄 삭제 선택한 단말기를 일괄 삭제합니다.
휴먼 단말기 삭제 선택한 조건의 단말기를 일괄 삭제합니다.

4.8. 스킨 설정

/index.php?mid=noti 에서 사용할 모듈 스킨과 레이아웃을 설정하는 부분입니다.

About

XpressEngine기반 HTML5 Notification 모듈.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published