Peter I think it would be very hard to justify the effort required for a livecode book, given all of the changes in livecode on the horizon. Keeping it up to date would be a huge effort, too. Best Bill
William Prothero http://ed.earthednet.org > On Apr 20, 2015, at 10:08 PM, Peter Bogdanoff <bogdan...@me.com> wrote: > > Richard, > > This is a great explanation! > > You didn't go on long enough! > > I would LOVE a good reference book/ebook/application on using LC, LC server, > and web services in general. > > I would easily pay $100 for such a thing if it really got me going in this > field. I know LC desktop pretty well but have all sorts of needs for this > kind of thing, but what available is (for me) a daunting conglomeration of > resources. > > Peter Bogdanoff > >> On Apr 20, 2015, at 10:59 AM, Richard Gaskin <ambassa...@fourthworld.com> >> wrote: >> >> Eric A. Engle wrote: >> >>> There was a revolution plug in which allowed stacks to be served (I >>> believe as "revlets"). I know that has been cancelled, at least for >>> now. >> >> Probably forever. Browser plugins were a popular solution in the '90s, but >> became untenable by the turn of the century. Beyond the incompatible >> implementations of the various plugin specs browser vendors provide, there's >> the bigger issue: it still requires the user to download and install a form >> of the LiveCode engine. >> >> If you're going to ask users to do that you can just as easily deliver a >> standalone that downloads stacks; more easily, actually. >> >> It's as easy to do in LiveCode as: >> >> go url "http://somedomain/mystack.livecode" >> >> A standalone provides the same benefit an any other client software using >> Web protocols, such as a browser, in having code and content centrally >> located and always up to date. But a LiveCode standalone offers some >> advantages difficult or impossible to achieve in a Web browser: >> >> Using a standalone can be far more flexible than using the now-defunct >> browser plugin because it doesn't attempt to cram the user experience into >> the confines of a browser window, which is designed for a much more general >> task flow. So you never need to deal with questions like "What happens when >> the user presses the Back button?" In a standalone, everything in the UI is >> dedicated for the task you're supporting. >> >> A standalone can also be more secure. Mark Waddingham's addition of the >> securityPermissions global property offers reasonably fine-grained control >> of what a standalone can and can't do; turning off all options except >> Internet access can deliver a Web-savvy experience safer than nearly any >> browser. >> >> Using a standalone is of course dependent on users who value your app enough >> to download it. But the same would be true of a browser plugin, so in terms >> of that one requirement it's a wash, and in all other respects the >> standalone offers many favorable advantages. >> >> Plus it's dirt-simple to make today using the LiveCode we have in hand right >> now. A majority of the projects I'm working on at the moment are >> standalones that download stacks - depending on what your app does and the >> needs of its audience, it can be an excellent delivery solution. >> >> >> >>> Meanwhile, I have installed livecode for cgi, which and it works. >>> I searched the internet to see if the livecode server can be used >>> to serve stacks somehow, or is basically only useful for cgi. >>> Surprisingly, I didn't find anything, or at least nothing useful. >> >> It may be less surprising when we consider the different roles of client and >> server, and how each differs from other. >> >> In essence, a Web server is just a file server. You request things from it, >> and in most cases all it does is find a file at the location specified in >> the request, reads it from the server's disk, and sends that data over the >> wire to the client. >> >> Good Web servers are also extensible, so that in addition to serving static >> files they can also generate data dynamically on the server and send that >> back to the requesting client. >> >> On the client side, what the client software can do with the data it >> receives from the server is limited to the engine used. For example, a mail >> client can handle email data but little else, and a Web browser client can >> handle Web pages and little else. >> >> If you want to deliver LiveCode stack files, you need some form of the >> LiveCode on the client machine which can read those. >> >> Web browsers have no understanding of LiveCode files, so if you want to >> render the contents of a LiveCode stack within a Web browser you'll need to >> translate it into the form browsers use, HTML for content and JavaScript for >> interactivity. >> >> RunRev Ltd. is working on a toolkit that will provide that translation for >> us, but it's likely months away from a preview build and I'd guess much >> longer before a final build is available. >> >> So for now, if we want to deliver LiveCode stacks to a client, that client >> must be made with LiveCode. >> >> Keep in mind that delivering LiveCode stacks from a Web server doesn't >> require LiveCode Server at all. Useful as it is for other things, whether >> or not you use LiveCode Server or any other server-side software to help >> generate data doesn't affect how the client works with that data. >> >> So if your goal is to deliver LiveCode stacks, those are just files on a >> server and Apache can do that for you very easily without you needing to do >> anything more than just copying the stack to your server. Whenever any >> client requests any file from the server, as long as that file exists the >> server can read it and send it back, whether it's an HTML page, a JPEG >> image, or a LiveCode stack file. >> >> This is why you won't find info on using LiveCode Server to deliver stack >> files, it just isn't needed. >> >> Where LiveCode Server can be useful is when the data you want to deliver >> needs to be unique for the request. >> >> For example, if you just want to get a JPEG image and it's always the same >> image every time it's requested, you don't need to do anything more than >> just put the image file on the server and you're done. But if you wanted to >> allow the user to customize the image, as in making a postcard with a >> customized greeting, then you'd need something more than just a file server, >> something that can add the desired greeting text to the image and export the >> result to send back to the client. For things like that a CGI app like >> LiveCode Server is great, adding custom programming to augment the simple >> file serving Web servers do by default. >> >> When using LiveCode Server, the client can be whatever software can handle >> the data you're sending to it. >> >> If you're generating HTML pages with LiveCode Server, you can use a Web >> browser for the client. If you're generating XML or JSON content, the >> client can be any app that can handle those formats. A LiveCode standalone >> can handle all of those too, along with image files and just about anything >> else you can throw at it. >> >> You can even modify stack files with LiveCode Server and send the modified >> stack to the client, but in that case as noted earlier your client would >> need to be made in LiveCode since only LiveCode understands the LiveCode >> stack file format. >> >> And all of this handles only getting data from the server to the client. If >> you want to modify data within a stack on the client side and save that data >> back to the server, that's another set of considerations and this post has >> already gotten far too long. >> >> If a LiveCode client is of interest and you could use help in evaluating >> options for saving data back to the server, many of us here do this daily >> and would be happy to help. >> >> -- >> Richard Gaskin >> Fourth World Systems >> Software Design and Development for the Desktop, Mobile, and the Web >> ____________________________________________________________________ >> ambassa...@fourthworld.com http://www.FourthWorld.com >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode@lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription >> preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription > preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode