Salesforce Admin 관련한 학습을 위해 Salesforce Developer Edition에 가입한 이후 직접 Custom App을 만들어보며 기록하는 시리즈 포스팅입니다.

이 시리즈에서 만들어볼 Application은 Recruiting이라는 앱입니다. 조직에서 채용을 관리하기 위한 App이 필요하다고 가정하고 위와 같은 오브젝트 구조를 통해 채용이 필요한 포지션, 지원자, 입사지원, 리뷰, 채용공고 등록 등의 기능을 구현하고, Salesforce Admin 범주에 속하는 다양한 기능들을 실습해볼 예정입니다.

세일즈포스는 다양한 애플리케이션(App)의 집합으로 이루어져 있습니다. 세일즈포스에서 기본적으로 제공하는 Sales, Marketing, Service 등이 있고 각 서비스는 Accounts, Contacts, Opportunities 등 과 같은 사용자 인터페이스 요소인 Tab을 통해 Object의 데이터에 접근할 수 있습니다.

Object는 세일즈포스에서 데이터를 저장하는 테이블 형태의 기본 단위입니다. 예를 들어, 고객 정보, 거래 정보, 케이스 관리 등을 저장하기 위한 구조화된 형태를 제공합니다.
오브젝트는 필드(Field)로 구성되며, 각 필드는 특정 종류(예: 텍스트, 날짜, 숫자 등)의 데이터를 저장합니다. 저장된 각각의 행들은 Record로 불립니다.

Standard Object는 Salesforce가 사전에 정의해 놓은 오브젝트로, 공통적으로 사용되는 비즈니스 엔티티를 나타냅니다. 예를 들어, Account(계정), Contact(연락처), Opportunity(영업 기회)와 같은 오브젝트가 이에 해당합니다.
Standard Object는 Salesforce의 기본 기능과 밀접하게 통합되어 있으며, 각 오브젝트는 특정 비즈니스 프로세스를 지원하기 위해 특별히 설계되었습니다.
사용자는 Standard Object의 필드를 커스터마이징할 수 있지만, 오브젝트 자체를 삭제하거나 기본 구조를 변경할 수는 없습니다.
Custmom Object는 Custom Object는 사용자가 자신의 특정 비즈니스 요구 사항에 맞게 Salesforce 내에서 직접 생성할 수 있는 오브젝트입니다.
사용자는 Custom Object를 통해 커스텀 필드를 정의하고, 오브젝트 간의 관계를 설정하며, 애플리케이션의 데이터 모델을 확장할 수 있습니다.
Custom Object는 각 비즈니스만의 특정한 데이터 관리 요구 사항을 충족하기 위해 사용됩니다.
두 객체의 주요한 차이점은 아래와 같습니다.
Grant Access Using Hierarchies 설정을 Standard Object에서는 이미 활성화 되어있고 수정할 수 없다. Cumstom Object에서는 설정을 변경할 수 있다.App에 대한 접근권한은 Profile 단위로 관리할 수 있다. 각 유저는 하나의 Profile을 무조건 가져야하며 하나만 가질 수 있습니다. [Setup]에서 Profile별로 각 App에 대한 Visibility를 설정해서 접근을 제어할 수 있다.

커스텀 오브젝트를 생성하면 위와 같은 표준필드가 사전에 정의되어 있습니다. Currency는 multicurrency가 활성화 되어 있어야 하고, Division은 조직에서 데이터를 구분하기위해 divisions를 사용해야 제공됩니다.