Reflections and Projections

Progress on OpenLP 2.5

This blog post is written by Phill Ridout, one of our developers.

Like many other open source projects, OpenLP uses even version numbers to denote a stable release, and odd version numbers to denote an unstable (or development) release.

Currently we're in the process of working on OpenLP 2.5, which is the current unreleased and unstable version. We're still not in a position to make a new release, but I thought I'd write this blog post to assure you that lots of work is being done behind the scenes.

So what have we been working on?

New features:

  • Support for chords in songs
  • Support for bibles from the SWORD Project
  • Support for ProPresenter 5 song import
  • Support for EasyWorship 6 song import
  • Upgrade the network projector controller to support the PJLink 2 protocol (in addition to PJLink 1)
  • Video backgrounds to songs, Bible verses and custom slides (depending on your platform)
  • Video timing display so you can see the time left for a media item
  • The splitting of the Web Inferface from the core code allowing faster updates and user defined variations
  • A new dark theme for Windows and macOS (see Advanced Settings)

Behind the scenes:

  • A new renderer and display based on Reveal.js, which should allow us and you to do a lot more in the long term
  • A new RESTful API for better remote control and potential integration from other apps
  • The migration to a new web interface framework allowing easier integration for new funtions
  • The change to save themes in JSON instead of XML
  • Change to the way file paths are represented internally in OpenLP to make interoperability between different operating systems better. This will help with things like transferring service files between different computers.
  • A whole lot of bugs fixed

So while we might seem to be quiet, the real reason is because we're trying to get everything ready for another feature-packed release.

Last, but not least, we've decided to make the next release version 3.0 due to the large number of new features and changes.

[ Image Credit: Waiting by Solmaz Zohdi ]

More Ways to Donate & Debian Updated

Over the last few years since we started accepting donations we're received a couple of enquiries from people looking to be able to donate via credit card or Bitcoin, and without needing a PayPal account. We're pleased to announce that you can now donate to OpenLP in Bitcoin or with a debit or credit card.

Just head on over to the donate page which now has options for Bitcoin and debit/credit card too. Debit/credit card payments are powered by Stripe. As always, if you run into any issues please let us know.

In other news, we've recently updated OpenLP in Debian Linux. For a while we were unable to update the package because of preparation for the Debian 9 release. Now that Debian 9 has been released, we're able to update the OpenLP package again. OpenLP should come through with your regular updates.

[ Image Credit: Credit Cards and Cash by Sean MacEntree ]

Fix All The Bugs! OpenLP 2.4.6

Due to some differences between the various platforms we support, and some bug fixes for some of those platforms, OpenLP 2.4.5 unfortunately introduced some bugs. Thankfully they were easy enough to pick up, and easy enough to fix.

In this bugfix release we also fixed a problem where the OpenLP database importer was dropping the author type, and a problem with some of the core translations not being loaded.

Here is the complete list of bugs we fixed:

  • Fixed a bug where the author type upgrade was being ignored because it was looking at the wrong table
  • Fixed a bug where the songs_songbooks table was not being created because the if expression was the wrong way round
  • Changed the songs_songbooks migration SQL slightly to take into account a bug that has (hopefully) been fixed
  • Sometimes the timer goes off as OpenLP is shutting down, and the application has already been deleted
  • Fixed opening the data folder (KDE thought the old way was an SMB share)
  • Fixed a problem with the new QMediaPlayer not controlling the playlist anymore
  • Added importing of author types to the OpenLP 2 song importer
  • Fixed a problem with loading Qt's translation files
  • Disabled the controls in the shortcut dialog unless a shortcut is actually selected

Go to the downloads section on our home page to download the latest version of OpenLP.

"The Lord is my portion," says my soul, "therefore I will hope in him."

Lamentations 3:24 (ESV)

[ Image Credit: Overdrive repair 3 by Chris Ainsworth ]

Windows and SSL

Recently we've had a lot of posts on the forums, messages on our Facebook page and e-mails in our support system from users with the same problem: they are on Windows and they can't complete the First Time Wizard. A few folks have also mentioned being unable to log into the CCLI SongSelect importer. The error message usually looks something like this:

Traceback (most recent call last):
  File "urllib\request.py", line 1183, in do_open
  File "http\client.py", line 1137, in request
  File "http\client.py", line 1182, in _send_request
  File "http\client.py", line 1133, in endheaders
  File "http\client.py", line 963, in _send_output
  File "http\client.py", line 898, in send
  File "http\client.py", line 1287, in connect
  File "ssl.py", line 362, in wrap_socket
  File "ssl.py", line 580, in __init__
  File "ssl.py", line 807, in do_handshake
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "openlp\plugins\songs\lib\songselect.py", line 87, in login
  File "urllib\request.py", line 464, in open
  File "urllib\request.py", line 482, in _open
  File "urllib\request.py", line 442, in _call_chain
  File "urllib\request.py", line 1226, in https_open
  File "urllib\request.py", line 1185, in do_open
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)>

