라이믹스를 리드하고 계신 기진님께서 XE타운에 대략적인 계획을 밝혀 주셨습니다.
요약 : 3분기 안에 라이믹스 2.0이 발표될 예정입니다.
이하 기진님이 작성하신 전문입니다.
어느덧 올해도 절반이 지나가 버렸네요.
2015년에 태어난 라이믹스도 벌써 다섯 살을 앞두고 있습니다.
1.8~1.9까지는 XE 새 버전이 나올 때마다 라이믹스도 그대로 따라갔고, XE가 1.10을 건너뛰고 1.11로 넘어간 후에는 1.9.9.x 버전을 만들어 쓰고 있었습니다만 이제는 정말로 XE1과 결별하고 라이믹스만의 독자적인 버전 체계와 업데이트 주기, 서드파티 자료 생태계를 시작할 때가 된 것 같습니다.
올해 3분기 안에 라이믹스 2.0이 발표될 예정입니다.
아래와 같은 기능들이 이미 개발되었거나 개발될 예정입니다.
1. 짧은주소 대폭 개선
- 글쓰기, 댓글 수정, 검색 등 대부분의 화면에 짧은주소가 적용됩니다.
- 서드파티 모듈 개발자도 자기 모듈 내에서 쓰고 싶은 짧은주소 형식을 직접 지정할 수 있습니다.
2. 모바일 푸시알림 지원
- 알림센터에 구글 FCM을 연동하여 푸시알림을 발송할 수 있게 됩니다.
- 푸시앱 모듈의 서버단 기능을 상당부분 대체할 수 있습니다.
- 앱은 직접 개발하셔야 합니다. 연동하는 API 매뉴얼은 추후 공개됩니다.
3. DB 연동 기능 대폭 강화
- 더 다양한 XML 스키마/쿼리 문법을 지원합니다. 기존의 XML 스키마/쿼리도 모두 그대로 사용할 수 있습니다.
- XML을 사용하지 않아도 쉽고 안전하게 커스텀 쿼리를 실행할 수 있도록 지원합니다.
- 외부 DB에서 데이터를 불러오거나, 대량의 데이터를 배열에 담지 않고 순차적으로 처리하는 방식도 지원합니다.
- 다른 프레임워크들과 동일한 PDO 기반이므로, 개발자들의 진입 장벽이 낮아질 것으로 보입니다.
4. 테마 도입
- 서로 연관된 레이아웃과 스킨을 하나의 폴더에 넣어서 쉽게 관리할 수 있도록 합니다.
- 테마에서는 더 강력해진 템플릿 문법을 지원합니다.
- 추후 Twig와 같은 외부 템플릿 엔진도 사용할 수 있도록 기초를 닦습니다. (실제 적용은 나중에...)
5. 게시판 기능 강화
- 전체공지 등 사용 빈도가 높은 기능 몇 가지를 기본 탑재할 예정입니다.
6. 알림센터 기능 강화
- 웹 알림, 메일 알림, SMS 알림, 푸시알림 등을 통합 관리할 수 있도록 정리할 예정입니다.
그 밖에도 자잘한 수정 및 개선사항들이 많습니다.
쉬운설치 및 자료실과 관련해서는 아직 결정된 바가 없습니다.
호환성을 깨뜨리는 부분이 있습니다.
그동안 개발팀의 발목을 잡아온 하위호환성 문제 중 몇 가지를 이번 기회에 정리하고 넘어가려고 합니다. 절대 다수의 사용자분들께는 아무 영향이 없을 것으로 추정됩니다.
1. nginx 사용자의 경우, 개선된 짧은주소를 사용하려면 rewrite 규칙을 업데이트해야 합니다. (아파치에서는 .htaccess 파일만 제대로 들어 있으면 자동 적용되므로 크게 신경쓰지 않아도 됩니다.)
2. 서버에 PDO 확장모듈이 설치되어 있어야 합니다. mysqli 함수는 더이상 사용하지 않습니다. (i가 없는 mysql 함수는 예전에 PHP 5.x 지원을 중단하면서 이미 버렸습니다.) 라라벨, 코드이그나이터 등 대부분의 프레임워크가 PDO를 기본으로 사용하기 때문에, 절대 다수의 국내외 웹호스팅 업체들은 PDO를 이미 지원합니다. PDO가 별도의 패키지로 분리되어 있는 CentOS 사용자분들만 조심하시면 됩니다.
3. SSL "선택적 사용" 옵션은 더이상 지원되지 않습니다. "선택적 사용"으로 설정되어 있던 사이트는 "항상 사용" 또는 "사용하지 않음"을 선택해야 합니다. 선택적으로라도 SSL을 사용해 왔다면 당연히 SSL 사용이 가능한 서버이고 인증서도 이미 구해 놓으셨다는 뜻일 테니, 가능하면 "항상 사용"으로 전환하시기를 권장합니다.
4. XE 1.8 미만 버전에서 라이믹스 2.0으로 직접 업데이트하는 것을 공식적으로 지원하지 않습니다. XE 1.8 미만 사용자는 우선 XE 1.8 이상 버전으로 업데이트하고 대시보드에서 모듈 업데이트를 모두 클릭한 후에 라이믹스를 덮어씌워야 합니다. 지나치게 오래된 버전의 DB 스키마를 계속 지원하기 어렵기 때문입니다.
5. module extend 기능을 사용하는 서드파티 모듈은 작동이 중지됩니다. 최근까지 꾸준히 사용되어 온 자료들 중 이 기능에 의존하는 것은 전무한 것으로 파악됩니다. (회원가입 확장 모듈 join_extend는 이 기능과 무관합니다.)
6. files/config/db.config.php 파일을 직접 인클루드하여 사용하는 외부 자료는 더이상 작동하지 않습니다. 라이믹스가 files/config/config.php로 변경한 지 4년 이상 지났는데도 여전히 db.config.php를 수정하다가 혼란을 겪는 분들이 많아서, 중복되는 설정파일은 아예 삭제할 예정입니다.
7. 유지보수가 원활하게 이루어지지 않고 있는 simple_world, rx_prn 등의 스킨은 외부 저장소로 옮겨집니다. git으로 업데이트하면 스킨 폴더가 사라질 수 있으니 외부 저장소에서 다시 다운로드하시기 바랍니다.
초창기부터 라이믹스의 개발 방향은 "현상유지"가 아니라 "과감하게 수정하고, 사용자들이 따라올 수 있도록 도와준다" + "싫으면 XE1 쓰세요"를 일관성있게 유지해 왔습니다. 이번 업데이트도 마찬가지입니다. 위에서 언급한 대부분의 항목들은 대부분의 사이트에서 아무 문제가 되지 않는 것들이지만, 만약 문제가 있다면 XE타운 질문게시판이나 깃허브 등을 통해 적극적으로 제보해 주시고, 해결 과정에 참여해 주시면 감사하겠습니다.
업데이트가 부담스러우신 분은 당분간 XE1 또는 라이믹스 1.9.9.x 버전에 머무르셔도 됩니다. 만약 1.9.9.x 버전에 영향을 주는 심각한 보안취약점이라도 발견된다면 2.0이 나온 후에라도 1.9.9.x 버전을 한 번 더 업데이트할 수 있습니다. (단, 연말에 나올 예정인 PHP 8.0에 대응하는 작업은 라이믹스 2.0에서만 이루어질 예정입니다.)