A walk through JuliaBase

The demo site

At https://demo.juliabase.org, a demo of JuliaBase is installed so that you can play with it a little bit. You can log in with various accounts with different levels of permissions, add samples, processes, tasks etc., have a look at sample data sheets or a lab notebook, and much more.

However, since this site is accessable to everyone, it may become chaotic over time. In order to prevent that, all the data is reset every night at central european midnight. So, don’t be surprised if you have to log in again after some time – all session data is reset, too. There is nothing to worry though as you may log in as often as you wish.

This demo site is also the default target of the remote client code shipped with JuliaBase. You are encouraged to use the demo as a test bed for your client code.

The demo accounts

The demo site is the JuliaBase installation of the “Institute of Nifty New Materials” (INM). It’s a very small institute with only six employees. All accounts have the password “12345”.

The boss

Sean Renard (s.renard) is the lead scientist and director of this institute. Accordingly, his JuliaBase account allows him to view all samples, but he has got other privileges, too. More about that later.

The technical staff

Nick Burkhardt (n.burkhardt) is a technician in the INM for a very long time. He is responsible for the PDS setup (photothermal deflection spectroscopy), a measurement setup. He performs measurements for researchers. He would never let another person use his PDS.

Hank Griffin (h.griffin) is also a technician. He is responsible for the solarsimulator, another measurement setup. He performs measurements for researchers, but after proper instructions by him, other people may use the apparatus, too.

Eddie Monroe (e.monroe) is a deposition operator. This is a technician who manages a deposition system, in his case, the cluster tool deposition. Here too, other institute members may use this system after proper instructions.

The scientific staff

Rosalee Calvert (r.calvert) is a tenure scientist and creates samples by herself in the 5-chamber deposition setup. Currently, she’s the only one using this setup. Afterwards, she measures the samples in the solarsimulator. Her current project is a cooperation with the University of Paris.

Juliette Silverton (j.silverton) is a PhD student with a lot of work. Thus, she is unable to do sample preparation and measurements herself, and let others do it. Consequently, she makes intensive use of JuliaBase’s “task lists” feature in order to commission the work.

Rosalee: The everyday work

Main menu screenshot

Log in as r.calvert, the typical ordinary user. We will see how she gets her work done.

The “My Samples” list

In the main menu, you can see Rosalee’s “My Samples” on the right hand side. This list usually contains not all samples of a user but only those that are currently of interest to him/her. Still, this list may become quite long, and is therefore structured by topics and sample series. You may click on the bullet icons (group icon or sample series icon) in the list to fold and unfold sections that you want to hide.


One sample usually belongs to exactly one topic. This helps to organise samples. For one thing, one can give topics expressive names, which makes the samples’ purpose clear. In Rosalee’s list, all samples belong to the topic “Cooperation with Paris University”.

But even more important is that topics define who can see the sample. The prime directive in JuliaBase is: You can only see samples of your topics.

If a sample is in no topic, it is completely unprotected. Everyone can see it and take possession of it. There may be use cases for that but usually, you should put all your samples in topics.

People can be in an arbitrary lot of topics at the same time, but a sample is in exactly one topic. It may change it during its lifetime, though. Senior team members may have the permission to see all samples, whether in their topics or not. Sean Renard is such a person.

Sample data sheet

Sample data sheet screenshot

Let’s visit a sample by clicking on “14S-001”. You see its data sheet. At the top, it contains some general information like the currently responsible person and the topic. Then, you see a list of everything that has been done with this sample, in chronological order. It starts with the substrate, is continued with the deposition of the silicon layers, and ends with a measurement in the solar simulator.

Every such step is called a “process” in JuliaBase. Even the “Substrate” is a process, albeit a slightly odd one. Every process has an operator and a timestamp. You can fold processes that would otherwise clobber the data sheet by clicking on the heading.

The main work when adapting JuliaBase to a new institute is programming all the processes that the institute needs. The solarsimulator measurement at the bottom is a good example why it is worth the effort. Just click on the colored squares, and you see how the data and the plot change immediately. Such features are lacking in off-the-shelf databases. This high degree of adaptability and flexibility is the primary strength of JuliaBase.

Let’s scroll back to the top. You see a schematic cross section of the sample, called an “informal stack” because it may not be totally accurate. This is not part of JuliaBase’s core because it may not be useful for every institute. But it’s part of the source code and you may use it. If you click on it, you get it as a PDF. This is also true for all plots in JuliaBase.

Edit samples

You can edit a sample by clicking on the pencil icon pencil icon next to the sample’s name. “Editing a sample” refers only to the data at the top of the data sheet. In particular, no processes are affected. Very often when you change somethin in JuliaBase, you have to describe your changes shortly at the bottom right. It may be tedious sometimes, but it may be very helpful to others who get notified by your changes.

Add processes

Also on the top of the sample data sheet there is the gear icon gear add icon, which is to append a new process to the sample. If you click on it, you are asked which kind of process you’d like to add. Let’s have a look at two possibilities: Splitting and result process.

Delete samples and processes

You should never delete anything in a lab database. However, due to heavy user demands, JuliaBase has the feature to delete samples and processes. The rules are very strict though: You can only delete a process that you may edit, and that is not older than one hour. If you delete a sample split, all pieces are deleted, too (if you are allowed to do so). If you delete a sample, all processes which only have this sample are deleted, too (again, if you are allowed to do so).

Split a sample

If you split samples into pieces, you surely want to keep track of that. For doing so, you click on the gear icon gear add icon and select “sample split”. Then, you can enter the new names of the samples. Usually, they extend their parent’s name. When looking at a sample’s data sheet, you also see all processes of the parents.

Result process

Result processes, often simply called “result”, are a handy ad-hoc way to append something to a sample’s data sheet. If you want to add a measurement result for which no dedicated process has been programmed so far, or if you want to add a plot, a picture, or a comment, then create a result. It’s the Swiss-Army-knife process if nothing else fits. Because it’s so flexible, be careful not to have spelling errors in order to keep searching and exporting easy.