Your comments

With the flexibility of our datasources we have had success with several cloud datastores. Here is user integration example with Parse:



<wire>
<datasources>

<datasource name="parseSignUp" datasourceerror="parseSignUpError" httpmethod="post" source="" query="/result" providertype="json" httpheader="parseHeader" urlcacheduration="1" />
<httpheader name="parseHeader" Content-Type="application/json" X-Parse-Application-Id="XXXXXXXXXXXXX" X-Parse-REST-API-Key="XXXXXXXXXXXXX" />

<texttemplate name="signUpTemplate"><![CDATA[{"username":"[var:username]","password":"[var:password]","email":"[var:email]"}]]>
</texttemplate>

</datasources>

<styles>

<style name="field-input" font="TimesNewRomanPS-BoldMT" height="38" width="200" size="24" xpos="10" color="#492417" background="#fbf4e5" padding-top="5" padding-bottom="5" padding-left="10" lvalign="center" valign="center" valignment="center" alignment="left" borderwidth="1" bordercolor="#492417" cornerradius="4"></style>
<style name="field-text" font="TimesNewRomanPSMT" size="28" xpos="10" width="200" color="#492417"></style>

</styles>

<classes>

<!-- classes go here -->

</classes>

<main>
<panel name="background" background="#666666" height="100%" width="100%" align="center" valign="center"></panel>

<panel name="signup-frame" alias="SIGNUP-FRAME" height="100%" width="100%" align="center" valign="center">
<text name="email-text" style="field-text" height="fit" text="Email" ypos="15"></text>
<textfield name="field" alias="EMAIL" style="field-input" bottomof="email-text"></textfield>
<text name="username-text" style="field-text" height="fit" text="Username" ypos="90"></text>
<textfield name="field" alias="USERNAME" style="field-input" bottomof="username-text"></textfield>
<text name="password-text" style="field-text" height="fit" text="Password" ypos="165"></text>
<textfield name="field" alias="PASSWORD" style="field-input" password="yes" bottomof="password-text"></textfield>
<panel name="signup-submit" alias="SIGNUP-SUBMIT" height="40" width="200" xpos="10" ypos="250" background="#492417" onclick="signup-submit">
<text name="submit-text" style="field-text" size="20" width="100%" height="fit" alignment="center" align="center" valign="center" color="#FFFFFF" text="SUBMIT"></text>
</panel>
</panel>

</main>

<actions>

<action name="signup-submit">
<assign property="var:username" value="[object:USERNAME.text]" />
<assign property="var:password" value="[object:PASSWORD.text]" />
<assign property="var:email" value="[object:EMAIL.text]" />
<assign property="datasource:parseSignUp.postContent" value="[template:signUpTemplate.content]"/>
<assign property="datasource:parseSignUp.source" value="https://api.parse.com/1/users"/>
<alert message="[template:signUpTemplate.content]"/>
</action>

<!--
<action name="postResult" datasource="parsePost">
<alert message="[datasource:parsePost.0.content]"/>
</action>
-->

<action name="parseSignUpError">
<alert title="Network Error" message="Sign up could not be completed" />
</action>

<action name="parseSignUp">
<alert title="Sign Up Completed" message="Sign up was completed" />
<assign property="object:EMAIL.text" value="" />
<assign property="object:PASSWORD.text" value="" />
<assign property="object:EMAIL.text" value="" />

</action>

</actions>
</wire>


In addition to parse, we have also had success with Appcelerator's cloud services:
http://www.appcelerator.com/cloud/
It is powerful library of services for creating social applications.
Do not hard code any authentication credentials in the wire and make sure all requests go over SSL.

Technically if you are managing the remote service you can pass the user credentials anyway you want. You can put them as url parameters, http header parameters or the post body of the message. There are obviously best practices and different authentication models have their way of doing it.

Three auth models we commonly deal with (ordered by difficulty):
-basic auth
-session based authentication
-oauth
The simple solution is to use a json datasource to pull a json feed from a web server. You can then populate the local database with the data from that feed.

This tutorial maybe overkill for what you are trying to do:
http://www.raywenderlich.com/2941/how...
You shouldn't need to. Just append the post parameter to the url as shown above. It's a little inconsistant with our other datasource providers. The goal was to maintain backwards compatibility with apps that use the 1.0 frame work and do not take advantage of ios' native twitter support.
There are two issues.

The first is a bug in the engine that does not properly use a post request to twitter with this api call. That has been fixed. If you can build an adhoc release with live updates you will have access to the fix immediately. If not, it will be released with the next version of fusebox in a couple of weeks.

Second,
First you must use the twitter 1.1 api:

https://dev.twitter.com/docs/api/1.1/...

So replace
https://api.twitter.com/1/saved_searches/create.json?query=[object:FIELD.encodedtext]
with
https://api.twitter.com/1.1/saved_searches/create.json?query=[object:FIELD.encodedtext]
The http method attribute is used to change the request type to the remote server. The options are get or post.

Text templates are very powerful. All rarewire bracketed objects ( eg. [var:stuff] ) are evaluated when you access the 'content' property of the TT ( [template:mycontent.content] )

With the use of the <httpheader> <datasource> <textemplate> , this simple can be extended to a full soap service client.

Below is the foundation of how it works:


<wire>
<datasources>
<datasource name="jsonservice" source="" query="/" providertype="json" querycomplete="response" httpmethod="post"/>
</datasources>

<main>
<texttemplate name="mycontent"><![CDATA[{ "firstname" : "john" , "lastname":"Smith" }]]></texttemplate>
</main>

<actions>
<action name="start" oninit="yes">
<sync>

<assign property="datasource:jsonservice.postContent" value="[template:mycontent.content]" />
<assign property="datasourcejsonservice.source" value="http://myserver.com/name" />

</sync>
</action>

<action name="response">
<alert message="[datasource:jsonservice.1.status]"/>
</action>
</actions>
</wire>


If you have a server you have setup and can verify the requests coming to it, we can help you put together a working example. Feel free to send Ian the details and we help you get a prototype running.
This is a quote alignment rule set by the xml parser for any xml attribute and is not limited to the xpath syntax. If you align single and double quotes appropriately there is no need to use html encoding.

bad:
query="//name[text()="bob"]"

The xml parser thinks the text for the query attribute ends after the =

good:
query="//name[text()='bob']"
or
query='//name[text()="bob"]'