My 1st Mobile app using Drupal 7 as a backend

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
mrgoltra's picture

Good Day,

Noob question here. I am interested in developing a simple mobile app for the iPhone and Android(clients) using Drupal 7 as a backend. I plan to use Titanium.

Mobile App Functionality:

  1. Register/Login Users
  2. Post Content (Title, Message, Geolocation, Images and Video upload)
  3. Show other user submitted content
  4. Update/Delete user submitted content
  5. Message Inbox (maybe)
  6. Simple User profile (maybe)
  7. Push Notifications

Drupal End

  1. To show content (Title, Message, Geolocation, Images and Video) posted from mobile app.
  2. No user registration

Before starting, I am seeking some information and guidance.

My Questions

  1. Account creation
    A. Will I need a separate database for this info? At this point, I am not allowing user creation from Drupal. Will this be a problem?
    B. How to authenticate registered users? Oauth or are there other means?

  2. Content
    A. What is the best way to import data from to Drupal and export to client? I have read some use JSON and some prefer XML. What are the major PROS and CONS?

That is it for now.

Thank you very much for your patience.

Mark

Comments

I am not too sure about your

rickyd1's picture

I am not too sure about your first question as I currently do not have my users login from the app. However, the services module does allow user login. They would need to register on your site. They could do this through the app via a webview in titanium. I would open up user registration on your site as it would allow your users to manage their content from a web interface as well.

I prefer using JSON with the Services module for pulling content. I find it to be very easy to implement. You can use XML, but I am not sure you can a pass your current location back to drupal and request a list of photos shot within a 20 mile radius from your current location . Not sure if you want to do that, but it is possible with JSON. The only downfall is you are using Drupal 7 and Services Module is only at rc1 for D7 and there doesn't appear to be a Dev version for JSON D7 yet.

Good luck on your app. Is your site side up yet?

RickyD

json?

tharpa.osang's picture

Isn't there json included in the most current version of services?? 'cause when I test D7 services with xxxxx/endpoint/node#.json it returns the node as json.... On the other hand, i'm officially a "json / services virgin". However, I don't think I was hallucinating....

Thank you much for the info.

mrgoltra's picture

Thank you much for the info. Yup, JSON has no D7 dev yet. Not sure when that will happen. Maybe I can stick with D6 as a backend.

One more question. What should I be aware about regarding the mobile app when upgrading the backend to D7?

Site is offline right now and I will be attending a webinar for Titanium in an hour or 2.

Thanks.

Oh and 1 more thing. My host is using PHP 5.3 which is not, I believe, compatible with JSON D6. I just have to look for another alternative. Thanks again.

subscribe

IrishGringo's picture

I am using JSON via the Views Datasource module. The JSON that is produced needs to be hacked a bit on the Ti client... but it works on D6.

Maybe this link help for you

http://drupanium.org can also

lelizondo's picture

http://drupanium.org can also help you

Luis

Love the sound of this

iaminawe's picture

I look forward to trying this and hope you write more about how to use it on your blog.

Really cool idea and something I have been wanting to try and tackle for a while.

Nice work !

DrupalGap = Drupal + PhoneGap

tyler.frankenstein's picture

I've created a module called DrupalGap that utilizes PhoneGap, Drupal, Services 3.x & Views. DrupalGap provides a solid code base for developing mobile applications in PhoneGap powered by Drupal 6 or 7 sites.

http://drupal.org/project/drupalgap
https://github.com/signalpoint/DrupalGap
https://market.android.com/details?id=com.drupalgap
http://drupalgap.org/