2008년 12월 15일 월요일

사내 SPS개발 관련 삽질 간단 정리, 그리고 SWFUpload 2.2.0 Beta3 / Xquared XHTML Editor

지난주 목요일부터 사내에서 사용하는 인트라넷에 몇몇 기능을 추가하는 일을 진행중입니다. SPS (Service Proposal System) 이라는 이름의 첨부파일이 가능한 단답형 게시판에 사원들이 평가를 매길 수 있는 정도의 기능을 가진 웹서비스를 만드는 일입니다. ( 모 과장님이 A4용지 한장에 대충 그려진 spec을 주고 가셨네요 -_-;; )

첨부터 만드는 거면 마음대로 만들겠지만 만든지 몇년이나 된 기존의 timesheet 입력 기능과 id/pass 연동을 해야 한다고 해서 DB스키마랑 작성된 PHP코드를 살펴봤는데 기존 페이지는 몇년 전까지만 해도 모두가 당연하다고 여겼던 euc-kr 인코딩으로 모든 페이지 및 데이터가 작성되어 있습니다.

'난~~~~~ 서버 ip랑 루트 id/password 만 받았을 뿐이고~~, 스키마 파일이나 개발문서도 하나 없었고~~~, PHP 는 온통 register_globals on 에 의존하고 있었을 뿐이고~~'

라는 상황이지만 사실 구조는 간단했기 때문에 타임시트쪽 DB스키마를 보면서 기존의 고질적인 페이지 로딩속도문제를 해결하고(explain 으로 쿼리실행계획을 확인한 다음 인덱스 두개 걸고 PHP 파일 몇줄 수정), 이래저래 기타등등을 해서 간단하게 만들었습니다. 디자이너 지원도 없고 혼자 만드는거라 페이지 view 는 css 로만 슥슥~

기존 웹페이지가 euc-kr 기반이라 세션에도 사용자명이 euc-kr 로 들어가 있었는데, 문제는 새로 만들어버린 페이지는 죄다 UTF-8이라는거~

최초에 시스템 만드신 분이 PHP를 설치하면서 iconv 모듈을 함께 설치해 주지 않으셨던지라 phpinfo() 의 configure 정보를 보고 재설치를 할까 하다가 개발시간도 얼마 없고 왠지 무서워서 몇몇 이름이 노출되는 부분만 exec() 로 iconv 를 실행시켜버리는 exec_iconv() 라는 함수를 작성하는 만행을 저질러 두었습니다. -_-;; 언젠가 누군가 그 부분을 발견하고 용기있는 분이시라면 PHP 재설치하시고 저 부분만 살짝 iconv() 를 이용하도록 바꾸시면 되겠네요 ㅈㅅㅈㅅ

Xquared

기본 기능을 완성하고 보니 너무 썰렁해서 편집화면에 오픈마루의 Xquared (20080428 버전) 편집기를 붙였는데, 이게 예전것은 readonly 모드가 있었던 거 같은데 이제는 그 모드가 사라져 버려서 저장한 내용을 그대로 뿌려주니 엉망진창으로 결과가 나옵니다.

이걸 어떻게 하나 고민하다가 xq_contents.css 에 보니 .xed 로 죄다 CSS 정의가 되어 있길래 xq_contents.css 를 HTML페이지에 추가하고 DB에서 읽어온 콘텐츠를 <div> </div> 사이에
뿌려주면서 div의 class를 xed로 지정해주니 끝.  테이블이나 기타 등등 편집기에서 보던대로 잘 나오는군요.

아, 그리고 예전에는 div 및 textarea 에 모두 xquared 를 붙일 수가 있었는데 이제는 textarea 에만 xquared 를 붙일 수가 있습니다. 좀 더 정확히 말하자면 특정 id 명으로 지정된 textarea 의 바로 뒤에 iframe 을 designMode on으로 붙이는 것이긴 합니다만...

SWFUpload 2.2.0 Beta 3

그 다음 문제는 파일 업로드인데 클라이언트쪽을 좀 더 '있어보이게' 할려고 SWFUpload 2.2.0 Beta3를 도입하기로 했습니다.

example 보면서 configuration 한다고 한시간 정도 삽질해서 테스트를 했는데 아무래도 플래시 기반 업로드라서 접속 사용자의 플래시 버전에 따라 동작하지 않을 가능성도 있고(얼마전까지 flash 10에 대해서는 swf upload 가 동작하지 않다가 최근 패치로 인해서 동작이 가능해진 듯), 사내 인트라넷(?)의 전담 개발부서나 운영부서가 없는 마당에 잔손이 가야 할 것 같은 부분들은 만들지 않는게 좋을 것 같아서 고전적인 방법으로 처리했습니다. ( 그냥 시간내에 하고 싶은대로 만들 수가 없을 것 같아서 포기해버렸다고 말을 할 순 없지 )

A4한장짜리 spec 으로 마음대로 만들고 나니 불현듯 아래의 그림이 떠오르더군요. -_-;; 웹서핑 해서 붙여넣었습니다.

 

사용자 삽입 이미지
 
-P.S-
PHP의 display_errors 가 Off 로 되어 있길래 On 으로 바꿨더니 기존 사이트에서 에러가 마구 난다. Error/Warning/ .. 온갖게 다 나네 -_-;;;

댓글 6개:

  1. @오스카 - 2008/12/16 14:05
    요즘은 돌아가는 서비스에 모듈 재설치하는게 왜그렇게 무서운지 -_-;;

    답글삭제
  2. ㅋㅋㅋ 내일 회사들어가면 써볼께요

    수고하셨심덩

    답글삭제
  3. 나~안 딱딱한 글인 줄로만 알았고, 몇 줄 읽다가 쓰러져 버렸고, 덕분에 모니터에 침 튀겼고. 내 침 산성 강할 뿐이고. ㅋㅋㅋ

    답글삭제
  4. @namomo - 2008/12/17 23:56
    아직 URL은 노출되어 있지 않지만 알려드릴께요 ㅋㅋ

    답글삭제
  5. @Odlinuf - 2008/12/18 01:13
    안상태 기자의 NAN 방송 너무 재밌어요 ㅋㅋ 완전 팬이라는~

    답글삭제

가장 많이 본 글