● 어빌리스츠 설치하기
먼저 어빌리스츠 설치를 설치합니다.아래의 설치 프로세스를 참조해주시기 바랍니다.
● 파트너 ID등록
오른쪽 위의 사용자 아이콘을 클릭하고 관리자
를 클릭합니다.
관리자 아이디
/ 패스워드
를 입력합니다.
파트너 / 파트너 등록
에서 파트너 등록에서 이용약관을 동의해 주시기 바랍니다.
파트너 등록은 누구나 무료
이며, 이름과 이메일 주소를 등록하므로서 파트너 등록이 완료됩니다.
● 플러그인을 설치
메뉴이름
에는 원하시는 메뉴 이름를 입력합니다.
오른쪽의 인스톨
을 클릭합니다.
톰캣을 재시작 합니다.
리눅스용의 [톰캣을 재시작하기]버튼을 이용하는 것보다는 직접 커맨드를 이용하여 해 주시기 바랍니다.
$ /usr/local/tomcat/bin/shutdown.sh Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar $ /usr/local/tomcat/bin/startup.sh Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Tomcat started.
● 설치된 플러그인 확인
설치된 플러그인을 사용하기 위해서는 다시 로그인을 해주시기 바랍니다.
로그인후, 오른쪽 플러그인 사이트 메뉴에서 확인이 가능합니다.
또한 위의 메뮤에서 [플러그인 / 플러그인
]을 선택하시면, 플러그인 홈 페이지에서 설치된 플러구인을 확인 가능합니다.
플러그인 홈 페이지에는 설치된 플러그인과 메뉴에는 플러그인 메뉴 이름이 탭형식으로 표시됩니다.
아래는 근태관리 플러그인 링크를 클릭을 하면 보여지는 화면 입니다.
● Github에 공개된 플러그인 샘플을 통해 새로운 플러그인을 개발 할 수 있습니다.
샘플 플러그인 소스가 있는 Github URL입니다.
새로운 플러그인을 개발하는데 필요한 정보가 공개 되었습니다.
https://github.com/abilists/plugin_sample
샘플 플러그인 소스가 있는 Github에 접속하여 Clone을 합니다.
$ git clone https://github.com/abilists/plugins_sample.git
새로운 플러그인을 개발함에 있어 한가지 중요한 규칙이 있습니다.
sample을 해당 프로젝트 이름으로 변경해주시고 개발해 주시기 바랍니다.
(아래는 예를 든 경우입니다.) 변경전plugin_sample변경후
plugin_survey
● 샘플 플러그인(plugin_sample)프로젝트로 개발 시스템 환경 설정
먼저 필요한 유틸리티 프로그램을 Clone하여 Local에 인스톨 합니다.
io.utility:security:0.0.3
유틸리티 홈에서 아래의 명령으로 설치를 합니다.
$ gradle install
경우에 따라 아래의 유틸리티를 Clone하여 설치하시면, 개발에 많은 도움이 됩니다.
io.utility:letter:0.0.7 io.utility:api:0.0.4 io.utility:image:0.0.2 io.utility:validate:0.0.5
샘플 플러그인(plugin_sample
) 을 Clone하여 Eclipse내의 프로젝트로 전환한 화면입니다.
plugin_sample
을 Jetty를 통해서 Local에서 실행합니다.
*에러가 발행 할 시에는 gradle clean
명령를 한번 실행하고 Jetty를 기동합니다.
$ cd ~/git/plugin_sample $ gradle clean $ gradle jettyRun
다음은 plugin_sample
을 개발 환경에서 실행한 화면입니다.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder] 31 Mar 2020;01:28:46.024 [Daemon worker] INFO o.s.w.c.ContextLoader.initWebApplicationContext(304) - Root WebApplicationContext: initialization started 31 Mar 2020;01:28:46.063 [Daemon worker] INFO o.s.w.c.s.XmlWebApplicationContext.prepareRefresh(583) - Refreshing Root WebApplicationContext: startup date [Tue Mar 31 01:28:46 JST 2020]; root of context hierarchy 31 Mar 2020;01:28:46.096 [Daemon worker] INFO o.s.b.f.x.XmlBeanDefinitionReader.loadBeanDefinitions(317) - Loading XML bean definitions from class path resource [applicationContext.xml] 31 Mar 2020;01:28:46.444 [Daemon worker] INFO o.s.b.f.x.XmlBeanDefinitionReader.loadBeanDefinitions(317) - Loading XML bean definitions from class path resource [spring/common.xml] 31 Mar 2020;01:28:46.466 [Daemon worker] INFO o.s.b.f.x.XmlBeanDefinitionReader.loadBeanDefinitions(317) - Loading XML bean definitions from class path resource [spring/config.xml] 31 Mar 2020;01:28:46.484 [Daemon worker] INFO o.s.b.f.x.XmlBeanDefinitionReader.loadBeanDefinitions(317) - Loading XML bean definitions from class path resource [spring/h2.xml] 31 Mar 2020;01:28:46.520 [Daemon worker] INFO o.s.b.f.x.XmlBeanDefinitionReader.loadBeanDefinitions(317) - Loading XML bean definitions from class path resource [spring/mappingDb.xml] 31 Mar 2020;01:28:46.540 [Daemon worker] INFO o.s.b.f.x.XmlBeanDefinitionReader.loadBeanDefinitions(317) - Loading XML bean definitions from class path resource [spring/dao.xml] 31 Mar 2020;01:28:46.555 [Daemon worker] INFO o.s.b.f.x.XmlBeanDefinitionReader.loadBeanDefinitions(317) - Loading XML bean definitions from class path resource [spring/plugins.xml] 31 Mar 2020;01:28:46.568 [Daemon worker] INFO o.s.b.f.s.DefaultListableBeanFactory.registerBeanDefinition(821) - Overriding bean definition for bean 'ssConfigService' with a different definition: replacing [Generic bean: class [com.abilists.core.service.SsConfigService]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in URL [jar:file:/home/joonk/git/plugin_sample/libs/abilists_core-0.7.7.jar!/com/abilists/core/service/SsConfigService.class]] with [Generic bean: class [com.abilists.core.service.SsConfigService]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=start; destroyMethodName=stop; defined in class path resource [spring/plugins.xml]] 31 Mar 2020;01:28:46.569 [Daemon worker] INFO o.s.b.f.x.XmlBeanDefinitionReader.loadBeanDefinitions(317) - Loading XML bean definitions from class path resource [spring/utilities.xml] 31 Mar 2020;01:28:46.874 [Daemon worker] INFO o.s.b.f.a.AutowiredAnnotationBeanPostProcessor.(155) - JSR-330 'javax.inject.Inject' annotation found and supported for autowiring 31 Mar 2020;01:28:46.884 [Daemon worker] INFO o.s.b.f.a.AutowiredAnnotationBeanPostProcessor. (155) - JSR-330 'javax.inject.Inject' annotation found and supported for autowiring 31 Mar 2020;01:28:47.706 [Daemon worker] INFO c.a.c.s.SsConfigService.createUuId(87) - Created uuId=72dd9d70-e0ff-4437-b46c-0a0afe7fc122 31 Mar 2020;01:28:48.563 [Daemon worker] INFO o.s.j.d.i.ScriptUtils.executeSqlScript(443) - Executing SQL script from class path resource [sql/function_abilists.sql] 31 Mar 2020;01:28:48.566 [Daemon worker] INFO o.s.j.d.i.ScriptUtils.executeSqlScript(509) - Executed SQL script from class path resource [sql/function_abilists.sql] in 2 ms. 31 Mar 2020;01:28:48.571 [Daemon worker] INFO o.s.j.d.i.ScriptUtils.executeSqlScript(443) - Executing SQL script from class path resource [sql/function_abilists.sql] 31 Mar 2020;01:28:48.572 [Daemon worker] INFO o.s.j.d.i.ScriptUtils.executeSqlScript(509) - Executed SQL script from class path resource [sql/function_abilists.sql] in 1 ms. 31 Mar 2020;01:28:48.578 [Daemon worker] INFO o.s.j.d.i.ScriptUtils.executeSqlScript(443) - Executing SQL script from class path resource [sql/function_abilists.sql] 31 Mar 2020;01:28:48.580 [Daemon worker] INFO o.s.j.d.i.ScriptUtils.executeSqlScript(509) - Executed SQL script from class path resource [sql/function_abilists.sql] in 1 ms. 31 Mar 2020;01:28:48.651 [Daemon worker] INFO o.s.w.c.ContextLoader.initWebApplicationContext(344) - Root WebApplicationContext: initialization completed in 2624 ms > Building 75% > :jettyRun > Running at http://localhost:9005/