본문 바로가기

개발자정보

Visual force란?

반응형

Visual force는 Lightning 플랫폼에서 네이티브로 호스트할 수 있는 고도의 커스텀 유저 인터페이스를 개발자가 작성할 수 있도록 하는 프레임워크입니다.Visual force 프레임워크에는 HTML 와 비슷한 태그 기반의 마크업 언어 및 쿼리나 저장 등 기본적인 데이터베이스 조작을 매우 간단하게 실행할 수 있는 서버측의 표준 컨트롤러 세트가 포함되어 있습니다.

Visual force 마크 업 언어에서는 각 Visual force 태그가 페이지의 섹션, 관련 리스트 또는 항목 등 대략적인 사용자 인터페이스 컴포넌트 또는 세밀한 사용자 인터페이스 컴포넌트에 대응하고 있습니다.Visual force 컴포넌트의 동작은 표준 Salesforce 페이지와 같은 로직을 사용하여 제어할 수도 있고 개발자가 독자적인 로직을 Apex에서 기술한 컨트롤러 클래스와 관련 지을 수도 있습니다.

Visual force 컴포넌트와 그에 대응하는 태그의 샘플

Visual force 페이지란?
개발자는 Visual force를 사용하여 Visual force 페이지 정의를 작성할 수 있습니다.페이지 정의는 다음 두 가지 주요 요소로 구성됩니다.
Visual force 마크업
Visual force 컨트롤러
Visual force 마크업
Visual force 마크 업은 Visual force 태그, HTML, Javascript, 또는 1 개의 <apex:page> 태그 내에 내장되어 있는 그 외의 Web 대응 코드로 구성되어 있습니다.마크 업에서는, 페이지에 포함할 필요가 있는 유저 인터페이스 컴퍼넌트와 그 표시 방법을 정의합니다.

Visual force 컨트롤러
Visual force 컨트롤러는 연관된 Visual force 마크업에서 지정된 컴포넌트를 사용자가 조작(버튼이나 링크 클릭 등)했을 때의 동작을 지정하는 명령 세트입니다.컨트롤러를 사용하면 페이지에 표시되는 데이터에 액세스 할 수 있고, 컴포넌트의 동작을 변경할 수 있습니다.

개발자는 Lightning 플랫폼이 제공하는 표준 컨트롤러를 사용하거나 Apex에서 기술된 클래스를 포함하는 커스텀 컨트롤러 로직을 추가할 수 있습니다.
표준 컨트롤러는 표준 Salesforce 페이지에서 사용되는 것과 동일한 기능 및 로직으로 구성됩니다.예를 들어, 표준 거래처 컨트롤러를 사용하는 경우, Visual force 페이지에서 [저장]버튼을 클릭한 경우, 표준 거래처 편집 페이지에서 [저장]을 클릭한 경우와 같은 동작이 이루어집니다.
페이지에서 표준 컨트롤러를 사용했을 때 사용자에게 해당 개체에 대한 접근 권한이 없으면 접근 권한이 없다는 에러 메시지가 페이지에 표시됩니다.오브젝트에 사용자의 접근성을 확인하고 컴포넌트를 적절하게 표시하여 이를 회피할 수 있습니다.

표준 리스트 컨트롤러에서는 일련의 레코드를 표시 또는 조작할 수 있는 Visual force 페이지를 작성할 수 있습니다.레코드 셋을 사용하는 기존 Salesforce 페이지의 예로는 리스트 페이지, 관련 리스트, 일괄 액션 페이지 등이 있습니다.
커스텀 컨트롤러는 Apex에서 기술되는 클래스로, 표준 컨트롤러를 사용하지 않고 모든 페이지의 로직을 실장합니다.커스텀 컨트롤러를 사용하는 경우, 새로운 내비게이션 요소 또는 동작을 정의할 수 있지만, 표준 컨트롤러에 이미 정의된 기능도 다시 구현해야 합니다.
기타 Apex 클래스와 마찬가지로 커스텀 컨트롤러 전체는 시스템 모드로 실행됩니다.이 모드에서는 현재 사용자의 개체와 항목 수준의 권한은 무시됩니다.커스텀 컨트롤러내에서, 유저 프로파일을 이용해 액세스할지의 여부를 독자적으로 결정할 수 있습니다.

컨트롤러 확장은 Apex로 기술되는 클래스로, 표준 컨트롤러 또는 커스텀 컨트롤러의 동작을 추가하거나, 동작을 덮어씁니다.확장을 사용하면, 독자적인 커스텀 로직을 추가하는 한편, 다른 컨트롤러의 기능도 사용할 수 있습니다.
표준 컨트롤러는 사용자 모드에서 실행하여 현재 사용자의 권한, 항목 수준의 보안, 공유 규칙이 강제되므로 표준 컨트롤러를 확장하면 사용자 권한을 중시하는 Visual force 페이지를 구축할 수 있습니다.확장 클래스는 시스템 모드로 실행하지만, 표준 컨트롤러는 사용자 모드로 실행합니다.커스텀 컨트롤러와 같이, 유저 프로파일을 참조해 프로그램으로 액세스 시킬지를 지정할 수 있습니다.

 

커스텀 컨트롤러와 컨트롤러 확장 클래스는 시스템 모드에서 실행되므로 사용자 권한 및 항목 수준의 보안을 무시하지만 클래스 정의에 with sharing 키워드를 사용함으로써 사용자 조직의 공유 설정, 롤 계층 및 공유 규칙을 사용할 것인지 여부를 선택할 수 있습니다.자세한 것은, 「Apex 개발자 가이드」의 「with sharing, without sharing, inherited sharing 키워드의 사용」을 참조해 주세요.

 

Visual force 페이지를 사용할 수 있는 장소
개발자는 Visual force 페이지를 사용하여 다음을 수행할 수 있습니다.
거래처의 [신규] 버튼 또는 거래처 책임자의 [편집] 버튼 등의 표준 버튼을 덮어쓰기
[거래처] 탭 홈페이지 등의 탭 개요 페이지를 덮어쓰기
커스텀 탭을 정의하다
상세 페이지 레이아웃에 컴포넌트 포함
대시보드 컴포넌트 또는 맞춤 도움말 페이지를 작성하다
Sales force 콘솔의 사이드바 (커스텀 콘솔 컴포넌트)를 맞춤, 확장, 통합하기
Sales force 모바일 애플리케이션에서의 내비게이션 메뉴 항목 및 액션 추가
관련 항목:
커스텀 컨트롤러 생성
컨트롤러 확장 생성

 

 

 

 

반응형