Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

  1. 정의

  1. NodeType에 종속되는 스키마이고 NodeType이 가지게 되는 트랜잭션이다. 여기서 말하는 트랜잭션이란 목록 조회, 상세 조회, 데이터 등록, 데이터 수정, 데이터 삭제 등을 말한다.


  2. Event가 정의되면 솔루션 API 가 제공된다. (예시) /adm/[NodeType의 tid]/[Event의 event]

  3. 솔루션 관리자 UI 구성 시 Presentational Component 의 Button 사용이 달라진다.


  1. 속성정의

속성

필수

기본값

설명

event

필수


  1. Event의 ID 이므로 중복되어서는 안된다.

  2. 솔루션 API URL의 마지막 path 이다.

  3. 카멜 표기법을 기준으로한다.

name

필수


  1. Event 명

label



  1. 솔루션 관리자 UI 구성시에만 적용된다.

  2. 솔루션 관리자 UI 구성시 Button 명으로 사용된다.

eventType



  1. 솔루션 관리자 UI 구성시에만 적용된다.

“direct”

: Form 또는 List 형태의 페이지에서 사용할 때

“form”: Form 형태의 페이지에서 사용할 때

“link”: 단순 페이지 이동시

“view”: 조회 성격의 이벤트일 때(목록 조회, 상세 조회 등)

noneExecute



  1. 실제로 데이터를 업데이트하는 이벤트가 아니라 주로 조회만 하는 이벤트인 경우 true로 설정.

  2. true인 경우 트랜잭션 처리를 안하고 POST외에 GET으로도 이벤트 직접 호출 가능

enablePageTypes



  1. 솔루션 관리자 UI 구성시에만 적용된다.

“list” : List 형태의 페이지에서 사용할 때

“view” : Form 형태의 페이지에서 사용할 때

enableFormTypes



  1. 솔루션 관리자 UI 구성시에만 적용된다.

“createForm” : 등록 Form 페이지에서 사용할 때

“updateForm” : 수정 Form 페이지에서 사용할 때

“view” : 상세 Form 페이지에서 사용할 때

linkType



  1. 솔루션 관리자 UI 구성시에만 적용된다.

  2. 링크 유형을 정의한다.

  3. eventType이 link 일 때 적용된다.

“modal” : Modal을 호출한다.

“page” : 페이지 이동

“window” : 탭을 열어 페이지 이동

linkUrl



  1. 솔루션 관리자 UI 구성시에만 적용된다.

  2. 페이지 이동 url을 정의한다.

  3. eventType이 link 일 때 적용된다.

callbackLinkUrl



  1. 솔루션 관리자 UI 구성시에만 적용된다.

  2. 이벤트를 실행하고 이동할 url을 정의한다.

eventActions



EventAction 을 Array 로 정의

eventListeners



EventListeners 를 Array 로 정의

  1. 예시

  1. JSON

{

“typeId”: “nodeType”,

“parentId”: “root”,

“tid:”: “ctsBasAptM”,

“repositoryType”: “node”,

“typeName”: “공항기초”,

“historyable”: true,

“propertyTypes”: [],

“events: [

{

“event”: “list”,

“name”: “List”,

“label”: “목록”,

“noneExecute”: false,

“eventType”: “link”,

“enablePageTypes”: “createForm”,

“linkType”: “page”,

“linkUrl”: “/admin/custom/testBoard/list”

},

{

“event”: “create”,

“name”: “Create”,

“label”: “등록”,

“noneExecute”: false,

“eventType”: “form”,

“enablePageTypes”: “list”,

“enableFormTypes”: “createForm”,

“linkType”: “page”,

“linkUrl”: “/admin/custom/testBoard/createForm”,

“callbackLinkUrl”: “/admin/custom/testBoard/list”

}

]

}


  1. Schema Event Action

    1. 정의

  1. Event 에 종속되는 스키마이고 Event가 가지게 되는 작업이다.

  2. 하나의 Event는 여러 개의 Event Action 을 가질 수 있다.

  1. 속성정의

속성

필수

기본값

설명

action

필수


  1. Event Action의 ID 이므로 중복되어서는 안된다.

  2. 카멜 표기법을 기준으로한다.

actionType

필수


  1. Event Action의 유형을 정의한다.

“service” : Java Class 와 바인딩

“update” : DBMS INSERT, UPDATE, DELETE Query 실행

“select” : DBMS SELECT Query 실행

“call” : DBMS Function 실행

datasource



  1. 사용할 dabasource

beforeAction



  1. true 이면 데이터 저장 전에 실행하는 action, validation 같은 용도로 활용한다.

  2. false 이면 데이터 저장 이후에 실행되는 action

actionBody

필수


  1. actionType의 정의에 따라 입력방식이 달라진다.

  2. actionType = “service” 일 경우

[Class annotation의 Service명].[메소드명]

  1. actionType = “update” 일 경우

DBMS INSERT, UPDATE, DELETE Query 를 입력한다.

파라미터는 {{:파라미터명}} 으로 받을수 있다.

예시)

/[NodeType의 tid]/[Event의 event]?userId=1234

SELECT * FROM user WHERE id = {{:userId}}

  1. actionType = “select” 일 경우

DBMS SELECT Query 를 입력한다. 파라미터 바인딩 방식은 actionType이 “update” 일 경우와 같다.

  1. actionType = “call” 일 경우

DBMS의 Function을 입력한다.

orderNo



  1. Event 실행시 Event Action 들이 순차적으로 실행되는 순서


  1. 예시


  1. JSON

{

“typeId”: “nodeType”,

“parentId”: “root”,

“tid:”: “ctsBasAptM”,

“repositoryType”: “node”,

“typeName”: “공항기초”,

“historyable”: true,

“propertyTypes”: [],

“events: [

{

“event”: “list”,

“name”: “List”,

“label”: “목록”,

“noneExecute”: false,

“eventType”: “link”,

“enablePageTypes”: “createForm”,

“linkType”: “page”,

“linkUrl”: “/admin/custom/testBoard/list”,

“eventActions”: [

{

“action”: “listAction”,

“actionType”: “select”,

“datasource”: “test”,

“beforeAction”: false,

“actionBody”: “SELECT * FROM ctsBasAptM”,

“orderNo”: 1

}

]

},

{

“event”: “create”,

“name”: “Create”,

“label”: “등록”,

“noneExecute”: false,

“eventType”: “form”,

“enablePageTypes”: “list”,

“enableFormTypes”: “createForm”,

“linkType”: “page”,

“linkUrl”: “/admin/custom/testBoard/createForm”,

“callbackLinkUrl”: “/admin/custom/testBoard/list”,

“eventActions”: [

{

“action”: “createAction”,

“actionType”: “service”,

“datasource”: “”,

“beforeAction”: false,

“actionBody”: “contestService.create”,

“orderNo”: 1

}

]

}

]

}


  • No labels