美文网首页JAVA技术文章
2019-11-07 关于打包的那些事

2019-11-07 关于打包的那些事

作者: 古月的小七 | 来源:发表于2019-12-11 16:59 被阅读0次

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环境只能安装Release版本。Managed Package一旦Upload成功,只能去添加新的文件而不能删除文件,所以在打成Managed包之前一定要对Unmanaged的包做好全面的测试。

然后就是我们打包过程中碰到的各种奇葩问题小结:

  1. Managed package是不能够在Sandbox打包的,Sandbox只能打包Unmanaged的包,如果想打Managed Package需要申请一个Developer Edition把打的Unmanaged Package安装到该Org中,然后在这个环境中去打Managed包。
  2. Managed包会出现一些在Unmanaged包中不出现的问题,例如我们碰到的一个比较奇特的问题,就是我们在component里面定义了一个空数组,在managed package里面被解析成了字符串导致我们的页面加载不出来。解决方案:我们在JS里面重新对数组做定义,可以解决。
 <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一旦打成功,虽然你可以修改包里面的内容,但是不允许去删除文件,所以打包的时候一定要注意不要把多余的文件加到你的managed package里面。
5.另外一个奇怪的问题是,在标准的Object里面里面有一些custom field是自动创建的,比如Account里面的Active__c字段,它虽然是custom field,但却不是我们手动创建的,如果你把这些字段加到你的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

相关文章

  • 2019-11-07 关于打包的那些事

    Salesforce除了通过ChangeSet 或者Ant自动部署之外,还有一种形式就是以打包的方式交付。打包之后...

  • 关于AAR打包的那些事

    首先说明本篇文章所用到的关系:这里三个module,分别为A、B、C,关系为C依赖B,B依赖A。 一、aar打包a...

  • iOS 关于自动打包那些事

    作为一名程序猿,能用代码解决的事情,恩,就用代码解决! 首先并没有想到造轮子,就去找轮子,但是并没有找到合适的轮子...

  • Android打包的那些事

    http://www.jayfeng.com/2015/11/07/Android%E6%89%93%E5%8C%...

  • Android打包那些事

    目录 一.混淆(Proguard) 混淆是打包过程中最重要的流程之一,这里所说的的混淆是包括代码混淆和资源的“混淆...

  • Swift 打包那些事

    今天将Swift项目打包了一下,图片都已经压缩过了。但是体积仍然达到 70M 打开包内容会发现其中依赖的Swift...

  • 植物百科大全

    首页 >园艺>植物百科 2019-11-07 11:38越南枫杨 2019-11-07 11:32水胡桃 2019...

  • 那些关于“关于”的事

  • Android apk打包那些事

    1、如何在app级别的gradle.build文件中增加自动签名 在android {}中增加以下配置 我们预先在...

  • APK 签名打包那些事

    APK 的自动签名 apk 的签名方式共有两种,分别是 手动签名 和 自动签名。所谓手动签名,就是 build =...

网友评论

    本文标题:2019-11-07 关于打包的那些事

    本文链接:https://www.haomeiwen.com/subject/cmpmbctx.html