View TouchDB mobile database in desktop - rest

I launch TouchDB database from my iOS application. It works as http server via TouchDB framework class - TDListener and it provide REST API for external access.
How can I view database from my desktop?
Are there some frontend applications which can be adopted for viewing my mobile database?
I've considered couchdb-futon but I don't know how tune it for my issue.

There are a few options mentioned here:
https://github.com/couchbaselabs/TouchDB-iOS/wiki/Tools-for-TouchDB
Your best best is probably TouchDB Viewer:
"TouchDB Viewer — "Official" GUI app for viewing TouchDB databases. Runs on Mac OS. Can view local database files (including ones in the iOS Simulator) or remote ones given their URL (useful if you enable the listener in your iOS app.)"
-- https://github.com/couchbaselabs/TouchDBViewer
I'm sure you could get futon talking to TouchDB, but it'd probably involve delving into the futon codebase.
EDIT:
TouchDB is the legacy 1.0 version of the project now named Couchbase Lite. So, the "TouchDB Viewer" has been converted to support Couchbase Lite databases (which has '.cblite' extension) and also it has been renamed to "CouchbaseLiteViewer - Mac app for viewing/modifying Couchbase Lite databases".

Related

Use external mongodb in mobile build of Meteor

I've seen in a lot of places that in order to use an External Mongodb in Meteor applications, you should use an Environment Variable MONGO_URL. However, I'm building my application to work both as web app and mobile app (by generating an apk).
The problem is that when I start meteor as MONGO_URL='mongodb://user:pwd#path.mlab.com:9999/db' meteor it works well in my computer. But, it's not possible (I haven't found any way of doing so yet) to do this in mobile.
So, anyone has any idea of how I could use an external mongodb in mobile applications?
Thanks!
It seems to me that you are confused about how Meteor works, and more generally the client-server architecture.
Only your server has access to your database (whether on the same machine or at a third party provider), so that you keep control of exactly what your Client has access to.
By "Client", we mean what your visitor uses to access your app, whether a web app through a browser, or a mobile app through a Cordova wrapper.
So your mobile app only needs to know the URL of the server it has to connect to. That is specified by the --server option when you do your meteor build.
Then your server needs to know how to access the external MongoDB. This is your MONGO_URL environment variable. In production, you would set this variable on your server host. Each provider offers a different method to configure those environment variables, most of the time there is a graphical administration panel.
Note that the way Meteor works, you can use the same server to support both your web app and mobile app at the same time.
Finally, you can also test on mobile using meteor run android instead of just meteor (or with ios instead of Android, but you need a Mac). Of course you can still specify your MONGO_URL variable in the CLI when testing, exactly like you have done when testing on browser.
For mobile (cordova) meteor applications think of the app as just a web view with the ability to access native device features (camera, bluetooth ...). Since the application is basically a web view, the underlying mongodb associated with it is the same. If you want mobile device specific storage take a look at GroundDB
For your situation, if sounds like your mobile app is having problems connecting to your server, ultimately not allowing it to pull data from the mongoDB. Make sure that when you build the mobile application you have server specifed '--mobile-server'. Also if you are running it locally, make sure your mobile device is on the same network as your computer and any firewalls that might not allow connections are disabled.

Simple deployment solution without using Windows Store

