JFile은 멀티 파일 업로드, 다운로드 컴포넌트로 AJAX 기반의 멀티 파일 업로드, 다운로드를 지원함
* 2012년 표준프레임워크 오픈커뮤니티 창립 2주년 기념 슈퍼개발자K 우승작
* 표준프레임워크 공식 버전(v2.7) 반영 오픈커뮤니티 프로젝트 1호
중요기능
jfile 업/다운로드 컴포넌트는 AJAX 기반의 업그레이드 된 기술로 개발자들이 쉽게 파일 업로드 컴포넌트를 다룰 수 있도록 해 줍니다. SI 프로젝트에서 빈번히 요구하는 보안 지침 사항, 또는 사용자 편의성에 의거하여 다양한 요구사항이 나올 때 여러분들이 클래스 수정없이 단순한 설정 값 변경만으로 반영 할 수 있도록 도와줍니다. 아래 내용은 실제 모 SI 프로젝트 고객에서 요구한 요구사항입니다. jfile 컴포넌트는 아래의 요구사항을 쉽게 적용 할 수 있도록 도와 줍니다. 예를 들어 보안 지침사항 1)번과 사용자편의성 7)번 만 적용 하고자 할 경우 클래스 수정 없이 설정값 변경으로 쉽게 반영 할 수 있습니다.
카테고리
개발환경
라이선스
Apache license2.0
보안지침사항
회원이 업로드한 파일 위치가 DMZ 영역에 있을 경우에는 파일자체를 암호화 해야함.
파일 암호화 알고리즘은 고객사가 신뢰 할 수 있는 알고리즘으로 쉽게 변경 가능해야 함.
파일이 관리되는 각각의 고객사 폴더별로 암호화 알고리즘을 변경 해야 할 시에도 조치 가능해야 함.
파일명을 암호화 해야 함.
사용자편의성
크로스 부라우징을 지원해야 함.
ajax 기반으로 동작해야 함.
파일 선택시 다중 선택이 가능해야 함.
파일이 업로드 될 때 progressbar 의 움직임으로 업로드 진행상황을 확인 할 수 있어야 함.
이미지파일인 경우 파일을 다운받기 전에 미리보기(preview) 가능해야 함.
다운받을 파일이 복수개 일 경우 한번에 압축하여 다운로드 받을 수 있어야 함.
해당업무별로 파일저장 경로를 다르게 관리 할 수 있어야 함.
고객 접근 통계
다운로드 시 다운로드 건수 이력을 남겨야 함.
이슈 사항
회원수 증가로 인해 월별로 생성해 놓은 디렉터리가 파일 30만건 이상 일 경우 더 이상 파일을 업로드 할수 없음.
서버에 파일이 저장되는 root 폴더의 위치를 업무마다 다르게 저장하고 해야함. 예) S은행 : /app/s001, K은행 : /app/k001, W은행 : /app/w001.
시스템구성환경이 복수개의 WebServer(아파치, Webtobe...) 와 복수개의 WAS(웹로직,웹스피어...) 로 구성 되어 있을경우 파일업로드 완료 시점에 ftp 또는 sftp 를 통해 웹서버로 전송되야 함. (이미지는 웹서버에서 고정된 리소스 형태로 사용하기 때문. 이미지를 웹서버로 전송하지 않고 WAS 에서 byte[] 형태로 서비스 할 수 있게 해주는 방법으로 구현했다가 로드러너로 부하테스트 시 CPU, Memory 과다 부하로 WAS 가 죽어 버림. 즉 파일 완료시점에 사용자가 핸들링 할 수 있는 User 이벤트를 제공해야 함.)
팀원소개
정호열(ibizsoftware)
김택균(dreamer)
김종화(legendkjh)
커뮤니케이션
wesung777@ibizsoftware.net
사용자문서(Wiki)
첨부파일 및 Github
참여방법
표준프레임워크 오픈커뮤니티 프로젝트 참여를 위해서는 프로젝트 팀원이 되어야 합니다. 팀원이 되기 위해서는 프로젝트리더에게 팀원을 희망하는 내용의 메일을 보내신 후 회신으로 팀원 초대를 받으시면 됩니다.
프로젝트 팀원은 개발, 코드리뷰, wiki 가이드 작성, 로고 일러스트제작 등의 다양한 방식으로 참여 가능하며, 본격적인 팀원 활동을 위해서는 "오픈커뮤니티 프로젝트 라이선스ㆍ저작권 동의서" 작성 후 표준프레임워크 오픈커뮤니티 사무국으로 제출하시면 됩니다.