Pardon me, this got long. But I know you don't mind reading even a long post if I at least try to be helpful, so others can ignore this long tome and this is for you (and part of a book I'll write later so I can repurpose the content):
LiveCode's Sweet Spot
LiveCode has enough features to make a good general-purpose word processor. But it's a lot of work to make one, and there are so many good ones (LibreOffice is awesome and completely free) that I don't know of anyone who's taken on that task.
But many of us have made specialized forms of word processors. For example, one of my ongoing projects is a WYSIWYG CMS for authoring and publishing medical reference content. It makes extensive use of LC's great field properties, and does some things easier than most word processors. But it wasn't trivial to build, and was cost-justified by virtue of addressing specialized needs no off-the-shelf software provides.
I believe this is where LiveCode shines most brightly: the tens of thousands of specialized ("vertical market") applications for which few if any existing software packages exist.
Like the old saying goes, "The only software worth writing is software that doesn't yet exist." Software is almost always cheaper to buy rather than build. And in many areas we find that the more general-purpose a software is the more free and open source options already exist to handle that scope of tasks well.
Just as LibreOffice provides a great office suite for free (in both senses, free of charge and with source code freely shared), Filezilla provides a great FTP/SFTP client. And there are others as well, many for every platform.
It can be fun and educational to take on a project as large as writing a general-purpose app of that scope, but it is a lot of work to do well and most of the time when I see young people ambitious enough to start something that big it almost never gets finished. A lot was learned along the way so it's not like the time was lost, but in the end there's a lot to be said for using existing proven apps for big-scope tasks.
If we had SFTP support this would be less difficult to do in LiveCode, but still not simple. Filezilla is pretty great, very feature-rich.
Use Cases for SFTP support
SFTP is slated for inclusion as part of the networking overhaul outlined among the Kickstarter goals. That implementation will depend on LiveCode Builder, so work can't begin until after v8.0 ships. We may also see something from the community for SFTP before then.
But I think one of the reasons it hasn't been a higher priority relative to other features in the queue is that it's not commonly needed, when we look at the types of things LiveCode is most commonly used for and where SFTP is most useful.
SFTP can play a role in many workflows, and given that HTTP is both more efficient and more secure for downloads, most of the work where SFTP is useful falls into one of three categories:
a) Handling uploads from people who are not administrators.
b) Handling uploads from people who are administrators.
c) Providing access to the server for general administrative tasks.
Given the broad scope of c), for those tasks I would recommend Filezilla or other off-the-shelf SFTP tool, since all the features needed are already in place and robustly well tested.
That leaves us focusing on uploads.
a) and b) seem similar because they both involve uploading files. But when we consider the scope of responsibilities for admins and non-admins, they're very different: giving full access to a server to someone who is not responsibile for maintaining it can lead to any number of issues from either willful or even accidental deletion, moving, or overriding of files.
For non-admins, rather than giving them access to everything on the server, it's more common to provide an HTTP-based API for uploading files and other content. This leaves the admin in control of what goes where, reducing errors and security exposure.
For admins, the more common approach to managing content on a server is through the command line. For example, rsync can upload an entire folder of files to a server far more efficiently than SFTP and every bit as securely, with additional options to maintain permissions, time stamps, and more. You may also find rsync's default recursiveness to be just the answer for what you'd been trying to do with cURL.
Mixing Shell Scripts with LiveCode
With LiveCode's shell function you can mix LiveCode and any number of shell commands to manage just about anything you can imagine, on your local machine or any remote host.
The key to working securely with remotes hosts is quite literally a key: SSH allows an option to share your local machine's public SSH key with a server, which is both more secure than passwords and much more convenient since shared keys no longer require a password to log in.
There's a tutorial for setting up shared SSH keys here in the forums:
http://forums.livecode.com/viewtopic.ph ... 3&p=106171
...and many online - this one's a favorite, very well written:
https://www.digitalocean.com/community/ ... sh-keys--2
The one challenge with writing shell scripts is platform dependence: historically, Windows users would use PowerShell while Unix (which includes Apple's OS X) and Linux use bash.
Thankfully, Microsoft recognized that they were bleeding devops talent by limiting shell choices to their proprietary PowerShell, and recently announced that Windows 10 now includes an option to use Ubuntu's bash environment natively within Windows.
http://www.zdnet.com/article/ubuntu-and ... indows-10/
For versions of Windows prior to 10, Cygwin provides a pretty good bash environment for Windows, which includes rsync and other command line tools popular in the bash world:
https://www.cygwin.com/
And when writing scripts that will only run on Windows, PowerShell is said to be pretty good. I don't use Windows enough to have much experience with PowerShell, but there are vast resources available.
Summary
- For general file management use by admins, off-the-shelf tools like Filezilla are a great fit.
- For non-admins to submit files or other content, an HTTP-based solution keeps things simple and safe.
- For specialized admin tasks, shared SSH keys open up a world of possibilities for crafting handy UIs in LiveCode to drive shell commands.