-
Notifications
You must be signed in to change notification settings - Fork 0
Requirements
CRM will work with a web server capable of running PHP. Accommodation will need to be made to support the Open311 interface, which normally is implmented using Apache's mod_rewrite.
Apache (recommended)
For security it is highly recommended to host the entire application over SSL. PHP sessions are tracked using cookies, which if intercepted, are just as good as a user's password. Hosting over SSL minimizes this risk.
The Open311 interface is implemented relying on Apache's mod_rewrite to route requests to the correct PHP script.
PHP >= 5.4
This application relies on code features only found in PHP 5.3 and greater. In addition there are particulay PHP libraries that we rely on. Make sure these are available in your PHP install.
This extension is enabled by default in most PHP installations.
Web service and error reporting calls are implemented using curl functions.
We support integrating with LDAP or ADS directories for user information and, if desired, authentication.
PHP needs the following ini settings that might differ from the default php.ini
- register_globals: off
- With PHP 5.4 this should be the default, but some hosts have it enabled.
- error_reporting:
- CRM is written to work with no errors with error_reporting set to
E_ALL | E_STRICT
.
- CRM is written to work with no errors with error_reporting set to
- arg_separator:
- To do valid XHTML strict, hrefs cannot be written with plain
&. Rather than using entities, we chose to use the W3C recommendation of using
the semicolon in all markup. PHP can use both semicolon and ampersand when
parsing url parameters.
- arg_separator.output = ";"
- arg_separator.input = ";&"
- To do valid XHTML strict, hrefs cannot be written with plain
&. Rather than using entities, we chose to use the W3C recommendation of using
the semicolon in all markup. PHP can use both semicolon and ampersand when
parsing url parameters.
There are several drop-in replacements for MySQL.
Blossom uses a few features from the ZendFramework. A working version is included.
CAS (Single Sign on)
For improved security, all City of Bloomington web applications are configured to use CAS for authentication. This way, passwords never need to be stored in individual web applications and users only ever type their passwords into one website. If you have your own CAS server, you can configure CRM to do CAS authentication.
A working version of the phpCAS librar is included.
CAS authentication can be disabled by leaving it undefined in configuration.inc
Skidder (External Error Logging)
In the City of Bloomington, we have a central web service, called Skidder, that all web applications report and errors to. Skidder collects the errors, reports them to developers, and provides for browsing, slicing, and dicing the error reports. Direct notification to developers when errors occur is the best way to make sure bugs are fixed quickly.
Skidder is open source and available at https://github.com/City-of-Bloomington/skidder
Skidder reporting can be left undefined in configuration.inc
, if not not desired.