10 Ways to Customise eXo Platform without Development

eXo has always believed in enterprise-ready openness and extensibility through a platform foundation that is capable of accommodating digital workplace and customer experience solutions with varying and often evolving use cases.

Since its creation in 2003, eXo Platform has always been commercially backed open source software because, just like Google, we happen to believe that a healthy open source foundation benefits everyone. It is Java developer-friendly and the program is highly customisable.

eXo developers not only have access to a developer training course, they also have developer documentation, a list of available APIs, UX guidelines, a plug and play add-on mechanism, an add-on marketplace and more. Once a developer understands the basics and particularities of developing for eXo Platform, there is so much more they can do with it beyond all of the functionality that is available out of the box.

eXo Platform used to have an administrative feature that span off to become its own thriving company: Codenvy, a modern cloud-based integrated development environment (IDE).

eXo is also a main contributor to Eclipse Che, an open source cloud IDE and the basis of Codenvy, used and contributed to by world-class IT companies including Samsung, IBM and SAP.

This geeky side has become part of eXo’s reputation. We love it and our customers get value from it and love us for it too.

However, in this article we are going to take things in the opposite direction – something we also like to do. We are stepping away from anything development to see just how far we can go in customising an eXo Platform site without ever touching a line of code.

The only prerequisite is being an eXo Platform admin. With that in mind, here are ten things you can do to make eXo Platform yours without custom development.

1- Logo branding

This is probably the first thing you should be looking at. You can change the default eXo logo to that of your organisation by simply logging in as an admin and then, from the top toolbar, clicking on Administration > Portal > Branding. From here, the rest is self-explanatory.

Add your organisation logo instead of the default eXo logo

Select a Dark or Light navigation bar to show your logo at its best.

Some of our clients will even name their eXo Platform site. For example, a company called Acme may name it something like ‘AcmeConnect’ and have a logo that reflects that.

This branding feature is something we are currently working on with the intention of adding the ability to customise the skin of the platform without development. So keep an eye out for future updates.

2- Customising the navigation menu of the site and of spaces

Let’s start with the site’s main navigation menu. This is the one you always see displayed at the top of the left panel.

In the top toolbar, click on the Edit button, then go to Site > Navigation. This opens up a Navigation Management window where you can add new links (or what we call ‘nodes’) to the menu, or edit/remove existing ones.

Suppose that we want to first change the name of the general Wiki app to something less generic that describes its use, for example, ‘Resource Library’. In the Navigation Management window, right-click on Wiki and then click on Edit this Node.

eXo navigation management

This opens up a window where (among other things) we can change the Wiki link’s Label to something else.

Edit eXo Page node

Notice that we can also make the link invisible to our users by unchecking the Visible box. In the Navigation Management window, we can also completely delete links that we don’t need by right-clicking on them and clicking on Delete Node. In this example, I will delete the Calendar link.

Finally, we can add a new navigation link using the Add Node button. This opens up a window where we can name our new node and point it to an existing page in our site, or to a new page that we can create here on the fly.

In this example, I have added a new node called ‘Blog’, switched to the Page Selector tab and created a new page also called ‘Blog’. Now every time a user clicks on the Blog link, it will take them to the Blog page.

add a new navigation link with Node button

The result is this navigation menu displayed to all my users:

Custom navigation menu with eXo Platform

Tip: If you restrict the access permissions of a page to a specific group of users (here is how you can do that), this will also restrict who can see its associated link on the navigation menu.

You can use this to create a navigation menu that displays links to users differently, based on their groups/roles.

You can manage the navigation menu displayed at the top of each space through an identical navigation management interface.

To access it, go to a space that you are managing, click on Space Settings and select the Navigation tab. This way each team or project can have a different custom navigation within their space managed by the space manager.

3- Customising notification types

As you may already know, each user can receive on-site and email notifications and can change their personal notification settings.

The list of notifications covers different types of activity taking place inside the platform, such as activity related to my tasks, document collaboration, my social interactions and so on.

As an admin, you can easily control which apps (e.g. forums, document management, task management, Wiki, calendar, etc.) are available to your users. We saw an example of this in the context of the site’s navigation menu.

If you hide an app from your users, like the Tasks app, it would make sense to also hide its notification settings from everybody’s personal notification settings page.

