This project is read-only.

Step by Step

Download the sql scripts required for installation
  1. Download either the complete source or the compiled ready to go version of the system and extract the files somewhere
  2. Create a database on your sql server called whatever you like (e.g. CustomerContactSystem)
  3. Add a login for the database with owner access.
  4. Open the CustomerContactSystem_CreateTables.sql file in Management Studio and execute against your new database.
  5. Open the CustomerContactSystem_InitData.sql file in Management Studio and execute against your database. This will insert some default data in your database to allow you to get up and running. You can edit this data later if you wish.
  6. Copy the compiled version of the website to a folder on your intranet web server, typically your iis folder wwwroot but wherever you wish to host the site. (e.g. C:\inetpub\wwwroot\CustomerContactSystem)
  7. Create a document folder at the root of the website (e.g. Docs). This is where the app will save uploaded files.
  8. Create a virtual directory in IIS pointing to the new website and call it what you want the name to be when users browse to it (e.g. CustomerContactSystem for a url of http://myintranet/CustomerContactSystem)
  9. Open the file Web.config in notepad or your chosen text editor and update the settings to your specifics. See below for a description of the settings and their meaning.
  10. Edit the Nhibernate connection string setting (value of the element <property name="connection.connection_string">) in the web.config to your database connection details. You will see in other Nhibernate settings that this is set as Sql Server 2005. You can if you wish try and use Sql Server 2000 by changing this but that will not be supported by us.
  11. Browse to the sites SettingsCheck.aspx page. This will check your connection to Fix Your Street (testzone or live depending on your setting), your database and other vital settings in the web.config.
  12. Browse to the sites login.aspx page and you should be able to login using the created sysadmin/pass0rd login
  13. You will then need to populate the departments, categories, classifications and sources as well as setup users as required. At a minimum you will need categories to match with the Fix Your Street categories and a 'FixYourStreet' source as well as at least one user to set as a default submitter/referee for imported incidents be it the existing sysadmin or other. Some of this is done for you in the data init file included.

Application Settings

Application settings are located in the <appSettings> element of the web.config
  • OrganisationName - Change to the name of your Authority. This will be used when sending comments to Fix Your Street for example.
  • OrganisationNameShort - Used for the title of the application (e.g. SDCC Customer Contact System)
  • OrganisationPublicEmail - the system allows users to send emails to customers from within the system. It will default to sending from this address but will allow the user to override it
  • SmtpServerAddress - IP Address of your mail server. The system uses email to communicate to users when they are referred items etc.
  • AdminUsername - Will be used as the default user where another user might not be available (e.g. when specifying who created a comment when importing from Fix Your Street)
  • AdminEmailAddress - Will be used for system email as the sender
  • FixYourStreetUrl - url of the Fix Your Street Api to use (expects trailing slash (/) at end of url)
  • FixYourStreetApiFolder - folder name of Fix Your Street extended Api (expects trailing slash (/))
  • FixYourStreetApiVersion - version of the extended Api to use (expects trailing slash (/))
  • DefaultGroupId - id of the default user group to assign to user when they register. A 'None' group will be created during setup that can be used (just enter the id from the db)
  • DefaultRoleId - id of the default user role to assign to user when they register. An 'Agent' role will be created during setup that can be used (just enter the id from the db)
  • UserSessionKey - key used to store logged in user in session
  • DocumentsFolder - folder to save uploaded files in. This folder will require write access. With apps and IIS the user that needs the access varies from IUSR to the application pool identity depending on the version of IIS being used
  • SiteRoot - the url of the deployed system which will be used to include links in emails to users (e.g. http://myintranet/CustomerContactSystem/). Include the trailing slash.
  • AllowedFileExtensions - comma delimitted list of file extensions users are allowed to upload
  • CategoryMatchUps - this specifies which categories in the ccs to match with Fix Your Street categories. They comma delimitted in pairings of FixYourStreetCategoryId:CcsCategoryId. See below for a list of Fix Your Street Categories so you can decide for yourself how to match them up.
  • CategoryRefereeMatchUps - this specifies which users to refer enquiries imported from Fix Your Street based on the category. They are comma delimitted in pairings of FixYourStreetCategoryId:UserId. This is an optional setting but must be present in the web.config. Leave the value part blank if you prefer to use one single user based on the DefaultFysReferee setting below.
  • DefaultFysClassification - the id of the classification to use when importing Fix Your Street incidents
  • DefaultFysSubmitter - the id of the user to set as submitter when importing Fix Your Street incidents
  • DefaultFysReferee - the id of the user to refer an imported Fix Your Street incident to
  • FysSourceId - the id of the source to use when importing Fix Your Street incidents - you should include a 'Fix Your Street' source in the database and then put the id here

Fix Your Street Id/Category Names

  • 1/Graffiti
  • 2/Road or path defects
  • 3/Street Lighting
  • 5/Leaks and Drainage
  • 6/Litter and Illegal Dumping
  • 7/Tree and Grass Maintenance

Setting up the Poller

The polling application is a simple windows console application that can be setup in task scheduler to run on a regular basis. A windows service would be a more apt solution for polling but in the interest of making something available to do the job this is sufficient for now.

The poller does the following:-
  1. get new incidents from Fix Your Street, add them to the Customer Contact System and email the relevant users to notify them.
  2. get new comments from members of the public and add them to the appropriate enquiry in the CCS
  3. send any comments from the CCS to Fix Your Street
  4. send any Status updates to Fix Your Street where enquiries have been received, are in progress (first comment sent out) or closed etc.
  5. process any pending emails.

Enquiry Emails, Comments for Fix Your Street and Status Updates for Fix Your Street are all stored in the database first and then sent by the poller. This allows for a certain amount of protection. If their is a failure when the poller is running it will catch them next time and so on.

The poller is an exe located in the Poller folder of the CCS (it is a seperate project if you have downloaded the source) and you just need to edit the config file and ensure the url pointing to the web service is correct depending on how you setup the CCS in IIS. e.g. if the CCS runs at http://intranet/CustomerContactSystem then the service will be at http://intranet/CustomerContactSystem/Services/CustomerContactSystemService.asmx.

Then set up a task in the server's task scheduler to run that exe every 5 minutes for example. It is recommended to run it at least every 5 minutes so that emails are sent as soon as possible.

Last edited Nov 22, 2012 at 12:44 PM by SouthDublinCoCo, version 7


No comments yet.