2019-11-07 關(guān)于打包的那些事

Salesforce除了通過ChangeSet 或者Ant自動部署之外,還有一種形式就是以打包的方式交付。打包之后還可以通過Security Review,upload到AppExchange上讓用戶下載。Security Review和Upload APPExchange之后模塊會單獨寫,本章只針對打包的流程加以說明。
包的類型
1.Unmanaged Package(代碼可見,包括Apex Class,Workflow)
2.Managed Package(Beta Version & Release Version) (代碼均不可見)
在Production環(huán)境只能安裝Release版本。Managed Package一旦Upload成功,只能去添加新的文件而不能刪除文件,所以在打成Managed包之前一定要對Unmanaged的包做好全面的測試。

然后就是我們打包過程中碰到的各種奇葩問題小結(jié):

  1. Managed package是不能夠在Sandbox打包的,Sandbox只能打包Unmanaged的包,如果想打Managed Package需要申請一個Developer Edition把打的Unmanaged Package安裝到該Org中,然后在這個環(huán)境中去打Managed包。
  2. Managed包會出現(xiàn)一些在Unmanaged包中不出現(xiàn)的問題,例如我們碰到的一個比較奇特的問題,就是我們在component里面定義了一個空數(shù)組,在managed package里面被解析成了字符串導致我們的頁面加載不出來。解決方案:我們在JS里面重新對數(shù)組做定義,可以解決。
 <aura:attribute name="ruleDelCriteriaList" type="PwC_Rule_Criteria__c[]" default=[]/>
  1. Name Space:為了避免你定義的Custome Object ect在target org有沖突,所以Salesforce會要求你打包的時候添加一個Name Space。對于Managed Package來說,如果你定義好了Name Space之后,Custom Object, Custom Field, Apex class 和Trigger里面會自動添加name space.但是在Lightning Component需要手動添加,包括 js files, 在attribute里面定義的Custom Object,對component的引用等等都需要修改。具體可以參考以下的鏈接。例子可以參考代碼塊,另外還需要注意需要手動修改 formula 字段,這個也不會自動添加Name Space。
    Name Space
<aura:component 
implements="flexipage:availableForAllPageTypes" 
controller="ABC_C.XYZ_GoalGaugeController"
extends="ABC_C:XYZ_UtilityComponent" access="global">
<aura:attribute name="ruleName" type="ABC_C__XYZ_Score_Rule__c"/>
<ABC_C:XYZ_ThresholdCalculationComponent  
thresholdRec="{!v.thresholdRec}" mode="{!v.mode}"/>

4.Managed package 還有一個需要注意的點是package一旦打成功,雖然你可以修改包里面的內(nèi)容,但是不允許去刪除文件,所以打包的時候一定要注意不要把多余的文件加到你的managed package里面。
5.另外一個奇怪的問題是,在標準的Object里面里面有一些custom field是自動創(chuàng)建的,比如Account里面的Active__c字段,它雖然是custom field,但卻不是我們手動創(chuàng)建的,如果你把這些字段加到你的package里面,會報field duplicate錯誤,要手動的把這些字段remove掉。
6.還有就是你在install的時候有些prerequisites需要去做,比如,你需要enable your domain.
7.另外你需要確認你的target org metadata usage,
例如Metadata Usage: Before installation, please confirm your org has at least 1 Custom Tab, 1 Dashboard. Go to Setup screen, from the Quick Find Box, select System Overview, scroll down to the User Interface.


System Overview
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容