Tips
외부 라이브러리 (jar파일)를 내 Portlet에 추가하는 방법
liferay-portal-<version>\/tomcat-<version>\/webapps\/ROOT\/WEB-INF\/lib에 jar 파일 복사
Portlet의 liferay-plugin-package.properties의 Portal Dependecy Jars에 해당 jar 추가
Web content 관련
Input form 정의 : Structure
Output form 정의 : Template
관련 Database : ddmstructure (structure 정보), ddmtemplate (template 정보), journalarticle (both)
CompanyId : liferay portal instance id
groupId : organizational or site id
Document나 media 파일들이 저장되는 위치
portal - data - document_library
document_library 디렉토리 내부 구조
/companyId/folderId/numericFileEntryName/versionNumber
참조
https:\/\/web.liferay.com\/community\/forums\/-\/message_boards\/view_message\/6387093
http:\/\/liferayiseasy.blogspot.kr\/2015\/07\/folder-and-file-upload-programmatically.html
https:\/\/web.liferay.com\/community\/forums\/-\/message_boards\/message\/39211598?_19_threadView=flat
이런 류 (file, document 등)를 다루는 API : DL services, DLApp services
Liferay.on method
- Event를 처리할때 사용한 것을 봄....(추가 조사 필요)
Elfinder 사용 시 몰랐던 사항들
github에 제공되는 Elfinder java connector 를 사용해보려 했다.
war 파일과 jar파일 두가지로 제공됬는데 둘의 차이는 war 파일은 controller까지 구현된 완벽한 것이고, jar 파일은 controller는 없는 라이브러리를 제공하는 파일이다. war파일을 이용하면 바로 내가 원하는 기능을 사용할 수 있지만 프로그래밍적으로 뭔가를 바꿀때에는 원본 소스를 건드려야 된다는 단점이 있다. jar 파일은 controller가 없기 떄문에 jar 파일이 제공하는 클래스들을 이용해서 내가 만들어내야한다는 장점이자 단점이 있다.
war 파일 이용시
war 파일을 tomcat의 webapp에다가 이동시켜놓으면 tomcat이 알아서 배포를 한다(디렉토리 생성). 이후 jsp 파일에서 iframe으로 접근을 할때에는 생성된 디렉토리 path를 넣어주면 된다. (예, iframe src="/elfinder-servlet-2.1.2/index.html")
future work : 동적으로 root directory를 지정하는 것을 jQuery를 이용해서 해볼 예정 (ex, index.html?rootDir=XXX)
Liferay server 작동시 *.properties 의 이해
property overwrite되는 순서: portal.properties (portal-impl.jar 파일 안에 있음) -> portal-ext.properties -> portal-setup-wizard.properties -> Values in the database
- 내가 처음 liferay를 구동했을 때에는 portal-ext.properties 파일은 없었다 -> portal-setup-wizard.properties 파일을 복사해서 이름만 변경시키면 된다.
Tomcat을 거치는 (Servlet) Controller에서 파일을 다룰 때와 ()에서 파일을 다룰때의 차이
tomcat은 webapp 아래에 있는 디렉토리들만 알고있기 때문에 경로가 거기부터 시작한다. 그러나 tomcat을 거치지 않고 파일을 다룰 때에는 root부터 해당 위치까지 절대경로로 지정해줘야 한다.
Liferay portal에서 File upload시 유의해야할 사항
- Supporting extensions를 꼭 확인한다. (.jsp 파일 올리려다가 이틀 날림) portal-ext.properties에 dl.file.extensions 값을 *로 바꿔봄, 결과는 아직.)
- single file upload와 multiple file upload의 방법이 다르다.
Eclipse에서 Liferay Project import방법
원하는 plug-in project를 liferay sdk > portlets 폴더에 넣어놓는다. (이름이 꼭 *-portlet이어야만 한다!!!) 이클립스 Package explorer 창에서 import -> liferay project from Plugin SDK 를 통해 import한다.
Service Builder build service시 ~~ number error 문제
package에서 service.properties 파일의 해당 값을 찾아 에러에서 나온 숫자보다 높게 바꿔준다.