Skip to content

Textcube 2.0.0 Beta 3 (20160915)

Pre-release
Pre-release
Compare
Choose a tag to compare
@inureyes inureyes released this 19 Oct 02:18
· 12 commits to master since this release

텍스트큐브 2.0.0 Beta 3 (20160915)

텍스트큐브 2.0은 텍스트큐브 1.X에 이은 차세대 개발 브렌치입니다.

구조가 급격하게 변하였기 때문에 테스트 목적 이외의 사용은 절대 삼가하시기 바랍니다.

1.10.X에서 2.0 정식 버전으로의 업그레이드는 공식적으로 지원하지만, 2.0 알파/베타 버전에서 2.0 정식 버전으로의 업그레이드는 공식 지원하지 않습니다.

Beta 3 는 메인테넌스 릴리즈입니다.

Beta 3 변경 및 집중 테스트 사항

  • 폴리머 프레임웍 기반으로 재작성중인 관리 패널 (WIP)

주의사항 (beta 3)

  • 임의의 관리패널 스킨을 사용중이신 분들께서는 관리패널 스킨을 amino로 변경해 주시기 바랍니다. 변경하지 않을 경우 관리패널이 정상적으로 동작하지 않습니다.

텍스트큐브 2.0.0 master branch - inquieto (BASELINE)

