Blog

New Minor Release Of Extensionuploadcenter

I worked a bit further through the Plone add-on that drives the current LibreOffice extensions website and made some smaller fixes on the source code during the last days. I published a new release with this changes on pypi.org today: https://pypi.org/project/tdf.extensionuploadcenter/

The LibreOffice extensions and templates website (https://extensions.libreoffice.org) got back his customized home page again since about a week. This site was created inside a Plone policy add-on package a time ago and its source code got some CSS-fixes some weeks ago. Great to see that it is again up.

Cash Up Students For Installation?

There was the information that it would be difficult or impossible to install software on MS Windows 10 students edition without using the App-Store. Most often they use this version of MS Windows because they are short in money. Thus if they should pay for the installation of a free software from the App-Store they mostly will refuse to install and use this software. Especially if they should pay for every major version again (thus two times a year).

It’s moreover antisocial to charge this students for the installation of free software. Especially if you ask students (and others) to do volunteer work on the free software project and share their work.

If a free software project is going that direction you know that its members / leaders lost their society compass.

Fixed Travis-CI Yaml File

I created a Plone add-on from plone.bobtemplates some weeks ago and updated its functionality since then. The add-on comes with a .travis.yml file, created by bobtemplates.

But the .travis.yml file throw an error once it runs the tests in the test_example.robot file. I got the message:

AssertionError: Setup failed: WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

After some searching as well as trial and error I found a solution to fix the issue. I made some edits to the ‘before_script’ section of .travis.yml.

before_script:
- wget "https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux64.tar.gz"
- tar xfz geckodriver-v0.24.0-linux64.tar.gz
- sudo mv geckodriver /usr/local/bin
- 'export DISPLAY=:99.0'
- Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
- sleep 3 

I removed the entry: ‘firefox -v’ and added the three lines at the beginning, thus the missing geckodriver got downloaded, extracted and put into the directory which fited.

With this edits of the .travis.yml file the robot example test runs. I got the same message, once I ran the robot test example on my computer. I could fix it by downloading the geckodriver and install it on the machine.

LibreOffice Extensions Some Are Marked For The Current Version 6.3

The LibreOffice version 6.3 had been published on August, 8th 2019: https://blog.documentfoundation.org/blog/2019/08/08/tdf-announces-libreoffice-63/

But it seemed nobody took care of an update of the available LibreOffice versions on the LibreOffice extensions website (https://extensions.libreoffice.org/extensions). This new version was added there just recently. Thus the contributors of the LibreOffice extensions website get a notice of the new LibreOffice version and the opportunity to mark their extension as compatible with that version very lately.

But there are some contributors of the LibreOffice extensions website which reacted very quickly and marked their extension compatible with the newest LibreOffice version. I want to thank them for their quick reaction and their contribution to the project.

Extensions marked compatible with LibreOffice 6.3

Rework Of Center Edit View And Release

I worked on a further edit dialog of the Plone add-on collective.templates today. I added another register to the dialog and reordered some content fields to make it more smooth for the user. You could see some of the register of the template center edit view below.

The first register of the center edit view
The register to configure categories, licenses etc.
This register make it possible to provide the allowed file extensions on the website

I published my changes to the Plone add-on and its edit views today. The source code is available from the Plone community Github repository:
https://github.com/collective/collective.templates

The new release is available from https://pypi.org:
https://pypi.org/project/collective.templates/

Worked Further On Project Edit View Of collective.templates

I created already a new Plone add-on for the upload and management of office template files during the last weeks. I made some further changes to the source code of the add-on during the last days and published new releases of the software.

I reworked the edit view for template projects today. I gave it another structure with register for the different content parts. The dialog is much clearer yet and that will help a contributor to finish the dialog much faster and submit his new project (or edit one of his / her projects).

Here are some screenshots of the dialog and its register:

First register of the template project edit view
Register legal
Register category / categories
The register for the upload of the template file

There is another register for the optional upload of template files for different platforms. It looks similar to the above one. There is also a register to upload a screenshot of the template. This screenshot will be shown to the user in the template project view.

The source code of this Plone add-on (collective.templates) is available in the Github repository of the Plone community:
https://github.com/collective/collective.templates

You could download the latest releases from the ‘Cheeseshop’:
https://pypi.org/project/collective.templates/

Make A Volunteer Project Professional?

New projects often started as a volunteer project with enthusiastic people. The project growed over the time and it got some or a lot of donation (or sponsor) money. That was the time, when the leading people of the project got the impression that it is not possible to drive the project with volunteers only. They decided to spend money for one or more employees. This employees in connection with the leading people of the project built a group. Both sides had an interest in keeping the project running as it is and take full control. The leading member most often had a personal or business interest in the outcome of the project. The employees had a personal interest too, because they need to pay their bills and thus need the income.

The whole group of employees and leading members had in common that they had a lot of time to work on the project. Thus they marginalized the pure volunteer contributors, because they could only work on the project in their spare time. At some point the pure volunteers realized that dominance of the other group and once they felt excluded or got no positive feedback and support for their volunteer work, they quit their contributions and left the project.

That was the time when the remaining (volunteer) member / contributors of the project complained about the insufficient number of volunteers in the project. But instead of reorganizing the project and revise its whole structure and processes, the leading group went into the same direction and replaced the missing volunteers with employees or paid work. But that didn’t solve the problems, because more pure volunteers felt not respected and considered, why they should do the work without paying.

This process will not stop until the group of leading members and employees remember that they are an important part of the issue and that the organization of the project will need a radical disruption (a new start). That includes not only the technical or organizational construction but the employed or contracted people too.

It would be necessary for a healthy new start of a volunteer project that the driving people would be able to take a look from ‘10,000 feet’ onto the project and wouldn’t be captured in the current organization and structure of the project. Thus the current leading members and employees / contractor wouldn’t be most likely the best choice to rethink and start the process of disruption. It would need a new group of active members / volunteers to drive things forward without interference of the current group of leading members and employees / contractor. The latter one had to step aside. But it most likely would need a conflict to reach such a situation.

New Section Documentation / Howtos

I created a new section for documentation and howtos and added first content about LibreOffice and Plone to it. You could get there my documentation about non-code LibreOffice extensions and a howto about the development of a validation function for file extensions that could be changed by the Plone site-administrator without getting his hands dirty inside the code of a Plone add-on.

You’ll find the new section at https://amantke.de/dokumentationen-howtos/

First Release Of The New Plone Add-On collective.addons

I worked on a new Plone add-on to manage and to provide software product add-ons during the last weeks. This new add-on, named collective.addons, runs on Plone 5.2 and Python 3. It has currently a localization in German language too, but it would be easy to add further localizations to the add-on later. It needs only the creation of a subdirectory inside the locales subdirectory and a new po-file for the further language.

I created a first alpha release of the new collective.addons Plone add-on today and uploaded it to the ‘Cheeseshop’ (https://pypi.org). You can find it at: https://pypi.org/project/collective.addons/

The source code of the new Plone add-on is available at the Plone community repository at Github: https://github.com/collective/collective.addons

Worked On Plone Add-on Clamav

I created a new Plone 5.2 and Python 3.6 buildout to migrate the Plone add-on collective.clamav to this Plone version and Python 3. I had to change the ‘import Globals’ and the use of ‘Globals’ according to the information on the upgrading Plone 5.1 to 5.2 website (https://docs.plone.org/manage/upgrading/version_specific_migration/upgrade_to_52.html). I also changed the ‘implements’ statement to the ‘@implementer’ decorator.

I had to remove the backward compatibility to the AT content types. It works with the new (Dexterity) Plone content types only. I tested it successful  with the Eicar virus test signatur.