Fossology는 PHP기반의 웹 UI 인터페이스를 제공하고 있습니다.
주소는 디폴트값으로 설정되어있다면 "[서버host주소]:8081/repo" 입니다.
그런데 이걸로 무언가 더 업데이트하거나 서비스를 만들어보고 싶다면
누구나 UI부터 바꾸어주고싶다는 생각이 들 것입니다.
저번 포스트에서 이러한 웹페이지들이 어느 경로에 위치해 있는지
간단히 적었습니다만... 경로는 찾긴 찾았으나 도대체
무엇을 어떻게 수정해야 할지 감이 오지 않습니다.
Fossology 웹페이지를 조금만 연구해보신들이라면 눈치채셨겠지만,
URL에 mod라는 get Parameter를 넘겨줌으로써 사용자가 원하는 링크를 처리하는 것을 발견하셨을 겁니다.
바로 이런것 처럼요. 예를들어서 웹페이지에 처음들어갔을때 홈화면은 mod=home 입니다.
mod에 값을 넣어서 요청하면, 각 값마다 반응하여 이에 적합한 페이지를 리턴해주는 기능을 수행하는 페이지들이 있습니다.
하나의 페이지에는 여러개의 모듈(php파일)들이 모여 구성되어 있으므로,
이걸 하나로 묶어주는 파일을 찾으면 작업이 수월할거라고 생각됩니다.
그렇다면 하나로 묶어주는 파일이 어떻게 mod라는 쿼리를 받아서 처리하는지 안다면,
자신이 원하는 페이지를 빠르게 찾아내어 수정이 가능할 것입니다.
찾아보니 다음과 같군요
문자열을 검색하는 프로그램을 통해, mod라는 쿼리에 대해 어떻게 값을 가져오는지 알 수 있었습니다.
아, 알고봤더니 const NAME = {VALUE};를 통해 값을 가져오는 것이었네요!
예를들어 우리가 처음 웹에 들어갔을때 접하는 메인화면의 경우
mod=home을 get parameter로 요청하게 되고,
이는 HomePage.php라는 녀석이 응답하게 됩니다.
사용자가 쿼리값을 home으로 주었으니, 이 페이지는 결론적으로 home.html.twig라는 웹페이지를 리턴하게 되네요..
즉, 메인화면을 수정하고 싶으면 home.html.twig의 내용 및, home.html.twig에서 import(?)하고 있는 php모듈들을
원하시는대로 수정하시면 되겠네요!
이상 하나의 웹페이지를 구성하게 되는(사용자가 보낸 url의 쿼리값을 받아내는) 페이지를 알아보았습니다.
질문이나 제안은 댓글로 남겨주세요~
추가)
어떻게 보면 const Name = {VALUE};의 내용을 가지고있는 파일들의 갯수가 즉, Fossology에서 기본으로
제공하는 웹환경의 총 페이지 갯수가 얼추 되겠네요, 제가 검색한 경우에는 총 31개가 나왔습니다.
(www/ui 디렉터리부터 검색)
'Develop Issue > Fossology' 카테고리의 다른 글
fossology web 편집하기 (0) | 2017.11.10 |
---|---|
Fossology란 무엇인가 (0) | 2017.11.09 |