Releases: City-of-Bloomington/uReport
2.3 - Solr Rewrite
This release is a rewrite of the Solr code, now using Solarium instead of the obsolete library we had been using. This is a source code change only and does not require reindexing of Solr.
Site Config Changes
This release requires a small change to the site_config.inc for the SOLR_SERVER settings. Make sure to review the new SOLR_SERVER settings in /data/site_config.inc.example
<?php
define('SOLR_SERVER_HOST', 'localhost');
define('SOLR_SERVER_PORT', 8983);
define('SOLR_SERVER_CORE', 'ureport');
Database Changes
There is a small change to a field in the bookmarks table. The requestUri column was expanded to allow for longer bookmark urls. The database migration script is /scripts/migration/2.2-2.3/databaseChanges.sql
.
alter table bookmarks modify requestUri varchar(1024) not null;
Change Log
https://github.com/City-of-Bloomington/uReport/milestone/18?closed=1
2.2.1 Spanish Translation
Many thanks to @slomonega for the spanish translation!
Other minor bug fixes included:
https://github.com/City-of-Bloomington/uReport/milestone/17?closed=1
Location and Address update
Location and Addressing fixes.
https://github.com/City-of-Bloomington/uReport/milestone/16?closed=1
2.1.3
What's New
- Map improvements
- CSV output for ticket search results
- bugfixes
https://github.com/City-of-Bloomington/uReport/milestone/15?closed=1
2.1.2
Bug fixes
- You can now change location on tickets
- Adding additional search parameters resets page number to 1
https://github.com/City-of-Bloomington/uReport/milestone/14?closed=1
2.1.1
2.1
2.0.2
Bugfixes: mostly dealing with datetime and timezones.
https://github.com/City-of-Bloomington/uReport/milestone/11?closed=1
2.0.1
Bug fixes and minor interface improvements.
https://github.com/City-of-Bloomington/uReport/milestone/10?closed=1
2.0 - uReport Simplified
2.0 is a Major Version Upgrade
This is a major version upgrade, and as such, there are many changes to the configuration, database schema, and data directory structure. If you are upgrading an existing installation, it should all work - just proceed carefully.
What's new
This release is all about improving the system, not so much by adding new stuff, but by removing stuff that didn't work. We've removed a few features I'm fairly certain no one was using. We've focused on simplifying the user interface as well as the complexity for Administrators.
- Full theming support
- Dependencies now managed with Composer
- Dutch and French localizations
- More control over email notifications
- Lots more improvements
https://github.com/City-of-Bloomington/uReport/milestone/7?closed=1
Backup your current installation.
This means dumping your database, as well as creating a tarball of your current, entire installation. When I do this, I typically dump the database inside of the web application. If your data directory is also inside the web application (which is the default), then you can just tarball the entire directory, in case you need to restore.
cd /srv/sites/crm
mysqldump -p crm > crm.sql
cd ../
tar czvf crm.tar.gz crm
Theming and new symlinks
This new version allows all customizations and extensions to be placed in the data directory, as a theme. This means future updates can be applied without having to redo any of your customizations. It also allows complete control over any of the markup and CSS.
To make this work, you will need to add a couple new symbolic links and update your Apache configuration. We used to create an Alias to the media directory in the Apache conf. However, that should now be handled with the single Alias for the /crm directory. However, you will need to create symbolic links inside of /crm/public for the theme and media directory.
cd /crm/public
ln -s ../data/Themes/COB/public COB
ln -s ../data/media
Apache configuration changes
We no longer use a separate Apache alias for the media. Instead, we rely on a symlink to the media inside the public directory. This simplifies the mod-rewrite configuration and avoids overlapping aliases.
Your Apache configuration should now just have a single entry for the crm directory.
#---------------------------------------------
# Remove any old Media aliases you might have
#---------------------------------------------
#Alias /crm/media "/srv/sites/data/media"
#<Directory "/srv/sites/crm/data/media">
# Options FollowSymLinks
# AllowOverride None
# Require all granted
# RewriteBase /crm
# RewriteCond %{REQUEST_FILENAME} !-d
# RewriteCond %{REQUEST_FILENAME} !-f
# RewriteRule .? /crm/index.php [NC,L]
#</Directory>
Alias /crm "/srv/sites/crm/public"
<Directory "/srv/sites/crm/public">
Options FollowSymLinks
AllowOverride None
Require all granted
RewriteBase /crm
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .? /crm/index.php [NC,L]
</Directory>
MySQL versions
In MySQL 5.7, the date data types were updated to support default values. uReport's default mysql schema and the database migrations have been written to use the new date default values, if you are running MySQL 5.7 (as we are in Bloomington). The scripts should still work on previous versions of MySQL. We have tested it here, as far back as MySQL 5.5 and it all works without error.
SOLR versions
You can continue using your existing version of SOLR. Here, in Bloomington, we're still running SOLR 4.x; however, I've heard (and am fairly sure) this new uReport will also work with SOLR 5.x. We have tested and uReport does not work with SOLR 6.x, yet.
If someone out there gets it working with SOLR 6, send some pull requests our way!
In the migration directory is a copy of the latest schema.xml. This exactly the same file that is in /crm/scripts/solr. This new schema.xml needs to replace your current schema.xml in your SOLR core.
sudo service tomcat stop
sudo cp /srv/sites/crm/scripts/solr/schema.xml /srv/solr/crm/conf
sudo rm -Rf /srv/solr/crm/data
Migration scripts
If you're upgrading an existing installation, you'll need to work through all the commands in the *.sql scripts. They are carefully numbered, so make sure they are worked through in order.
The PHP scripts should run on the command line from the migration directory. They are written with a hard coded path to the bootstrap.inc file.
The SQL commands should be run on the MySQL command line client. Script #1 generates SQL commands you will need to capture and then run as more commands. Scripts #2 and #2.2 run select statements that need to have their output verified (for safety).
Copying and pasting the commands one block at a time will be fine. This way, you should be able to spot any warnings or problems as you go. These commands should execute warning free.
To upgrade our installation in Bloomgton takes about an hour. Most of the time spent is in regenerating the ticket clusters in MySQL and regenerating the search index.
Apache permissions
Apache needs permission to write into the /crm/data/media and /crm/data/sessions. After running all the migrations, make sure to recheck the owner and group permissions on these directories. For us, I usually make Apache the owner.
sudo chown -R www-data:staff /srv/sites/crm/data/media
sudo chown -R www-data:staff /srv/sites/crm/data/sessions
sudo chmod -R g+rw /srv/sites/crm/data/media
sudo chmod -R g+rw /srv/sites/crm/data/sessions