+ Start a Discussion
JHAJHA 

what is appexchange?

Anyone can you please explain

 

1)what is appexchange?

 

2)what is sandbox (test enviroment) and production. wats difference between these two?  

 

3) How testmethod relates to sandbox and also to production?

 

 

Thanks

Message Edited by JHA on 01-12-2010 05:02 AM
Best Answer chosen by Admin (Salesforce Developers) 
AvromAvrom

Sorry, that's not quite right.

 

First, you certainly *can* develop a real application in your free developer account. It's just better to use the sanbox because, for example, you don't have the strict user limits the free account does, and you can easily test on a copy of the real data.

 

Secondly, you certainly can--and should--write testmethods on sandbox. You have to do this *before* deployment to the production server, but it can be any time before. In fact, earlier is better, because its both easier to get code coverage for code that's fresh in your mind and because if there are any problems with your code, it's better to know about them sooner rather than later.

 

What's not the case on sandbox is the *requirement* for 75% code coverage at all times. You don't *have* to write test methods until your code is ready for deployment, even though you really should. If you try to deploy to production with less than 75% coverage, the deployment will fail.

 

Hope this helps,

Avrom

 

All Answers

AvromAvrom

1) Appexchange is an on-line marketplace for Salesforce custom apps developed by the community. If you write a Force.com application (or framework or toolkit) that you think will be useful to people outside of your own organization, you can sell it (or give it away) via appexchange. If you buy (or just accept, if its free) an appexchange app, you'll be able to access its functionality from your org.

 

2) "Sandbox" instances are the development instances for Force.com. Best practice for developing "real" applications (as opposed to playing around to learn, which you can do just fine from your free developer account) is to develop them in a copy of your organization running on a sandbox instance. When the application is ready for production use, you can migrate (AKA "deploy") it over to your production org.

 

3) Before you can migrate your application to production, you need to have written methods marked "testmethod" that, when executed, execute a total of no less than (IIRC) 75% of your other lines of Apex code (and they must all pass). Since the sandbox is a development environment, you're not expected to satisfy this requirement there--you can develop first, then write your test methods, and then do the production migration. (Although I don't suggest saving all your testmethod writing to the end--it's much easier to write a testmethod for code you've just written.)

 

JHAJHA

Hi Avrom,

 

Thanks for your reply.

 

Let me sum up as per my understanding n please correct if im going wrong.

 

"Sandbox"==>>We cant use free developer account to develop real application,for that we need sandbox instance of SFDC.Moreover sandbox is only meant for development,  to deploy our application we need production instance of SFDC.

 

"Testmethod"==>> As we need 75% tested code at production org,which is not possible at sandbox. so while migrating from sandbox to production,we need to write testmethod to fullfill dat criteria.

AvromAvrom

Sorry, that's not quite right.

 

First, you certainly *can* develop a real application in your free developer account. It's just better to use the sanbox because, for example, you don't have the strict user limits the free account does, and you can easily test on a copy of the real data.

 

Secondly, you certainly can--and should--write testmethods on sandbox. You have to do this *before* deployment to the production server, but it can be any time before. In fact, earlier is better, because its both easier to get code coverage for code that's fresh in your mind and because if there are any problems with your code, it's better to know about them sooner rather than later.

 

What's not the case on sandbox is the *requirement* for 75% code coverage at all times. You don't *have* to write test methods until your code is ready for deployment, even though you really should. If you try to deploy to production with less than 75% coverage, the deployment will fail.

 

Hope this helps,

Avrom

 

This was selected as the best answer
JHAJHA

 

Thanks a lot, Avrom.