The first concept that we are going to discuss about is sales force packages.
One of sales force packages and how do we use sales force packages for migrating the competence from
one or two under that arc.
The concept of packages you can very much compare this with the normal activity that we do.
So for example I have some couple of documents and wanted to share these couple of documents with you.
So what do I do.
I can just send out an email I those documents and send it across to you.
Right.
You get that email you'll get that document as simple as that right package as the name says.
It's a package of confidence beat apps beat fees beat email templates BS you should post pages whatever
you can group all the competence until you want to share and we're in a package and share it.
And when we talk about these packages there are basically two type of packages.
One is the managed to package and the other is the unmanaged package.
So what does that and managed package and what is a managed package package as we know it's a package
of competence.
Right.
It's a pack of competence.
So let's say for example I cleared the unmanaged package and in that I managed to package.
I have got a couple of objects I have got a couple of fees and say a couple of email templates.
So I created and managed to package and I applauded and I get a I get that link and you use that link
and you can install that and manage to package perfect.
But now once you do that installation of that and managed to package all the companies that you install
you can pretty much work on those competence.
You can edit those competence you can delete those competence you can do whatever you want with those
competence.
That is an managed package basically.
I will not have any control on those competence that that which I created and managed to package.
But in the managed package it is not like that.
Once I create a managed package and once I send it across to you you can very much install the managed
package.
Yes but you will not have any rights on those competence.
Basically you cannot edit those competence that you have installed lamb managed packages.
And those the app exchange apps that we installed that we discussed in the previous sections about the
field trips are the main message that any app exchange app that you can talk about.
All those are managed packages you basically cannot edit those competence that was there in it.
Argh but I managed to packages it is just like and am I'm just giving away some confidence you can install
those competence and you can work on them and add them delete them it's up to you.
So unmanaged packages there's no concept of upgrading those packages like managed packages yes they
can be upgraded even these App Exchange apps what do you install the company who owns the app exchange
app.
They release upgraded lotions so you can very much upgrade your package.
The managed to package but that has no concept of upgrading unless packages and unmanaged packages are
very much used for handling the metadata and the managed packages are very much useful for handling
the applications the applications that you built out of Salesforce decorated with Salesforce.
And in this lecture we'll understand how do we create a managed package and how do we share it with
others.
Go to an application search for packages you have an option packages as we can see here that our little
packages as it's created go through this description let's create a new package and let me say this
package and it's in English and you got to give a description basically you know you can add which all
companies that you're writing it in the package go safe once done the packages are ready but the package
has got absolutely nothing inside that okay.
Just that the package is done.
So what next is we got to add companies to the package.
So for adding the competence go click.
You can see two sections out here.
One is a competent type which particular competence type that you are referring to.
And the other is a list of all companies that are available.
Say for example at these three are the apps that are available for me to share.
Say for example buttons These are the buttons that are available for me to share.
Say for example call centre.
OK.
So there are no competence out there.
So this is the competent type.
Then like it lists out like almost everything that is there and emanate a custom fields custom objects.
Say for example custom optics you can share all these custom objects.
So far as you got to select the component type and in that competence type you go to select which company
do you want to add to the package.
So elect me to some email templates and I have these many many templates let me choose a text email
template on the letterhead some big add to the package and as we can see the dependencies also gets
applauded by default like we just included only the text email template on the letterhead email template.
But for us to install the load her e-mail template we also need the letterhead which is attached to
that right.
So by default the dependencies also gets attached.
Even the training template training template is basically the folder in which the email templates displaced.
So all those dependencies also get included by default.
And along with that let me also add let me add some custom fields
OK.
So let me add the number of leased floors added to my package OK perfect.
So now that the package has got a couple of e-mail templates to that and it has also got a custom field
attached to it.
Perfect.
So now that the package is ready we have created our package and we have added all the confidence that
we want to attach it with the package.
Perfect.
So now what next.
Now we got to upload the package so let's.
Given these details here.
Say for example.
Let me say Jan 2015 and let me check for any other manager who feels upload for a.
The package is successfully uploaded.
So do add one thing here that when we are actually migrating the competence from one ARG to other art
or from one person to another person then we are sharing the metadata.
It is not that you are sharing some files.
Why does not negotiating some documents that it does not delegate sharing something.
It is like all the packages all the competence in the packages will get uploaded and you will just have
that you are in which they are uploaded.
So what you got to do list this particular you what you need to have it and through does you what you
can download the package you can install the package and do different ARG or say for example like you
can charge as you are with a different person and he can use the water and he can install the companies
that got attached to this package.
So this is a installation you are allowed here.
What we have and here we can see the package components that are basically for resources and that is
one field in the package.
So now for installing the package just go to the link
OK.
So it says this app can be installed.
Why.
Because this package already exists so do mode that in the concept of packages if the package is already
existing in the destination ARG or like with the other person with whom you are basically sharing the
matter you will be basically not able to install the package.
In fact design is just not with the package even with the black package competence if you are going
to install some package competence which is already existing in the destination are then it should add
a note saying that this part of your component is already existing.
So like the open up or under that ARG.
So that began basically install this package before doing that let me also have the UI handy so for
taking the you are go for packages and we have cleared a first back is that his desk package go for
this package and go for the versions you have the less blush in version 1.0.
And there you have the installation you ordered.
So just copy had this installation you already let me open up under that arm and I'll show you like
how do we basically download this package.
So I have logged into one of their samples ARG and this is the installation you are in from a package.
So just I cooperated.
I used it in the water and now as I told you earlier it is just not about the package even package competence
if they already exist in the art.
Then it would cost an issue.
So you know before hand it is asking the system ask us that that it should not install or it should
basically go for rename.
So let me say Lay did not install.
And you also have that option whether it is only for admins or users are specific profiles.
If you can recall what we did for our app exchange apps.
Pretty much we had the same options.
So let me say one for admins and let me install perfect installation complete.
Go click on done.
And now in the destination are you will be able to see this package under install the packages.
And what is all that.
That that was that as part of this package we had some email templates.
So let me quickly go and see if there are those e-mail templates available out here.
So yes the e-mail template is available there and like it was under the folder of training template
so the folder is available training template.
And within that we have these two templates next e-mail template and letterhead e-mail template.
And that was another field that is a custom field and we added it for the object icons.
So let me go for fees account and I think like it was the field at least two floors number of leased
floor saline.
So this party you'll see a number of leads to float.
We did not created in this ARG.
Basically it will create different art.
And the uploaded it in the package and we use that installation you wanted and know that we have installed
the package.
So I said result all the confidence that that as part of the package.
They also got installed and now that as you can see on this particular field on the package complement
that you have installed you have all rights like it other competence.
So for example I want to delete this feat.
Yes I want to delete this field as simple as that will begin you know very much you use the competence
you can very much work on the components that you install via and manage to package.
So the package that we just created the uploaded we installed isn't unmanaged package.
And good examples of managed packages are those that you install from the App Exchange apps the field
to bar the metadata Sarge or the other app exchange apps that we discussed.
So this is all about packages as you go to create a package add competence to the package and upload
the package and all these you do with a new sales organization in the target organization or in the
destination organization you basically use that installation you order and you install all the confidence
that comes as part of the package.
But do remember that those packages can be used for migrating the metadata from one or two other that
are.
It is definitely not a best practice or recommended practice for us to migrate the competence from your
sandbox to other sandbox auto production where we have to go with other methods like using chain sets
all using snapshot audio using full stop Almighty for basically migrating the data for deploying the
data from one up to the art.
But this whole concept of packages is about sharing the main data maybe with a team member or maybe
for some kind of activities that you do.
But when we consider deployments we have to stick on with the best practice and the tools that we use
for other deployments.