PRODUCT RELEASE INFORMATION
------------------------------------------
PRODUCT NAME    : ExpenseLogger
PRODUCT VERSION : 2.0.0
BUILD DATE      : 12 Mar 2013
TAG LINE        : Paint me bootstrapped
COMMENT         : Feature release. PLEASE NOTE THIS VERSION IS NOT BACKWARD COMPATIBLE.
------------------------------------------

Manifest -
----------
    Recent Changes/Tickets Addressed
    System Requirements
    Installation Procedure    
    Troubleshooting
    IIS Application Setup utility

Recent Changes/Tickets Addressed -
----------------------------------
    EXPENSELOGGER HAS NOW BEEN RE-LICENSED UNDER AGPLV3, INSTEAD OF GPLV3

    Enh: Moving to Twitter Bootstrap theming and grid framework and deprecating jQuery UI theming
    Enh: Expenses are now editable and searchable
    Enh: Adding a new feature called recurring expenses, so user's can setup some common recurring expenses like rent/mortgage, phone bills, internet bills etc. and not have to enter them manually
    Enh: Implemented a trend projection functionality to display projected spending based on the current month's trend. The monthly trend line is shown in Blue on the homepage. This functionality is still in it's infancy and will need more refinement which will come in the future 2.x releases. (Ticket 15)
    Enh: ExpenseLogger Task Handler now takes care of sending reminder emails, inserting test data and inserting recurring expenses. (Ticket 16)
    Fix: Any expense, reminder or recurring expense deletion will now pop up a confirmation dialog
    Fix: Fixing a bug where a category with an empty description could be saved from the Options section when editing it's description
    Fix: During account verification, the GUID code was not being validated for format which is now fixed
    Fix: Fixing a thread handles overflow issue for the Task Handler (formerly ReminderEmailer) wherein if the service ran for a longish (over a week) period of time, the number of process handles would be drastically high causing the utility to start failing past a handle count of 5K
    Explicitly setting system culture to en-AU so dates are parsed properly
    Simplification to the database creation logic along with notification to the users of the setup status via progress bar
    Overhaul for password reset functionality
    Adding consistency across all action names
    Deprecating use of Thread.Sleep in favour of Timer class since Thread.Sleep is computationaly much expensive and is just generally a very bad idea
    jQuery Flot updated to v0.7
    Recaptcha updated to v1.0.5.1 (this is a custom build from source)
    jQuery Flot CurvedLines updated to v0.2.3
    Adding caching configuration for /Content/Images and /Content/Inline
    Cleaning up unnecessary javascript libraries from deploy
    
System Requirements -  
---------------------
    IIS Web server 7.0 and above with the ASP.NET feature installed (http://learn.iis.net/page.aspx/85/installing-iis/)
    Microsoft SQL Server 2008 or above (atleast SQL Express edition) (http://www.microsoft.com/sqlserver/en/us/editions/express.aspx)
    .NET Framework 4.0 (http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17718)
    ASP.NET MVC 4 (http://www.asp.net/mvc/mvc4)    

Please note that the directions for installation of system requirements are out of the scope of this document.

Installation Procedure -
------------------------
Please check the installation.html document for installation instructions and procedure.

Feel free to contact me if anything goes wrong on - monemihir@gmail.com

Troubleshooting -
-----------------
1. The IIS site creation failed. 
   If the IIS site creation fails it is most likely because you are missing a system requirement on your machine. Recheck that you have installed all the needed prerequisite software. The IIS configuration utility is located in the "bin" directory of the application. Navigate to the install location and open the "bin" directory. Run the "MMM.Library.IISAppSetup.exe" to retry deploying the application to IIS. See the "IIS Application Setup Utility" section of this document for more details on this utility.

IIS Application Setup Utility -
-------------------------------
Usage:
MMM.Library.IISAppSetup.exe [-runmode=0] [-net=v4.0] [-mvc=4] [-vpath=Xyz] [-ppath=C:\Xyz]

Options:
-ppath    Conditional Mandatory     Absolute physical path where the application binaries are stored
-vpath    Conditional Mandatory     Virtual path relative to http://localhost/ Eg. Xyz will map to http://localhost/xyz
-net      Optional                  .NET Framework version to be used. Eg. v3.5. Defaults to v4.0
-mvc      Optional                  MVC Framework of the application. Eg. 4. Defaults to 4
-runmode  Optional                  Specified the run mode for the utility. Eg. 1. Defaults to 0
                                    0 - Configure application under IIS
                                    1 - Check if IIS is installed
                                    2 - Check if ASP.NET feature is installed in IIS
                                    3 - Check if ASP.NET MVC is installed
                                    4 - Check if SQL Server is installed
                                    5 - Remove application from IIS

Remarks:
1. When running the utility in mode 0, physical path becomes a mandatory option
2. When running the utility in mode 5, virtual path becomes a mandatory option

Examples:
1. MMM.Library.IISAppSetup.exe -runmode=3
   Only check if ASP.NET MVC is installed

2. MMM.Library.IISAppSetup.exe -vpath=ExpenseLogger -ppath=C:\inetpub\wwwroot\ExpenseLogger
   Configure the application under IIS to be accessed at the virtual path ExpenseLogger i.e http://localhost/ExpenseLogger
   This is the command that gets run at installation time.   