Skip to content

Rural Sprinting: Two New Plone Add-ons and Progress on Python 3

May 17, 2018

Jazkarta Team

We returned to my house in rural Massachusetts for our annual sprint this year and had a great time sampling local beers and ciders,

Buying supplies for the sprint

eating big meals together,

Making pizzas at the sprint

admiring the Milky Way,

Nightime view at Sally's house

and working on some fun projects. Normally we work remotely – everyone in their own home office, spread across 3 countries and 2 continents. But it’s really nice to get together in person, and we try to do it once a year.

Here’s what we worked on.

Witek and Alec created 2 new Plone add-ons and released them to Pypi.

  • jazkarta.abtesttile Provides a new Mosaic tile type that can be used for A/B testing parts of a page layout. Managers can define 2 rich text fields on one tile, and a ratio for how often each should be displayed (for example, 70%/30% or 50%/50%). Plone will randomly show users one field or the other in that ratio. Managers can optionally specify Javascript snippets for use in analytics tracking. Managers can also optionally enable a query string variable, which is added in the rendered HTML to links in the rich text fields. This will indicate whether option A’s or B’s rich text was the source of a page visit. A custom permission allows usage of the add-on to be restricted to privileged users.
  • collective.siteimprove Provides integration with siteimprove.com. There is a control panel for requesting and saving a siteimprove.com token that registers the domain with Siteimprove. (You must first sign up for a Siteimprove account.) A Siteimprove button is shown to authorized users on all default views. Publicly visible content shows authorized users a Siteimprove recheck action in the Plone toolbar that checks the individual page. This add-on is essentially done but untested since we have not yet met with the Siteimprove sales person who will provide an account for us to test with. We hope to be able to do that next week.

David, Matthew and Jesse decided to contribute to the ongoing effort to port Plone – Python’s open source enterprise CMS – to Python 3. They were in the porting groove because we recently ported our Dallinger project to Python 3. They made some good progress:

  • David made it possible to run Plone tests without including Archetypes, so that developers can run the tests in Python 3 without worrying about porting Plone’s old content type system. After that he investigated why cookies on Python 3 are preventing logins from staying logged in. He traced it to PAS and create a branch with all tests passing on both Python 2 and 3. Hopefully it will get merged during the Halle sprint this week.
  • Matthew found and fixed some Chameleon problems. This included an old error that had nothing to do with Python 3 where Chameleon puts spurious context into error messages. He also converted plone.namedfile to Python 3 and fixed some tests in plone.protect (CSRF protection). His work resulted in a fairly large pull request, which was approved and merged.
  • Jesse got all tests running for plone.app.workflow and made a bit of progress on the test failures for plone.app.dexterity.

Thanks to all these fixes, we got to the point of being able to save a Plone page on Python 3 and it “sort of” works. (At least it didn’t give an error!)

David also did some evaluation of plone-react with Nate. This is a React-based front-end for Plone that is built on plone.restapi. It’s in early stages of development but looks promising. In the process, Nate ran into a bug in Plone’s unified installer, tested it in Plone 5.1.2 and and filed a ticket for it. Back to his Plone roots!

Plone Goes To Pycon

May 15, 2018

Plone booth at Pycon

I’ve just returned from Pycon where I had a great time staffing the Plone Foundation’s booth. It was fun to see old friends and introduce new people to Plone, Python’s open source, enterprise-grade content management system. Pycon attendees are wonderfully friendly and curious, always interested in learning new things. The venue – Cleveland’s downtown convention center – was lovely and the rain mostly held off. We gave away dozens and dozens of Plone-branded neck pillows and water bottles and multi-tools and pins and magnets, not to mention blue M&Ms arranged in the shape of the Plone logo. I arrived with 2 suitcases full of swag and left with 2 empties. Thanks to Witek and Nate from Jazkarta and to Chrissy, Anthony and Carol from Six Feet Up for helping set up and run the booth, and to the Plone Foundation for sponsoring Pycon. Open source rocks!

The Mountaineers Keep Climbing

February 22, 2018

The Mountaineers' Website's New Look