You can do this by going to Administration > Portal > Notifications, then disabling the notification types that you want to hide for all users.

Custom notification types with eXo

If you scroll down, you will see a section where you can customise the name and email address of the notification sender.

eXo custom the name and email address of the notification sender

4- Customising page layouts

Admins can customise what is displayed on any page using a ‘what you see is what you get’ layout editor.

Let’s use the example of the site’s homepage. To edit the layout of this page, first go to the page as an admin, then from the top toolbar go to Edit > Page > Edit Layout. This opens up the layout editor.

Customizing page layouts with eXo Platform

Here, you can see the different components of your page. You can manage apps (or what eXo often calls ‘portlets’, i.e. portal apps) by selecting the Applications tab. You can also manage containers (used to organise several apps in table-like structures within the same page) by selecting the Containers tab.

You can now start to add containers to your page and place apps inside them using drag and drop. Hovering over a container or app that you’ve added shows you buttons for editing them, deleting them from the page, or moving them around within the page (drag and drop).

Here is a custom layout I made for my homepage in the layout editor:

custom layout for homepage in the eXo layout editor

And here is the end result:

Customize you intranet with eXo Platform

Tip: When hovering over containers or apps in the layout editor, if you click on Edit and select the Permissions tab, you can manage the view permissions for different parts of your page. This allows you to show different things to different people depending on their groups/roles within the organisation, even though they are accessing the same page.

5- Adding web content to pages

Some of the apps (i.e. portlets) that you can add to pages using the layout editor are content apps (listed under the Content category). These include two apps that let you display web content on your page:

  • Single Content Viewer displays a single piece of web content that was created and stored somewhere in your content back end (typically under Administration > Content > Site Explorer > Intranet > Web Content where you need to first go and create/organise your content). In the example above, I have used this to display a box of useful/frequently requested links.
  • Content List Viewer displays several pieces of web content (e.g. several news articles) stored in the same folder somewhere in your content back end. In the example above, I have used this to display a list of ‘latest news’ or a banner that cycles through different images.

After adding these to your page, click on Edit to point them to the relevant content (or content folder) and a few other things (e.g. the display template in the case of Content List Viewer).

web content management Platform

You do not need web development skills to create or edit the web content because a rich editor is provided as the default. However, if you want to edit the HTML source code you can access this by clicking on the Source button.

web content management with eXo Platform

Another potentially useful app that you can add to a page is the IFrame portlet found under the Tools category. If you add this portlet to your page, then hover over it and click on Edit, you will see that it practically asks for only one parameter: a web URL.

Change your url with IFrame portlet

This is because its job is to simply display a web page inside your eXo Platform page. It is useful for when you need an easy way of making a third-party tool available to your users inside eXo Platform.

6- Adding custom websites

eXo Platform has multi-site support, allowing you to create and manage other sites beside the default one (called ‘intranet’). This allows you to accommodate scenarios where you would, for example, have an internal private collaboration site as well as a public-facing one, such as a customer or partner portal for sharing resources or information. You would then be able to share content and apps easily across these different sites.

Customize your website with eXo Platform

Log in as an admin and go to Administration > Portal > Sites. From here you can see the list of your sites, add a new one and set its access permissions and template.

Cutomize your enterprise portal with eXo Platform

The eXo Web Pack add-on provides a couple of useful site and content templates. (See section 10 below about installing add-ons.)

7- Mapping document directories to a computer drive

This is something that any user can do, not just admins. You can map a drive or folder within the Documents app in eXo Platform (e.g. the personal documents area or a team space’s document repository) as a network drive on your computer. This lets you browse and manage eXo Platform documents as if they were stored on your computer.

In eXo Platform, go to the Documents app (personal or from within a space), right-click on the directory/folder you want to map and click on Copy URL to Clipboard.

In Windows, go to This PC > Computer > Map Network Drive > Map Network Drive

Mapping document directories to a computer drive

Choose any letter for your new drive. Under Folder, paste the URL. Make sure you check the box that says Connect using different credentials because you want to log in to the eXo Platform folder using your eXo Platform credentials, not your Windows credentials.

Connect using different credentials to login to eXo Platform

Click on Finish. You will be prompted for your eXo Platform credentials. Enter them and you are good to go.

If you are using a Mac or Linux machine, I am sure there is a similar procedure. Just google how to map a network drive in your operating system if you do not already know how to do it.

