Fork me on GitHub

“A personal music server
for everyone”

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...

  1. run - Builds a working Sockso distribution in the "dist" folder, and runs it.
  2. package - Makes nice packages for Sockso.
  3. test - Run all the Java unit tests
  4. 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.

Comments

  • No comments yet, be the first!

Post Comment

Just enter your name, fill out the easy captcha and enter your comments - it'll appear on the site right away. If you enter your email it will just be linked from your name so people can get in touch with you about your comment, so it's optional.

Sockso Community!

Sockso comes with the ability to be instantly part of the Sockso Community. So install now to to take part!

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 RSS Icon

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.

Linux Logo Windows Logo OSX Logo