Lab Day: And the winner is ...

We asked our colleague Carola Christoffel about her winning Lab Day project.

Sophora DeskClient: Synchronize with Editor
Sophora DeskClient: Synchronize with Editor (Image: subshell/CC BY)

Time for your own ideas and projects! Within a two-week sprint, subshell employees can take a day to develop creative projects. The best ideas are rewarded with a trophy full of sweets.

Our colleague Carola Christoffel, developer in Team Vegas, developed a "Synchronize Button" for Sophora and won the Lab Cup. We asked her about her Lab Day project.

Carola, why don't you tell us briefly what the Lab Cup is all about?

This is a round of presentations where everyone can register and introduce their Lab Day project. The Lab Cup takes place every 8 weeks.

This is where the various projects are voted on. The project with the most votes wins. 

What do you particularly like about subshell's Lab Day?

I think it's great that in the working world you also have the opportunity to implement your own ideas or devote yourself to a new project.

After graduating, you sometimes have the feeling that there are fewer opportunities in the job environment to be creative. 

What exactly did you develop during Lab Day?

When I started Lab Day, I wasn't at subshell for long. While working with the Sophora DeskClient, I noticed that you can't see the location of an open system document in the structure tree.

Even if you open a document directly from the structure tree, you may lose track of its position while further working or navigating through the tree.

Certain actions can only be found in the menu that opens when you right-click on a document in the structure tree. Without knowing the location of the currently open document, you would first have to look in the document information and search or expand the corresponding path in the tree. This takes time.

Therefore, I had the idea to display the position of the currently opened document in the structure tree with a single click. Therefore, the button "Synchronize with Editor" was created.

If this function is activated, opened documents are automatically synchronized with the structure tree. This means that the tree opens up to the correct level and the document is selected in the tree. This feature is also known in the Eclipse development environment.

Why is this only possible with documents in the administration area? Would it also be conceivable to introduce this for all documents?

I didn't think of that at the beginning, because as a developer you are often in the admin area. The thought already came to me and I think it's a good idea which I will also implement.

How much time did you invest in the project?

In total it must have been four Lab Days.

Were there any other contributors to the project?

My team helped me with programming and my questions about the internal mechanisms of the software.

Were there any difficulties during development?

The biggest difficulty was that at the beginning, the structure tree didn't want to open in the right place. It didn’t know its "children" when it was collapsed. So it was not clear under which node a document was located.

Therefore, one must proceed as follows: the top node is opened programmatically and searched to see whether the document is on this level. If not, further nodes are expanded bit by bit until it is found. On the way there, the entire path is saved, which is then passed to the tree.

Furthermore, not all documents in the admin area are Sophora documents. Due to the special cases there can be more lines of code at the end.

Which advantages and disadvantages do you see with the "Synchronize-Button"?

The time saving aspect is a big advantage of the feature.

What new insights have you gained from the Lab Day project?

I learned a lot about the structure of the administration area and the different types of documents.

Besides Sophora documents, there are, for example, nodetypes, default configurations and user roles. In the future, however, these will all be Sophora documents.

Do you already have an idea for another Lab Day project?

I would like to look at a project outside of Sophora in order to try out new technologies. I find the display of information via Slash-Command in our Chat Mattermost interesting.

In the end, the next project will also be a Mattermost bot.

And what is your next Lab Day project?

That's still a secret (grins).

Melanie Frischat
Melanie Frischat