Download TimeLiner

So you want to do it yourself ey?... No problem!
Just remember; this software is still in development, I won't take any responsibility if it will eat your website!
There are 2 ways you can implement Timeliner on your own website:

  1. The easy way: as a service. You can put the widget-code on your website without the need for a (php) webserver and a Mysql-Database. Your Timeliner widget will use the I-V-O servers to gather and store messages.
  2. The nerdy way: pure code. You need a PHP-webserver and a Mysql-database, but you can configure a lot and change the looks or even add your own features (tho I'd like it if you share that with us).

As a Service: The easy way

Using this method has a few advantages; you host the template and the stylesheets yourself, so you can modify them, and you do not need an Iframe (which is good by itself).
There is a disadvantage tho; if we update TimeLiner with new features you'd have to manually upgrade your Timeliner-code. There's a way around this, but more on that later.

Ok.. let's get started, download THIS package, and unpack it on your desktop, or somewhere you remember.
Next move the js & css directories to the appropiate location within your webroot.
Open up the index.html-file and follow the instructions on how to include the javascript&css-code and start an instance of Timeliner.

If you'd like us to host the javascript-libraries and take advantage of updated code and new features you might want to take a look at indexShared.html.
Just remember; if you are going to use the libraries on I-V-O-servers you MUST get the media-player-SWF-file from your own server. This is not because I want to keep a limit on bandwidth (tho that's a nice plus) but because Flash doesn't allow javascript if the SWF movie is hosted from another domain.

User-code
If you do not use the widget or your own PHP-webserver you need a User-code. This is to distinguish your media-files from others. I do not want your email-adress, you won't need to enter a password, just press a button and you'll get a code to use in your scripts.

Give me a code!

Pure code: The nerdy way

Ok.. so you want full control?
Check if you're hosting enviroment meets the requirements, it's not that much:
  • Your webserver runs PHP 5, and has a mysql-server (to which you have access and rights to create tables)
  • You have installed PEAR HTTP/Request (optional; if you do not want the Youtube-hotlink feature, or use the I-V-O hotlinker you won't need it)
  • You have a good understanding of PHP & mysql and their configuration-options and paths
Ok, you have what it takes? Grab this package, and unzip it somewhere you'll remember.
Copy the files to the appropiate directory within the webroot.
Create a Mysql-database, ie: tliner (you can also use the database used in your application) and import timer_database.sql to create the tables.
Now open up inc/config.php in your favorite text-editor (like Vim) and change the settings (especially $DSN, other var's are not used yet or not important).
At this point the server-side-setup is ready.. Now for the client-side; open up index.php and read the comments on how to implement the widget onto your webpage.

Problems??

Timeliner uses cross-domain-javascript remoting. This means that a "ajax"-request is made by creating a script-tag in the head of the page, after receiving results from the server the script-tag itself is removed again. It's quite difficult to debug this in a proper way (also because every request to the server has to be authorized first).
The tLiner-script has a (simple) debug-mode that will allow you to see the 'ajax'-URI's, but you need FIREFOX and Firebug for it to function properly.
To debug the requests, open up js/lib/flvChat.js and look for "authenticatedJsonProxy", and enable the line "req.debug=true;". This will show you the URI's used to get data from the server.
However; if you copy-paste that URI into a browser you will get "NOT AUTHORIZED". That's because the serial has expired already. To overcome this, change jwChatRPC.php and disable the "if ($proxyAuth->authorize())"-statement (also uncomment }else{ ).

Donate

If you appreciate my efforts and want to keep me going developing new features for TimeLiner, consider making a donation:


TimeLiner makes use of Prototype.js, Scriptaculous and Jeroen Wijering's FLV-media player. Consider making a donation to them for their excellent work.. they will like you for it;)

Go Home