Skip to content
Modern, mobile first LIMS UI
Branch: master
Clone or download
ramonski and xispa Improved navigation portlet icon lookup cache (#102)
* Improved icon lookup cache

Use RAM cache and include the virtual URL in the cache key for navtree icons

* Updated changelog + version

* Changed upcoming version to 1.3.1
Latest commit 3c7fc7b Apr 15, 2019


Responsive User Interface for SENAITE Core

What does SENAITE mean?

SENAITE is a beautiful trigonal, oil-green to greenish black crystal, with almost the hardness of a diamond. Although the crystal is described with a complex formula, it still has clear and straight shapes. Therefore, it reflects nicely the complexity of the LIMS, while providing a modern, intuitive and friendly UI/ UX.

What is this Project about?

The primary goal of SENAITE Project is to provide a complete new and modern way to interact with SENAITE CORE.

SENAITE CORE depends heavily on JavaScript and most of the logic is custom built with jQuery.

While this is applicable for smaller projects, it becomes almost impossible to maintain it in larger projects. Therefore, SENAITE introduces modern JavaScript frameworks to provide a robust user interface which follows industry standards.

SENAITE ships with a complete RESTful JSON API built on plone.jsonapi.routes, which serves as the main communication interface between SENAITE CORE and any kind of modern web framework.

This makes great web applications like the Spotlight Search or the Plone Commander possible and allows frontend develpers to interface custom web application with SENAITE CORE.

The User Interface of SENAITE LIMS follows a mobile first approach and is built with Twitter Bootstrap. This makes it also possible to easily to operate in the web interface with tablets and smart devices


Please follow the installations instructions for Plone 4

Before installing SENAITE LIMS or Plone, there are some system dependencies that must be installed. They are listed below.


sudo apt-get install build-essential gcc python-dev git-core libffi-dev
sudo apt-get install libpcre3 libpcre3-dev autoconf libtool pkg-config
sudo apt-get install zlib1g-dev libssl-dev libexpat1-dev libxslt1.1
sudo apt-get install gnuplot libcairo2 libpango1.0-0 libgdk-pixbuf2.0-0
sudo apt-get install libxslt-dev python-pil libjpeg-turbo8-dev


sudo dnf install make automake-1.15-1.fc22.noarch gcc gcc-c++-5.3.1-2.fc22.x86_64
sudo dnf install kernel-devel-4.3.4-200.fc22.x86_64 gdk-pixbuf2-devel-2.31.6-1.fc22.x86_64
sudo dnf install python-devel-2.7.10-8.fc22.x86_64 git-2.4.3-7.fc22.x86_64
sudo dnf install libffi-devel-3.1-7.fc22.x86_64 pcre-devel-8.38-1.fc22.x86_64
sudo dnf install autoconf-2.69-20.fc22.noarch libtool-2.4.2-35.fc22.x86_64
sudo dnf install pkgconfig-1\:0.28-8.fc22.x86_64 zlib-devel-1.2.8-7.fc22.x86_64
sudo dnf install openssl-devel-1\:1.0.1k-13.fc22.x86_64 expat-devel-2.1.0-10.fc22.x86_64
sudo dnf install libxslt-devel-1.1.28-8.fc22.x86_64 gnuplot-5.0.0-8.fc22.x86_64
sudo dnf install cairo-devel-1.14.2-1.fc22.x86_64 pango-devel-1.36.8-6.fc22.x86_64

To install SENAITE LIMS, you have to add senaite.lims into the eggs list inside the [buildout] section of your buildout.cfg:

parts =
extends =
find-links =
eggs =
zcml =
eggs-directory = ${buildout:directory}/eggs

recipe = plone.recipe.zope2instance
user = admin:admin
http-address =
eggs =
zcml =

setuptools =
zc.buildout =


The above example works for the buildout created by the unified installer. If you however have a custom buildout you might need to add the egg to the eggs list in the [instance] section rather than adding it in the [buildout] section.

Also see this section of the Plone documentation for further details:


For the changes to take effect you need to re-run buildout from your console:


Installation Requirements

The following versions are required for SENAITE LIMS:

  • Plone >= 4.3.18
  • senaite.core >= 1.3.0

Please follow these steps to install Plone:

IMPORTANT: SENAITE is not yet compatible with Plone 5.x.x versions

NOTE: To install the latest version from the sources, follow the instructions in the Development section to install senaite.lims on your computer.


You can create a development environment using Buildout directly from the root folder of the project. Please have a look into the buildout.cfg configuration for further details.

It is recommended that you use a Virtualenv before preparing the environment with the following commands:

git clone
cd senaite.lims
bin/instance fg


FOSSA Status

We want contributing to SENAITE LIMS to be fun, enjoyable, and educational for anyone, and everyone.

Contributions go far beyond pull requests and commits. Although we love giving you the opportunity to put your stamp on SENAITE LIMS, we also are thrilled to receive a variety of other contributions including:

  • Documentation updates, enhancements, designs, or bugfixes
  • Spelling or grammar fixes
  • corrections or redesigns
  • Adding unit, or functional tests
  • Triaging GitHub issues -- especially determining whether an issue still persists or is reproducible.
  • Searching #senaite on twitter and helping someone else who needs help
  • Teaching others how to contribute to one of the many SENAITE repo's!
  • Blogging, speaking about, or creating tutorials about one of senaite's many features.
  • Helping others in our SENAITE gitter channel.
You can’t perform that action at this time.