Hi,
We currently have some available audio and videos downloads on our website :
[login to view URL]
[login to view URL]
Regularly (weekly), new downloads are proposed and the older one deleted.
Web Pages are made of :
A php code on theses pages allow to filter your selection of downloads.
A javascript code allows bubble to appear to give details about the file
Let define some syntax
WS : Website Server : This Server is a web server hosted by a web company, noting fancy. this server host our website.
LS : Local Server : it is MAC server in our office using 1Mb SDSL Line hosting our files locally : web pages + audio & video files
DS : Download Server : All our audio and videos files available for downloads from our website are hosted on a server dedicated for Downloads.
We already have these 3 servers but are open for changes.
How does we maintain our downloads?
1. We record the file though audio & video equipment, we convert it into web format : audio in mp3, video in mpeg
2. Then we had the file into itunes
3. We tag the new added files using itunes the metadata (Name, Author, Duration, etc...)
4. We delete from itunes the files that needs to be deleted.
5. We export from itunes the XML file .
6. We upload the audio/video file on our DS.
7. Once the file fully uploaded, we upload the XML file on the WS.
8. Then, on the WS, a cron task read the new uploaded XML files and update the Mysql database accordingly.
9. The website (WS) read the mysql database and display the files
What we want
We want to simplify the process as much as possible.
The beginning remains the same :
1. We record the file though audio & video equipment, we convert it into web format : audio in mp3, video in mpeg
2. Then we had the file into itunes
3. We tag the new added files using itunes the metadata (Name, Author, Duration, etc...)
4. We delete from itunes the files that needs to be deleted.
As from now on, everything must be automatic, this is where your job starts :
cron task A, on every Monday 23h00, is being Launched from DS, here it was it does :
from our DS to the LS : A script
o connects to our LS (using https, ssh, sftp,or ftp)
o Read the content of the directory on the LS and on the DS,
o Compare every file (creation Date, Metadata, etc..) between DS and LS
o Upload the difference from LS to DS (Resume function must available) - Pure mirroring
When synchro is finished :
o an email is sent with the state of the operation : success/failures + logs
o Cron Task B is being Launched
Cron Task B , and here what is does :
from our WS to the DS : Then the cron task reads the metadata of each file on the DS and create an XML file on the WS containing all the infos (Name, Duration; Author, etc...)
The 5 php pages on the WS reads the XML file and update the web page accordingly.
An 5 XML feeds (podcast) are being created
The challenges are :
Find a DS that accept connection that can read content of their folder from an external source.
Interact with 3 different servers
Alternatives
The XML and podcast creation could be done from the DS, instead of the WS.
We are open to other solutions if you have any idea.