라이믹스/Next 라이믹스: 두 판 사이의 차이

(php mail 방식 경고, samesite 추가)
(모바일 푸시 기능 추가)
13번째 줄: 13번째 줄:
==추가될 기능들==
==추가될 기능들==
라이믹스 2.0에 추가될 기능들이다.
라이믹스 2.0에 추가될 기능들이다.
===모바일 푸시 기능===
[[Firebase Cloud Messaging|FCM]]과 [[Apple Push Notification Service|APNs]]을 이용해 알림을 모바일 기기에서 받을 수 있도록 하는 기능.
처음에 다음과 같은 요소를 서버로 보낸다.
* user_id : 아이디
* password : 비밀번호
* device_token : 기기 고유 값
* device_model : 기기 모델명
그러면 서버에서는 아래의 값을 JSON 형식으로 응답한다.
* member_srl : 사용자 고유번호<ref>RXE에서는 사용자별로 고유 번호가 존재한다.</ref>
* user_id : 아이디
* user_name : 유저명
* nick_name : 닉네임
* device_key : 기기 값(기기에 해당 값을 가지고 있다가 id와 비밀번호 대신에 해당 값을 사용하여 로그인한다.)<ref>기기에 비밀번호를 저장하지 않는다.</ref>
FCM이나 APNs의 API값 등을 입력한다.
====알림센터====
알림센터에서 설정한 알림만 전송된다.
기존에 알림센터에서 일부 알림만 원하는 경우 설정했던 것 처럼, 알림도 동일하게 설정이 가능하다.
[https://github.com/rhymix/rhymix/pull/1325 모바일 푸시 기능 추가 - lcy7747님]


===라우터 기능===
===라우터 기능===

2020년 6월 22일 (월) 20:49 판

-

next는 라이믹스 2.0 버전에 들어갈 다소 과격한 변경사항들을 미리 테스트하는 곳입니다.

모험심이 강하신 분은 next를 써보셔도 되지만, 이번 여름까지는 웬만하면 develop에 머무시기를 권합니다.^^

 
— 깃허브 기진곰님 답변 중

라이믹스 next 브랜치

라이믹스 2.0의 전신격인 Next 브랜치(여기서는 Next 라이믹스라 칭한다.)에 대해 다양한 내용들을 적는 문서입니다.

패치 방향

과격한 패치와 함께 오류 발생시 복구(롤백)하는 것이 아닌, 추가 패치를 통해 해결하는 것을 목표로 하고 있다. 따라서 기존 라이믹스보다 많이 불안정하다.[1]

추가될 기능들

라이믹스 2.0에 추가될 기능들이다.

모바일 푸시 기능

FCMAPNs을 이용해 알림을 모바일 기기에서 받을 수 있도록 하는 기능.

처음에 다음과 같은 요소를 서버로 보낸다.

  • user_id : 아이디
  • password : 비밀번호
  • device_token : 기기 고유 값
  • device_model : 기기 모델명

그러면 서버에서는 아래의 값을 JSON 형식으로 응답한다.

  • member_srl : 사용자 고유번호[2]
  • user_id : 아이디
  • user_name : 유저명
  • nick_name : 닉네임
  • device_key : 기기 값(기기에 해당 값을 가지고 있다가 id와 비밀번호 대신에 해당 값을 사용하여 로그인한다.)[3]

FCM이나 APNs의 API값 등을 입력한다.

알림센터

알림센터에서 설정한 알림만 전송된다. 기존에 알림센터에서 일부 알림만 원하는 경우 설정했던 것 처럼, 알림도 동일하게 설정이 가능하다.

모바일 푸시 기능 추가 - lcy7747님


라우터 기능

라이믹스XE는 짧은 주소를 사용 할 수 있다. 예를 들어 https://example.com/note/213과 같이 짧게 표현이 가능하다.[4]

하지만 게시판 설정이나 게시글 작성시 주소 뒤에 &act=dispBoardWrite와 같은 act가 붙게 된다. 이때 act가 붙는 경우, 짧은 주소를 사용 할 수 없다. 그래서 https://example.com/index.php?mid=note&act=dispBoardWrite로 접속해야 글쓰기가 가능해진다.

하지만 라우터 기능을 통해 글쓰기 페이지 등에서도 짧은 주소의 사용이 가능해진다. 예를 들어 https://example.com/note/213/edit나, https://example.com/@아이디 이런 형태도 사용이 가능해진다.

또한 SEO에 영향을 주지 않도록, 긴 주소로 접속시 짧은 주소로 리다이렉트 될 수 있게 된다.

라우터(Router) 기능 추가 - 기진곰님

썸네일 화질 설정

썸네일 생성시 화질을 설정 할 수 있다. 기본값은 75%이며, 50%부터 100%까지 5% 단위로 설정 할 수 있다.

기존에는 썸네일 생성시 화질이 조절되지 않았지만, 이제는 화질을 설정 할 수 있다.

알림 설정

이메일 전송 방식 경고 메세지

PHP mail() 방식을 선택시 아래의 경고 메세지가 뜬다.

-

PHP에 내장된 mail() 함수를 사용합니다. 발송 성공률이 매우 낮습니다.
이 옵션은 추후 지원되지 않을 수 있으니, 가능하면 다른 방식을 선택하시기 바랍니다.

PHP mail() 방식 보다는 메일 전송 서비스 api를 권장한다.

보안 설정

SameSite 쿠키

다른 도메인끼리 쿠키를 전송 할 수 있도록 SameSite 쿠키를 설정 할 수 있다. 크롬 버전 80 이전에는 기본값이 None이었으나, 버전 80 이후부터는 기본값이 Lax로 변경됨에 따라 속성을 설정하지 않은 경우, 속성이 자동으로 Lax로 부여된다.

Lax나 Strict를 사용하는 경우, 결제 모듈 등 서드파티 사용시 문제가 발생 할 수 있다. 그렇기 때문에 None으로 설정해야 한다.

라이믹스에서도 SameSite 쿠키를 설정 할 수 있으며, 기본값인 표기하지 않음을 설정하는 경우, 크롬 버전 80 이상부터는 Lax 취급을 한다.

물론 서버단(Apache2/Nginx)에서 설정이 가능하지만, 복잡하고 웹호스팅 사용시 설정이 불가능하기 때문에 라이믹스에서 설정 할 수 있도록 추가되었다.


버그들

과격한 패치들이 있기 때문에 버그들이 창궐하고 있다.

게시판 일부 기능 사용 불가 버그

아래의 내용은 2020년 6월 13일에 테스트한 결과입니다.

현재와 결과가 다를 수 있습니다!

게시판 설정 중 추가 설정 메뉴(/index.php?mid=bugs&act=dispBoardAdminBoardAdditionSetup), 게시글 작성 페이지(/index.php?mid=bugs&act=dispBoardWrite) 접속시 아래의 오류가 뜬다.

-

서버 오류
Error #0 "__clone method called on non-object" in modules/file/file.model.php on line 283
common/framework/debug.php:663

디버그 내용 중 오류 내용은 아래와 같다.

-

01. Warning: Creating default object from empty value

modules/communication/communication.model.php:32
modules/communication/communication.controller.php:858
classes/module/ModuleHandler.class.php:1266
classes/module/ModuleHandler.class.php:134
index.php:51

02. Warning: Creating default object from empty value

modules/communication/communication.model.php:32
modules/communication/communication.controller.php:858
classes/module/ModuleHandler.class.php:1266
classes/module/ModuleHandler.class.php:134
classes/context/Context.class.php:1566
common/framework/debug.php:663
common/framework/debug.php:542


메인 페이지 접속시 오류 발생

아래의 내용은 2020년 6월 14일에 테스트한 결과입니다.

현재와 결과가 다를 수 있습니다!

메인 페이지 접속시 다음과 같은 오류가 발생한다.

-

_getContent method is not exists modules/page/page.view.php:56

디버그 오류 창에서는 위의 오류와 함께 아래의 오류가 나온다.

-

02. Warning: count(): Parameter must be an array or an object that implements Countable
widgets/content/content.class.php:206 widgets/content/content.class.php:123 modules/widget/widget.controller.php:390
modules/widget/widget.controller.php:471
modules/widget/widget.controller.php:288
modules/widget/widget.controller.php:266
modules/widget/widget.controller.php:250
classes/module/ModuleHandler.class.php:1266
classes/display/DisplayHandler.class.php:80
classes/module/ModuleHandler.class.php:1180
index.php:52

각주

  1. 개발 버전인 develop 브랜치보다도 더욱 불안정 하기 때문에 실서비스를 하는 경우, 절대로 사용하면 안된다.
  2. RXE에서는 사용자별로 고유 번호가 존재한다.
  3. 기기에 비밀번호를 저장하지 않는다.
  4. 해당 주소는 https://example.com/index.php?mid=note&document_srl=213를 줄인 것이다.
• 현재 페이지 URL 줄이기