Some non-profits fund raise for major technology upgrades, then breathe a sigh of relief and ignore technology until things start breaking. Rinse and repeat. Other non-profits avoid this feast-or-famine approach to technology spending by budgeting for continuous improvements. The Mountaineers is in the latter camp. In 2014 they completed a major technology upgrade and launched a new Plone+Salesforce website. Every year since, they have budgeted for significant improvements to their website and its Salesforce.com back end. They did this through modest support contracts with their technology partners (Jazkarta and Percolator Consulting), plus focused spikes of work that were done through a series of agile iterations. Over the last 3 years we have released enhanced versions of the website 10 times, with an overwhelming number of improvements – you can read all about that on their technology blog. These changes have allowed members, staff, volunteers, instructors, and the organization to get better and better at what they do.

The latest update is the biggest one yet. It has brought mountaineers.org and mountaineersbooks.org together into one, integrated website. The new and improved header and main navigation helps users know where they are and get to where they’re going. It looks great! We’re really proud to have helped bring it into the world.

 

Jazkarta Sponsors Northwest Youth Leadership Summit

December 7, 2017

NWYLS Group Shot

Jazkarta is pleased to have recently sponsored the North Cascades Institute‘s Northwest Youth Leadership Summit. This event is intended to empower Cascadia’s future leaders in conservation by:

  • Enhancing their skills in preparation for job and college applications
  • ​Connecting with regional environmental organizations and businesses to learn about jobs and internships
  • Learning from like-minded peers about career options available in the conservation, outdoor and environmental fields

More than 220 students participated and are now better equipped to take action towards conservation. The Summit was free to all participants to ensure that underrepresented youth are given opportunities to get involved in the outdoor and environmental fields.

The sponsorship added another dimension to our existing partnership with North Cascades Institute. Just before the summit, we had given the non-profit’s Plone+Salesforce website a mobile refresh to make it work smoothly on phones and tablets. If we say so ourselves, the results are quite beautiful. Kudos to Neal Maher for the designs and to the Jazkarta team (Christine Winckler and David Glick) for a smooth implementation.

North Cascades Institute is not the only environmental non-profit organization that Jazkarta is working with – we created The Mountaineers‘s website and the Washington Trails Association ‘s volunteer management system. Both organizations were involved in the Summit. It was hosted at The Mountaineers’ Seattle Program Center, here is one of the students using the climbing wall.

NWYLS Student on The Mountaineers Climing Wall

Andrew Pringle of the Washington Trails Association led a breakout session titled “Trip Planning 101: An Introduction to Leading Backcountry Adventures”, and both organizations ran booths, talking with participants about activities, internships and employment options for young outdoor leaders.  Here’s Andrew at the WTA booth.

WTA's Andrew Pringle at the NWYLS

We feel very lucky to be helping all of these organizations further their missions.

 

— Photos by North Cascades Institute staff

What Makes a Project Expensive?

March 20, 2017

When clients are contemplating a new web development project, the question we most often hear is “How much will it cost?” The answer is usually “That depends.” Many factors can make a project more or less expensive. Here are a few to keep in mind, courtesy of the Jazkarta team (especially David Glick.)

  • How important is it to have a polished visual design? The more polished and refined, the more time and money will be spent.
  • Does everything need to be perfectly customized for your organization? If you are open to compromises that allow things to work in ways that are simpler to build you could reduce costs.
  • Is the functionality public-facing or internal? This can play into the previous two questions. In general it is easier to make compromises and keep expenses down on an internal site.
  • Does the project focus on a single feature area or a bunch of loosely connected areas? How much variation is there within a feature? How standardized are your processes? More features and variations lead to more work and more expense. Standardizing on one way of doing things might save on both development budget and staff time.
  • Is the functionality managed by a single part of the organization or does it require buy-in across the organization? It can be difficult to get a diverse group of stakeholders to agree, and their diverse opinions might cause the scope of the project to increase. Try to prevent surprise stakeholders with a lot of organizational clout from emerging late in the project and announcing significant “critical” changes. This can wreak havoc with budgets and demoralize project staff.
  • Does the project require coordination between multiple teams? This will take time and is another path to potential scope creep.
  • Can the project be built on one major platform, or does it require integrating multiple platforms? Each integration will increase expense.
  • How much traffic is expected? Traffic determines how much effort needs to be put into scaling and optimizing the site.
  • Are you building a tool tailor-made for your organization, or something that you aim to release for use by other organizations? Generalizing features often takes more time and makes writing automated tests more critical.
  • Does the project require migrating data from an old system? This will add to costs in proportion to the complexity of the data.
  • If the project involves updates to an existing system, how well-maintained is it? Poorly maintained systems are more difficult to work with.

