Developing for Sockso
This page contains some basic information on how to set up a Sockso development
environment. So basically, what you'll need...
Essentials
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)
Optional
1) IDE
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.
Configuration
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
Source Layout
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
Unit Testing
Sockso strives to have as much UT coverage as possible in both it's Java and
Javascript. To run the JUnit tests for Java use...
$> 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
permissions).
For the Javascript tests Sockso uses JsTestDriver, so first you need to start
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 
12th May
Sockso 1.5.3
-
Bug fix release - fixes broken folder browsing and related artists.
29th April
Sockso 1.5.2
-
Bug fix for broken local cover art, and updated French translation.
14th March 2012
Sockso 1.5.1
-
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.
10th December
Sockso 1.5
-
Added ability to add arbitrary meta tags, JPlayer support, HTTP Range header support, bug fixes, and finalised API v1.0
25th July
Sockso 1.4.2
-
Fix for fetching cover artwork from Amazon.
24th July
Sockso 1.4.1
-
Fixes for unicode output issue, and strict JSON API issue with single quotes.
23rd July
Sockso 1.4
-
Added a JSON API to support developing
applications on top of Sockso.
8th July
Posted screencast of *VERY* early
version of new Sockso iPhone app. Feedback appreciated in the forums.
2nd July
Sockso 1.3.5
-
Fix for problem on OSX where Sockso would not start, other minor bug fixes for Flac handling.
26th June
Sockso 1.3.4
-
New HTML5 Player for iPad/iOS/etc support from nguillaumin,
new 'tinygreen' skin from Simplify, and some bug fixes.
4th May
Sockso 1.3.3
-
Album years now shown, Turkish translation added, and MP3 tag library updated (all thanks to badZeppelin!),
some bug fixes to ajax page loading.
2nd April
Sockso 1.3.2
-
Users can now require approval when registering, and updated ajaxified web interface with embedded player now default.
23rd March
Sockso 1.3.1
-
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.
17th March
Sockso 1.3
-
Created ability to add servers to the new Sockso Community,
and you can now run behind Apache without needing a VirtualHost (thanks to LightGlitch!)
5th February
Sockso 1.2.7
-
Fix for broken javascript in 1.2.6.
30th January 2011
Sockso 1.2.6 (broken)
-
Fix for selecting the playlist in some browsers, and added new web admin console.
17th December
Sockso 1.2.5
-
Minor bug fix for adding items to the playlist when browsing folders.
10th April
Sockso 1.2.4
-
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.
8th February
Sockso 1.2.3
-
Fixed broken 1.2.2 release.
Comments