Although Java and socket connections provide much more flexibility, standard HTTP upload method (RFC-1867) also can be used and files can be accepted and handled at server-side. Most browsers support this, so all you need on client side is a webbrowser (even without java).
This way or the other, the main question is: Who is willing to provide bandwith for (at least) a proof-of-concept site? I consider this a superb way to demonstrate for many people what can be done with LilyPond. On the security: the server could be on a unix system, where php/lilypond user doesn't have read access to the whole directory tree, but it is kept restricted in a dedicated place. Doesn't it eliminates the security danger Berti mentioned? Could somebody explain me please, where I am missing the obvious? -- rpd Ps. Joshua, all those ideas about putting computing power behind the service are fantastic. Let's make it let's make it ;-) ----- Original Message ----- From: "Joshua KooOOoOOo" <[EMAIL PROTECTED]> To: "lilypond-devel" <lilypond-devel@gnu.org> Sent: Saturday, March 12, 2005 2:18 PM Subject: Lilypond Server > Hi, > > I attempted to create a simple Lilypond Server the last few days, and for anyone's who interested, please give your comments (on the codings, concept or whatever) , or even better, if you can improve on it, (or maybe you can set up a server). I'm not on the lilypond-devel list, so please c.c. me. And also, if anyone wants to use my unworthy codes, or package it in lilypond, just go ahead to do so. See notes below. > > Thanks, > Joshua Koo > > NOTES > - - - - - > How it works: > Server is written in python. Client needs java (likely 1.4). > > Start the Server on a machine with Lilypond > "python LilypondServer.py" > > Compile the java class. "javac LilyClient.java" > Run the client. "java LilyClient [ip address or hostname of server]" > > Make sure you have a lilypond file in your directory. > type "upload foo.ly" where foo.ly is your lilypond file. > Lilypond will run on the file after file is uploaded. > Any errors or output by Lilypond will be shown to the client. > > When done, you can try to download the output files eg. "get foo.midi" > File will be saved to the directory. > > Type "bye" to say bye to server > > Background. > > I don't think this idea is new, as I found mentions of this idea in the past mailing lists. However, this idea came to me not long ago, when I tried out coLinux [ www.colinux.org ]. Since it can run most linux applications on windows, I thought it can be a alternative to cygwin, without the hassle to modify the sources. > > For a user to use LilyTool with Lilypond on coLinux, I thought the 2 options is either do all the work on coLinux (in the shell or on desktop "remotely") or continue using lilytool on windows, but use a network connection to run Lilypond. The more I thought about it, the more benefits I could think of. > > > ^ I wouldnt need a cygwin on every windows, or a Lilypond on every pc. > ^ I could run coLinux daemon in the background and run Lilypond as if ran out of no where > ^ I could have a slow pc but run Lilypond thru the network on a fast machine. > > When the topic of "Easier Lilypond Tutorial", I thought, > > ^ A public lilypond server would allow many others to try Lilypond without installing linux or lilypond. > ^ Having Lilypond Server can free out utilisation of the current Pcs, needing just a light client (maybe just lilytool, or maybe java or python client), and bring the load to the server. > ^ Different Lilypond Servers can cater to different lilypond versions. > > My ideas continue expanding... > > ^ Maybe there should be a Lilypond Server Webpage. Allow generation of lilypond to pictues(png). Maybe create an account, login, type a set of lilypond codes. Click post, and request will be sent to the lilypond server, output is accessed thru the webpage (midis, pdfs..) Working on a big piece of music while on the move? Login and continue editing the pieces. > > ^ Distributed Lilypond / Load sharing. Users who have lilypond installed, could actually just run the server during idle pc periods. All these lilypond Servers can contact a lilypond manager which will assign jobs (perphaps from the main Lilypond Server or webpage queue) and oh wait,we got a beogulf of .... ;) > > > Future Enhancements: > (possible) > + More functionality - bug fixes, error handling, multiple files support... > + Lilytool Integration > + More security > + Compression and hash checks for file transfer > + Maybe multi-threading or non-blocking Server > + Webserver/Webservice add-on > + Clustered Servers > + Caching, version control > (i'm dreaming) > ---------------------------------------------------------------------------- ---- > _______________________________________________ > lilypond-devel mailing list > lilypond-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/lilypond-devel > _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel