DIY Zeebe Applications
April 18, 2023Sour grapes…, so let’s grow our own. Zeebe is a workflow and process automation engine developed by Camunda, which powers their current main…
Orchestrating open-source RPA with Camunda Cloud
March 12, 2023RCC is a really cool command… In January 2023, together with Niall Deehan, we hosted RoboCon 2023 workshop Business process automation with…
Exploring two alternative declarative roads to Jupyter
December 16, 2022Nix way, RCC way, or the high way? I’m a fan of Project Jupyter, which develops and maintains interactive computing environments for all…
How Robot Framework and RCC align with Camunda Platform for process automation
December 14, 2022This year I’ve been tinkering mainly around Camunda Platform, the BPMN based open-source process orchestration platform of my choice [1]. My…
BPMN for Plone – the best CMS deserves equal workflows
October 12, 2022Doing whatever necessary to implement various business process use cases with Plone CMS used to be my groundhog day at work. We’ve been…
Having fun at open-source automation playground
February 08, 2022Successful business process automation requires real ability to iterate the automation part. During the last year, I went through many ideas…
JupyterLite makes open source data analysis ubiquitous
August 16, 2021Jupyter Notebooks are extremely popular tool for manipulating, analyzing and visualizing data. JupyterLab, the currently maintained Notebook…
RCC toolchain compatible Robot Framework automation bots for Camunda Platform
August 03, 2021On my previous post, I shortly revisited Robocorp contributions to Robot Framework RPA ecosystem, and then tried out their cloud for…
Using Camunda with Robocorp Cloud for orchestrating automation
July 14, 2021Robocorp Cloud is a commercial automation bot orchestration service by Robocorp. It differentiates itself from the others by promoting…
Building open source “history plugin” for Camunda Cockpit
May 03, 2021For the last few months, I’ve been steadily developing an open source “history plugin” for Camunda Community Edition Cockpit. Obviously a…
My dream open source RPA orchestrator with Camunda and Nomad
April 11, 2021RPA, Robotic Process Automation, is a fancy marketing term for executing glue code between two systems, which may have not been designed to…
Implementing user epics with BPMN
March 21, 2021Many user stories start simple. For example: “A user self registers into a course”. The final version, of course, tend to be more like: “A…
Open source “history plugin” for Camunda Cockpit
January 03, 2021Year 2020 was a good year to learn business process automation possibilities with BPMN and Camunda – an open-source workflow and decision…
Developing service mesh with Nomad and Nix
November 09, 2020Nomad is a very special service orchestrator, because it can be used without any 3rd party container runtime. Of course, Nomad supports the…
Setting up Camunda Run and connecting with Robocloud
July 12, 2020In my previous post I wrote an overview, how to implement a semi-automated business process involving both humans and robot with just…
Connecting the dots – Automated business process with Robocloud and Camunda BPM
July 10, 2020Robocorp’s RPA suite is now open for everyone. Why does it matter? Because their “Robotic Process Automation” solution is based on Robot…
Automated subtitles – destructuring a successful Plone CMS integration
June 22, 2020Never underestimate the importance of being able to make changes to your software – especially when they are critical to your business…
Static is fast, but CMS still required – a JAMstack story
June 12, 2020An another iteration of our university’s new study guide web site has been completed. The project that started more than a year ago as a…
Vasara – an open source mashup for business process digitalization
May 17, 2020In the beginning of this year, we met to discuss the options for making more of our existing business processes more automatic, more…
Refreshing CMS, in a theme, with Plone
April 13, 2020“How hard can it be? It is just a theme…” Of course, it was. Unless it was a collection of configurable interactive components. With…
Creating Plone content with Transmogrifier on Python 3
February 25, 2020TL;DR; This blog post ends with minimal example of creating Plone 5.2 content with Python 3 compatible Transmogrifier pipeline with command…
Introducing RobotLab
September 21, 2019Say hello to RobotLab! JupyterLab powered interactive Robot Framework test suite and RPA task suite authoring platform for Windows, MacOS…
Digital Signage management with Plone and GatsbyJS
September 01, 2019Sometimes complex problems have simple solutions, and this was one of those times. At work, we are piloting a new digital signage solution…
RoboCon 2018 and Robot Framework Jupyter support
January 27, 2018It’s already over a week since I got back home from the first Robot Framework conference ever — RoboCon 2018. It was a pleasure to be there…
Plone Conference Barcelona 2017
November 03, 2017It was awesome to be back at Plone Conference this year. Finally! We have had participation in Plone conferences in 2009, 2011–2012 and 201…
Building instant features with advanced Plone themes
October 23, 2017Plone, ”The Ultimate Enterprise CMS”, ships with built-in batteries for building sophisticated content management solutions without writing…
Tile based layouts and ESI on Plone
February 26, 2017Plone’s Blocks: Grid based layouts is an old manifest (originally dated back to 2008 or 2009) about simplifying Plone’s (ME)TAL-macros…
On building fat themes for Plone
October 04, 2016Could fat themes become the common ground between filesystem Plone developers and through-the-web integrators? Plone ships with a lot of…
Plone Barcelona Sprint 2016 Report
May 22, 2016For the last week, I was lucky enough to be allowed to participate Plone community sprint at Barcelona. The print was about polishing the…
Evolution of a Makefile for building projects with Docker
April 30, 2016It’s hard to move to GitLab and resist the temptation of its integrated GitLab CI. And with GitLab CI, it’s just natural to run all CI jobs…
Building Plone widget with React + Redux
April 11, 2016As much I love the new through-the-web resource registries in Plone 5 (I really do), for the current Plone 5 sites in development or already…
Building Plone theme with Webpack
February 15, 2016I just fixed my old post on customizing Plone 5 default theme on the fly to work with the final Plone 5.0 release. But if you could not care…
Nix in Docker – Best of Both Worlds
November 16, 2015I’m using Nix mostly on a mac as a development tool, and every now and then I get blocked by some packages not working on OS X. For those…
Creating Jupyter Docker-containers with Nix
November 13, 2015Jupyter is the new name and brand for an awesome interactive data science programming scratchpad previously known as iPython Notebook. While…
Nix for Python developers
October 28, 2015About a week ago, I had the pleasure of giving a presentation about my Nix experiences at PyCon Finland 2015. This is an executive…
Generating Plone theming mockups with Chameleon
September 06, 2015Some days ago there was a question at the Plone IRC-channel, whether the Plone theming tool supports template inheritance [sic]. The answer…
Building Docker containers from scratch using Nix
July 09, 2015Nix makes it reasonable to build Docker containers from scratch. The resulting containers are still big (yet I heard there’s ongoing work to…
Creating Nix-expressions with buildout
July 08, 2015The greatest blocker for using Nix or complex Python projects like Plone, I think, is the work needed to make all required Python-packages…
Stateless Nix environments revisited
July 07, 2015It’s almost a year, since I tried to bend Nix package manager to fit my own workflows for the first time. I disliked the recommended way of…
Customize Plone 5 default theme on the fly
May 25, 2015When I recently wrote about, how to reintroduce ploneCustom for Plone5 TTW (through the web) by yourself, I got some feedback that it was…
ploneCustom for Plone 5
May 12, 2015No more custom skins folder with infamous ploneCustom in Plone 5, they said. Well, they can take away the skins folder, but they cannot take…
Transmogrifier, the Python migration pipeline, also for Python 3
November 19, 2014TL;DR; I forked collective.transmogrifier into just transmogrifier (not yet released) to make its core usable without Plone dependencies…
Too many ways to do async tasks with Plone
October 23, 2014Triggering asynchronous tasks from Plone is hard, we hear. And that’s actually quite surprising, given that, from its very beginning, Plone…
Nix expressions as executable commands
September 11, 2014Updated 2015-07-07: Stateless Nix environment revisited Consider this entry deprecated. Updated 2014-09-24: I learned that in a mixed (OSX…
Asynchronous stream iterators and experimental promises for Plone
May 04, 2014This post may contain traces of legacy Zope2 and Python 2.x. Some may think that Plone is bad in concurrency, because it’s not common to…
Cross-Browser Selenium testing with Robot Framework and Sauce Labs
March 20, 2014How do you keep your Selenium tests up-to-date with your ever-changing user interface? Do you try to fix your existing tests, or do you just…
My week of Plone sprinting with friends and robots
February 19, 2014I’m a bit late, but yes, I had a great time at last week’s Plone sprints. At first I flew to Amsterdam Stroopwafel Sprint for the weekend…
Review: Robot Framework Test Automation (Bisht 2013)
December 08, 2013During the past year, I’ve been lucky to meet many people new to Robot Framework and help them to get started in writing acceptance tests…
Meet the Robot family (for Plone developers)
September 28, 2013I only need to go two years back in time, and I had never really tried Selenium nor heard about Robot Framework before. Then I attended my…
Blogging examples of use with automated screenshots
September 23, 2013But how much does it makes sense to write acceptance tests while creating screenshots for new blog posts presenting Plone add-ons? I have a…
Documentation – a plausible excuse for acceptance testing
September 20, 2013Or how to use Sphinx to create user guides with screenshots, which are automatically generated, annotated and kept up-to-date using Robot…
Write testable documentation with Robot Framework
August 15, 2013If you have background as a Python programmer, you must be familiar with doctests — testable code examples embedded into documentation. When…
Stay accessible – Robot Framework library for WAVE-toolbar
May 26, 2013WAVE Web Accessibility Tool is a popular service for detecting accessibility issues on your websites. WAVE Toolbar is an offline version of…
Test fixture driven development for Plone add-ons?
May 10, 2013You may have already seen Maurizio Delmonte’s demo of collective.cover, the new Tiles based front-page product for Plone. It’s based on the…
Make your Robot tests go Phantom
April 27, 2013A new version of robotframework-selenium2library has just been released, and it (>= 1.2.0) comes with full support for PhantomJS, the famous…
Generate annotated screenshots with plone.app.robotframework
April 09, 2013Greetings from Sorrento, from Plone Open Garden 2013. The symposium/sprint was amazing, with the greatest possible venue, the nicest…
Cross-browser test your Plone add-on with Robot Framework, Travis-CI and Sauce Labs
March 12, 2013Thanks to Rok Garbas, I became aware of Sauce Labs during the Plone testing sprint. Finally, I had some time to try it myself, and I managed…
Overview of the new Robot Framework goodies for Plone
February 11, 2013Greetings from Plone testing sprint! I had never been in Barcelona before, and to be honest, I didn’t really see much of the city yet. The…
Create custom views for Dexterity-types TTW
January 31, 2013Plone 4.3 will ship with Dexterity, the new content type framework of Plone. One of the many great features in Dexterity is the schema…
Embedding Robot Framework tests and keywords into Sphinx documentation
October 22, 2012Robot Framework ships with decent tools for generating reference documentation out of your robot keywords and test data (see libdoc and…
Speed up your Plone add-on tests on Travis CI with the Unified Installer
September 09, 2012Many thanks for Héctor Verlarde for encouraging us to try out Travis CI for testing our own Plone add-ons. Also, thanks for Godefroid…
Getting started with Robot Framework and plone.app.testing
September 01, 2012Selenium testing Plone doesn’t need to be difficult. Actually, with the recent hard work done for robotframework-selenium2library it’s the…
Running Robot Framework tests with Google App Engine SDK
June 01, 2012For a long time I thought that Selenium was hard to set up and tests for it were hard to write. Well, I couldn’t have been more wrong. With…