추가된 점 [WIP]

  • 일반 : 폴리머 기반의 관리 패널 (#1837)
  • 일반 : 독립 페이지 지원 - 블로그 주소 끝에 임의의 주소를 추가한 경우 해당되는 slogan의 글이 있으면 단일 페이지로 보여줌 (#1198, #1443)
  • 일반 : PHP 7 지원 (#1818, #1845)
  • 일반 : 데스크탑 모드 지원 (#1795)
  • 일반 : 세션 만료 체크 지능화 (#1113)
  • 일반 : 커스텀 패키지의 쉬운 배포 및 개발을 위한 번들 기능 (#1603)
  • 일반 : 커스텀 패키지의 개발을 쉽게 만드는 project camouflge 정식 도입 (#1431)
  • 일반 : blog-specific 플러그인 실행 권한 지원 (#1173)
  • 일반 : Google AppEngine 실행 지원 (#1067) [WIP]
  • 일반 : 동일 포스트의 다국어 포스트 작성 및 전환 지원 (#1064) [WIP]
  • 일반 : 여러 서비스의 oAuth를 통한 외부 로그인 지원 [WIP]
  • 일반 : HSTS 지원 (#1747)
  • 스킨 : 서로 다른 블로그 간의 포스트 / 댓글 / 트랙백 싱크 지원 [WIP]
  • 스킨 : 관리자 스킨 개발을 위한 프레임 샘플 스킨 추가 (#1535)
  • 스킨 : 사용자 스킨 백업 및 업로드 지원 (#1315) [WIP]
  • 관리패널 : 로그인 화면에 일정 기간동안 로그인 상태 유지 옵션 추가 (기본값 2주) (#1536)
  • 관리패널 : 관리패널 스킨에서 커스텀 자바스크립트 사용 가능 (#1552, #1535)
  • 관리패널 : 포스트 수정 기록 저장 및 versioning 지원 [WIP]
  • 관리패널 : config.php 를 서버 설정 메뉴에서 저장시 각 항목에 대한 상세 주석을 파일 내에 붙임 (#1751)
  • 플러그인 : markdown + 오토링크 기능에 기반한 위키 기능 추가 (#1543) [WIP]
  • 에디터 : markdown syntax 하이라이팅 지원
  • 에디터 : MIME type 다수 추가 (#1836)
  • 데이터 : 스태틱 리소스 서버 분리를 위한 파일 입출력 후킹 기능 추가 (#1405) - 이후 FSModel 구현 완료 시점에서 대체 예정 [WIP]

변경된 점

  • 일반 : PHP 최소 지원 버전을 5.5로 상향 (#1701)
  • 일반 : 기본 프레임웍을 NAF 1에서 codeball/NAF2로 이전 (#1052)
  • 일반 : 사용자 데이터 디렉토리 (attach, skin, cache) 들을 모두 user 디렉토리 하위로 이동 (#1828)
  • 일반 : 세션 테이블에 expires 명시화 (#1113)
  • 일반 : XHTML 1.1 기반의 마크업을 HTML5 기반으로 이전 (#1717)
  • 일반 : 클라우드 VM에서 내부 IP와 외부 IP가 다른 경우의 세션 핸들링 개선 (#1585)
  • 일반 : 첨부 파일 및 업로드 가능한 스태틱 파일 (스킨 등) 의 구글 앱엔진 FS 지원 추가 (#1067)
  • 일반 : MySQL 기본 아답터 지원 제외 (#1824)
  • 일반 : 독립 앱 패키지 및 코드 편의를 위하여 사용자 데이터 관련 디렉토리 위치 변경 (#1828)
  • 일반 : 레거시 코드 제거를 통한 호환성 감소 (#1067)
  • 일반 : 자체 자바스크립트 리소스들을 압축하여 제공 (#1794)
  • 에디터 : 기존 modern editor의 글들을 tinyMCE로 이전 (#1586)
  • 관리패널 : Canon 스킨 업데이트 (#1770)
  • 관리패널 : HTML5 반영 및 silica 스킨 추가 [WIP]
  • 관리패널 : 사이드바에서 미리보기 모드 제거 (#1270)

버그 수정

  • 일반 : static 멤버 함수가 비명시적이라 strict error check 환경에서 warning 호출을 부르던 문제 수정 (#1850)
  • 데이터 : SQLite 백엔드를 사용할 때 라이브러리 버전에 따라 데이터가 저장되지 않는 문제 수정 (#1846)
  • 일반 : 타임존을 지정하지 않은 경우 타임존 지정 warning 이 나오는 문제 수정 (#1842)

독립 페이지 사용

텍스트큐브 2.0에서는 텍스트큐브 1.X 에서 공지사항의 확장으로 지원하던 http://www.example.com/page/Welcome 스타일의 페이지 대신 http://www.example.com/Welcome 과 같이 주소 바로 뒤에 슬로건이 붙는 방식의 독립 페이지를 지원합니다. 주소 뒤에 슬로건을 바로 쓸 경우 해당되는 슬로건의 글이 있는 경우 그 글이 호출됩니다. 단, 텍스트큐브 내장 주소 (entry, category, rss등..) 와 슬로건이 겹치는 경우에는 텍스트큐브의 내장 주소가 호출됩니다.

관리패널 스킨에 커스텀 자바스크립트 추가하기

다양한 기능의 관리 패널 스킨 기능을 구현할 수 있도록 관리패널 스킨에서 커스텀 자바스크립트를 지원합니다. 블로그 스킨의 경우 HTML을 수정할 수 있으므로 직접 자바스크립트를 추가하거나 수정할 수 있지만, 기존 관리 패널의 경우 HTML 수정 권한이 없기 때문에 자바스크립트를 추가하는 것이 불가능했습니다. 이제 관리패널 스킨 디렉토리에 custom.js 가 있는 경우 그 자바스크립트를 호출합니다.
주의할 점은 다음과 같습니다.

  • Textcube에 jQuery가 들어있지만 기본 값은 noConflict가 동작합니다. 따라서 $를 앨리어스로 쓸 수 없습니다. 반드시 $ 대신 jQuery 라고 써주셔야 합니다.
  • 스크립트는 header에 가깝게 로드되므로, DOM이 로드된 뒤 동작해야 하는 경우는 해당 처리를 해 주셔야 합니다.
  • jQuery에서 이벤트 등록을 지원합니다. jQuery및 EAF는 custom.js보다 먼저 로드됩니다.

기본 디렉토리 경로 변경

텍스트큐브 2.0부터는 사용자가 만드는 디렉토리를 코드와 분리하여 user 디렉토리 하위에 만들게 됩니다. 덮어쓰기로 업데이트를 실시하는 경우, 기존의 attach, cache, skin 디렉토리들을 모두 user 디렉토리 아래로 이동해 주세요. 또한 .htaccess 파일의 내용도 변경해야 합니다.

Camouflage 기능

이제 자신만의 이름을 가진 텍스트큐브 브렌치를 만들 수 있습니다. 자체적인 추가 기능을 만들거나, 브랜드를 바꿀 때도 텍스트큐브 메인 소스 업데이트를 함께 따라가면서 자신만의 버전을 관리할 수 있습니다.

examplecube를 만드는 과정입니다.

  1. framework/id/textcube 디렉토리를 framework/id/examplecube 로 복사합니다.
  2. framework/id/examplecube/config.default.php 를 자신이 원하는 내용으로 수정합니다. 초기화에 관련된 여러 내용을 추가할 수도 있습니다.
  3. 관리 패널을 포함한 별도의 UI 를 사용하고 싶은 경우 framework/id/examplecube/Dispatch.php 를 수정합니다.
  4. framework/id/load 라는 텍스트파일을 만듭니다. load의 내용에 examplecube라고 입력합니다.
  5. 이제 텍스트큐브는 framework/id/examplecube 를 통해 초기화를 실행합니다.

텍스트큐브 데스크탑도 camouflage를 활용하여 개발했습니다. framework/id/textcubedesktop을 참조해보세요.

텍스트큐브 데스크탑

텍스트큐브 2.0부터 데스크탑 모드를 지원합니다. 별도의 서버 및 라이브러리 설치가 없이 그냥 단일 앱처럼 실행하고 사용할 수 있습니다. Windows 및 Mac OS X용 런타임이 제공됩니다. 혼자쓰고 싶은 사람들 및 백업 유저, 테스터들에게 유용합니다.

기본 아이디는 [email protected] , 패스워드는 textcube 입니다.

번들 기능

[TODO] 현재 개발 및 테스트 중입니다.