"Force.com"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
잔글 |
잔글 |
||
864번째 줄: | 864번째 줄: | ||
:*http://www.youtube.com/watch?v=M2isOy42160&feature=related | :*http://www.youtube.com/watch?v=M2isOy42160&feature=related | ||
− | |||
==Managed Package== | ==Managed Package== | ||
===주의 사항=== | ===주의 사항=== |
2018년 2월 12일 (월) 13:51 기준 최신판
Salesforce에서 제공하는 PaaS (Platform as a Service) 형태로 제공하는 Force.com을 정리 합니다.
목차
- 1 Force.com 개요
- 2 개발 환경 설정
- 3 Force.com Debugging
- 4 Force.com 제약 사항
- 5 Visualforce
- 6 Report & Dashboard
- 7 Mobile
- 8 Force.com Tool 및 연동 기능
- 9 AJAX Toolkit 개발
- 10 Force.com의 연동 기능
- 11 기타 개발
- 12 Force.com 이관 순서
- 13 Force.com 공수 산정
- 14 Force.com 가격
- 15 Trialforce
- 16 Concur
- 17 Managed Package
- 18 Salesforce 매뉴얼
- 19 Force.com 매뉴얼
- 20 참고문헌
- 21 지원 업체
Force.com 개요
대표적인 SaaS 서비스인 Salesforce을 PaaS 영역으로 확장 시킨 것이 Force.com 입니다.
- Force.com의 구성
- Force.com Overview
SFDC Java API |
|
Ext-JS |
|
jQuery |
|
AJAX Toolkit |
|
Page 적용 대상 UI |
|
정적 자원 (Resource) |
|
구성 요소 (Component) |
|
사용자 정의 라벨 (Custom Label) |
|
사용자 정의 설정 (Custom Setting) |
|
필드 집합 (Field Set) |
|
StandardSetController |
|
StandardController |
|
Page |
|
Email Service |
|
RemoteAction |
|
Web Services |
|
Batch Apex |
|
Scheduler |
|
Trigger |
|
Testing Apex |
|
Class |
|
DML |
|
SOSL |
|
SOQL |
|
- Force.com MVC Model
개발 환경 설정
무료 에디션 신청
- Force.com Developer Edition
- Free Force.com 페이지에서 "Get Started" 버튼을 선택할 것
Eclipse Plugin 설정
- Eclipse 3.5 (Galileo), JDK 1.5+ 지원
- Eclipse에서 Force.com Plugin을 설치 합니다.
- Eclipse에서 "Help -> Install New Software..." 메뉴를 선택하는 "Add..." 버튼을 선택 합니다.
- Name : Force.com IDE
- Location : http://www.adnsandbox.com/tools/ide/install/
- 목록 중에서 "Force.com IDE"를 선택하여 설치 합니다.
Eclipse Plugin upgrade
- "Help -> Show Force.com Start Page" 메뉴를 선택 합니다.
- Eclipse IDE에서 우측 상단의 "check for updates" 링크를 선택 합니다.
- "Next"를 선택 합니다.
- "Next"를 선택 합니다.
- "Finish"를 선택 합니다.
- "Install All"을 선택 합니다.
지원 도구
- http://www.adnsandbox.com/tools/ide/install/ : Force.com IDE for Eclipse 3.6
- 다운로드 : Force.com Migration Tool
Force.com IDE Charset 설정
- "Window -> Preferences -> General -> Workspace" 메뉴에서 "Text file encoding"을 "UTF-8"로 설정 합니다.
- Package Explorer에서 패키지명을 오른쪽 마우스로 클릭 합니다.
- "Properties -> Resource" 메뉴에서 "Text file encoding"을 "UTF-8"로 설정 합니다.
- Package Explorer에서 임의의 프로그램을 오른쪽 마우스로 클릭 합니다.
- "Run As -> Run Configurations..." 메뉴를 선택 합니다.
- "Arguments" 탭에서 "VM arguments"에 "-Dfile.encoding=UTF-8"를 추가 합니다.
- "Common" 탭에서 "Encoding"을 "UTF-8"로 설정 합니다.
아래 사항은 WSC (Web Service Connector)에서 사용할 수 있는 Charset 설정 입니다.
- ~.properties 파일을 깨어지지 않은 형태로 보고 싶을 경우
- "Help -> Install New Software..." 메뉴를 선택 합니다.
- "Add..." 버튼을 눌러 다음과 같이 입력한 후 Property Editor를 설치 합니다.
- Name : Propedit
- Location : http://propedit.sourceforge.jp/eclipse/updates/
- Java Compile과 실행시 다음과 같이 설정 합니다.
- 예) %JAVA_HOME%\bin\javac -source 1.6 -target 1.6 -encoding UTF-8 -d %WSC_TARGET% %WSC_SRC%/com/jopenbusiness/sfdc/wsc/Sample.java
- 예) %JAVA_HOME%\bin\java -version:1.6 -Dfile.encoding=UTF-8 com.jopenbusiness.sfdc.wsc.Sample
- ANT 사용시 java task 사용시 다음을 추가 합니다.
- <jvmarg value="-version:1.6" />
- <jvmarg value="-Dfile.encoding=UTF-8" />
Excel Connecter
- 참고 문헌
Force.com Debugging
- Debugging 메뉴
- 개발자 콘솔
- 설정 -> 관리 설정 -> 모니터링 -> 디버그 로그
- Force.com Debugging
- Execution { <- Execution Started/
- Visualforce Page {
- VF Deserialize Viewstate
- }
- Visualforce Page {
-
- Class - get { <- Code Unit Started/Finished
- Class - hasException {
- Class - 생성자
- }
- Class - hasException {
- }
- Class - get { <- Code Unit Started/Finished
-
- Class - invoke (copyQuoteItemsToOppty) {
- Statement Execute : 실행한 라인 번호
- Exception Thrown : Exception 오류 발생
- Fatal Error
- }
- Class - invoke (copyQuoteItemsToOppty) {
- }
Force.com 제약 사항
- 참고 문헌
Force.com Free
- 가격 : 무료
- 사용자 수 : 최대 100명
- 애플리케이션 : 최대 1개
- 개체 : 최대 10개
- 스토리지 : 최대 1GB
Force.com Enterprise
- 가격 : 사용자당 월 $50
- 사용자 수 : 100명 이상 가능
- 애플리케이션 : 최대 10개
- 개체 : 최대 200개
- 탭 : 최대 25개 (?)
- 스토리지 :
- Chatter 포함
- Account, Contact 개체 사용 가능
- Mobile Access
Force.com Unlimited
- 가격 : 사용자당 월 $75
- 사용자 수 : 100명 이상 가능
- 애플리케이션 : 무제한
- 개체 : 최대 2000개
- 탭 :
- 스토리지 :
- Chatter 포함
- Account, Contact 개체 사용 가능
- Mobile Access
- Multiple sandbox
Apex Code 제약 사항
Apex Code가 실행될 때, Trigger가 같이 실행된다면 제약 사항은 Apex Code와 Trigger의 합으로 적용이 됩니다.
- Apex Code 제약 사항
- 한번의 Query로 가져올 수 있는 레코드 수 : 200개
- 하나의 Apex Code에서 가져올 수 있를 레코드 수 : 10,000개
- Apexe Trigger 제약 사항
- 최대 1000 레코드 처리
- 하나의 SOQL문은 최대 20개의 레코드 반환
- your organization limit of 2 MB for all Apex scripts
- No more than 10 method calls per Apex invocation
- Methods with the future annotation can execute 100 SOQL queries when they are in the context of a testMethod
- Salesforce.com also imposes a limit on the number of future annotations: 200 method calls per full Salesforce.com user license per 24 hours. This is an organization-wide limit. For example, suppose your organization has 5 full Salesforce.com user licenses and 100 Customer Portal User. Your entire organization is limited to only 1,000 method calls every 24 hours (5 * 200, not 105.)
Description | Limit |
|
100회 |
|
200회 |
|
50,000 레코드 |
|
20회 |
|
200 레코드 |
|
150 회 |
database.emptyRecycleBin
|
10,000 레코드 |
|
200,000 |
|
1,000,000 |
|
3 MB |
|
6 MB |
|
16 depth |
|
200 |
|
10 |
|
120 seconds |
|
10 seconds |
|
10 |
|
3 MB |
|
10 |
|
100 |
Visualforce 제약 사항
- Stacit Resource : 각각 5MB, 최대 250MB
- Maximum view state size limit (135KB)
Excel Connecter 제약 사항
- 한번에 처리되는 레코드의 개수 : 50 레코드
- 작업할 수 있는 최대 필드(항목) 수 : 20 필드
- 작업할 수 있는 최대 레코드 수 : 5,000 레코드
Salesforce 가격
- Sales Cloud - Enterprise Edition : $125 / user, month
- Service Cloud - Enterprise Edition : $135 / user, month
- Force.com - Enterprise Edition : $50 / user, month
- Force.com - Enterprise Edition (One App) : $15 / user, month
- Enterprise Edition (Knowledge-only) : $50 / user, month
- Additional API Calls - 10,000 per day: $25 / user, month
- Data Storage (50MB): $25 / user, month
- Data Storage (500MB): $125 / user, month
- File Storage (1GB): $5 / user, month
- File Storage (10GB): $41.5 / user, month
- Sandbox (Full Copy) - 2 : 2,175
Visualforce
Report & Dashboard
- Report 목록 : /servlet/servlet.ReportList
- Report URL 분석
- /Report_ID
- pv0 : 첫번째 Filter의 값
- pv1 : 두번째 Filter의 값
- isdtp=mn : 상단 메뉴없이 표시
- /00Ox0000000xxxx?export=1&enc=UTF-8&xf=csv : csv로 다운로드
- /00Ox0000000xxxx?export=1&enc=UTF-8&xf=xls : Excel 파일로 다운로드
- Dashboard URL 분석
- /Dashboard_ID
- isdtp=mn : 상단 메뉴없이 표시
- 관련 참조
Mobile
- Force.com 모바일
- Force.com : iPhone, BlackBerry, Windows Mobile 지원
- Chatter : iPhone, iPad, BlackBerry, Android 지원
- 설치 URL : http://mobile.salesforce.com/setup
- Android App
- 참고 문헌
Force.com Tool 및 연동 기능
Data Loader |
|
Excel Connector |
|
Import Wizards |
|
Force.com IDE |
|
Apex Explorer |
|
Force.com Explorer |
|
Force.com Migration Tool |
|
SAML 1.1, 2.0 |
|
Delegated authentication |
|
Identity Provider |
|
OAuth 1.0.A, 2.0 |
|
Pseudo SSO | |
Chatter |
|
Chatter Desktop |
|
Salesforce Mobile |
|
Salesforce for Outlook |
|
Connect for MS Outlook |
|
Connect for Lotus Notes |
|
Connect for Office |
|
Force.com Connect Offline |
|
Web-to-Lead |
|
Email Services |
|
Web-to-Case |
|
Email-toCase |
|
Self-Service Portal |
|
Call Centers |
|
Sites |
|
Salesforce to Salesforce |
|
Salesforce CRM Content |
|
Social Account and Contacts |
|
Force.com Flow |
|
Customer Portal |
|
Partner Portal |
|
개발을 통한 연동 |
|
AJAX Toolkit 개발
- Session
var __sfdcSessionId = "{!GETSESSIONID()}"; //--- sforce.connection.sessionId 에 저장됨
- AJAX Toolkit Shell
- /soap/ajax/22.0/debugshell.html
Force.com의 연동 기능
Web Service 방식 (실시간 연동) |
global class MyWebService { webService static Id makeContact(String lastName, Account a) { Contact c = new Contact(lastName = 'Weissman', AccountId = a.Id); insert c; return c.id; } }
|
Library 제공 방식 (배치 연동, 실시간 연동) |
<apex:page showHeader="false" > <script src="../../soap/ajax/21.0/connection.js"></script> </apex:page> |
Toolkit 활용 방식 (호출 연동) |
|
- 원격 액세스 (OAuth)
- OAuth 2.0에서 사용되는 두 개의 주요 끝점은 다음과 같습니다.
- Apex API
- Sending an Email with Visualforce
- Force.com for Google App Engine Java
- sfdc-oauth-playground
- 참고 문헌
기타 개발
사진 업로드
Apex DataLoader
Force.com 이관 순서
Force.com을 Eclipse를 사용하여 수작업으로 이관할 때의 순서를 정리 합니다.
이관시 가장 중요한 것은 object와 class 입니다.
- labels : 상속 받을 경우 각각을 통합할 것
- objects
- 관련 Page 생성
- 개체간 관계 형성
- workflows
- triggers
- staticresources
- objectTranslations
- layouts
- reports
- dashboards
- weblinks
- homePageComponents
- homePageLayouts
- classes -> 반드시 클래스와 테스트 클래스는 다른 파일로 만들것
- Test.setCurrentPage를 주석으로 막아두고 서버에 올린다.
- Page.SNB_P_SMS 와 같이 Page 뒤에 나오는 빈 페이지를 만들 것
- components
- tabs
- pages
- applications
- profiles
- sites
- 순서에 상관 없는 항목
- documents
- remoteSiteSettings
- 비어있던 폴더
- datacategorygroups
- letterhead
- reportTypes
- scontrols
Force.com 공수 산정
- 난이도가 보통인 Force.com 프로그램을 기준으로한 공수 산정
- 분석, 설계, 개발, 테스트, 배포, 산출물까지를 포함한 공수 산정
- 프로그램 한본의 기준
- 화면이 있는 프로그램 : Apex Code + Visualforce Page
- 화면이 없는 프로그램 : Apex Code
고급 개발자 |
|
중급 개발자 |
|
초급 개발자 |
|
Force.com 가격
- 1GB Disk 제공
- 1GB 추가 구매시 $3000
- 600 MB * User_수 File Storage 제공
- 10GB 추가 구매시 $498
Trialforce
Trialforce를 생성하기 위해서는 다음과 같은 절차에 따라 작업을 해야 합니다.
- Trialforce를 만들기 위한 Package를 생성 합니다.
- Salseforce로부터 해당 Package에 대한 Security Review를 받습니다.
- Partner Portal에서 Case를 생성하여 Trialforce master Org를 신청 합니다.
- 새로 생성된 Trialforce master Org에서 Trialforce를 생성한 후, 홈페이지 등에서 사용할 수 있도록 합니다.
Security Review
- Salesforce는 Security Review가 통과된 application에 대해서만 Trialforce를 제공 합니다.
- $300 for initial review. $150 thereafter for subsequent annual reviews
- Security Review 도구
- 참고 문헌
Trialforce master Org
- Trialforce master Org를 생성 합니다.
- Force.com Partner Portal에서 "Home -> Create A Case" 메뉴를 선택 합니다.
- Category를 선택 합니다.
- "I have a question or issue relating to a salesforce.com partner program."를 선택 합니다.
- "Trialforce -> Initate Trialforce Process"를 선택 합니다.
- Reason으로 "Administration Request"를 선택 합니다.
- Subject에 "Request for Trialforce master Org"를 입력 합니다.
- Description에서 아래의 질문에 답변을 등록한 후 "Save" 버튼을 누릅니다.
- Name of app:
- Is this for Trial on AppExchange or stand-alone Trialforce?
- Please include description of the app (or your AppExchange listing URL if applicable).
- Trialforce master Org를 생성하기 위한 Case의 상세 정보 입니다.
- 메일도 같이 오는데, 48시간 이내에 답변을 준다고 합니다.
- Trialforce master Org에서 Shapshot를 생성 합니다.
- "설정 -> App 설정 -> Trialforce"에서 "Snapshot Organization" 버튼을 눌러 Snapshot를 생성 합니다.
- "Snapshot ID"와 함께 1달 무료 평가판 등록 페이지가 생성이 되어 메일로 옵니다.
- 고객이 1달 무료 평가판을 신청할 수 있도록 등록 페이지를 자신의 홈페이지 등에 추가 합니다.
- 참고 문헌
Concur
AMEX 카드를 처리하는 Concur과 연동을 합니다.
- Sample Code
- YouTube
Managed Package
주의 사항
- Force.com 사용자 (사용자 라이선스가 Salesforce Platform인 사용자)
- 개체가 표시되지 않고 권한 없음이 표시될 때, 각 개체에서 "개발 상태"를 "배포됨"으로 설정할 것
Managed Package 제약 사항
항목 | 배포자 제약 사항 | 사용자 제약 사항 |
Apex 클래스 |
|
|
Apex 트리거 |
|
|
Visualforce 페이지 |
|
|
Visualforce 구성 요소 | 미확인 | 미확인 |
정적 자원 |
|
|
필드 집합 | 미확인 | 미확인 |
사용자 정의 개체 |
|
|
사용자 정의 필드 |
|
|
페이지 레이아웃 |
|
|
확인 규칙 | 미확인 | 미확인 |
단추 또는 링크 |
|
|
목록 보기 | 미확인 | 미확인 |
응용 프로그램 |
|
|
탭 |
|
|
홈 페이지 레이아웃 |
|
|
홈 페이지 구성 요소 |
|
|
보고서 |
|
|
대시보드 |
|
|
문서 |
|
|
폴더 |
|
|
워크플로 규칙 |
|
|
워크플로 아웃바운드 메시지 | 미확인 | 미확인 |
워크플로 이메일 경고 |
|
|
워크플로 작업 |
|
|
워크플로 필드 업데이트 |
|
|
레코드 유형 |
|
|
레터헤드 |
|
|
분석 스냅샷 | 미확인 | 미확인 |
사용자 정의 보고서 유형 |
|
|
사용자 정의 설정 |
|
|
원격 사이트 | 미확인 | 미확인 |
이메일 템플릿 |
|
|
프로필 설정 | 미확인 | 미확인 |
Apex 공유 이유 | 미확인 | 미확인 |
S-Control | 미확인 | 미확인 |
수정 가능 항목
- Visualforce Page
- https://na7.salesforce.com/a05/o : 탭
- https://c.na7.visual.force.com/apex/Schema : Visualforce Page
- https://na7.salesforce.com/apex/pnus__Schema : 네임스페이스가 PNUS인 Visualforce Page
- https://pnus.na7.visual.force.com/apex/Schema : 네임스페이스가 PNUS인 Visualforce Page
PnusBase Package
- 네임스페이스 접두사 : PNUS
- PNUS Force.com Library
- PnusBase Managed Package : https://login.salesforce.com/packaging/installPackage.apexp?p0=04t90000000Le0X
- PnusBase Unmanaged Package : https://login.salesforce.com/packaging/installPackage.apexp?p0=04t90000000Le0h
Salesforce 매뉴얼
Force.com 매뉴얼
참고문헌
- Salesforce.com 도움말 : 로그인한 사용자만 볼 수 있음
- Force.com Documentation : Documentation을 모아둔 페이지
- Force.com Flex
- Force.com Web Service Connector (WSC)
- SFDC 교육 검색
- SFDC Podcasts
- SFDC Training & Certification
- Salesforce Icons
- VisualForce 매뉴얼
- Visualforce Developer's Guide (PDF)
- Visualforce Workbook, PDF
- Visualforce Components : 로그인 후 사용 가능, /apexpages/apexcomponents.apexp
- Web Services API 매뉴얼
- apex-lang : Force.com을 위한 오픈소스 라이브러리
- Force.com Web Services Connector
- CSV Reader
- http://www.ericsantiago.com/eric_santiago/2011/03/upload-and-parse-csv-via-visualforce.html
- http://blog.nicocrm.com/2011/03/06/parse-csv-file-in-salesforce-apex/
- http://www.forcetree.com/2010/08/read-and-insert-records-from-csv-file.html
- http://frombelvideres4thfloor.blogspot.com/2010/10/ietf-rfc-4180-compliant-csv-reader-for.html
- Limitation
지원 업체
SuiteCRM을 사용한 영업관리, 고객관리는 아래 담당자에게 연락하여 주시면, 빠르고 친절하게 전문적인 답변을 드리겠습니다.
영업 문의 | sales@obcon.biz | 010-4667-1106 | 영업 대표 |
기술 문의 | tech@obcon.biz | 구축/컨설팅 담당 | |
고객 지원 | support@obcon.biz | 고객 지원 담당 |