8- Adding custom file remote edit labels

The Documents app provides an Open in Office feature for opening common Microsoft Office documents (i.e. Word, Excel and PowerPoint) stored inside eXo Platform without having to download them to your computer. With a click of a button, the document opens up in the respective Office app for editing.

For example, clicking on Open in Word launches the document in your locally installed Microsoft Word app without downloading it. Saving your edits automatically creates a new version in eXo Platform and notifies your teammates.

As an admin, you can enable this feature for any other file formats that your organisation or team works with and needs to collaborate on.

Let’s say that I work with my team on creating videos in Adobe After Effects and we need to share and collaborate on the project files using eXo Platform.

ECM Open Document eXo

As an admin, I can edit (using any text editor) the platform’s configuration file called ‘exo.properties’ found under {your platform directory}\gatein\conf

In this text file, I will look for a section called ‘ECM Open Document’ and add these two lines:

exo.remote-edit.$CATEGORY=$SET_OF_FILETYPES
exo.remove-edit.$CATEGORY.label=$LABEL

  • Replace $CATEGORY with anything you want. I replaced it with ‘aftereffects’.
  • Replace $SET_OF_FILETYPES with the file extension(s) that you want to add this feature for (seperated by commas if there are several). For example, ‘aep’ is the file extension for Adobe After Effects files so that is what I have put there.
  • Replace $LABEL with the label that you want to be displayed on the Open button. For example, if you write ‘After Effects’ here like I have, then any aep files uploaded to eXo Platform will have a button that says Open in After Effects.

This is what I did:

Adding custom file remote edit labels with eXo

I then saved this configuration file and restarted my eXo Platform server. Now, when I or my collaborators right-click on my After Effects files inside eXo Platform, it will look like this:

custom file extension inside eXo Platform

This is a proprietary format and the preview is not supported inside eXo Platform (unlike Office files, which can still be previewed). When you open the file inside eXo Platform, you will get this message as well as the new button for launching the file in the app where you can work on it:

Custom file preview inside eXo Platform

You will also see the button in the activity stream:

custom file extension preview in eXo Platform activity stream

9- Customising Wiki pages through macros

Wiki is a useful tool for creating, organising and sharing information pages. The use cases vary, ranging from policies, to procedures, guides and tutorials, plannings and roadmaps, meeting notes, specifications, documentation, papers and course materials, and the list goes on.

Wiki has a standard rich text editor allowing you create pages like these. This editor includes a feature called ‘macros’. Macros are pre-developed script-like tools that allow you to insert custom types of content (that would have otherwise required customisation) to your Wiki page with a couple of clicks. They can be built and many are already implemented out of the box in eXo Platform’s Wiki. These include:

  • Inserting coloured message boxes such as an info message, a warning message, etc. Here is an example:

Customising eXo Wiki pages through macros

    • Inserting a table of content inside your page.
    • Inserting a footnote at the end of your page.
    • Inserting a mathematical formula.
    • Inserting an IFrame inside your Wiki page.
    • Inserting an RSS feed inside your page.
    • Inserting properly formatted code snippets.
    • And more…

Insert macros to Customize eXo Wiki pages

10- Installing add-ons

Add-ons are a safe way to customise eXo Platform by modifying its existing functionality, adding new apps/functionality to it, or providing integrations and connectors to third-party tools. Today, more than 40 add-ons are available freely in the growing Add-ons Center.

eXo add-on marketplace

If you are an admin, you can use a simple command line tool called the Add-on Manager to list, install and uninstall add-ons. The guide for using the Add-on Manager is here.

BONUS: Can I also customise the mobile app for my organisation?

This is the easiest one because you don’t have to. The eXo Platform mobile app follows a hybrid model whereby it displays the responsive web interface within a native mobile app shell. That means that your modifications are reflected automatically. You can read more about this in my previous article.

If you have any questions, feedback or insights to share about your experience of customising eXo Platform, please join the conversation in our online community forums.

Related Posts

Marwen Mema

I am a product marketing manager for enterprise software solutions at eXo Platform. My role involves supporting and leading marketing and operational activities for our digital collaboration platform. My contributions to this blog revolve around the exciting and fast-paced world of enterprise digital transformation, team collaboration, open-source technology and making the most out of eXo Platform.

Comments

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>