Thanks to help from some folks on the forums, we've been able to narrow down exactly what the problem is, and unfortunately it is something that we don't have control over. Having said that, there is a way you can get around it.

Make sure you are running the latest version of OpenLP.
At the time of writing this is version 2.4.5. If you ask for help and you're not running the latest version, we'll tell you to upgrade before helping you.

If you're running into this problem while running the First Time Wizard, you need to open up Internet Explorer (yes, it must be Internet Explorer) and visit https://get.openlp.org/. This forces Windows to download a file that OpenLP needs. Once you've opened up the web page, you can close it and go back to OpenLP and retry the First Time Wizard.

If you're running into the problem where you can't seem to log in to the SongSelect importer, you need to open up Internet Explorer and visit SongSelect. Again, this forces Windows to download a file that OpenLP needs, and you can go back to the SongSelect importer.

The OpenLP team is currently discussing what we can do about this situation. It's clearly not our fault, but we will have to figure out a way to fix it anyway because most people will not be aware of this and think that OpenLP is broken.

If you're not interested in an explanation of the root cause of the problem, you can stop reading now and follow the instructions above. If you're interested in all the gory technical details, continue reading...

Technical Explanation

OpenLP, like many other websites, uses a technology called SSL to make sure all communications between your browser and the website you're visiting is secure and can't be spyed on. This is really useful for things like login screens where you need to type in your password. These days more and more websites are using SSL for everything, not just logging in, because they care about your privacy. OpenLP itself uses SSL for connecting to our download servers and to CCLI's SongSelect service.

In order to use SSL, all computers have a set of "master" or "root" certificates, which helps your computer to verify that the websites you are visiting are actually secure and who they say they are. Since Windows Vista, however, Microsoft has not shipped all the root certificates with Windows. Windows only includes Microsoft's certificates, and Windows has to call the Microsoft servers to download the root certificates it needs.

OpenLP is written in Python, and the methods used in Python on Windows currently don't hook into Windows' certificate download system. This means that whenever OpenLP tries to contact a website that Windows has never contacted before, OpenLP and Python are unable to verify the websites OpenLP is trying to contact. By using Internet Explorer to visit these websites, you force Windows to download the root certificates.

You might be wondering why you have to use Internet Explorer, and why you can't use another browser like Chrome or Firefox. Both Chrome and Firefox actually come with their own full bundles of root certificates, and so they ignore Windows completely. Because they ignore Windows, they never trigger the download process and OpenLP can't verify the websites you've already visited in those browsers.

For more information, take a look at the bug report in Python's bug tracker.

[ Image Credit: Plios windows 09 by Michael Clarke ]

A Few More Bugs Fixed: OpenLP 2.4.5

We're happy to announce another bugfix release of OpenLP 2.4, version 2.4.5.

Bugs we've fixed in OpenLP 2.4.5

  • #1645867: Spinners in Theme Wizard segfault on OS X
  • #1655988: Formatting tags gets included in searchable lyric text
  • #1652851: VideoPsalm import fails due to unexpected format
  • #1660473: OSZL is ignored on save (inconsistent gui)
  • #1661416: Initial "extract song usage data" produces a traceback
  • #1487788: Importing photos does not give focus to OpenLP
  • #1512040: Loop tooltip gets stuck to "Stop playing..."
  • #1530597: Importing Songbeamer songs using latin1 encoding doesn't get decoded correctly
  • #1532193: Typos in songusageplugin.py
  • #1605009: Web remote does not work with newer versions of jQuery
  • #1624661: Missing DB in unmounted disk results in Traceback
  • #1655985: EasySlide importer gets the verse order wrong

Known Issues

Users on platforms that use Python 3.6, might experience tracebacks on exit. This will only affect developers and Linux users on bleeding edge distributions like ArchLinux. These tracebacks can safely be ignored, they should not negatively affect your use of OpenLP. If you do experience problems, please visit the forums or e-mail the support team.

But I will sing of your strength;

I will sing aloud of your steadfast love in the morning.

For you have been to me a fortress

and a refuge in the day of my distress.

Psalm 59:16 ESV

[ Image Credit: Sabino Canyon by Ken Bosma ]

OpenLP 2.4.4 Released

This bugfix release is mostly just to fix the subsequent problem that some of our users have encountered when importing songs from SongSelect. There are a couple of other bugs and minor improvements bundled into this release as well.

Bugs fixed in this release

  • #1629079: SongSelect import throws attribute exception when importing a song
  • #1605009: Web remote does not work with newer versions of jQuery
  • #1623711: Unable to delete web bibles or more than one bible
