Upgrading

In this page, you can do as follow:

How to upgrade

To upgrade Fleio just use the system package manager. Some Fleio versions upgrade requires additional steps. See sections below.

Ubuntu

apt-get update
apt-get dist-upgrade fleio-backend fleio-frontend

Centos

yum clean all
yum update fleio-backend fleio-frontend

Upgrading to 2020.07.1

New nginx configuration

In 2020.07.1 we have added the Tickets plugin in Angular. In order to properly work you need to add the following tinymce configuration in the Nginx configuration:

location /tinymce {
    alias /var/webapps/fleio/frontend/staff/tinymce/;
    break;
}

Finally do not forget to reload nginx using the following cli commands:

nginx -t
systemctl reload nginx

Upgrading to 2020.05.0

To upgrade to version 2020.05.0 on Ubuntu 16 and Ubuntu 18 first you will need to run:

apt-get dist-upgrade fleio-backend fleio-frontend

This is necessary due to a new dependency (patch) that was introduced in 2020.05 release. The regular apt-get upgrade fleio-backend fleio-frontend command will not install the dependency and you might get in a state that fleio-frontend is not automatically upgraded.

To upgrade to version 2020.05.0 on Centos you need to run:

yum install fleio-backend fleio-frontend

Besides this, the following additional steps are required.

We are migrating the Fleio frontend from the legacy AngularJS framework to Angular. For a smooth migration we are gradually rewriting and releasing pages from the staff panel in Angular. After the staff panel is successfully migrated to Angular we will do the same for the end-user panel. This is expected to take several months.

The new Angular pages are temporarly located a under the /newstaff URL, while the previous pages remain for now under /staff URL.

New nginx settings

By default some of the staff panel menu options already point to /newstaff links, while the pages that are not yet migrated to Angular will still link to a /staff URL. For instance, one of the first pages migrated to Angular is Settings > Configurations and it links to /newstaff/settings/configurations.

This requires that you add a new entry to your nginx conf, which is usually located at for Ubuntu at /etc/nginx/sites-enabled/{ your domain }.conf and for CentOS at /etc/nginx/conf.d/{ your domain }.conf.

Add this entry in the server configuration after the /staff location.

# identify the following section and leave it unchanged
location /staff {
    alias /var/webapps/fleio/frontend/site/staff/;
    expires -1;
    try_files $uri $uri/ /staff/index.html;
}

# insert below the following lines
location /newstaff {
    alias /var/webapps/fleio/frontend/staff/;
    expires -1;
    try_files $uri $uri/ /../staff/index.html;
}

Reload nginx to apply the change:

systemctl reload nginx

If you have enabled the reseller feature an additional change is required in the nginx config. Replace this section:

# identify these section and delete it
location /reseller {
    root /var/webapps/fleio/frontend/site/;
    expires -1;
    try_files $uri $uri/ /reseller/index.html;
}

Replace with:

# the new reseller directives
location /reseller {
    alias /var/webapps/fleio/frontend/reseller/;
    expires -1;
    try_files $uri $uri/ /../reseller/index.html;
}

Reload nginx to apply the change:

systemctl reload nginx

New menu definition

NOTE: this won’t affect you if you had not previously re-declared the menu definition in any of your constants.js file.

Before this release, the menu was defined in frontend and you could override it editing constants.js file for the panel you wanted to edit by redefining it and replacing/removing menu items (not to be confused with backend menu customization setting, which remains unchanged). As we’ve moved the menu definition in backend, if you had redefined it in any constants.js file, you will need to go to Advanced settings file and re-declare the menu again. The menu definitions are variables that store arrays, very similar to how it was before. Those are called: STAFF_MENU, ENDUSER_MENU and RESELLER_MENU. Please take a look in the /var/webapps/fleio/project/fleio/base_settings.py file for how a menu definition looks like now. You can copy a menu panel definition and place it in the Advanced settings file and start editing/removing menu items as you wish.

Remember to import the MenuItem and MenuCategory classes that are used for defining menu entries before your new definition like this:

from fleio.menu.menu_interface import MenuCategory, MenuItem

Also add the function definition that is used for marking strings for translation at the top of the file:

def _(s):
    # work around for using i18n in settings
    return s

Each parameter of MenuCategory and MenuItem is self explanatory, however note that for a MenuItem you can also define the icon_class, href as strings and open_in_new_tab as boolean. All options can be found in the class definition.

When you are done with your changes, you’ll need to run the following command (depending on your distro) for your changes to appear in frontend:

service uwsgi-fleio reload
or
service uwsgi reload

Please note that we recommend you use the backend menu customization feature for adding menu items or categories as redefining the menu means you will need to manually keep it up to date with the original menu found in base_settings.py file after each release.

Upgrade to 0.9.3

We have split the original fleio package into two packages: fleio-backend and fleio-frontend. The following procedure only applies if you have both components installed on the same server.

Ubuntu

apt-get update
apt-get upgrade
apt-get install fleio-frontend

Centos

yum clean all
yum update
yum install fleio-frontend

Upgrade to 0.9.26

  • We’ve changed and reorganized feature names in base_settings.py. If feature toggle is used then settings.py file needs to be updated manually. See How to enable/disable features
  • We’ve changed template_constants.js file for staff panel. constants.js file needs to be updated manually.

Upgrade to 0.9.24

  • We’ve changed the way feature toggles are enabled and disabled in settings.py to a more straight forward way: True means feature is enabled and False means feature is disabled. See How to enable/disable features
  • OpenStack projects create/update/delete feature from staff panel requires to Keystone notifications to be enabled. See Keystone notifications