-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Upgrading Fat Free CRM
If you are upgrading your version of Fat Free CRM it is helpful to use the following reference below to keep track of the changes that have occurred. Please note: whilst more detailed notes can be found in the CHANGELOG file, this page provides notice of the 'breaking' changes that you will want to know about.
Important: to upgrade from previous versions of Fat Free CRM:
- backup existing source code and Fat Free CRM database
- update the source code by running
bundle update fat_free_crm
- review default settings in
config/settings.default.yml
, and change any settings inconfig/settings.yml
if necessary.
Migration from Authlogic to Devise (https://github.com/fatfreecrm/fat_free_crm/pull/742)
While we've migrated FFCRM, if you use it as an engine in an existing application, you may with
We now rely on the Devise generated email templates. To customise, see https://github.com/plataformatec/devise/wiki/How-To:-Use-custom-mailer
We have removed the authlogic specific token columns.
remove_column :users, :persistence_token
remove_column :users, :single_access_token
remove_column :users, :perishable_token
If you decide to roll back to a previous release, you will have to restore these values from backup.
If you make use of any RSS/Atom links with built in tokens, you will need to regenerate these.
These changes are on the master branch and not yet released as a gem.
- Lots of code cleanup and changes
- prototypejs is no longer supported. jQuery only. (BREAKING CHANGE)
** Please run
bundle exec rake tmp:clear assets:precompile assets:clean
if you upgrade master to ensure all caches are cleared. - prototype_rails gem removed.
This version addresses the following security vulnerability disclosures.
- CVE-2013-7222: Known Session Secret
- CVE-2013-7223: Lack of CSRF Protection
- CVE-2013-7224: Default to_json for models
- CVE-2013-7249: Default to_xml for models
- CVE-2013-7225: Multiple SQL Injections
The following work has also been completed.
-
IMPORTANT you will need to run
rake ffcrm:secret
after upgrading before therails server
will start. -
IMPORTANT settings.yml and locale files have all been converted from Syck to Psych format (you will need to convert your personal settings.yml file, if you have one.) Syck is no longer used.
rake ffcrm:config:syck_to_psych
will convert all yml files in config/ to the Psych format. - All RJS templates have been replaced with js.erb equivalents and use of prototype_legacy_helper gem deprecated.
- Ruby 2 compatible and now recommended. Some parts of FFCRM perform 10%~25% faster on Ruby 2.0
-
delivery_method
has been removed from settings.yml as this had no effect. (Use standard Rails config/environment settings instead.) - Updated
ransack_ui
and ransack for bug fixes and improved performance -
ajax-chosen
gem is no longer used -
app/assets/images/tab_icons
folder removed and Gentleface iconset replaced with FontAwesome - Improved cacheability of some views - using jQuery timeago plugin to calculate time deltas ("3 minutes ago") in the browser
- Lots more bug fixes
This version addresses the following security vulnerability disclosures.
- CVE-2013-7222: Known Session Secret
- CVE-2013-7223: Lack of CSRF Protection
- CVE-2013-7224: Default to_json for models
- CVE-2013-7249: Default to_xml for models
- CVE-2013-7225: Multiple SQL Injections
IMPORTANT you will need to run rake ffcrm:secret
after upgrading before the rails server
will start.
The format of config/settings.default.yml
has changed from Syck to Psych. If your app does not load, please review your settings and ensure they are compatible with the Psych format. In particular, format of the tabs and admin_tabs section of config/settings.default.yml
has changed. If you include this section in your custom config/settings.yml
file, you can probably just copy and paste it across from config/settings.default.yml
.
This is the last gem release to support ruby 1.8. From 0.12.0 onwards, only ruby 1.9.3 will be supported. This release uses Rails 3.2.
Please see an important fix for country data
See the CHANGELOG for more details.
CanCan is now used for the permissions model. You should now be able to create groups and add users to it.
See the CHANGELOG for more details.
See the CHANGELOG for more details.
If you are upgrading from a previous version (0.10.1 or below), your database schema needs to be updated.
Please run the following commands in this order:
bundle install --without heroku # Installs gem dependencies
rake db:schema:upgrade # Updates your schema to use the new timestamped migrations
rake db:migrate # Runs any new database migrations.
Release 0.10.1 introduces two major new features:
- Email Dropbox -- attach emails as notes by forwarding or copying emails to dropbox address.
- Existing assets such as Accounts, Contacts, Leads, etc. could be selected and attached to other assets.
Besides new features the latest release contains many smaller enhancements and bug fixes. As usual, please see the CHANGELOG file or run git log
command for the complete list of changes.
Note: Fat Free CRM release 0.10.1 requires Ruby On Rails version 2.3.8.
Changes in 0.9.10 release include:
- Added support for compound (i.e. multi-field) addresses, see
:compound_address
setting. - Added optional
:background_info
setting to enable extra free form field for accounts, campaigns, contacts, leads, opportunities, or tasks. - Made default permissions configurable through
:default_access
setting. - Tasks can now be created with specific time deadline. This feature could be enabled by setting
:task_calendar_with_time
to true. - Added email attribute to Accounts.
- Implemented editing and deleting notes.
- Further improvements to better support localization, including calendar and JavaScript files.
- Added the following locale translations: Spanish, Polish, French.
- Miscellaneous improvements and bug fixes.
- Added
:per_user_locale
setting. By default individual users can't pick their own locale. To enable language selection in User/Profile set this option to true. - Implemented REST APIs for fetching asset notes.
- Fixed plugin compatibility issue introduced in previous release.
- Made some minor CSS tweaks to improve page layout.
- Added
rake ffcrm:settings:show
task to display current system settings. - Fixed password reset submission form.
- Fixed Ruby 1.9 compatibility issue.
This is the first Fat Free CRM release that supports localization. Developers can use locale files to translate Fat Free CRM screens and messages to their native language.
Important: this release updates config/settings.yml
file that has to be reloaded. Please run the following commands after you update the source code:
$ rake ffcrm:settings:load RAILS_ENV=production
$ rake ffcrm:settings:load RAILS_ENV=development
Other notable changes and fixes in 0.9.9 release include:
- Added search support when running with Postgres database backend.
- Improved Ruby 1.9 compatibility. All specs pass with both Ruby 1.8.7 and 1.9.1.
- Added optional
PLUGIN=plugin
parameter torake ffcrm:settings:load
task. - Streamlined CSS styles to fix text wrapping.
- Many small tweaks and fixes on Campaign and Opportunity tabs.
- Fixed time calculations for dashboard activities.
- Fixed sidebar search in Admin/Users.
This is follow-on hotfix release that addresses issues detected in 0.9.8.
- Fixed rake command failure when installing Fat Free CRM plugins; crm_tags plugin is now fully compatible.
- Fixed SASS deprecation warnings making it possible to install Fat Free CRM on Heroku again (see this thread for details).
- Refactored Facebox library to take into account
base_url
setting (when Fat Free CRM runs from subdirectory). - Added support for renamed main and admin tabs in
config/settings.yml
.
This release was primarily focused on expanding plugin support in core Fat Free CRM code base, as well as on specific requests received from Fat Free CRM users. Notable changes include:
- Implemented crm_tags plugin that adds tagging support to Fat Free CRM models.
- Added full support for deploying Fat Free CRM from web server subdirectory (see instructions in config/settings.yml file).
- Fixed a bug that caused certain tasks to disappear.
- Fixed a bug that made it impossible to complete a task with specific due date.
- Fixed user activity timestamp to reflect UTC time offset.
- Refactored forms to prevent multiple consecutive form submissions (ex. when inadvertently clicking [Submit] button twice).
- Added support for creating opportunities with the same name (ex. for different accounts).
- Deprecated model UUIDs when running with MySQL database backend (MySQL user no longer requires SYSTEM or TRIGGER privileges).
- Refactored permissions by moving the code from plugin to the core library.
- Added
rake ffcrm:hooks
task that shows the list of available Fat Free CRM callback hooks. - Made Rails cache core classes in when developing Fat Free CRM plugin (classes are no longer reloaded on each request).
- Default required Rails version has been changed to v2.3.4 (and Fat Free CRM works fine with Rails 2.3.3 and 2.3.2).
This is primarily follow-on and bug fixing release to the previous v0.9.6. Notable new feature is added support for custom tabs which primarily affects Fat Free CRM developers. Other changes include:
- Fixed user signup vulnerability.
- Fixed
rake ffcrm:setup:admin
task to make sure it actually assigns admin attribute. - Fixed assigning and revoking admin rights in user administration.
- Fix to make it possible to run Rake tasks when settings are missing.
- Search now accepts period and quote characters.
- Open up "Quick find" on click rather than on mouseover.
- Suppress terminal echo when asking for admin password in
rake ffcrm:setup:admin
task. - Upgraded Rails Engines plugin (edge 2009-06-16).
- Plugin registration now accepts tab parameter (see crm_sample_tabs plugin for usage example).
- Some code refactoring and minor visual tweaks.
The main focus of this release was to introduce Admin interface and disable unmanaged user signups. Specific changes are as follows:
- Implemented Admin interface to manage users. This includes creating, editing, and deleting users, as well as approving, suspending, and reactivating user accounts.
- Added new
:user_signup setting
setting inconfig/settings.yml
to control user signups. Possible values are: **:not_allowed
-- (default value) users can only be added by system administrator. **:allowed
-- users can sign up and use the system once they have registered. **:needs_approval
-- users can sign up but must be approved before they can use the system. - Created
rake ffcrm:setup:admin
task to create admin user.rake ffcrm:setup
now invokes this task by default. - Added timezone support. Fat Free CRM captures local time as reported by the web browser and adjusts all time values accordingly.
- Implemented plugin dependencies to be able to change plugin loading order.
- Updated settings to allow Fat Free CRM to run from a subdirectory.
- Added warning about database reset in
rake ffcrm:setup
task.