Can we connect a web application to ONA ODK forms? - opendata

Can we connect a web application to ONA ODK forms ?
I need to replace a system where employees goes to field, collect information, and then sync to database when they come back.
What we need is to find a solution, by creating odk surveys, let the employee collect data, and then sync directly to ona and mysql database. And I need to give them the ability to read and edit data directly form the forms into database.
I know the idea is a little bit strange.

You should ask this question in ODK Community and as you want a solution for sending data that can be done by the cloud-based server like google cloud and for editing data. It's not a good practice to edit data in a raw dataset. You can download data from the server and then you can make a change in your computer.
Even if you want to give them access to the server so they can log-in and make a change on the server, you can create a username and password so they can update their records.

Related

How can i store data in database in android application on Qt?

I have made one android application in Qt.that employee registration form application. where i distribute this app to other employee they will details (like name, age, salary etc) and that data will be save in one database so where i can access it.
is anyone have idea about?
thanks
As you are looking to store employee details entered in many mobile devices in one place you will need to have a database your app can all write to.
One way would be to have a server running something like MySQL and a web server. You send the data from the mobile app to the web server using an HTTP POST and some code on the server extracts the data from the POST and inserts it into the database.
If you need to show the data in the database on a mobile app, you can use an HTTP GET adding parameters to the end of the query. Some code on the server interprets the GET string, extracts data from the database and sends it as part of the result.
There will be a temptation to connect directly from your mobile app to the database on the server using something like ODBC. Don't do this, its a bad idea. Always have an intermediary application on the server side to give you some insulation against database attacks. If your application is for more than just internal company use, consider having the database on a separate server and configured to accept connections only from the web server.
As you are sending personal and private information (age, salary etc), ensure you encrypt your data properly when its "in flight".
Hopefully this will give you a few pointers to get you started. The question is really quite broad.

Transition to scaling out with signalr and redis from signalr and sqlserver

I am currently testing signalr with sql server as my backplane. If I switch sql with redis, how would I be able to incorporate sql database in that design via programming not set up.
For example My stored procedure saves user profile properties like (height, interests), now when i need to grab that information into an object along with data in redis(how many likes a photo has within that user profile by providing the user profile as a key).
I initially had sql server doing the work where I edit the number of likes on the table and bam, it pops up automatically with signalr like it supposed to.
Now because of performance reasons I would like the same results, except having redis storing the likes of the user profile, and sql persisting the rest of the user profile object.
Sorry if I confused anyone, let me know and I will re-edit immediately.

sqlite db usage in iphone app giving errors

I am creating an app with user login using sqlite i am storing the login details which includes the users favorite movies.suppose another user who has downloaded the app also picks the same movie i want to be able to let the other 1st know about 2nd user.how do i do that.does the sqlite db used to store login details be available for the other user or should i have server to upload each user's login details?I think my confusion is stemming from the fact that i dont understand how people use sqlite in iphone app ?
In very rare instances SQLLite should be used directly. The best way to handle data storage local to an iOS device is CORE DATA. I would suggest you consider using Core Data for storage and not call or mess with SQL Lite directly.

How to store data on network or web in android?

I am very new and going to develop simple application, where user share own information to all who register particular groups and network.how to stored that data on network, who view all information own or every members all information from the different point of location(different places) via the network or web.
So, Please give me details of idea behind the how to store my data on network or web? where every member easily access that data?
I have already done by try search on Internet but could get much more ideas behind the data store on web?
It would be preferable to store the data over the network on databases and make other users grant access to these databases to access information.
It is very easy to store data in a remote database from android and retrieve as can be understood from the tutorial here.

Best way to create a default Database setup via an .aspx page?

We are going to be selling a service that will be hosted by us, and each client we host will have their own database, but there will be one centralized website. I currently have a blank database with the few things that a new client will need. What is the best way to copy this database so I can setup another client? I want to be able to do this from an .aspx page. Thanks in advance!
Update:
By .aspx page, I just meant that I need to be able to kick off the process from an .aspx page.
Update2:
We're running SQL Server 2008.
Update 3: Referencing Cade Roux's answer... Thanks for a great answer, but...
What is the reason for merging all of the databases into one, and then distinguishing clients based on an identifier in each table? Wouldn't this greatly complicate the architecture of the entire product? I would need to add these Client ID columns to practically every table, and the DAL would need to know which client data its looking for. With the current setup I have, I just switch out the connection string in the DAL, depending on which user is accessing the site. That way, after the connection string is set, I never need to worry about finding client specific data! How do these approaches compare (and should I add this as a separate question?
You have a few different options:
You can detach your empty database, then when a user signs up, copy that database and mount it under a unique name for them and map it to their account in your master database, say.
You can create a database from scratch using scripts and populate any base data either from an online template database or scripting the base data and map it to their account in your master database.
You should seriously consider going to a multi-tenant architecture where all users are in the same database (with most tables having CustomerID columns to segregate the data) if you are going to have more than a few dozen customers.
Regarding your notes about option 3 - it depends on your application. Multi-tenant can be difficult to retrofit. On the other hand, managing and upgrading hundreds of individual customer databases can be difficult in the long haul.
There are previous Stack Overflow questions regarding this:
What are the advantages of using a single database for EACH client?
One database or many?
I think I'll see about re-tagging them with multi-tenant-db or something. Anyhow, I think that this comes up as a consideration secondary to your answer about a particular tactic does show the importance of including details about your overall goals in strategy in every question on StackOverflow.
Depending on what database you're using, there are several approaches. The simplest is to ask your database software to generate SQL code for creating the database and include that with your software. Another would be to just script out in C#/VB the steps needed to recreate your empty database.
Why the need for .aspx page?
You don't say what db version you're using but in SQL2005-2008, you have the ability to "script database as" and then "create to" and have it port the sql to a query window. You could then work with that to create a stored procedure that can be called from your .aspx page.
SQL Server has a system database called 'model'. Any database objects (tables, views, stored procedures) that exist in the model are added to any new database created.
You could create your 'client database' schema as model, and any new database would have all the same tables...
But, if you need to change your database schema later, your best option is to write change scripts which are part of your code-behind file. Since changes to the 'model' database are not propagated to existing databases, the application needs to detect and upgrade the database schema as necessary.
Disadvantage to this approach: If you want a database which isn't a 'client database' then you would need to create the database, and then delete the 'client database' tables.

Resources