). The script will fail to create the account since it already exists but the rest of the setup should complete successfully.
EditManual Installation
EditConfigure ASP.NET Application
Unzip the website you downloaded from nealosis.com or sourceforge.net and copy it to your server. Usually this is c:\Inetpub\wwwroot\music. You'll need to create the music folder of course.
Set Music Path
The system configuration files are located in the path ~/config/my_settings/. You only need to edit the AppSettings.xml file:
1. AppSettings.xml: Edit the ScanPath key. Set it to your root music path:
<appSettings>
<!–– scanPath
The physical path of the root of the MP3 library to scan.
––>
<add key="scanPath" value="\\baileyfs01\Music"/>
<!–– disableScanner
Whether or not scanning should be disabled.
––>
<add key="disableScanner" value="false"/>
<!–– default adminPassword
The default Administrator account's password
––>
<add key="adminPassword" value="password"/>
<!–– bannerMessage
The text displayed in the header of the site.
––>
<add key="bannerMessage" value="MP3-CMS Server"/>
</appSettings>
Edit Folder Security
You need to grant the application rights to read your collection and edit the database. Grant the NETWORK_SERVICE account Read & Execute, Write, and Modify permissions to the ~/App_Data folder. You can access the permissions (ACL) by right clicking on the App_Data folder and selecting the Security tab.
 Database Folder Properties Sheet |
 Security Settings For App_Data |
Finally, grant the NETWORK_SERVICE account Read & Execute and List permissions to your ScanPath folder (so the application can scan your music). Follow the same steps above for the folder which has all your music.
Note: for increased security you could also use a domain service account. In order to do this, grant the service account permissions to the App_Data Folder and the directory with your music. When you setup your web service in the next step, you need to change the web site's Application Pool Identity property to the service account. This is not necessary for most users.
EditConfigure IIS 6.0 Server
All steps are assumed for Internet Information Server (IIS) v6.0 unless otherwise noted.
Please be sure you have installed the ASP.NET AJAX 1.0 Extensions before proceeding.
Virtual Directory Wizard
- Open the Internet Services Manager applet by executing the command in the run menu:
%SystemRoot%\system32\inetsrv\iis.msc
- Navigate to Default Web Site. Right click on this node and select New > Virtual Directory. Follow the wizard through the steps and enter the following values when prompted (be sure the path is set to the location you copied the website to):
Alias: Music
Path: c:\inetpub\wwwroot\music
Access Permissions: Read, Run Scripts, Execute, Write
- Right click on the newly created virtual directory and select Properties. In the properties sheet open the documents tab. If there is no file called default.aspx in the list of default documents then add default.aspx in the list.
- In the ASP.NET tab ensure that the version selected is 2.0.50727 (or higher).
- Check that the IIS virtual directory is configured as an application (this setting is usually set by default)
 Ensure the virtual directory is configured as an application |
Configure the Application Pool
- With the Internet Service Manager applet open, expand the Application Pools folder. Right click the DefaultAppPool item and select properties. In the Performance tab there is an Idle Timeout section. Uncheck the only option in this section: disable timeouts. This step will allow the scanner to run all the time and not timeout.
- Click the Identity tab. You should see NETWORK_SERVICE as the pre-defined Application Pool Identity.
NOTE: if you want added security and would like the website to run under the context of a special domain service account you need to add that account into the pre-defined Application Pool Identity section of the Application Pool's property sheet. Please consider that regular accounts are different than service accounts and in order for an account to become a service account it needs to be a member of the security group, IIS_WPG which will grant the group policy right Log on as a Service.
EditInternet Information Services 7
If you want to run mp3-cms (and all it's Ajax controls) in IIS 7, then you have to configure the managed pipeline mode in the AppPool to run in Classic Mode. Here is a link that demonstrates how to do this.
EditTesting the Installation
If you've properly set everything up then you can now open your web browser and connect to the MP3-CMS. http://YourServer/music/. You should see the login screen:
 The login screen for the CMS |
You can create an account but since administrators have to activate new accounts, its best to log in with the administrator account and use the management tools to create your accounts.
EditDefault Admin Account
User Name: admin
Password: password
After you log in you may want to check the log file in your App_Data folder to ensure that your music is scanning ok and then navigate to the management section in the Admin menu to create new accounts.
EditConfigure Cassini Web Server
Coming Soon! It's been tested and works great!
EditConfigure XSP Apache Mono Web Server
Coming Soon! Tested only experimentally :(
EditSystem Administration
EditAdding Music
Because of the size of mp3 files and the amount of them in most collections, its not feasible to allow users to upload them through a web interface. Rather it's much more efficient to create a windows network share on either the web server or file server to host the music collection. Another advantage to this is the added security available with shares. In most of our implementations we create a share with 2 folders:
- Music: The root directory of the collection.
- Upload: The directory to upload new mp3s.
The Mp3Scanner is set to watch the Music directory and only administrators & music managers have write access to the share. All users have access to the Upload directory. Using this strategy, approved administrators have the opportunity to load all the new files into Mp3Tag.de and ensure the ID3Tags for each track is set correctly and do any cleanup before copying them to the appropriate directory (which the scanner picks up and adds into the system automatically when they are copied into anywhere in the Music directory).
EditAdding Fan Art
Fan art are images like album inserts, wallpaper, and posters for an artist. It is not cached or thumbnailed; rather it's determined at run time by the application. See This previous section on how to display fan art in an artist page.
To add fan art just copy the JPG image files into the artist's folder (the folder above the albums). For example I might have \\baileyweb01\Music\Rock\Anthrax\Persistence of Time. The fan art needs to be located in \\baileyweb01\Music\Rock\Anthrax.
EditAdding Users
Users can create their own accounts at the login page but by default but these accounts cannot be used until an administrator activates the account. To activate accounts or create new accounts, log in as an administrator and navigate to the Admin page. The management options are listed and clicking on each of them expands the category, see below:
 Adding a new user to the cms |
Enter the username, password, and select the role of the user. In order for an account to be considered "Active", they must be a member of users.
EditAccount Permissions
EditRemove Admin Approval for New Accounts
As stated above, by default users can create accounts but cannot log in until an administrator activate the account (by adding the account to the users group). You can modify this behavior by editing the Web.config file in the root of the web site. Below you will see the default authorization key settings:
<authorization>
<!–– Deny all users except those who are a member of a valid role. ––>
<allow roles="Administrators"/>
<allow roles="Managers"/>
<allow roles="Users"/>
<deny users="*"/>
<!–– Only deny anonymous users.
<deny users="?"/>
––>
</authorization>
If you want all users to be able to create accounts and log-in without requiring administrator approval then change the above to:
<authorization>
<deny users="?"/>
</authorization>
EditEdit User Permissions
The CMS comes with 3 roles, each of which provide their own unique set of permissions. The roles are:
- Administrators
- Managers
- Users
Administrators have full control of the cms, Managers (or Music Managers) can perform all tasks except those involving membership and system settings, and users can perform all tasks relating to their profile but cannot edit global data like artist biographies or album reviews.
To edit user rights (role membership) log in as an administrator and navigate to the Admin section. Click the Manage Permissions link to expand the control.
From the User Name drop down, select a user and then select an action to take (Assign Role or Remove Role Assignment). When you select "Add", the roles the user is currently NOT assigned to appear in the list box. When you select "Remove", the roles the user IS currently assigned are displayed. See example below.
 Assigning user roles |
EditWeb Site Management
The web site is configured by ASP.NET configuration files that can be edited to alter the behavior of the application. Be very careful when editing these files. A mistake could corrupt the installation and any change made will recycle the IIS Worker Process and all active users will loose their session.
EditAppSettings.xml
<appSettings>
<!–– scanPath
The physical path of the root of the MP3 library to scan.
––>
<add key="scanPath" value="\\baileyfs01\Music\Rock"/>
<!–– disableScanner
Whether or not scanning should be disabled.
––>
<add key="disableScanner" value="false"/>
<!–– default adminPassword
The default Administrator account's password.
––>
<add key="adminPassword" value="password"/>
<!–– bannerMessage
The text displayed in the header of the site.
––>
<add key="bannerMessage" value="MP3–CMS Server"/>
</appSettings>
- scanPath - defines the location of the music files.
- disableScanner - Turns the scanner off. If you want to prevent new music from being added to the system, disable the scanner.
- adminPassword - Defines the default password for the admin account. This can only be set on new databases.
- bannerMessage - The text displayed in the header of the web site.
EditMembershipProvider.xml
<membership defaultProvider="Mp3CmsMembershipProvider">
<providers>
<clear/>
<add name="Mp3CmsMembershipProvider" type="Mp3CmsMembershipProvider, App_Code"
enablePasswordReset="true"
enablePasswordRetrieval="true"
minRequiredNonAlphanumericCharacters="0" minRequiredPasswordLength="3" passwordFormat="Encrypted"
maxInvalidPasswordAttempts="5" passwordAttemptWindow="5"
requiresQuestionAndAnswer="true"
requiresUniqueEmail="false"
passwordSaltSize="16"
/>
</providers>
</membership>
These settings define the behavior of the membership provider. For a full list of options check this MSDN article. A word of caution though. not all these settings have been tested.
EditNHibernate.config
<property name="connection.connection_string">Data Source=|DataDirectory|music.db3;Page Size=4096;Synchronous=Off</property >
<property name="dialect">NHibernate.Dialect.SQLiteDialect</property>
<property name="connection.driver_class">NHibernate.Driver.SQLite20Driver</property>
<property name="query.substitutions">true=1, false=0</property>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.isolation">ReadCommitted</property>
<property name="show_sql">false</property>
These settings should be left alone. This file has a lot of comments with details of other database engines we have tested (Firebird, MS-SQL, etc). If you'd like the scanner to create a database in a specific location you can edit the connection string and enter a fully qualified path to a db3 database.
EditRoleProvider.config
<roleManager enabled="true" defaultProvider="Mp3CmsRoleProvider"
cacheRolesInCookie="true"
cookieName=".ASPROLES"
cookieTimeout="30"
cookiePath="/"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
cookieProtection="All">
<providers>
<clear/>
<add name="Mp3CmsRoleProvider" type="Mp3CmsRoleProvider, App_Code"/>
</providers>
</roleManager>
These settings define the behavior of the role management provider. For a full list of options check this MSDN article. A word of caution though. not all these settings have been tested.
EditWeb.config
This is the core configuration for the website. There are some interesting settings that you can customize but generally speaking proceed with caution when editing these values.
One of the key elements is the authorization key which allows you to enable or disable whether or not new user accounts must be activated. See this earlier section for instructions on doing this.
You can also edit the compilation key, to turn off debugging. If you plan on running this on the internet then you should set the value to false so your web server doesn't expose sensitive server information if the application experiences an error.
<compilation debug="true" strict="false" explicit="true">
EditScanner Management
In the earliest releases of mp3-cms, the scanner was a separate console application and later it was an NT Service component. With the last release we moved it into the base engine of the website in order to simplify things and consolidate logic. The scanner creates a log file in the web site's App_Data directory called log.txt where all of it's actions are accounted for. The scanner runs each time the web site is started or when an event is triggered by the file system.
EditScan Workflow
The scanner works in an ordered fashion based off a queuing system. When the scanner kicks off it navigates each directory and sub-directory of the scan path and checks each file to see if it's in the database based on a concatenation of the file's directory and name. If the file is not in the database then it is queued up for processing. When all the files in the folder are queued, the QueueProcessor engine processes those files:
- Extracts ID3Tag header metadata
- Publishes file and id3 info in the database
- Checks for folder.jpg and if not found then it extracts the header frame of the file for art
- Generates a thumbnail for the art
- Copies the thumbnail to the coverArt folder
- Determines orphaned Artists, Albums, Genres, and Years
- Cleans up orphans out of the database
Wash, rinse, repeat for each folder & sub folders under your scan path directory.
You can watch this orderly process in process by viewing you log.txt file in the App_Data directory.
EditTriggers
The Mp3Scanner component uses a FileSystemWatcher entity to monitor the scan path set in the /config/my_settings/AppSettings.xml file. Whenever a file is added or deleted from the directory the scanner is triggered to take action on the files; either by scrubbing the records from the database or by adding them into it.
Due to some time comparison issues we experienced in mp3-cms v1.5.x, we no longer compare the file's modified date in the database to the file's modified date to do updates. If you make a change to some tracks, like editing ID3Tags, it's recommended that you use a batch process to rename the files, which will trigger a DELETE > ADD workflow in the scanner.
Warning: by renaming files, you will loose saved song lyrics, track ratings, and any other user metadata regarding these tracks.
If the scanner cannot read the header information in a file, it will re-queue it and continuously try every few seconds to read it. If after 5 minutes the scanner still cannot get the meta data header info, it will expire and give up on the track.
EditForcing a scan
If for some reason the directory containing the music files was unavailable at the time of a critical change and you want to initiate a scan you can restart the IIS/ASPNET stack by running the following command in the server's command prompt:
c:\Windows\System32>iisreset
This will bring everything down and back up again in the correct sequence. The next connection to the mp3-cms will initialize the scanner and start a new scan.
EditThumbnail generation
As part of the scanning process, the scanner will attempt to generate 200px X 200px thumbnail images of CD cover art. The scanner will first look in each track's folder for a file called folder.jpg and if it's found then the scanner will generate a thumbnail and move it to the ~/AppData directory on the web server. If no folder.jpg file is found, then the scanner will attempt to extract a cover directly out of the track's ID3Tag metadata header. Thumbnails are always named .jpg. You can determine an album's Id value by looking at the url string when you open the album's page in the website or by doing a query against the database directly.
EditSQLite Management
The database we've selected for the last several releases is SQLite, mostly because its outstanding performance and flat file architecture. You shouldn't ever need to do anything with it but if you want to poke around, feel free. I use a program called SQLite Administrator to interact with it in a graphical interface. You can see all the database tables, the indexes, and even run queries against you database if you so choose.
 Running a Query for Most Played Tracks |
You can see from the query I have run that I am asking the database to return a results set that shows me the most played tracks for all users in the database.
EditCreating a new database
If you find that your ID3Tags are all wrong and you want to fix them with Mp3Tag.de and then rescan everything all over again then all you need to do is delete the file music.db3! The next time you connect to the website a new database will be generated for you!
Warning: If you have mp3-cms generate a new database for you the scanner will not start right away. It's best to review the log and when there has been no activity for a few minutes after the new database is generated, restart iis with the iisreset command and the next web request will kick off the scanner.
EditUpgrading to Mp3-Cms v2.0
Luckily, the database design we developed is just that good that we didn't need to make any changes to it! When you install the site, copy your old music.db3 file from v1.5.x into the new AppData folder and all your play lists, reviews, star ratings, etc will be preserved!
EditLogging Engine
The application log file (~/App_Data/log.txt) is your window into the processing of the application. Every action the scanner takes is accountable to the log file.
EditLog4Net
The log engine (log4Net) that ships with mp3-cms is set to debug mode, meaning that your log files are going to be astronomically huge in size! Once you're satisfied that the scanner is working correctly and everything is ok, you can edit the log4net.config file (in the root of the install) and turn off debug logging.
<log4net debug="false">
<appender name="trace" type="log4net.Appender.TraceAppender, log4net">
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %–5p [%x] <%X{auth}> – %m%n"/>
</layout>
</appender>
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender">
<file value="App_Data\log.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="20" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %–5level %logger [%property{NDC}] – %message%newline" />
</layout>
</appender>
<root>
<priority value="WARN"/>
<appender–ref ref="trace"/>
<appender–ref ref="rollingFile"/>
</root>
<logger name="baileysoft.mp3">
<priority value="DEBUG" />
</logger>
</log4net>
You can change the priority value from "DEBUG" to "INFO" to turn off verbose debug logging. Here are some sample configurations you can review for more detail
EditInterpreting Messages
The log is pretty straight forward. It lets you know when it starts and what it's doing:
2009-06-25 14:21:47,349 [4] INFO baileysoft.mp3.Mp3Scanner [(null)] - Scanner started.
2009-06-25 14:21:47,708 [8] INFO baileysoft.mp3.Mp3Scanner [(null)] - Building list of file records that are no longer valid.
2009-06-25 14:21:47,926 [8] INFO baileysoft.mp3.Mp3Scanner [(null)] - Scanning for new files since last execution.
2009-06-25 14:21:47,926 [8] DEBUG baileysoft.mp3.Mp3Scanner [(null)] - Scanning folder \\baileyfs01\Music\Rock for new files.
2009-06-25 14:21:47,942 [8] DEBUG baileysoft.mp3.Mp3Scanner [(null)] - Scanning folder \\baileyfs01\Music\Rock\311 for new files.
2009-06-25 14:21:47,957 [8] DEBUG baileysoft.mp3.Mp3Scanner [(null)] - Scanning folder \\baileyfs01\Music\Rock\311\311 (1995) for new files.
2009-06-25 14:21:47,957 [8] DEBUG baileysoft.mp3.Mp3Scanner [(null)] - Checking file '\\baileyfs01\Music\Rock\311\311 (1995)\01 311 - Down.mp3'
Here are some more typical messages:
2009-06-25 14:22:50,186 [8] DEBUG baileysoft.mp3.Mp3Scanner [(null)] - Logically deleting Genres that are no longer in use.
2009-06-25 14:22:50,186 [8] DEBUG baileysoft.mp3.Mp3Scanner [(null)] - Logically deleting Years that are no longer in use.
2009-06-25 14:22:50,186 [8] DEBUG baileysoft.mp3.Mp3Scanner [(null)] - Logically deleting Artists that are no longer in use.
2009-06-25 14:22:50,186 [8] DEBUG baileysoft.mp3.Mp3Scanner [(null)] - Logically deleting Albums that are no longer in use.
2009-06-25 14:22:50,201 [8] DEBUG baileysoft.mp3.Mp3Scanner [(null)] - Caching cover art for album 131126 from folder.jpg.
2009-06-25 14:22:50,264 [8] DEBUG baileysoft.mp3.Mp3Scanner [(null)] - Updating statistics.
Use these log messages in the forum when you need support.
The log will display some errors when the database is being built but that's normal due to it's structure.
EditTroubleshooting
EditUsers Guide
EditFinding Music
Of course you can browse the collection by clicking the Artists, Albums, or Genres link in the page banner to go to the browse collection pages.
If you'd like to search the database for an artist, album or song you can do so by clicking the Search link the the header banner. From the dropdown, select what type of search you'd like to do (song title, artist, or album) and enter your search criteria.
Note: you can wild card searches with the % character. For example the search love% would return all matches that start with the word love but the search %love returns any match that ends with the word love.
EditTrack & Album Ratings
Just about everywhere you see a track listing or an album there is a series of 5 stars next to it. You can mouse over the stars and rate the song or album from 1 (horrible) to 5 (totally awesome) stars. These ratings only apply to your profile. By rating a track or album you will not interfere with anyone else's ratings. As you rate tracks an automatic star rating play list is being generated on your behalf. You can listen to this play list from the playlists page.
EditRecommending Tracks
As you're navigating the system you will often see a table like this, denoting the tracks in an album (or tracks from an artist).
 An Album's Tracks Grid |
The green check marks next to a track indicates a Recommended Song. Recommended songs are any songs in the mp3-cms which are rated by any user with a 4 or 5 star rating. A 4 star rating is equal to I Really Like and a 5 star rating is equal to I Absolutely Love. If a user really likes or absolutely loves a track, then the track is flagged as a recommended track for all users in the system.
EditAlbum Comments
At the bottom of every album page there is a box where users can leave comments about the album. Users are only allowed 1 comment per album (though you can change your comment as often as you want).
EditViewing Fan Art
At the artist page there is a control called FanArt in the right panel of the page. Clicking on the link will initiate a Ajax postback to fetch any fan art in the system. Refer to this section for more details.
EditViewing AudioScrobbler Data
On the left hand side of the artist page you'll notice the Audio-Scrobbler logo. Below it are the feeds available. clicking on either of the links will fetch the stream data from Last.fm.
 Viewing an AudioScrobbler Internet Data Stream |
EditManaging Playlists
EditCreating & Deleting Playlists
Before you can add songs into a play list, you need to create a play list to put songs into. Of course, you could just give songs a star rating and let mp3-cms create an automatic play list for you based on your star ratings. However there is a very good reason to create play lists. Play lists let you partition music into sub-units. You might rate a Rap song 5 stars and you might also rate a Metal song 5 stars but that doesn't necessarily mean that you want to listen to these songs back to back in the same play list.
One of the best examples is the creation of a Christmas or a Memorial Day Cookout play list which only contains tracks that are either holiday related or appropriate for company.
To create a new playlist, navigate to the play list page by clicking the Playlist link in the header of the page.
 Creating a Memorial Day Playlist |
When you click 'Create', the new play list will appear in the listen and edit drop down lists. If you wish to destroy the playlist then click the 'Delete' button to scrub it from the database forever.
EditAdding Tracks to Playlists
After you have created a play list, you can add songs into it from any track listing in the site:
- GetAlbum Page
- GetArtist Page
- PlaylistPlay Page
All you need to do is check off the items in the track listing, select a playlist from the drop down list, and click the Submit button.
GetArtist Tracklist
In the GetArtist page, the tracklist is not automatically populated due to performance issues. If you click the Fetch All Tracks link in the Artist Tracks section, an Ajax postback will kick off to fetch all the artist's songs.
EditRemoving Tracks from Playlists
To remove tracks from your playlists:
- Click the Playlists link in the header of the page
- In the Manage Playlists section select your play list from the Edit my Playlists line
- Click the Edit button
- Click the Delete button on the left hand side of each track to remove
EditUsing Smart Playlists
Smart play lists are plat lists that don't need to be created manually. They are generated by the system based on certain criteria. Smart play lists are available from the Playlists link in the header of the page.
- 50 Random Songs from Collection
- 50 Newest Songs in the Collection
- 50 Random Songs by Genre (multiple genres)
- 50 Most Played Songs (By You)
- 50 Most Played Songs (By Everyone)
- 50 Random Songs by Star Rating (1-5 stars)
- 50 Highest Rated Songs (By Everyone - may contain duplicates)
In addition the GetArtist page has a built-in smart play list in the Artist Tracks section. You can have the system generate a play list of all tracks from an artist (in order or in shuffled).
EditAdding Album Reviews
Album reviews can only be added by administrators and managers. To add a review for a CD, click the up arrow image in the Album Review section of the GetAlbum page.
This will open the Album Details page where you can add a review, upload a new cover, and review details about the album. If you click the Fetch button, the cms will try to automatically scrape the album review from AllMusic.com. The Save button saves the review in the database and the Online button links directly to AllMusic.com so you can cut and paste the review.
Scraping reviews using the Fetch button usually has about a 70% success rate for U.S. based albums.
EditAdding Artist Biographies
Artist biographies can only be added by administrators and managers. To add a bio for an artist, click the up arrow image in the Album Review section of the GetAlbum page. To add a bio for an artist, click the Add/Edit link in the Artist Biography section of the GetArtist page for an artist. Click the Submit button to save the biography in the database.
EditAdding Song Lyrics
You can save the lyrics of a song in the GetTrack page. Anywhere in the site where you see a track name you can click on it to navigate to the GetTrack page where you can listen to the song, add lyrics, and review details about the track such as its file properties and ID3 header tags.
Clicking the Fetch button to retrieve lyrics connects to the LyricWiki web service and generally has a much higher success rate than the Fetch option for Album reviews.
 Retireving Lyrics for a Song From the Internet |
EditViewing File/Track Details
See above... clicking on any track opens the GetTrack page where you can view the file properties, ID3 tags, or listen to the song directly.
EditEditing ID3Tags
For now this feature remains un-implemented. I'm not sure if we're gonna add this or not at this point.
EditShoutcast/Last.fm Radio
This feature is still in the experimental phase. The Last.fm API requires a commercial license to stream music from their service programmatically so the Last.fm streaming probably wont happen.
EditGetting Help
EditDevelopers Guide
EditGetting the Source Code
We're using Subversion as our source control engine and SourceForge.net to host our SVN repository. Read access is available to everyone so you can either download the source code using subversion or you can browse it on the Apache server.
Click Here for a step-by-step guide to using Subversion with the TortoiseSVN client.
EditConfiguring the Source
Once you have the source code you can't just build it, you have to make a few changes to the configuration. We've partitioned out a few config files so that each time someone makes an edit and commits it the rest of us don't have to keep changing the config files when we do an update (so it will work on our systems).
Developer Instructions for running the VS 2005 project
- Copy all the files in the /config/default folder to /config/my_settings
- Open mp3CMS.sln in Visual Studio 2005
- Rename sample_web.config in the Site project to web/config
- Open/edit web.config and change all instances of ~/config/default to ~/config/my_settings
The first time you run the project in the VS Debugger the database will be created but the scanner will not run. Every future time you run the site, the scanner will execute.
The default login account is:
username: admin
password: password
EditObject Diagrams
I'm still working on all the documentation but you can review these diagrams:
EditContributing Patches & Features
If you'd like to contribute to the project by adding features or submitting bug fixes then:
- Sign-up for a free sourceforge.net account
- Send me your info (via the forum and I will add you as a developer