설계 토론
권한
등급 조절 가능 -> 0 (비회원), 1~254, 255 (관리자) (./)
가입 시 최소한의 정보만 입력받음 (주민등록번호는 받지 않음) (./)
- 아이디
- 암호
- 이름 또는 별명
- 이메일
- 홈페이지
- 기타 본인이 원하면 넣을 수 있는 정보 : 자기 소개, 가입 동기 등등 - 관리자가 생성/삭제할 수 있게 함
현행의 권한 시스템은 제로보드에서 흔히 볼 수 있는 레벨 시스템입니다. 그런데 제로보드 형태의 레벨 시스템은 수직적인 구조로 되어 있기 때문에 몇가지 문제점이 있습니다.
- 비밀 글 시스템의 운영의 어려움
- 특화된 폐쇄적 게시판 운영의 어려움
이 권한 시스템을 조금 바꾸어 보고 싶은데 다른 개발자와 토론을 할 필요가 있을 것 같습니다. 지금 생각하고 있는 구조는 단국대 컴퓨터공학과 사이트에 적용된 방식인데 다음의 구조를 가지고 있습니다.
- 개별 권한의 ID
- 권한의 ID를 다중 값 속성으로 가지고 있는 롤 (관리자 롤은 모든 개별 권한을 무시하는 롤입니다.)
- 각 회원은 복수개의 롤을 가질 수 있음
이런 방식에 의해서 세분화된 권한 설정과 여러 역할을 가지고 있습니다. 이런 방식은 어떤가요? --CN
다국어화
기본 문자셋은 UTF-8. 생각해보면 굳이 i18n을 할 필요가 없을 것 같기도 하군요.
테마 디자인
- 게시판 및 관리자 모드 디자인 만들어 보기 -- WordPress처럼 뽀대나게 -_-; (./)
- 테마 디자인 가이드
Ajax
- http://prototype.conio.net/
- http://script.aculo.us/
- http://network.hanbitbook.co.kr/view.php?bi_id=1088
- 다른 곳은 잘 모르겠지만, 둘 중 하나를 사용하는 게 좋을 것 같다.
게시판
- 게시물 검색 부분을 ajax로 구현해 보자
검색 결과가 화면 refresh 없이 floating div(layer)에 뜨게 하면 좋을 듯. 그냥 글 목록 테이블에 동적으로 추가하는 것도 괜찮을 듯...
- 검색어 입력할 때 자동 완성.
자동 완성은 서버 자원을 많이 소모하는데 이 기능의 사용 여부를 선택할 수 있게 하는것이 좋을 것 같네요.
- 댓글을 남길 때, 페이드 효과 - 지원이 안 되는 브라우저이거나 javascript를 안 썼을 때의 fallback 잘 처리할 것. (./)
onsubmit 이벤트를 발생시키지 않으면 그냥 일반 폼으로 submit 됩니다. 스크립트 쪽에서 ajax로 요청된것인지 인식하도록 표식을 붙이는 것은 어떨지... -> ?ajax=1을 붙입니다. (./)
Meta
원격 댓글 (Trackback) (./)
- 게시물에 대한 RSS, Atom 피드 제공 (비밀글에 대한 처리, 공개 여부 설정 등 가능하게) (./)
- RSS를 제공하는 xml에 xslt 정보를 넣어 웹브라우저로 링크를 클릭했을 때에도 깔끔하게 나오도록 - 스킨에 포함시켜도 될 듯..? (./)
게시물 자체에 대한 트랙백은 기본이고, 게시판 별로 트랙백을 보내는 '원격 글쓰기' 기능
- 관리자의 권한 설정이 필요하며, 스팸을 막을 방법도 있어야 함.
- 회원들만 트랙백을 보내게 하려면 : 회원 정보의 홈페이지에 있는 도메인이나 관리자가 별도로 허용한 도메인에서 오는 트랙백만 받는 방법이 있을 것이다.
- 게시판의 xhtml 출력 내부에 rdf 정보를 포함시키자. (./)
고려할 점
- 리눅스 코리아 컨벤션+룰: 몇가지 부분은 생각해볼 만한 부분이 있는 것 같습니다. -> CodingStandard
- 메모: IIS에서 PathInfo? 활성화하기
C:InetpubAdminScripts> Cscript.exe adsutil.vbs SET /W3SVC/AllowPathInfoForScriptMappings TRUE
-> 그러나 결국 실패하여 윈도우용 아파치(2.0.55) 설치, 그리고 제대로 돌아가는 것 확인함. orz
- 메모: .htaccess 설정
일반적인 경우는 별로 문제가 없으나 mod_alias로 외부 디렉토리를 가져다 쓰고 있는 경우
RewriteBase /metabbs
를 쓰고
RewriteRule ^(.*)$ metabbs.php/$1 [L]
을 써준다.
메인 소스 트리에서, 설치 시에 RewriteBase를 자동으로 정해주도록 변경했습니다.
Trac에서 기능 제안을 어떻게 하는지 몰라 위키 문서로 만들어 봅니다. --CN
곧 포럼을 설치해서 운영할 생각입니다. --daybreaker
