본문 바로가기
IT/Mendix

[Mendix] 제약 조건 1 - Intermediate 자격증 공부 - DevelopMoon

by developmoon 2024. 11. 12.

 

간단한 제약 조건 사용

Mendix에서는 데이터를 제어하고 일관성을 유지하기 위해 다양한 제약 조건을 사용할 수 있다.

이 중 두 가지 중요한 요소는 Enumeration(열거형)과 시스템 변수이다. 이를 활용하면 애플리케이션의 유연성과 보안을 강화할 수 있다.

 

1. 열거형 (Enumeration)

  • 열거형은 문자열 값의 사전 정의된 목록이 있는 속성이다.
  • dropdown or radio button에서 선택할 수 있으며, 데이터의 일관성을 유지하기 쉽다.
  • 데이터베이스 수준에서 열거형은 단순히 문자열이다.
  • Mendix 플랫폼은 열거형 값으로 XPath를 만들 때 도움을 제공한다.

2. 시스템 변수

  • 자동 열거외에도 XPath를 만드는 데 사용할 수 있는 여러 시스템 변수가 있다.
  • 현재 사용자, 사용자 역할, 현재 세션 및 데이터를 더 잘 제어할 수 있도록 하는 여러 날짜와 시간에 대한 참조가 포함된다.
  • 이러한 변수를 항상 '[% 문자로 시작하며 ctrl-space 자동 완성 메뉴를 사용하여 찾을 수 있다.
  • 가장 유용한 시스템 변수 두 개는 '[%CurrentObject%]' 와 '[%CurrentUser%]' 변수이다.

3. 현재 객체(Current Object)

  • '[%CurrentObject%]' 변수는 현재 컨텍스트 개체의 고유 식별자를 나타낸다.
  • 실제로 이는 Data View에 포함된 Data Grid의 경우 '[%CuurrentObject%]'가 Data View의 개체를 나타낸다는 것을 의미한다.
  • 데이터 뷰의 개체는 Context Object라고 하며, 컨텍스트 개체가 없으면 이 변수는 자동 완성 메뉴에 나타나지 않는다.

4. 현재 사용자(Current User)

  • Mendix 플랫폼은 애플리케이션의 현재 사용자를 참조하는 빠른 방법을 제공한다.
  • ctrl-space dropdown menu에서 찾을 수 있는 '[%CurrentUser%]' 변수를 통해 수행된다.
  • '[%CurrentUser%]'는 XPath가 사용되는 모든 위치에서 사용할 수 있다.
    • 보안 제약 조건을 만들 때도 유용하며, 이를 활용하여 앱을 보호할 것이다.
  • 참고로 예약된 이벤트 및 시작 후 마이크로플로와 같은 시스템 프로세스에서 '[%CurrentUser%]' 변수를 사용하면 안된다.
    • 해당 시점에는 사용자가 존재하지 않기 때문에 해당 변수를 사용할 수 없다.

Reference

https://academy.mendix.com/link/paths