Therefore let us be grateful for receiving a kingdom that cannot be shaken, and thus let us offer to God acceptable
worship, with reverence and awe, for our God is a consuming fire.

Hebrews 12:28-29

[ Image Credit: Mykines by Stefan Wisselink ]

Android 2-6 Release through Google Play Store

A new Release of the Android client is coming to a Google play store near you..

The new version builds on the Android 5 material design theme and whilst will work on a phone, a tablet is the recommended device. It has been tested on versions 4.4 through to 6.

This new version works with OpenLP 2.2 and 2.4.

The following changes have been implemented since the previous release:

  • Inital version of Search has been implemented allowing searchs against individual Plugins
  • Support SSL has been removed due to issues with Google. SSL is being removed from core OpenLP in 2.6 as changes in SSL security policies make this processing complex and it has been felt to be excessive for the needs of the OpenLP community.
  • Update translations

The new version can be found at the Google Play Store.

[ Image Credit: Autumn at Sheffield Park - by Tim Bentley ]

OpenLP 2.4.3 and Personal News

There are a couple of significant bugs and problems fixed in this release of OpenLP, including a fix for SongSelect's website update. Here's a full list of changes.

  • #1600510 Deleting a songbook throws "song" attribute exception
  • #1547964 Escaping video twice results in traceback
  • #1596668 Service theme selector is missing if theme level is song or Service
  • #1599999 CrossWalk bible list is empty
  • #1608194 Import from SongSelect no longer works (website updated)
  • #1562384 Biblegateway Downloads Amplified Classic instead of Amplified 2015
  • #1618489 Improper characters in Mediashout import cause traceback

In other news, Raoul (the project leader of OpenLP) and his family have decided to move from Cape Town, South Africa to Tucson, Arizona in the USA. The current economic climate in South Africa is extremely difficult for a single income household like Raoul's to be able to afford living in South Africa. Raoul's family in the USA have very generously sponsored their move. Please pray for safe travels, wrapping everything up in South Africa and settling easily in the USA, especially for the kids.

Praise the Lord!
Praise God in His sanctuary;
Praise Him in His mighty firmament!
Praise Him for His mighty acts;
Praise Him according to His excellent greatness!
Praise Him with the sound of the trumpet;
Praise Him with the lute and harp!
Praise Him with the timbrel and dance;
Praise Him with stringed instruments and flutes!
Praise Him with loud cymbals;
Praise Him with clashing cymbals!
Let everything that has breath praise the Lord.
Praise the Lord!

Psalm 150 New King James Version

[ Image Credit: The Truck by Mark Doliner ]

Debian and Ubuntu PPA Updated to OpenLP 2.4.2

The OpenLP project tries to bridge the gap between Linux distributions and itself by having people on the OpenLP team create and update packages for the Linux distributions. Having said that, as is usual for most established distributions, we can't actually get the packages into the repositories, we have to use a sponsor to do that for us.

Unfortunately, in the case of Debian, our sponsor has been unable until recently to look at the package for OpenLP 2.4.2. This means that Debian has been stuck at 2.4.1, and since our PPA pulls from Debian, we've been unable to update the PPA to 2.4.2.

Thankfully, this week our sponsor was able to fit some time in to review the package, and we're glad to announce that our updated package has been pushed into the Debian repositories, and pulled into our Ubuntu PPA as well. For those of you on Debian or Ubuntu or Mint, you should be able to just run an update as usual, and get the new version of OpenLP.

This only applies to Debian unstable, Ubuntu 16.04 and up, and Mint 18 and up.

[ Image Credit: package! by Beck Gusler ]

OpenLP 2.4.2 Released

OpenLP 2.4 has still proven to be been surprisingly bug-free. Apart from some known issues with video, we've had very few actual bug reports. But that doesn't mean there haven't been any bug reports, or any bugs to be fixed. So, without much further ado, here's OpenLP 2.4.2, the second of the bugfix releases of OpenLP 2.4.

The translations have been updated to the latest versions.

Bugs fixed in 2.4.2:

  • #1579648 BibleStudyTools import broken

  • #1588369 Projector Won't Connect in OpenLP

  • #1582152 SongPro import fails with traceback

  • #1585489 Traceback during songshowplus import

  • #1589815 OpenSong files with non-numeric CCLI cause an exception

  • #1593882 Projector authenticated connection generates exception

  • #1593883 Projector not connecting with authentication

  • #1594945 VideoPsalm import with control chars or escaped quotes causes traceback

    So let's not get tired of doing what is good. At just the right time we will reap a harvest of blessing if we don't give up. Therefore, whenever we have the opportunity, we should do good to everyone-especially to those in the family of faith.

    Galatians 6:9-10 NLT

[ Image Credit: Harvest by Phil Dolby ]