Developing for Sockso
This page contains some basic information on how to set up a Sockso development
environment. So basically, what you'll need...
1) JDK 1.5+ (http://java.sun.com)
Sockso (and some of it's libraries) require atleast JDK 1.5. The official
releases are compiled with this.
2) Apache Ant (http://ant.apache.org)
All of the compiling, running, packaging and testing of Sockso is done with Ant,
so it's an essential really (unless ur mental and want to do things on your own)
3) PHP 4+ (http://www.php.net)
Some of the build process uses PHP scripts to do some stuff, so you'll need this
installed to or you won't get far (again, unless ur mental)
Some people love them, others (mentalists) hate them, but I'd reccomend using
Netbeans (http://netbeans.org). There are lots of others to but I find this
one pretty good.
First make a copy of the file "sockso.properties-sample" and rename it to just
"sockso.properties". Then, as long as you're using Ant, pretty much everything
should be ready to go. If you're using an IDE then you'll probably need to
point it to all the Jar files in the "lib/std", "lib/dev" and "lib/opt" directories or it'll
complain about all the imports. Otherwise try some of these useful Ant tasks...
- run - Builds a working Sockso distribution in the "dist" folder, and runs it.
- package - Makes nice packages for Sockso.
- test - Run all the Java unit tests
- test-single -Dclass=CLASSNAME - Run a specific class's tests
lib/* - Java libraries
resources - JS/CSS/Image resources for desktop application and web browser
scripts - Various utility scripts for development
src - Java source code
templates - Jamon templates
test - Test cases
Sockso strives to have as much UT coverage as possible in both it's Java and
$> ant test
Or to run a single test case...
$> ant test-single -Dclass=com.pugh.sockso.StringProperties
NB: Running the Java unit tests requires MySQL installed, running and accessible
by the mysql.* settings from sockso.properties (this user will need create/drop
up the test server in one shell...
$> ant test-js-server
Then go to http://localhost:9876 to attach a browser, you can then run the tests
from another shell.
$> ant test-js
You can attach multiple browsers to test across them all at once.
If you love using Sockso and would like to give a little back,
try a donation to help out and support open source development.
Latest News & Releases
Bug fix release - fixes broken folder browsing and related artists.
Bug fix for broken local cover art, and updated French translation.
14th March 2012
Bug fixes for path security hole, API access, and encoded pluses. Along with updated Italian translation,
adding ability to extract cover art from ID3 tags.
Added ability to add arbitrary meta tags, JPlayer support, HTTP Range header support, bug fixes, and finalised API v1.0
Fix for fetching cover artwork from Amazon.
Fixes for unicode output issue, and strict JSON API issue with single quotes.
Added a JSON API to support developing
applications on top of Sockso.
Posted screencast of *VERY* early
version of new Sockso iPhone app. Feedback appreciated in the forums.
Fix for problem on OSX where Sockso would not start, other minor bug fixes for Flac handling.
New HTML5 Player for iPad/iOS/etc support from nguillaumin,
new 'tinygreen' skin from Simplify, and some bug fixes.
Album years now shown, Turkish translation added, and MP3 tag library updated (all thanks to badZeppelin!),
some bug fixes to ajax page loading.
Users can now require approval when registering, and updated ajaxified web interface with embedded player now default.
Fix for missing 'colscan' command from console, moved optional libraries location (to upgrade rename
your optionals folder from 'lib-opt' to 'lib/opt', and a bug fix for invalid URL characters
breaking some playlist files.
Created ability to add servers to the new Sockso Community,
and you can now run behind Apache without needing a VirtualHost (thanks to LightGlitch!)
30th January 2011
Sockso 1.2.6 (broken)
Fix for selecting the playlist in some browsers, and added new web admin console.
Minor bug fix for adding items to the playlist when browsing folders.
Patches from Will to improve HTTP/HTTPS streaming performance, and HTML compliance, improved
music tree in GUI to cope with any size collections, hidden files now ignored on indexing,
and some other bugs.
Fixed broken 1.2.2 release.