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


fossology web 편집, 수정하기


이 포스팅에서는 localhost:8081/repo로 접속했을 때 나오게되는 fossology 웹 인터페이스 페이지를

수정하기 위한 경로에 대해서 알아봅니다.


우선 웹페이지들이 담긴 디렉터리를 찾아 들어갑니다

fossology가 패키지에 의해 설치 되었다면, 

fossology 웹 루트는 "/usr/share/fossology/www/"이며, 

소스 설치가 사용 된 경우 웹 루트는 '/usr/local/share/fossology/www/'입니다.

저같은 경우에는 Docker를 이용하여 설치했기 때문에 후자의 경로로 들어갔습니다.


현재 다른 부분에 대한 내용도 파악중인 부분이긴 하지만,

여러분들이 /repo페이지에서 보게되는 핵심적인 html소스들은 다음과 같습니다.


해당 웹루트 경로에서부터 "ui\template"


우선 여기로 들어가면, twig 확장자가 나오게 됩니다..

해당 내용을 보시면 대체로 우리가 눈에 보이게 되는 html 파일들이 들어있습니다.


html이면 html이지, 뒤에 붙은 twig는 무엇인지 의문을 가지게 됐는데요,

확인해보니 PHP 언어의 템플릿 엔진이라고 합니다..(한국어로 된 정보는 거의 없는것 같네요 -.-;;;)

구태여 twig가 무엇인지 잘 알진 못하더라도, 결국에는 우리가 잘 알고있는 html 소스코드들이 나와있기 때문에

뭔가 부족하고 허접(?)해 보이는 UI를 수정 할 수 있을 것같은 자신감이 듭니다!


fossology에 대한 새로운 정보를 얻게 되면 다시 포스팅 남기겠습니다.

fossology에 대한 자료 자체가 얻기가 힘드네요 ㅜ.ㅜ;;;


참조 url

fossology 웹루트 경로 : http://archive15.fossology.org/projects/fossology/wiki/Config-How_to_Configure_the_FOSSology_site

twig : https://en.wikipedia.org/wiki/Twig_(template_engine)

'Develop Issue > Fossology' 카테고리의 다른 글

Fossology URL query별 접속되는 페이지 알아보기  (1) 2017.11.13
Fossology란 무엇인가  (0) 2017.11.09

FOSSology는 오픈 소스 라이센스 컴플라이언스 소프트웨어 시스템 및 툴킷이다. 비슷한 종류로는 Jninka가 있다.

우리는 이를 활용해서 프로젝트에 어떤 라이센스 및 저작권이 사용되었는지 스캔 할 수 있다. PostgreSQL 기반의 데이터베이스를 사용하며

웹 UI를 통해 워크 플로우를 확인 할 수 있다.. 일단 검색하면 Fossology에 대한 공식 사이트를 확인 할 수 있으며, github를 통해 오픈소스를 받을 수 있다.


설치의 경우 Ununtu 리눅스에 최적화 되어있다..

현재 CentOS에 계속 삽질을 했으나.. 역시나 우분투로 진행하는게 훨씬 나은 것 같다..

Docker로 컨테이너 지원을 하고 있으니, 이를 활용하면 무척 간편하게 설치하여 이용 할 수 있다!

'Develop Issue > Fossology' 카테고리의 다른 글

Fossology URL query별 접속되는 페이지 알아보기  (1) 2017.11.13
fossology web 편집하기  (0) 2017.11.10

+ Recent posts