Skip to content. | Skip to navigation

Personal tools
Log in
Sections
You are here: Home

Latest Plone Posts

The world's simplest Python template engine

From Planet Plone. Published on Nov 30, 2016.

Let's have fun with Python format()

Paypal tracking with Rapido

From Planet Plone. Published on Nov 30, 2016.

A very simple approach for Paypal on Plone

Small Plone team ready for interesting problems

By David Bain (noreply@blogger.com) from Planet Plone. Published on Nov 30, 2016.




Starting December 1, 2016 the Alteroo team will be available for new Plone gigs.

Our team members are ready to dive into modern Plone development including Diazo and Mosaic on Plone 5. We also have experience with older versions of Plone.

If you're into checking boxes we also have experience with Javascript/ReactJS/Webpack/Babel, Pyramid/Kotti, Firebase, QA, Linux server administration and General Design skills.

Send an email to newgigs - [ at ]- alteroo.com.

Faster tests and python 3

By gforcada from Planet Plone. Published on Nov 28, 2016.

2x faster Thanks to the Plone Foundation that is sponsoring a new dedicated server for our jenkins nodes (the machines that run our test suite on every change), the Plone community is starting to enjoy faster builds (twice as fast!). If your pull request or jenkins job runs on Node 5 or Node 6 you … Continua la lectura de Faster tests and python 3

Using SCSS mixins to render repetitive selectors

By Thijs Kramer from Planet Plone. Published on Nov 25, 2016.

In a project that I’m currently working on I needed per heading different font sizes and line heights per breakpoint.

Looking for new challenges

By Martijn Faassen from Planet Plone. Published on Nov 23, 2016.

Fair warning: In this blog post I aim to sell myself. I'm looking for an exciting and challenging new freelance engagement.

I'm a software developer and I have been one professionally for about 20 years now. I have deep experience, and I continue to learn and create. I know what real-world codebases look like, and I know software development is also about people. I think I can offer lot of value. I can develop software for you, and I can also help you improve the way you develop software.

I see myself as a creative developer -- I want to invent things to improve life for myself and others. Creativity is what attracts me to software development the most. Creativity is transformative. If you need a bit of transformation in your software, talk to me.

I'm a web application developer. I've focused on web development since the late 90s. In that period I've seen the web grow from static websites and with a few server-side Perl scripts thrown in to the dynamic application platform it is today. I started developing web applications with the server-side, the only game in town then, but over the last 10 years I've shifted more and more to the client-side and JavaScript, where much of the creativity is today. I am however still very much at home on the server as well. I've done React, I've done REST, I've done hypermedia APIs, I've dug into GraphQL. If you need a web developer with deep insight in the whole stack, look no further.

I've focused on Python for the better part of my software development career. I came to Python early; I have seen Python grow from a small language with no name recognition to the enormously popular language it is today. I greatly enjoy using it. I've also criticized it where I felt it was needed, painful as it was. If you need a very experienced Python developer, contact me.

But in the last decade I've started to use JavaScript more and more. Thanks to the React community I've learned a few new things about functional programming; it's exciting to see it become relevant to the web. I haven't stopped looking at interesting new languages. I'm a developer who can look beyond a single programming language.

I have repeatedly demonstrated I can take a large piece of software and transform it:

  • Back in the day, I rejuvenated the Zope web framework with Five, a technology that is still in use by the Plone CMS today.
  • I took libxml2, a huge C library that was difficult to use for Python developers, and created the most powerful XML library in the Python world: lxml. I used the predecessor to Cython to do this (in 2004!).
  • I created a simpler, better way to use Zope with Grok. I've helped add web capabilities to existing codebases with a deep history.

I can help you open up your codebase to new possibilities.

I can build on other people's foundations, but I can also build new foundations. In the last few years I've created Morepath, a web framework that compresses the power I expect into a few thousand lines of Python code.

I'm not afraid to say I've also created many a thing that went nowhere. In 2010 I created Obviel, a client-side web framework. I took concepts like model/view separation and templates and a form library and brought them to JavaScript and the client. I thought I was doing something new in 2010, something that people hadn't really thought of yet. It turns out everybody had the same idea about the same time. Backbone burst upon the scene and Obviel never got any traction. Now I'm a frontend web framework hipster; I was doing them before it was cool. It was worth it, because I gained deep insights in what makes a frontend framework tick.

