최신판 |
당신의 편집 |
9번째 줄: |
9번째 줄: |
| ==패치 방향== | | ==패치 방향== |
| 과격한 패치와 함께 오류 발생시 복구(롤백)하는 것이 아닌, 추가 패치를 통해 해결하는 것을 목표로 하고 있다. | | 과격한 패치와 함께 오류 발생시 복구(롤백)하는 것이 아닌, 추가 패치를 통해 해결하는 것을 목표로 하고 있다. |
| 따라서 기존 라이믹스보다 많이 불안정하다.<ref>개발 버전인 [https://github.com/rhymix/rhymix/tree/develop develop 브랜치]보다도 더욱 불안정 하기 때문에 실서비스를 하는 경우, '''절대로 사용하면 안된다.'''</ref> | | 따라서 기존 라이믹스보다 많이 불안정하다.<ref>개발 버전인 [https://github.com/rhymix/rhymix/tree/develop develop 브랜치]보다도 더욱 불안정 하기 때문에 실서비스를 하는 경우, '''절대로 사용하면 안된다.''' |
| | |
| ==추가될 기능들==
| |
| 라이믹스 2.0에 추가될 기능들이다.
| |
| | |
| * [[#짧은 주소 개선(라우터 기능)|짧은 주소 개선(라우터 기능)]]
| |
| * [[#모바일 푸시알림 지원|모바일 푸시알림 지원]]
| |
| * [[#DB 연동 기능 강화|DB 연동 기능 강화]]
| |
| * [[#테마 도입|테마 도입]]
| |
| * [[#게시판 기능 강화|게시판 기능 강화]]
| |
| * [[#알림센터 기능 강화|알림센터 기능 강화]]
| |
| | |
| ===모바일 푸시 기능===
| |
| [[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님]
| |
| | |
| | |
| ===짧은 주소 개선(라우터 기능)===
| |
| [[라이믹스]]와 [[XpressEngine|XE]]는 짧은 주소를 사용 할 수 있다.
| |
| 예를 들어 '''<nowiki>https://example.com/note/213</nowiki>'''과 같이 짧게 표현이 가능하다.<ref>해당 주소는 <nowiki>https://example.com/index.php?mid=note&document_srl=213</nowiki>를 줄인 것이다.</ref>
| |
| | |
| 하지만 게시판 설정이나 게시글 작성시 주소 뒤에 '''<nowiki>&act=dispBoardWrite</nowiki>와 같은 act가 붙게 된다. 이때 act가 붙는 경우, 짧은 주소를 사용 할 수 없다. 그래서 '''<nowiki>https://example.com/index.php?mid=note&act=dispBoardWrite</nowiki>'''로 접속해야 글쓰기가 가능해진다.
| |
| | |
| 하지만 라우터 기능을 통해 글쓰기 페이지 등에서도 짧은 주소의 사용이 가능해진다. 예를 들어 '''<nowiki>https://example.com/note/213/edit</nowiki>'''나, '''<nowiki>https://example.com/@아이디</nowiki>''' 이런 형태도 사용이 가능해진다.
| |
| | |
| 또한 SEO에 영향을 주지 않도록, 긴 주소로 접속시 짧은 주소로 리다이렉트 될 수 있게 된다.
| |
| | |
| [https://github.com/rhymix/rhymix/pull/1322 라우터(Router) 기능 추가 - 기진곰님]
| |
| | |
| ===썸네일 화질 설정===
| |
| 썸네일 생성시 화질을 설정 할 수 있다.
| |
| 기본값은 75%이며, 50%부터 100%까지 5% 단위로 설정 할 수 있다.
| |
| | |
| 기존에는 썸네일 생성시 화질이 조절되지 않았지만, 이제는 화질을 설정 할 수 있다.
| |
| | |
| ===DB 연동 기능 강화===
| |
| {{인용문|라이믹스 역사상 최대 규모의 PR인 것으로 추정됩니다. ㅎㅎ|PR 내용 중 기진곰님 내용 중}}
| |
| 현재 mysqli<ref>라이믹스는 mysqli 방식만 지원한다.</ref> 방식으로 DB에 접속한다.
| |
| 이러한 상황에서 mysqli 방식에서 [[PHP Data Object|PDO]] 방식으로 변경한다.
| |
| | |
| 또한 XML 스키마, 쿼리 해석 엔진 구현을 통해 다양한 기능들도 지원한다.
| |
| 그리고 XML을 사용하지 않더라도 커스텀 쿼리를 실행 할 수 있게 된다.
| |
| | |
| 마지막으로 '''라이믹스가 설치된 DB 이외의 DB에 임의 접근 후 쿼리 실행이 가능'''해진다.
| |
| | |
| ====장점====
| |
| =====진입장벽 하락=====
| |
| 대부분의 프레임워크들도 PDO 방식으로 DB에 접속하기 때문에, 진입장벽이 낮아진다.
| |
| Prepared Statement 등의 기능을 쉽게 사용 할 수 있으며, 데이터를 하나 하나씩 로드 후 처리 할 수 있게된다.
| |
| | |
| =====PHP 캐시 저장 불필요=====
| |
| XML 스키마, 쿼리 해석 엔진을 구현함으로써 코어에서 설정된 캐시 방법대로 캐시를 할 수 있게된다.
| |
| | |
| =====커스텀 쿼리 실행=====
| |
| 커스텀 쿼리 실행시 테이블 명 앞에 접두사<ref>'''rx_''' 같은 것들</ref> 를 자동으로 붙힘으로써 개발이 용이해진다.
| |
| 또한 디버그에서 커스텀 쿼리를 실행 기록을 볼 수 있게된다.
| |
| | |
| =====타 DB 접근 후 쿼리 실행=====
| |
| 기존에는 라이믹스가 설치된 DB에서만 쿼리를 실행 할 수 있었기 때문에 연동 같은 기능들은 따로 설정해 주어야 했지만, 이제는 라이믹스 내에서 처리가 가능해진다.
| |
| | |
| ===알림 설정===
| |
| ====이메일 전송 방식 경고 메세지====
| |
| <nowiki>PHP mail()</nowiki> 방식을 선택시 아래의 경고 메세지가 뜬다.
| |
| {{인용문|PHP에 내장된 mail() 함수를 사용합니다. 발송 성공률이 매우 낮습니다.<br>
| |
| {{글씨 색|red|이 옵션은 추후 지원되지 않을 수 있으니, 가능하면 다른 방식을 선택하시기 바랍니다.}}}}
| |
| | |
| <nowiki>PHP mail()</nowiki> 방식 보다는 메일 전송 서비스 api를 권장한다.
| |
| | |
| ===보안 설정===
| |
| ====SameSite 쿠키====
| |
| 다른 도메인끼리 쿠키를 전송 할 수 있도록 SameSite 쿠키를 설정 할 수 있다. 크롬 버전 80 이전에는 기본값이 None이었으나, 버전 80 이후부터는 기본값이 Lax로 변경됨에 따라 속성을 설정하지 않은 경우, 속성이 자동으로 Lax로 부여된다.
| |
| | |
| Lax나 Strict를 사용하는 경우, 결제 모듈 등 서드파티 사용시 문제가 발생 할 수 있다. 그렇기 때문에 None으로 설정해야 한다.
| |
| | |
| 라이믹스에서도 SameSite 쿠키를 설정 할 수 있으며, 기본값인 '''표기하지 않음'''을 설정하는 경우, 크롬 버전 80 이상부터는 Lax 취급을 한다.
| |
| | |
| 물론 서버단(Apache2/Nginx)에서 설정이 가능하지만, 복잡하고 웹호스팅 사용시 설정이 불가능하기 때문에 라이믹스에서 설정 할 수 있도록 추가되었다.
| |
| | |
|
| |
|
| ==버그들== | | ==버그들== |
138번째 줄: |
41번째 줄: |
| common/framework/debug.php:663<br> | | common/framework/debug.php:663<br> |
| common/framework/debug.php:542}} | | common/framework/debug.php:542}} |
|
| |
|
| |
| ===메인 페이지 접속시 오류 발생===
| |
| {{테스트일|{{날짜|2020-06-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<br/>
| |
| widgets/content/content.class.php:206
| |
| widgets/content/content.class.php:123
| |
| modules/widget/widget.controller.php:390<br/>
| |
| modules/widget/widget.controller.php:471<br/>
| |
| modules/widget/widget.controller.php:288<br/>
| |
| modules/widget/widget.controller.php:266<br/>
| |
| modules/widget/widget.controller.php:250<br/>
| |
| classes/module/ModuleHandler.class.php:1266<br/>
| |
| classes/display/DisplayHandler.class.php:80<br/>
| |
| classes/module/ModuleHandler.class.php:1180<br/>
| |
| index.php:52}}
| |
|
| |
| ==여담==
| |
| 라이믹스 2.0 기념 로고가 있다. 물론 공식 로고는 아니고 유저가 만든 로고이다.
| |
|
| |
| [[파일:라이믹스_2.0_로고_비공식_이니셜.jpg]]<br><br>
| |
| [[파일:라이믹스_2.0_로고_비공식_full.jpg]]
| |
|
| |
|
| ==각주== | | ==각주== |