Reflections and Projections

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 ]

New 2.4 Series Release Next Weekend

We'd like to release another bug fix version of OpenLP next Sunday, the 26th of June. This should hopefully fix a few annoying bugs that were uncovered after the last round of bug fixes.

If you are a translator, now is your last chance to get your translation up to date. We are going to be pulling the translations from Transifex (you'll need to log in to see this link) on the morning of Thursday the 23rd. This means that your last day for translating is Wednesday the 22nd.

[ Image Credit: #construction by Bernardo Aldana ]

Bugs, Translations, and Another Release

As we continue to work towards a shorter release cycle, we have started releasing bug fixes and translation updates on a more frequent basis.

With this in mind, we'd like to release version 2.4.2 in about 3 weeks time. This version will have all the latest bug fixes, but we would also like to release updated translations. If you're a translator, now is your opportunity to get your translation up to date.

We'll be sending out updates via our developer mailing list, so make sure you sign up and keep your ear to the ground.

[ Image Credit: Atypical welcome by Quinn Dombrowski ]

Official OpenLP Remote for iOS Released

Since we released the Android app we've had dozens of folks asking if there is a version for iOS, and our answer has always been, "No, we don't have any developers who have iOS devices and can write iOS apps. Then, a few months ago we were approached by Daniel Borges Ferreira da Silva, who is an OpenLP user and develops iOS apps, who offered to develop an iOS remote just like our Android remote.

Daniel worked hard on planning the app, wrote out workflows, mocked up screens, designed logos, and eventually had an app to show for it all. After that he started a beta programme to make sure he hadn't created any devastating bugs.

After a very successful beta programme, I am proud to announce the public release of the OpenLP Remote for iOS. We've aimed for feature parity between the iOS and Android apps, so if you find a feature on one and not the other, please let us know so that we can fix that.

At the moment, the OpenLP Remote for iOS is not adapted for iPad, but this is currently in development.

We would like to extend a huge thank you to Daniel for stepping up and volunteering to take on the task of developing this app. Daniel spent time and money designing and creating a smooth user experience. His passion, expertise and attention to detail shine through this fantastic app.

Download the app from the App Store

Screenshots

[ Image Credit: iPhone 6 by Olle Eriksson ]