These days I prefer to use React for front-end application development. React is awesome. With React Native a mere web developer such as myself can even build a real mobile app. Want a developer that loves React but is also tempered by experience? Look no further.

I'm looking for a new challenge. I want to help build, create and transform. I work from home (in the Netherlands) so I can enjoy my family and garden, but I can certainly come visit you on a regular basis. I write code, I write docs, I write tests, I give talks, I give training, and I review your code. I am open, constructively critical and honest. I contribute a bit of insight here and there. My services are not cheap, but they are worth it.

In summary, here I am: a very experienced, creative web developer who looks a little bit beyond what's in front of him.

Think you have an interesting challenge for me? Please drop me a mail at faassen@startifact.com and let's talk.

Project Makefile Open for Business

By from Planet Plone. Published on Nov 22, 2016.

Makefile for Python Web Development & Related Projects

A while back I was asked to speak to the Configuration Management Working Group of DC:

../../_images/project-makefile-tweet.png

From that moment on, it was on: an excuse to finish and talk about the Makefile I’d been dragging around formerly since January and informerly much longer.

Finishing the Makefile

I started writing slides on the impressive slides.com then I realized I had to finished the Makefile to finish the slides. This mostly involved deciding on target names and testing target execution.

Finishing the Slides

As I mentioned above, slides.com is very nice. I had hoped to be able to build the slides myself with reveal.js, but in lieu of JavaScript skills I settled on using the slides.com editor. Later I exported and converted them to PDF with pandoc, which was not as nice (through no fault of pandoc, I’m sure; I just wish I could get a better PDF copy from the slides.com HTML export.)

Closed for Business

For month after month as I continued to tweak, the project-makefile repository README contained the following:

**DO NOT USE THIS**

At some point I started using a ``Makefile`` in my Python projects. This repository
contains that ``Makefile``.

**shrug**

Open for Business

Now it contains this:

Installation
------------

::

    curl -O https://raw.githubusercontent.com/aclark4life/project-makefile/master/Makefile


Usage
-----

::

    Usage: make [TARGET]
    Available targets:

        - ablog
        - ablog-build
        - ablog-clean
        - ablog-init
        - ablog-install
        - ablog-serve
        - co
        - commit
        - commit-auto
        - commit-edit
        - django
        - django-clean
        - django-clean-migrations
        - django-init
        - django-install
        - django-migrate
        - django-migrations
        - django-serve
        - django-shell
        - django-static
        - django-su
        - django-test
        - django-yapf
        - git-checkout-remotes
        - git-commit
        - git-commit-auto
        - git-commit-auto-push
        - git-commit-edit
        - git-push
        - grunt
        - grunt-file
        - grunt-init
        - grunt-install
        - grunt-serve
        - h
        - he
        - heroku
        - heroku-debug-off
        - heroku-debug-on
        - heroku-init
        - heroku-push
        - heroku-remote
        - heroku-shell
        - heroku-web-off
        - heroku-web-on
        - install
        - lint
        - npm
        - npm-init
        - npm-install
        - package
        - package-check-manifest
        - package-init
        - package-lint
        - package-pyroma
        - package-readme
        - package-release
        - package-release-test
        - package-test
        - pdf
        - plone
        - plone-heroku
        - plone-init
        - plone-install
        - plone-serve
        - push
        - python-clean
        - python-flake
        - python-freeze
        - python-install
        - python-lint
        - python-serve
        - python-virtualenv
        - python-wc
        - python-yapf
        - release
        - release-test
        - review
        - serve
        - sphinx
        - sphinx-build
        - sphinx-clean
        - sphinx-init
        - sphinx-install
        - sphinx-serve
        - test
        - vagrant
        - vagrant-clean
        - vagrant-down
        - vagrant-init
        - vagrant-up
        - vagrant-update
        - vm

- Check out the `slides <http://slides.com/aclark/project-makefile>`_ for more information.

Now I invite everyone to use and contribute!


eGenix PyRun - One file Python Runtime 2.2.3 GA

From Planet Plone. Published on Nov 21, 2016.

Introduction

eGenix PyRun is our open source, one file, no installation version of Python, making the distribution of a Python interpreter to run based scripts and applications to Unix based systems as simple as copying a single file.

eGenix PyRun's executable only needs 11MB for Python 2 and 13MB for Python 3, but still supports most Python application and scripts - and it can be compressed to just 3-4MB using upx, if needed.

