It seems like you are asking me what ideas I have for the Apache module in an attempt to apply my ideas to the Cloud Publishing project. I regret that I cannot provide specific details that will relate to your project until I have the following information:
1. Documentation for the file structure of .sib. Without this information, I would have no basis for formulating a logical use of the data, since I do not actually know what the data is. It would be like telling me to write a piece for your musical ensemble, but not telling me what kind of ensemble it is. I don't know what I'm dealing with, specifically, so I cannot provide a concrete example for you.
2. Knowledge of the context of, specifically, what the Cloud Publishing is, programmatically-speaking. Without this information, I have no idea if what my ideas for an Apache module is would be relevant or worth mentioning.
So I cannot give more specific examples without having any example data or knowledge of context.
An Apache module, like I was explaining, would be the Apache server's way of handling the .sib file type. As an example, say you have a binary file (non-text file) that contains a PNG image. The server sends the raw data to the client, and the client web browser recognizes the image data and displays it, basically. It's the same premise with .sib files: if the browser gets the message that it's a binary data stream, then the client downloads the file rather than attempt to display it (as it would attempt to display a text file, resulting in gibberish text on the screen). But when the server has a module that handles the .sib file format, the module acts as a little program that takes the given file and works its magic however it's programmed to do so, and then sends HTML, for example, to the web browser. So instead of sending the .sib file to the browser, the server module generates a nice, user-friendly web page with something like a preview PNG image, some statistics about the .sib file, and whatever else the server owner chooses to have in their customization of the Apache module C code. An Apache module is just a C program that the server uses, in this case, to interpret requests for .sib files, so that when the client goes to a .sib file link, instead of downloading the .sib file, they see a nifty web page with stats and a preview and a link to download the .sib file using the default binary stream.
That's really all you need to know to understand what I want to achieve with this, and that's all I can really say that remains directly relevant to this topic.
I would give an example of my previous Apache module, but it's rather private and unrelated to music. But imagine, for a simpler example, a server module that handles Microsoft Word .doc files in this way: when you click on a link for a .txt file or a .jpg image file, your browser just displays the text or image, and when you click on a .doc file link in your browser, it just downloads the .doc file for you to open in MS Word... but instead of downloading the MS Word .doc file, the Apache module processes the .doc file you requested and sends the info in a nicely-formatted web page in HTML with CSS. So in your web browser, you would be "viewing" the .doc file, as far as you could tell.
That's the idea I have for .sib files: instead of being handed the .sib file, you are handed an HTML page, which might include a PNG rendering of the score and various statistics about the file, including a separate link to download the file.
That's the kind of thing I've done already with a non-music-related binary file format, and I would like to do this with .sib files because I think .sib files are worth investing in, in this way.
I hope I am clear. If you would like, however, I could show you the example of the Apache module I made. You wouldn't understand it, because it is esoteric and unrelated to music, but in essence, it would be entirely possible with this approach to "remake" Sibelius as a web platform, which is akin to what you were saying with the Cloud Publishing situation which runs a command-line version of Sibelius. Well take that, and give it an HTML + CSS + JavaScript kind of display, and make it functional as a .sib file handler for a web server, and that is essentially the same thing as what could be done with an Apache module.
Also, consider how clunky and slow client plug-ins behave in a web browser. Web browsers do not have native file support for anything besides "HTML", so-to-speak. So parsing a .sib file and sending its information to the web browser as "HTML" is much smoother an experience for the clients, not to mention the fact that you could basically embed such a feature alongside other software, since it would run on the Apache software. Imagine viewing music files on facebook.com, or as search results within a Google search page. That's not something that Sibelius Cloud Publishing would achieve, that is something that an Apache module would achieve. A Google web search filter as "search sheet music", like Google's "search images", is what you could have in this situation, and what you would NOT have with cloud hosting. And those are simply "through-composed" ideas, just off the top of my head! The potential is much greater than what Sibelius Cloud Publishing would attain. |