You need to sign in to do that
Don't have an account?
zshah
Using iOS mobile SDK with Force.com objects
Hi,
I've been through the Force.com introductory documents, familiarizing myself with the Force.com platform, and watched the MobileSDK webcast. But I had some basic high-level questions about how mobile apps run and interact with the Force.com platform, that weren't answered in the documentation that I've read so far.
Specifically:
- when you create an app on Force.com, that's usually for within the organization you belong to. So how do you make a "global" app that can be distributed to any salesforce customer, no matter which org they belong to? Ideally, it would be distributed through the App Store and/or AppExchange. From the tutorial, it seems like a mobile app is created under "Connected Apps", and not the regular "Apps" section. Does the Connected App default to acting as a "Global" app?
- Can you do everything with fields, objects etc when configuring a mobile app that you can while configuring a regular app?
- I saw how Force.com apps can add custom objects and fields, and those can be used to drive the display from the salesforce.com portal. How does a mobile app that is "global" also install those custom objects and fields within your individual org's portal? For e.g. suppose I have a task-management mobile app, with a "Task" entity defined. If the user installs this app and logs in with his/her salesforce account, does the "Task" entity show up in their portal?
- would a user of the app have to first install the app through App Exchange or some other mechanism before they can use the mobile app from the App Store? Or do they just login to the app the first time and the backend is setup for them?
- when a user connects to the salesforce database using the mobile app, are all the roles and user privileges also attached to that data? For e.g. it would be able to distinguish between a Manager logging in as opposed to a Worker logging in?
- how is this priced from an app-developer perspective? I haven't seen any pricing information for using Force.com to develop mobile apps.
Thanks.
Basically:
Yes, Connected Apps are defined in an org but are globally available. The name / keys can be used be other administrators to allow users and profiles to have access to specific apps.
When it comes to the objects, fields, workflows, etc. - it is probably best to think in terms of a managed or unmanaged package. Anything custom that you need to assume the user will have would need to be installed in their prior to using your mobile application.
There's no additional pricing for the Mobile SDK, so pricing would be up to the normal Salesforce licensing and whatever you want to charge via the AppExchange or the like.
Thanks. I also got some more clarity by reading this article (if anyone else is interested): http://media.developerforce.com/workbooks/Mobile_SDK_Workbook_web.pdf
I had some other questions as well about the iOS SDK:
- is there any way to use the iOS SDK with Core Data, through NSIncrementalStore? Or would we need to come up with the mapping ourselves?
- do you do batching of updates? If I want to insert 100s of rows, ideally it would only send one update to the salesforce backend
- can we do fetching and inserting new data from a background thread?
- can we query the currently logged-in user for their properties, like 'role', user id, etc? I would at least want to know if the logged in user if an administrator or not.
- I believe that I read somewhere that the data is cached locally as well, to allow offline access? How do you reconcile any conflicts that happen in this case?
That should be good enough to get started in earnest.
Thanks.
And one more:
- can you create new Users and assign them roles through the app?