Compared to a regular Python installation of typically 100MB on disk, eGenix PyRun is ideal for applications and scripts that need to be distributed to several target machines, client installations or customers.

It makes "installing" Python on a Unix based system as simple as copying a single file.

eGenix has been using eGenix PyRun internally in the mxODBC Connect Server product since 2008 with great success and decided to make it available as a stand-alone open-source product.

We provide both the source archive to build your own eGenix PyRun, as well as pre-compiled binaries for Linux, FreeBSD and Mac OS X, as 32- and 64-bit versions. The binaries can be downloaded manually, or you can let our automatic install script install-pyrun take care of the installation: ./install-pyrun dir and you're done.

Please see the product page for more details:

    >>> eGenix PyRun - One file Python Runtime

News

This minor level release of eGenix PyRun comes with the following enhancements:

Enhancements / Changes

  • Removed lzma module from PyRun for Python 3.x again, since this caused too many issues with incompatible/missing libzma.so references. The module is still being built as optional add-on and can be used if the necessary libs are available, but it will no longer prevent PyRun from working altogether.

install-pyrun Enhancements

  • Updated install-pyrun to default to eGenix PyRun 2.2.3 and its feature set.
For a complete list of changes, please see the eGenix PyRun Changelog.

Downloads

Please visit the eGenix PyRun product page for downloads, instructions on installation and documentation of the product.

Support

Commercial support for this product is available directly from eGenix.com.

Please see the support section of our website for details.

More Information

For more information on eGenix PyRun, licensing and download instructions, please write to sales@egenix.com.

Enjoy !

Marc-Andre Lemburg, eGenix.com

eGenix PyRun - One file Python Runtime 2.2.2 GA

From Planet Plone. Published on Nov 18, 2016.

Introduction

eGenix PyRun is our open source, one file, no installation version of Python, making the distribution of a Python interpreter to run based scripts and applications to Unix based systems as simple as copying a single file.

eGenix PyRun's executable only needs 11MB for Python 2 and 13MB for Python 3, but still supports most Python application and scripts - and it can be compressed to just 3-4MB using upx, if needed.

Compared to a regular Python installation of typically 100MB on disk, eGenix PyRun is ideal for applications and scripts that need to be distributed to several target machines, client installations or customers.

It makes "installing" Python on a Unix based system as simple as copying a single file.

eGenix has been using eGenix PyRun internally in the mxODBC Connect Server product since 2008 with great success and decided to make it available as a stand-alone open-source product.

We provide both the source archive to build your own eGenix PyRun, as well as pre-compiled binaries for Linux, FreeBSD and Mac OS X, as 32- and 64-bit versions. The binaries can be downloaded manually, or you can let our automatic install script install-pyrun take care of the installation: ./install-pyrun dir and you're done.

Please see the product page for more details:

    >>> eGenix PyRun - One file Python Runtime

News

This minor level release of eGenix PyRun comes with the following enhancements:

Enhancements / Changes

  • Upgraded PyRun to Python 2.7.12, Python 3.4.5 and Python 3.5.2.
  • Fixed rpath setting to properly include the $ORIGIN marker. Without this, the rpath setting doesn't work.
  • Added missing lzma module to default PyRun 3.x installation. Please note that this adds an additional dependency on libzma.so.5 for PyRun for Python 3.4 and 3.5.

install-pyrun Enhancements

  • Updated install-pyrun to default to eGenix PyRun 2.2.2 and its feature set.
For a complete list of changes, please see the eGenix PyRun Changelog.

Downloads

Please visit the eGenix PyRun product page for downloads, instructions on installation and documentation of the product.

Support

Commercial support for this product is available directly from eGenix.com.

Please see the support section of our website for details.

More Information

For more information on eGenix PyRun, licensing and download instructions, please write to sales@egenix.com.

Enjoy !

Marc-Andre Lemburg, eGenix.com

Installing Plone 5 on Windows: Part 2 - Installing Plone

By David Bain (noreply@blogger.com) from Planet Plone. Published on Nov 17, 2016.

This is part 2 of installing Plone 5 on Windows. The following instructions are specific to installing Plone 5 on Windows. Part 1 covered preparing your Windows machine for Plone.

Assumptions




You now have all the tools needed to build a full Plone environment. Plone uses a tool called "buildout" for managing builds, this makes it possible to distribute build configurations using git or other revision management tools. The folder where your build configuration exists is also referred to as a buildout. We will checkout an existing buildout called "themedev.buildout". The intention of the "themedev.buildout" is to provide all the tools needed for Plone theme development.

In the steps below you will clone the buildout then run an initializaton script called "setup.bat"

Step 1 - Install Virtualenv

Launch git bash and run the following to install virtualenv.

pip install virtualenv

Step 2 - Clone the buildout, run the setup script and bin/buildout


git clone https://github.com/collective/themedev.buildout
cd themedev.buildout
./setup.bat
bin/buildout

Day to Day Usage

To launch the instance run the following:

bin/instance fg




Wagtail Space

By Maarten Kling from Planet Plone. Published on Nov 15, 2016.

From March 21st until 25th, Four Digits will host Wagtail Space in Arnhem, The Netherlands.

Installing Plone 5 on Windows: Part 1 - Preparing the machine

By David Bain (noreply@blogger.com) from Planet Plone. Published on Nov 09, 2016.

Windows does not ship with all the tools needed to install Plone for development. These are the steps needed to prepare your Windows machine for Plone 5.

Assumptions

I assume that you're using a Windows machine on which you have enough permissions to run commands as an administrator. That's it!

What you will need to install

I recommend that you install the following to run Plone:
  • Git for Windows
  • Python 2.7
  • Visual C++ for Python 2.7
  • Pywin32
  • NodeJS
If you don't have a preferred text editor gedit is a simple editor for beginners.

The Steps

Step 1 - Download and install Git for Windows

IMPORTANT, Install Git for Windows First, it adds some context tools to Windows which you will use later.
Download and install git for windows from https://git-for-windows.github.io.

Step 2 - Download and install Python 2.7 from https://www.python.org/downloads/windows/

The latest version at the time of writing was Python 2.7.12. Basically it's a matter of clicking "next, next, next" EXCEPT on the "Customize" dialog. Look for "Add python.exe to Path" and make sure it is enabled (it is disabled by default).






Apart from one adjustment it is basically "next, next, next" to install



























.                                                                                                                                                             .

Step 3 - Download and install Visual C++ for Python 2.7 

Download from https://www.microsoft.com/en-us/download/details.aspx?id=44266

Make sure it is downloaded to your "Downloads" folder.

Right click on your Downloads folder and from the context menu select Git Bash Here.

save image

In the resulting console type the following and hit the enter key:

msiexec /i VCForPython27.msi ALLUSERS=1

This launches the Windows installer with administrator privileges. Click "Ok" to proceed.

save image


Step 4 - Install Pywin32

Make sure you download the latest build (220 at the time of writting) and the one for Python 2.7.
save image

Step 5 - Install NodeJS


Download NodeJS from https://nodejs.org/en/download/ and make sure to select the recommended version LTS.

save image

Step 6 - Install Gedit (optional)

You can skip this step if you already have a text editor, otherwise download and install gedit https://wiki.gnome.org/Apps/Gedit#Download

Why this approach?

  • Visual C++ for Python 2.7 results in faster modules which means that Plone will run faster than if you had used an equivalent compiler like GCC+.
  • It is more common in the Windows world to point and click rather than run commands on the command line, I tried my best to minimize interactions with the command line. The approach should feel more natural for Windows users, especially more casual users.


Bringing real collaborative editing to Plone

From Planet Plone. Published on Nov 08, 2016.

Integration of Plone 5 with the Smashdocs authoring solution.

PyDDF Python Sprint 2016

From Planet Plone. Published on Nov 08, 2016.

The following text is in German, since we're announcing a Python sprint in Düsseldorf, Germany.

Ankündigung

PyDDF Python Sprint 2016 in Düsseldorf


Samstag, 19.11.2016, 10:00-18:00 Uhr
Sonntag, 20.11.2016, 10:00-18:00 Uhr

trivago GmbH,  Karl-Arnold-Platz 1A,  40474 Düsseldorf

Informationen

Das Python Meeting Düsseldorf (PyDDF) veranstaltet mit freundlicher Unterstützung der trivago GmbH ein Python Sprint Wochenende im September.

Der Sprint findet am Wochenende 19./20.11.2016 in der trivago Niederlassung am Karl-Arnold-Platz 1A statt (nicht am Bennigsen-Platz 1). Bitte beim Pförtner melden. Folgende Themengebiete haben wir als Anregung angedacht:
  • Openpyxl
Openpyxl ist eine Python Bibliothek, mit der man Excel 2010+ Dateien lesen und schreiben kann.

Charlie ist Co-Maintainer des Pakets.
  • MicroPython auf ESP8266 und BBC micro:bit

MicroPython ist eine Python 3 Implementierung für Micro Controller. Sie läuft u.a. auf dem BBC micro:bit, einem Ein-Patinen-Computer, der in Großbritannien an Kinder der 7. Klassen verteilt wurde, und dem mittlerweile sehr populären IoT Chip ESP8266, der WLAN unterstützt.

Im Sprint wollen wir versuchen, ein Mesh Network aus BBC micro:bits aufzubauen, das dann an einen ESP8266 mit dem WLAN verbunden wird. Alles mit Hilfe von MicroPython.

Vorkenntnisse sind eigentlich keine nötig. Wir werden mindestens einen ESP8266 und drei BBC micro:bits zur Verfügung haben.
Natürlich kann jeder Teilnehmer weitere Themen vorschlagen, z.B.
  • Kivy (Python auf Android/iOS)
  • RaspberryPi (wir werden ein paar davon mitbringen)
  • FritzConnection (Python API für die Fritzbox)
  • OpenCV (Bilder von Webcams mit Python verarbeiten)
  • u.a.

Anmeldung und weitere Infos

Alles weitere und die Anmeldung findet Ihr auf der Sprint Seite:

Teilnehmer sollten sich zudem auf der PyDDF Liste anmelden, da wir uns dort koordinieren:

Über das Python Meeting Düsseldorf

Das Python Meeting Düsseldorf ist eine regelmäßige Veranstaltung in Düsseldorf, die sich an Python Begeisterte aus der Region wendet.

Einen guten Überblick über die Vorträge bietet unser PyDDF YouTube-Kanal, auf dem wir Videos der Vorträge nach den Meetings veröffentlichen.

Veranstaltet wird das Meeting von der eGenix.com GmbH, Langenfeld, in Zusammenarbeit mit Clark Consulting & Research, Düsseldorf.

Viel Spaß !

Marc-Andre Lemburg, eGenix.com

DSA ssh keys also deprecated in OSX Sierra

By Reinout van Rees from Planet Plone. Published on Nov 03, 2016.

I've been using an ssh key for a long time. Back in the days when RSA keys were mostly commercial/proprietary and when DSA keys where the recommended method.

When ubuntu 16.04 came out, I suddenly couldn't use my key anymore as ubuntu (or perhaps rather its updated ssh server) didn't accept DSA keys anymore. They're apparently not save enough anymore.

I worked around it by adding a setting on the server, telling it to accept my DSA key.

When the latest Apple OS update (Sierra) came out, I suddenly couldn't log in anywhere. Also git pull to github (I'm using ssh) stopped working. I found the cause by passing -vvvv to ssh:

debug1: Next authentication method: publickey
debug1: Trying private key: /Users/reinout/.ssh/id_rsa
debug3: no such identity: /Users/reinout/.ssh/id_rsa: No such file or directory
debug1: Trying private key: /Users/reinout/.ssh/id_ecdsa
debug3: no such identity: /Users/reinout/.ssh/id_ecdsa: No such file or directory
debug1: Trying private key: /Users/reinout/.ssh/id_ed25519
debug3: no such identity: /Users/reinout/.ssh/id_ed25519: No such file or directory
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password

Oh.... Sierra's ssh client also doens't like DSA anymore. Ok... time to create a new key :-)

... which I did about 6 weeks ago. With a nice, long passphrase. And 2 weeks ago I had to create a new one as I couldn't for the life of me remember the exact passphrase. I've rarely felt so stupid :-) A passprase can have many almost-right variants:

I'll take the train to django under the hood
I'll take the train to django under the hood.
I'll take the train to Django under the Hood
I'll take the train to Django under the Hood.
I will take the train to django under the hood
I will take the train to django under the hood.
I will take the train to Django under the Hood
I will take the train to Django under the Hood.
I'm taking the train to Django under the Hood.
I'm taking the train to Django under the Hood
I'm taking the train to Django Under The Hood.
I'll go by train to Django Under The Hood.
etc...
etc...

Well, everything works again :-)