We have a system which has Windows 8.1 store app and iPad solutions as frontends and a MVC web as the backend.
We have lot of clients and they prefer hosting the web on premise due to sensitivity of the data. (So no cloud hosting)
Each client runs on different versions of the backend and for those we provide according frontend version as well.
Eg: 3.15.5 backend we have 3.15.5 frontend iPad app. (Backend provides a download link to iPad app, it will automatically update the existing app in the iPad)
(We can't make the frontend apps backward compatible due to high maintenance)
But for our Windows 8.1 app also we have relevant versions but we don't know how to deploy it simply.
We can't ask the customer to run powershell scripts either.
We can't use the Windows store because every time we publish the latest version of the app all our backends need to upgrade as well. Which is not possible due to large no of clients we have.
So my question is how do I provide a simple download solution for Windows 8.1 app that can be operate by a non IT personal?

Web framework with user-friendly desktop deployment?

I'm building a web app with Backbone.js (I'm not tied to Backbone yet though). I need a back-end framework only for persistence to a database via a RESTful API. However, I also need to able to deploy it as a 'desktop' app for off-line use, i.e. running a local server and launching a browser window, but I don't want users to have to start a server from the command line to run the application.
I can use SQLite as a database since it's only a single user application, it's just the framework that I'm stuck on. I have looked at the following:
Rails and Django: Default web servers are too flimsy, requires Ruby/Python and runs from the command line. I'm aware of the Bitnami stacks but at 99mb it's too big of a dependency and not exactly hidden from the user.
Sproutcore: Run from command line, also too bulky.
Pyjamas Desktop - Depends on MSHTML which I suspect limits my ability to use HTML5 features.
I'm leaning towards creating a Java app that starts a Scala/Lift server instance and opens a web browser, then sits in the system tray (kind of like WAMP). Is anyone familiar with a tool or framework built for user-friendly deployment as a standalone desktop app?
I do not know if PHP is an option for you? Then I would recommend phpdock.
web2py has a standalone deploy-to-desktop feature with no dependency on Python: http://web2py.com/books/default/chapter/29/14#How-to-distribute-your-applications-as-binaries
As Eydun said, phpdock is an option but it's commercially licensed .
I settled on using Java/Spring/H2/Hibernate/Jetty. I find that Jetty serves requests VERY quickly so the application looks real-time when launched in a browser. There is a tutorial on embedding the Jetty server here. I imagine it's quite trivial to build a GUI that launches the server and a browser.
Another Java option is to use the Play Framework, which may be more at home to those coming from a Django/Rails background. However, the documentation for "creating a standalone version of your application" for Play 2.0+ indicates that they have ditched using Java EE containers (Tomcat/Jetty) and WAR files in favor of running the JARs with the bundled copy of JBoss Netty, so it may take a bit of work to get it running the way you want it.
I would recommend the Play Framework approach if you're OK with using/learning Scala.

How to set up an IDE on a remote server?

Im interested in doing some development from my iPad, and one idea I had would be to code from the safari browser. Does anyone know of a way to set up eclipse on a cloud-based server, so that it can be accessed from a browser?
I believe, you will need the following parts to make it work
The cloud server must be based on one of the supported Eclipse Target Environments.
The cloud server provider must support UI based on some sort of remote desktop - e.g. VNC. Be aware that many cloud providers does not allow UI.
iPad must support the same remote desktop technology. There seem to be many VNC implementations for iPad...
I guess the difficult part is to find a cloud server to use. Though you, as an alternative, could use any PC with an VNC server where you have Internet access...

Preferred database management system for Objective-C (iPhone apps)

What would you say is the best candidate for a DBMS for use in iPhone apps? The database would be online, not on the device, so a back-end updating administration interface would be most beneficial (like phpMyAdmin is for MySQL).
I only know of MySQL (not sure if it can be used for iPhone with satisfactory results), and SQL Lite, are there any other managements systems that would be great for performance as well be reliable.
Thanks in advance.
the choice of the DBMS has nothing to do with the iphone .. likely the iphone will connect to a web service (weither SOAP or REST). the web service will be the one using the database not the device.
If the database is online, I wouldn't recommend any kind of management system on the device. I would probably recommend implementing some kind of web service and communicate to the database server and its own DBMS via the web service.
Anriëtte, I seem to have bumped into two common scenarios
For my corporate clients, they use SQL server as their database and .Net as their server API.
For my non-corporate clients, we usually use MySQL with a PHP or a Ruby on Rails server.
In both cases, I use JSON on the iPhone to talk to REST services on their servers. This works great.
Both DBMS above have good management tools. I usually use the MySQL GUI tools or SQL Server GUI tools to administer the database. Lots of people (not me) like the PHP MySQL admin tools because they are web based. Please do not use a personal database on the server like SQLite, Access of FileMaker, they do not scale.
I did once write an Objective-C program that accessed MySQL using its C++ libraries, not a good idea.
My advice: Ruby on Rails REST using JSON on top of a MySQL database on the server side.