function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
amoldavskyamoldavsky 

licenses and storage

Hey guys,

 

I am totally confused about the licensing and apps, I read the docs but can't make any sense out of it...

So let's say that for our company we would purchase the Enterprise Edition which has X number of licenses.

So the app I develope could be installed for X users of our company. Now if I want to start installing the app for some or all of our customers (outside of our company) how does that work? Do we need to get additional licenses? Would appreciate if anybody can explain.

 

Another issue im totally confused on is storage. So let's say we install our app for 50 customers (not in our company). I want to store some (temporary) data in a centralized location from all these 50 customers (they can be from different organizations). Is that possible? or will I have to use some outside sotrage and use the Web API?

 

Thanks in advance!

Best Answer chosen by Admin (Salesforce Developers) 
Shivanath DevnarayananShivanath Devnarayanan

I'm not sure if I got your scenario right, But I am assuming that you developed an force.com application and now you want to install it in your customer's salesforce instance which is separate from your org.In that case you could Package your application and either deploy it privately to appexchage and share the URL with your customers or install the package on your customer's instance :

 

More about packaging : http://wiki.developerforce.com/page/How_to_Create_and_Register_a_Package

For installing the App you don't have to get additional licenses in your customer's ORG.

 

For the second part of your question : 
if you want your app to send you data from the customer's ORG then you'd have to use web services to post the data to your server. ( I hope i din't confuse you) .

 

here are some links that may come in handy :

 

1) Similar question on StackOverflow : http://stackoverflow.com/a/7721111

2) Rest API : http://www.salesforce.com/us/developer/docs/api_rest/api_rest.pdf

 

 

Hope i helped ... Happy Coding !

All Answers

hemantgarghemantgarg

To enable your customers to use the application, I think there are customer portal licenses that you have to purchase.

Shivanath DevnarayananShivanath Devnarayanan

I'm not sure if I got your scenario right, But I am assuming that you developed an force.com application and now you want to install it in your customer's salesforce instance which is separate from your org.In that case you could Package your application and either deploy it privately to appexchage and share the URL with your customers or install the package on your customer's instance :

 

More about packaging : http://wiki.developerforce.com/page/How_to_Create_and_Register_a_Package

For installing the App you don't have to get additional licenses in your customer's ORG.

 

For the second part of your question : 
if you want your app to send you data from the customer's ORG then you'd have to use web services to post the data to your server. ( I hope i din't confuse you) .

 

here are some links that may come in handy :

 

1) Similar question on StackOverflow : http://stackoverflow.com/a/7721111

2) Rest API : http://www.salesforce.com/us/developer/docs/api_rest/api_rest.pdf

 

 

Hope i helped ... Happy Coding !

This was selected as the best answer
amoldavskyamoldavsky

Thanks you very much for the explaination that is exactly what I was looking for.

Started reading on the web services API.

 

Also, in regards to my second question, what I am trying to do is push some data in bulk chunks to our database (outside of force.com). Our customers have credits and we deduct them when they do some operation. I was wondering if it would be a possibility to somehow buffer all these operations in a centralized DB on force.com (i was thinking maybe there is a temporary app storage) and then push them all to our API (which is outside of force.com) and deduct the credits lets say at the end of eceryday instead of instanteniuosly per operation.

 

Thank you!

Shivanath DevnarayananShivanath Devnarayanan

That is a little tedious .. and the first approach that comes to my mind is 

 

1) You should have a Sync Object : which would know which record to sync by storing the record ID and related details

2) either you can push these Records by a Batch Job to the required system

3) OR you could have an Apex WSDL class which would get you all the Sync Object Records and this WSDL class can be called from your External System

 

 

hope this helped or contributed to your Idea..

 

Lemme know if i could help you out or make myself more clear 

 

Happy coding !

amoldavskyamoldavsky

 

Thanks alot for the suggestion that really helps, I will have to do some reading on that and give it a try.