Release notes for version: 11.0 (Major)
Upgrading to version 11 from older versions is optional (even on cloud) for the coming months. You will have enough time decide when to upgrade. Please use it to carefully examine the important changes.
Contents
Technological stack
This section is important for Server solution. Cloud users need not worry about any of this.
In addition to previous versions' release notes, where we merely specified Ruby version, from now on we will be providing you with a more comprehensive listing of fully supported technological stack. By sticking to these specifications, you will avoid any obscure difficult issues caused by vast possible combinations of all components.
- OS: Debian 10 or 11
- Ruby: 2.6.3
Versions 2.7.x, 3.x support coming soon. - Bundler: 2.2.x
- Database: Percona/MySQL 5.7+
One of the hardest decisions we ever had to make was to drop support of PostgreSQL in version 11. Maintaining two databases unfortunately meant ineffective code and stability of the application suffered because of it. By focusing our attention on one database we can locate and remove bottlenecks, optimize slow queries and build scalability solutions. Also, Percona itself is focused on performance. Dropping Postgres support is the main reason why we will keep version 10 in LTS mode until mid 2022, in case it is problematic for you to migrate to Percona.
We analyzed and tested various tools for DB conversion, here are our results and tips. We hope you will find them useful. - redis-server: 5+
- NodeJS: 14.16 (LTS)
End of sub-uri
As the front-end receives advanced enhancements, it is no longer feasible to keep supporting sub-uri configuration. This kind of configuration is sensitive to Javascript components and often causes misfunction. Please reconfigure your server to regular domain.
Design tweaks
Login page
The motto: Work effectively in Easy Project and reap the reward 😉
Main colors
We went with a slightly different shades of blue as the primary and grey as the background.
New button at the bottom
The green button to create new entities has been moved to the bottom right corner, based on user feedback and general usability standard.
Custom page tabs
Tabs on customizable pages are more prominent.
More menu
The background color has changed.
Service bar
We use this for the right panel with the tools such as a To-do list or Activity feed.
The bar itself, as well as the each item it contains was modernized and even some minor functional tweaks have been done.
Other changes
The aforementioned changes are not the only ones. You may find other differences, such as colors of trends, or new color schemes for task types, priorities or statuses and a few others.
Custom branding
How is it with custom branding, you ask? Custom design that we previously made you for version 10 (or older) may need to be adjusted. Which is why before production upgrade or migration to version 11, you should do a test run. If the design breaks, just contact support, or your account manager, who will take care of the readjustment.
Dynamic filters
One of the absolute gamechangers in Easy Project for the years to come. Filtering of all entitites will become more interactive and intuitive.
Dynamic filters are added into version 11 as an optional component for the 3 most used entities: tasks, projects and time entries in the form of a page module.
You can also switch to the dynamic view from the regular task, project, or spent time list.
While currently there are certain limitations to this view as oposed to existing filters 1.0 (such as lack of chart output), we are going to gradually close the gap, until the dynamic filters eventually completely replace filters 1.0.
If you find that dynamic filters already fulfill your needs, you can switch to them by default using setting in Administration >> Settings >> General.
Switching back to filters 1.0 is possible via ellipses menu
CKEditor 5
Upgrade to CKEditor 5 is another step towards smoother and quicker UX, especially on mobile.
Previous CKEditor in Easy Project was customly patched and modified, which resulted in noticable performance impairment (loading was slow and glitchy). CKEditor 5 is in standard mode. This step means that we had to remove the HTML toolbar settings (basic, advanced, full). Along with them, some features had to go as well. Especially problematic - color selection - needed to be removed as well due to incompatibility of custom selected colors between dark and light theme of the application. Example: User with dark theme set custom text color to white, but that text is not readable for users with light theme that has white background.
One of the noticable changes is that you can paste images directly into the text using CRTL+V, which was not possible in the last few versions.
Just please keep in mind that images are saved as attachments, which means that you can paste images into places, where attachments can be uploaded, for example a task comment. To paste images into other places, like noticeboard on a dashboard, please use the Insert image feature. This is the current standard for security and database optimization.
Stakeholders
Introducing a new project module to keep track of concerned persons of your project - stakeholders. While in previous versions you needed a full featured module Contacts (in Easy Project Platform) for this purpose, in version 11 we are adding Stakeholders as a part of the Essentials plan.
How it works
It is a regular project module - enable it in project settings >> modules.
On the stakeholders list on the project you can see buttons
- Add stalekolder - search for a stakeholder in your database (already in other projects) and add to this project
- New stakeholder - create a new stakeholder, who will be automatically linked to this project (and who can later be linked to other projects)
When linking stakeholder to a project you can describe their role in the project. This description is saved only in that particular project. The same person may act in a different role in a different project.
Permissions are in Global section:
- View stakeholders - user can see stakeholders module in visible projects
- Manage stakeholders - user can add, create, edit, delete stakeholders
- Anonymize - user can anonymize visible stakeholders (GDPR feature)
Stakeholders allow custom fields, although the existing native fields are enough for most cases.
SSO support
Easy Project supports two major SSO technologies. SSO configuration is available on page /easy_sso. Any configurations may be made only by administrators that have access to the other side of the authentication chain.
SAML
This protocol is used by Azure Active Directory => Easy Project 11 is compatible with Azure AD!
Configuration is done by clicking on EDIT at SAML Service provider and requires to enter information available only to Azure AD admins.
OAuth 2.0
In addition, OAuth 2.0 protocol is used by hundreds of well-known services, such as Google, Facebook and many many others.
Easy Project may act as
- identity provider (e.g. log in to Easy Project by Google credentials), or
- identity service (log in to other applications using credentials from Easy Project)
Other SSO setting?
Some admins probably noticed another setting in Administration >> Settings >> Authentication - section Single Sign On.
This setting relates to Kerberos, which was introduced a couple of years ago and requires a very complicated server configuration. This setting has nothing to do with the aforementioned protocols.
Project owner, project manager
Based on feedback and general use, we added two fields on projects as native:
- Project manager
- Project owner
You will find these fields in project creation of editing, next to other native fields. The selection allows to choose all non-external users from application, even those that are not explicitely added as members of the project.
This effort is intended to standardize a use case that was previously handled by custom fields by 99 % of our clients. In general, custom fields have a negative impact on application's performance, and now you can get rid of two of them.
How to migrate data from existing custom fields?
Simple, go to https://[application_url]/easy_cf_migrator >> click MIGRATE on the respective field >> select the old custom field >> confirm. Only the contents of project custom fields of User/Lookup types can be migrated. No other custom field formats (e.g. text) are supported by the CF migrator.
Asynchronous exports/imports
To tackle performance impact of large data exports, we went with asynchronous (background) solution. Some users may have experience with exporting monthly, quarterly or even yearly reports, which may practically paralyze the application for a couple of minutes, not only for the author, but for other users as well. This is no longer an issue in version 11!
From the user perspective, it works quite simply.
- Go to Administration >> Settings >> General, enable the setting and set a reasonable limit. Exports of smaller lists below this limit will work like in previous versions.
- Export a list via buttons on bottom right
- You will be redirected to page /easy_async_exports where you can see a list of your recent exports.
- You can refresh the page to see the status change to done, at which time the download link will appear.
- You will also receive and email notification when the export is ready, so you don't need to wait, especially for the gigantic lists.
Import
Advanced imports that are configured on-demand by our consultants also have the ability to work asynchronously. Previously, import problems appeared in large datasets due to server timeout before it was able to parse the whole file. This, as well, will not be an issue anymore.
Optimized task notifications
We received a lot of feedback about overflooding by email notifications. While there are settings in the application to reduce them (disable some types of events), they may not always apply, because those events may be imporant.
The solution is gathering events and sending notifications periodically (every 15 minutes) => all changes on one task done within the same 15 minute interval will be sent by one email. Previously, every saved change would generate a separate email. This is especially the case when working with Quick task editor and/or WBS, Agile board, Gantt etc.
How it works
- it applies only to tasks
- comments - all comments are put into the email
- attribute changes - unique attribute changes are all put into the email; if the same attribute was changed more times, only the most recent change is put into the email
- mentions (@username) are still send indepentently and immediately, as they are a different type of notification
Now, this is not a completely new feature. Many of you already may have used it without ever realizing it - it was an optional feature and for a few months it has been enabled by default. From version 11, however, this becomes the only task notification method.
Page customization optimized
One of the strongest features in Easy Project - customizable pages - also received some attention in performance and usability.
Page modules list shortened
Due to increasing number of entities (lists) in the application, we felt it is no longer sustainable to continue adding modules type [something] from filter into the list of available modules. Since there have already been generic modules (list, charts, report) available, the modules from filter became irrelevant and we removed them from the selection.
No need to panic :)
Your existing page configurations, including the most used tasks from filter will still remain active as they are. They will just not be available to add newly.
Also, during page editing, users will see a message prompting to replace these modules by the generic ones.
If you are asking when will these modules be removed from the application ultimately - They will remain in the application for the whole duration of version 11 (and its minor releases). Version 12 is the one where they will no longer exist.
List of removed modules:
- * from filter
- New task
- Knowledge posts
- Documents
- Tasks reported by me
- Task watched by me
- Planned expenses
- Planned incomes
- Portfolio overview
- Real expenses
- Real incomes
- Travel costs
- Travel expenses
- Attendance by users (on Attendance dashboard)
Asynchronous page loading
You guessed right, it is again about performance improvement. In previous versions, the whole dashboard loaded only after every module was loaded. This meant that one single "slow" page module caused the user to wait for the whole page.
In version 11, the page modules are loaded individually => the dashboard is loaded without delay, each page module is loaded on its own.
Project overview - project controls / project description
A small change compared to the previous ones, but it needs to be mentioned to avoid possible confusion. Based on user feedback, it was clear that some modules needed reorganisation in a more logical way compared to their previous contents.
Changes on specific modules for Project overview:
-
Project description
- previously you could select to show description of the project, or project custom fields
- now it only shows project description
-
Project information
- previously it was a hardcoded module showing basic info about project (spent time ratio, %done, indicator, etc.), tags, and buttons for project operations (close, new subprojects, etc.)
-
now it serves to show native and/or custom fields on the project
-
Project controls
-
now shows basic info about project (spent time ratio, %done, indicator, etc.), tags, and buttons for project operations (close, new subprojects, etc.)
(in other words, it is just renamed module Project information from version 10)
-
now shows basic info about project (spent time ratio, %done, indicator, etc.), tags, and buttons for project operations (close, new subprojects, etc.)
Important: If you previously used the module Project description to show project custom fields, you will need to reset the page and add module Project information and select which fields to show.
Upgraded meeting calendar
By this step, we are putting an end to a calendar duality. We had a Meeting manager, as part of Easy Project Essentials. Additionally, there was a more advanced calendar called Scheduler in the EP Business plan which contained integration with Resource management (task allocations).
The old Meeting manager has now been removed and is completely replaced by Scheduler, even in the Essentials plan (detailed documentation here).
What has changed:
- Calendar in the More menu now points to a full page view of Scheduler
- A more compact version is available on the top left corner
- Homepage module Meeting calendar has been permanently removed. By upgrading to version 11, users who previously had this module on their homepage will lose it. If necessary, they can add the module Scheduler on the homepage, but, as written above, there is already an ever-present calendar, sufficient for most use cases.
If you previously used Scheduler module on your homepage, nothing changes for you.
Since freeing up our hands by removing an excessive component, we were able to start working on closer integrations with some widely used calendar tools (even MS Exchange Server).
One-click Git(Lab) integration
As software developers ourselves, we felt it important to connect Git and Easy Project. For the moment, we are focused on GitLab. However, our solution is extendable to other repository clients.
We designed a plugin that shows relevant data from GitLab (repositories, commits, merge requests, test runs) directly in Easy Project for reporting purposes to managers and other non-development staff. While connection between tasks (logging time, changing status etc) and code changes (merge requests, commits) remains a useful feature for developers. The connection of Easy Project to GitLab is configured simply by filling URL and GitLab token. Everything following configuration is done automatically, including webhooks for immediate changes propagation on both sides.
Throttling API requests
Something for the server admins. Version 11 introduces rate limits for API requests into the application using rack-attack gem. This is a prevention from bombing an application by outside requests.
Important:
If you have some REST API integration, please properly review it based on changes made in version 11.
- Default limits
- get API = 100 / 1 minute
- write API = 10 / 1 minute
- In case of exceeded limits - status 429
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 - Configuration - on own risk in
/config/initializers/rack_attack.rb
Unnecessary settings cleanup
Some call it "checkbox land". The administration is full of useful configurations, but over time some became irrelevant, even obsolete. Here is a list of removed settings from administration.
Administration >> Settings >> General
- Maximum results shown in autocomplete - the setting will be hardcoded to 25, which is the best practice used globally
- Search results per page - did not bring any relevant value, will be hardcoded to 10 results
- Objects per page - only the first number had some effect, but was often misused. The setting will be hardcoded to 25, which is the best practice used globally
Administration >> Settings >> Display
-
Show personal statement in menu - Personal statement can be found under More >> Time reports
-
Show log time in menu - logging time available via NEW "+" button
- Show resource booking in menu - deprecated feature
Administration >> Settings >> Authentication
- Allow OpenID login and registration - deprecated in this form, fully replaced by aforementioned SSO (OAuth 2.0) functionality
Administration >> Settings >> Email notifications
- Style of email subject of task notification - deprecated feature
Resource management improvements
Extended resource report
A popular feature from version 10.6 (Autumn edition) Resource reports has been extended to show users on X axis for a new kind of report.
We recommend setting filters reasonably, not to show too many users for a long period, which would make the chart unreadable. Also, all user groups are shown by default. To hide them, simply set the filter for groups - none
Permissions for reservations
The reservations feature is now has its own permission, under Resource management section.
Help desk improvements
OAuth2 for Gmail
Due to GSuite's tightening security, we implemented OAuth authentication so that Help desk can safely reach your support mailboxes hosted by Google.
It is harder to configure than just regular login/password, but there are hints next to each field. Of course, you will need to generate some data in your Google account.
Email templates to more statuses
Another little time and data saver. One email template can now be linked to more statuses at once.
Use CRTL+click to highlight more statuses.
Change SLA based on project
This one came from feedback of our users and is generally usable. Moving ticket to different project will change SLA of that ticket according to the settings of the target project. Previously, it was required to change task type or priority in order to update the SLA. Now it is not needed anymore, and project change itself is enough.
View Help desk permission
Previously, there was only one permission - Manage Help desk, which meant that user could access the Help desk page, but also change all settings. By adding View help desk permission you can give access to the help desk dashboard and its data without giving access to make configuration changes.
Kanban - Limit WIP
We adopted the standard of keeping a Kanban stage limited. Just go to Kanban settings on the project and set the right limit per each stage.
Diagrams changes
This neat visualization tool deserved some usability tweaks. Some other changes were forced.
- Removed from text editor - as mentioned above, the text editor is now in standard form, which meant that button Diagrams needed to also go away
- New diagram from task - Creating diagrams is possible only from task, via task more menu
- Save vs Exit - during diagram editing, you can Save it as many times as you need, without leaving the diagram, like it was previously. When you are done, click exit and you will be taken to the last page
- After creation, diagram is linked to the task
- You can the copy the embed link and paste it anywhere as you are used to
- The global list of diagrams remains as it was on page /diagrams
Gantt and WBS export
Export/Print of Gantt or WBS is no longer managed via export templates, which were not fully suitable for this purpose. Instead, the print is managed via web browser, which is built and optimized for such tasks.
Discontinued modules
After user feedback and deeper research, we decided to remove certain functionality with high maintenance and low added value, to allow us to focus on the strongest functionality and crucial elements of project management.
- Chat - there are numerous specialized chatting tools far superior to our in-app chat. Furthermore, the technological solution caused heavy performance degradation.
- Cash-flow - Cash flow was a part of Budgets module. Unfortunately, it was a part with serious performance impact. Its technological premise came down to a conflict between performance and functionality. We previously chose functionality, but at a very high cost of performance (especially with a larger number of projects). This part of our Budget system proved unsustainable. However, cashflow and other advanced project budgeting capabilities are a part of a solution for Easy Project built by our partner and will soon be introduced.
- Project calculation - plugin that had little added value and high maintenance. There are various ways to substitute majority of its features by other parts of Easy Project.
- CRM & Contacts - CRM and Contacts are discontinued in version 11. Contacts are substituted by Stakeholders at the moment. A whole full featured B2B CRM plugin (including a complex contacts management) will be introduced later this year. This will be a successor of the discontinued CRM, with data migration possible as an individually tailored project.
- Jenkins integration - plugin with little general use. Any integration you desire can be delivered as a custom solution according to your needs, without the need of this module.
- Requirements management - the plugin needed much more care than we were able to provide it. Functionality of Requirements can be substituted by existing Easy Project functionality, or possibly integrated with a specialized application.