During the first phase, we brought together our design and UX experts to completely revamp usability and raise the ease of use. The resulting ideas were then used for a concept, which was the base to draft a prototype - always in interaction with our client and future users..
Together we came up with a roadmap, which had the focus on following points:
- Make the project social, which means that we had no distinction between an CMS administrator or regular user. Anyone can access, create, delete, comment or rate content.
- Make everything user-friendly and self-explaining. Any user should be able to find information and create beautiful content, without being a CSS ninja.
- We love languages in Switzerland. At Salt they communicate in English, German, French and Italian. Every user should be able to interact in the language they prefer and we had to make sure that all information can still be found easily.
- Collaboration as a success factor. The application needs to support team members to organise and bundle their knowledge efficiently - either as a public or as a closed group.
- Oh and speed? 800 users need to get their work done simultaneously.
Someone’s uncle once said, “with great power comes great responsibility”. To handle the responsibilities, we applied two lessons we learned in real life. If you are responsible for something, you need to be accountable for it. And since everyone makes mistakes, it comes in handy if you can revert the unwanted actions. We integrated this concept by introducing two new features:
- Add revisioning support for all relevant data (e.g. Blog posts, Event entries or CMS pages), so users can revert to previous state.
- Log every related action and associate with a user.
This required a core change in the django CMS but also we had to update how all relevant modules interacted with their data. The result of the work was a new Django app calledaldryn-reversion, which you can check out here: https://github.com/aldryn/aldryn-reversion
The complete the social features, we had to make sure that a user has a proper profile and can log-in easily via Single Sign-On from their Desktops or Mobile Devices. The details are not too interesting, yet we can mention that there were two keywords involved: SAP andMicrosoft NTLM.
The biggest challenge we had was to combine the project requirements, the newly crafted corporate identity and the capabilities of django CMS. This process was achieved through regular iterations with the client of wireframes and our in-house development team for planning new features.
The result of which was the creation of some cool extensions to django CMS that are now or will be soon available to all users:
- dynamic publish/unpublish bar
- search with faceting
Another goal for our team was to make the platform very usable, keeping in mind that our target group was very diverse: some people were already familiar with django CMS and its core functionalities, but the majority of the users were average skilled content managers if not at all in some cases. We were able to deliver a very intuitive UI that it’s now heavily used by all kind of people at Salt.
The CMS usually handles content on a per language basis. If you browse the page in French, you’ll only see content created in French. How can you make sure that everyone has access to his information in an efficient way, where language preferences and availability don’t clash with each other? We introduced proper language fallbacks for all content types.
Every supported CMS language received a fallback order. In the case of e.g. Italian-speaking users, the CMS would check if content is available in Italian, else in French, else in English, else in German (at least one translation had to exist). This was a preventative step to ensure that information (especially important news) would get enough visibility, even if it was not yet translated. To aide the translation process, the users will see a notification if they can help adding a missing translation.
Collaboration and know-how transfer are an undeniable success factor for companies. To help people work together, we came up with the concept of “spaces”. Teams and departments can create their individual space, which is open for everyone or only accessible for invited collaborators. Inside a space, members can share knowledge via Wiki pages, Blog posts, FAQ sections, Polls or organise context specific events.
To deliver this feature, we had to adapt all used django CMS Addons and introduce new core features in the CMS itself so the applications can work in harmony.
Speed and Performance
The CMS itself is optimized for delivering content at a super fast pace, but editing content in parallel by up to 800 users was something we hadn’t considered before. While the initial development phase didn’t show any signs of performance bottlenecks, we soon realised that when more than 20 people edited content simultaneously, we had dig deep in our bag of tricks.
The page load during our beta tests peaked at roughly 60 seconds, which was unacceptable in every case. Many hours of analysing and optimising the caching mechanisms and database queries finally lead to a page load of roughly 87ms - hurray.
Get to know us with personal tour
We know each organisations needs are unique and integration with your existing systems and infrastructure is important. Book a time that suits you and we can answer any questions.