Big web development projects are daunting and it can be hard to figure out your budget and stick to it. The two best tools for controlling costs are:

  1. A thorough discovery process with your technology partners, to figure out what exactly you need to build and how you’re going to build it.
  2. A flexible implementation process that lets you change your mind when you discover problems or opportunities – an “agile” as opposed to a “waterfall” process.

If you’d like to hear more and you’re coming to the Nonprofit Technology Conference in Washington DC this week, come hear Karen Uffelman (of Percolator Consulting), Loren Drummond (of Washington Trails Association) and me talk about a big project we did together to develop a volunteer management system. The session is called For the Love of Volunteers! How Do You Choose the Right Technology to Help Manage Them?

Hope to see you there!

Two Jazkarta Projects Competing for Digital Humanities Award

February 23, 2017

Byzantine Seals Exhibit

The annual Digital Humanities Awards allow the public to recognize outstanding digital humanities resources on the web. This year not one but two Jazkarta projects are nominated in the “Best Use of Digital Humanities for Public Engagement” category!

  • Pleiades, a gazetteer of ancient places that recently won the Archaeological Institute of America’s 2017 Award for Outstanding Work in Digital Archaeology. It lets enthusiasts use, create, and share geographic information about the ancient world – associating locations with ancient places, names and scholarly references.
  • Dumbarton Oaks’ Online Catalog of Byzantine Seals, which allows users to browse photographs and detailed information about the 17,000+ seals in the collection. Tools include a faceted search, bibliography, and “save my favorites” feature, as well as two informative online exhibitions.

Jazkarta helped develop the software that powers these sites – in both cases, custom add-ons for the Plone open source content management system. But the real work was done by the Pleiades and Byzantine Seals teams who conceived and designed these projects and did the heavy lifting of data entry and curation.

You can cast your vote for either of these projects – or for the National Endowment for the Humanities’ Office of Digital Humanities – by visiting dhawards.org/dhawards2016/voting/ and completing the voting form linked at the bottom before midnight this Saturday, 25 February.

Pleiades Wins an Award and Gets an Upgrade

January 30, 2017

Via Appia entry on Pleiades

Here at Jazkarta we’ve been working with the Institute for the Study of the Ancient World (ISAW) for the past year on a project funded by the National Endowment for the Humanities to upgrade and improve Pleiades, a gazetteer of ancient places that is free and open to the public. Thus it was very gratifying to learn that Pleiades is the 2017 recipient of the Archaeological Institute of America’s Award for Outstanding Work in Digital Archaeology. Congratulations to the Pleiades team, headed by ISAW’s Tom Elliott!

Pleiades is the most comprehensive geospatial dataset for antiquity available today, giving scholars, students, and enthusiasts the ability to use, create, and share geographic information about the ancient world. It was developed between 2006 and 2008 on version 3 of the open source Plone content management system. Pleiades allows logged in users to define geographic locations and associate them with ancient places, names and scholarly references. The system remained in place from 2008 to 2016 without significant upgrades to the core Plone stack, despite the addition of a number of custom features. Over that time, over 35,000 places were added to the system – and performance degraded significantly as the content expanded.

Our most important NEH deliverable was improving site performance, which we accomplished through an upgrade from Plone 3 to Plone 4.3 and the elimination of performance bottlenecks identified with the help of New Relic monitoring. As of last September we had reduced the average page load time from 8.48 seconds before the upgrade to 2.1 seconds after. This 400% speed-up is even more impressive than it sounds because bots (search engine indexers and third ­party data users) were severely restricted during the pre-­upgrade measurements, and all restrictions were lifted after the upgrade.

Performance improvement was just the start. Here are some of the other changes we’ve made to the site, which you can read more about in the August NEH performance report.

  • Process improvements that streamline content creation, review, and publication
  • UI improvements that facilitate the use of Pleiades data
  • Improved citation and bibliography management through integration with the Zotero bibliography management system
  • Enhanced Linked Open Data capabilities
  • Comprehensive daily exports
  • Bulk imports of Pleiades content

Because of Jazkarta’s high level of expertise in Plone and related technologies, we were able to deliver the Plone upgrade and related performance improvements 6 months ahead of schedule. This left more time for feature improvements than were originally envisioned. As Tom Elliott put it, “our investment in Jazkarta is paying dividends.”

%d bloggers like this: