WordCamp for Publishers Wrap-Up

Contributor Day Thanks

INN would like to thank the following people for their contributions during Contributor Day:

  • Mike Schinkel for Largo pull requests #1469 and #1466, fixing errors in Largo when running under WP_DEBUG and cleaning up some widgets.
  • Chris Hardie for Largo pull requests #1463#1465, and #1468, fixing syntax problems and WordPress Theme Check issues.
  • Jeremy Green for Largo pull request #1464, fixing a number of translation text domain issues.
  • Mads Holmen, Ben Borie, and Douglas Arellanes for their contributions to the Largo Wiki.
  • Adam Schweigert for continued work on DoubleClick for WordPress.

If you'd like to contribute to the next version of Largo, check out the Largo issue tracker on GitHub. We have a number of issues that would make good community contributions. Also, check out Largo's contributor guidelines and our team documentation!

INN at #wcpub

We'll update this section with transcripts and video as they become available.

Julia's Designing for Customization session provided an overview of the WordPress Customizer, information on how we're building the next version of Largo for Customizer-powered homepages, and ended with a brainstorming session about ways to solve a number of problems through improving customizability. Read her slides and speaker notes, and the prompt from the brainstorming session.

RC led INN's Contributor Day presence, which focused on building the next edition of Largo.

Ben's lightning talk was about all of INN's plugins, starting with the popular ones and wrapping up with the ones we've built for other people.

Kay and Ben were WordCamp for Publishers organizers as well as INN representatives. Kay was part of the Denver team that handled events and logistics, and Ben was part of the publicity team that handled the website, social media updates, and photography.

During Contributor Day, RC worked on Largo and Ben worked on INN's Storytelling Tools plugin.

INN’s WordPress Framework For News Sites Now Fully Supports HTTPS

We're pleased to announce the release of version 0.5.2 of our popular Largo WordPress framework for news sites.

With this update, Largo is now fully-compatible with https out of the box. Also included are some enhancements to managing featured media for your stories, some new footer layout options and a number of minor enhancements and bugfixes.

Full HTTPS Support

For many news sites, user privacy and security are significant concerns. With this release we wanted to ensure that sites using Largo would be able to use https out of the box. We're proud to say that this is now the case. Starting from a base installation of Largo you should not have any issues enabling https for your entire site.

WordPress has a guide explaining how to do that, but the details will vary depending on the hosting company you use.

A couple of caveats:

  • If you are migrating to Largo from a different WordPress theme or even updating Largo from a previous version and enable https, you may find that you have http links hard-coded into the body of your stories or elsewhere in your site settings. To get rid of potential mixed content warnings you would need to perform a search and replace to change these URLs to https. We use and recommend this tool, but please be sure to backup your site before doing anything potentially destructive.
  • If you have done any custom work in a child theme using Largo as your parent theme, you may also need to review the code in your child theme to make sure it also fully supports https.
  • If you install third-party plugins or insert/embed content from other sites or services (ad networks, embedded media, etc.) you will need to ensure that those plugins/sites/services support delivery via https or you may also run into mixed content warnings, missing ads or other issues. This is sometimes a major tripping point for sites switching to https, so just be aware that a significant amount or work and testing may be required depending on the number and type of third-party services you're using on your site.

If you are an INN member using our hosted version of Largo and would like to enable https for your site, let us know and we'll explain how the process works, the cost involved, etc. and help you get switched over.

Enhancements to the "Featured Media" editor

In Largo 0.5 we introduced the ability to use a video, slideshow or other embedded media in the place of a featured image for each story. With Largo 0.5.2, we have added a number of enhancements to this functionality to make it work better in a number of additional contexts, including:

  • The ability to set a thumbnail for embed and video featured media types to be used on the homepage, category pages, widgets or anywhere else a thumbnail/featured image might appear
  • The video featured media editor will attempt to automatically pull a thumbnail from any available oEmbed provider (YouTube, Vimeo, etc.) but still give authors the ability to upload their own thumbnail images if they would prefer
  • For theme developers, we have also added "featured-media" and "featured-media-{type}" classes to story containers for use in customizing the appearance of different types of featured media via CSS (adding overlays, icons, etc. to call out posts containing video, slideshows or other rich media)

New footer layout options

In working on a few recent client projects (Nonprofit Quarterly, Midwest Energy News and the redesign of our own site) we've developed a couple of new layout options for the footer of Largo sites, specifically:

  • A 4-column asymmetrical layout, with three narrow columns and one wide column, well suited for three menu areas and a donation, subscription or newsletter signup banner or widget.
  • A minimal 1-column centered layout, well-suited for sites who want a simpler, more minimal footer limited to simple navigation instead of having more widget areas to populate and manage.
  • For theme developers, an easier way to register and use a custom footer layout.

And of course a number of other bugfixes and enhancements.

We encourage you to download the new version and update your sites at your earliest convenience. If you host your site with us, we're making this update for you today. If you host your site elsewhere, you can download the new version from GitHub.

If you have questions or need assistance please check out the release notes and documentation first and if you're still stuck, open a ticket through the Largo help desk.

What's next?

Over the next couple of months we'll be working fast and furious on polishing a number of existing features gearing up for our next full point release, version 0.6 (currently slated for late October). Look for a new release almost every week in between now and then and if you're interested in following along or contributing to the project, you can check out the upcoming milestones on GitHub.

Largo 0.5.1 released!

On July 16, we tagged Largo v0.5.1 with another slew of bug fixes and updates.

Amongst the bug fixes and enhancements:

Google Custom Search results are now displayed on the standard WordPress search results page and are compatible with the standard WordPress search results conventions including the /search/search%20term and /?s=search%20term url structures.

We've also added a menu to the WordPress Admin Bar with several useful Largo-related links.

Further, we fixed a nasty bug/oversight which resulted in the optional "donate" button not displaying on smaller screens. The donate link we're referring to shows up in the site's sticky navigation.

On the documentation front, we merged a ton of developer documentation that came about as a result of our participation in the OpenNews Code Convening in Portland The developer docs now include:

  • Revised technical notes
  • Instructions for setting up a development environment (based on the development rig we use at INN)
  • Details for working with Largo to create Child Themes
  • A first pass at Largo API documentation

A special note on a breaking change -- if you redefined largo_load_more_posts in your child theme, you will need to update it with code from this release, as the old logic will fail to load the correct posts.

That said, the "Load more posts" button can now be used multiple times per page and no longer relies on the global $wp_query. Further, you can customize the text of the button by using the largo_next_posts_link filter.

Read the complete release notes and download the version here.

Announcing Largo Version 0.5

Announcing the version 0.5 release of Largo, everyone's favorite responsive WordPress theme for news sites!

Where v0.4 was dedicated to a major overhaul of user-facing features and touching nearly all corners of the project, v0.5 brings a handful of new features for developers as well as some much-needed project cleanup, additional documentation and a few performance enhancements.

For this release, we audited the use of third-party PHP and javascript libraries throughout the project. Wherever possible, we updated third-party libraries to their most recent release or found suitable, well-maintained replacements.

We've also started an initiative — which will carry on through subsequent releases — to evaluate Largo's performance. No one wants a slow site, so we're doing what we can to cut down on wasteful resource usage. In this release, we've started using minified CSS and Javascript and refactored code to make less expensive database queries.

The shortlist of features added in this release:

  • LESS source maps in all unminified CSS, to help in debugging styles while developing for Largo.
  • Updated slideshows to use slick instead of slidejs since it is no longer maintained.
  • Polished the styles for the Largo recent posts widget
  • Added a LARGO_DEBUG constant, which is currently used to determine whether or not to include unminified, uncompressed Javascript and CSS. When developing your Largo site, use:
    define('LARGO_DEBUG', true);

    When pushing your site live, use:

    define('LARGO_DEBUG', false);
  • Updated all "Investigative News Network" references to "Institute for Nonprofit News" after INN's recent rebranding
  • Moved the "member of INN" badge to the footer and improved the styling of the social media icons in the footer
  • Use the single column layout for single post pages by default

For more information and a complete list of new features and bugfixes in this release, see the release notes on Github.

Announcing Largo Version 0.4

largo-sqWe're excited to announce a new version of Largo, the open source WordPress framework we build and maintain for our member organizations.

Version 0.4 is a huge update that's been in the works for a while. In this release, we've more or less rebuilt the Largo theme from the ground up to make it more stable and easier to use. Here's a list of some of the things included in this update:

wcijProbably the most visible change is the addition of a number of new homepage layouts, which are much more visual and "magazine-like" to really highlight the feature reporting that many of our members are doing. We've also retained and polished up the previous homepage layouts (with the exception of the "carousel" layout, which is deprecated in version 0.4) and have added a new homepage framework to make it much easier to create your own custom homepage layouts from a child theme. Many of the new layouts also allow a user to switch between viewing "top stories" and "all recent stories" in a traditional "river" view, remembering their preference on subsequent visits.

Faith-based state group seeks Waupun prison abuse probe   WisconsinWatch.orgWe've also completely redesigned the article template to allow for more easy creation of immersive stories. The new default article template in Largo removes the sidebar to reduce distraction and adds a new featured media area at the top of the story with support for a large "hero" image, video or other embedded content (maps, audio, etc.). If you prefer the traditional two-column layout on story pages, we've kept that, too. You can simply select the template you'd like to use in the theme options and will have the option to override it on select stories. These improvements also include streamlining the publishing interface to make it easy to add and manage featured media by reducing the number of boxes you have to search through to find what you're looking for.

read-nextThe bottom of the article page template is now a WordPress widget area to make it easier to rearrange the elements that appear there. This includes the addition of a number of new widgets for related content, author bios, and an optional disclaimer that you can easily add to the bottom of all your stories, or selectively override on a per-story basis.

Site navigation is also cleaner, easier to manage and more mobile friendly, including an option to use a "sticky" header that remains visible when a user scrolls. Article pages now also have a sticky footer with social sharing links, the ability to easily follow authors and topics, and more.

follow

And we've replaced the clunky older/newer posts navigation used on many pages of the site with a simpler "load more posts" infinite scroll.

catCategory pages have been redesigned to give more prominence to featured stories and it is now possible to create and use custom sidebars on category and tag pages. In addition, we've added a new optional "content type" taxonomy to allow you to group stories by type. For example, if you'd like to have a page for just your data projects without having to use categories or tags, now you can!

User profiles are also now easier to manage with the option to upload avatar photos directly in WordPress instead of relying on Gravatar and with better validation for social media accounts to make sure your accounts get linked up correctly. We've also added a new widget to display a list of the writers and editors on your site with their avatar photos, titles, bios, etc.

optionsOn the admin side, we've tried to simplify wherever possible and have moved less-frequently used settings to an optional tab of the theme options to keep them easily available but out of the way. This includes things like optional taxonomies and a number of new integrations with services such as Google Custom Search that you can use to enhance the functionality of your site. One additional option allows you to easily change the color scheme of your site using a LESS/CSS customizer directly from the admin without having to edit your theme files directly.

For developers, we've reorganized the theme files in a way that we hope will make it a lot easier to develop child themes based on Largo. You'll also notice that we've begun to add unit tests for the theme, helper functions for debugging, and more hooks, filters and constants to make it easier to add, remove or modify various pieces of Largo functionality. We also have an updated sample child theme that includes ample documentation and recommended best practices for working with Largo. We welcome your feedback if there's anything else we can do to make your lives easier.

helpdeskAnd last but not least, we've completely revamped the Largo documentation, added a knowledge base with answers to our most frequently asked questions and implemented a new help desk system to better keep tabs on your questions for us.

Oh right, and the ubiquitous "assorted bug fixes."

Updating to the new version is as simple as downloading the new theme (zip) and replacing your existing copy of the Largo parent theme. Then, when you login to your site for the first time, you'll be prompted to apply a database update to make sure all of your settings are preserved. As this is a major update, we strongly recommend creating a backup of your site before making the update and, ideally, testing the new version on a staging site to make sure you have a handle on the changes before applying it to your live site. Just a reminder that if you require more assistance making this update, we offer paid services and we'd be happy to help. Details on that program can be found here.

For INN members who host their sites with us, this update is available today but we'd like to spend some time working with you to walk through the new features. Please drop us a line at support@largoproject.org if you'd like to be among the first sites to make the update, otherwise we'll be reaching out to you in the coming weeks to schedule these consultations.

Thanks to every member of the INN Nerds team who worked on this release, particularly Ryan Nagle, who took lead on this one, but also to Meredith Melragon who did a lot of the work improving our documentation, Kaeti Hinck who jumped in late in the cycle to help us polish the visual design, and our software apprentices Ben Keith and Will Haynes who both contributed a lot of code to this release. Thanks also to a couple of open source contributors, particularly Ben Byrne and Daniel Bachhuber.

The next release! 0.5 will be focused on improving performance, developer documentation and evaluating third-party libraries, as well as some continued improvements to the design of the default theme. It is scheduled for release at the end of March. We're now keeping the Largo roadmap public on GitHub, so you can see more of what's planned for future releases.

My Apprenticeship With INN Nerds – Part 2

It’s been a little over four months since I joined the Nerds team at INN as their second software apprentice. With just about four months to go, now is a good opportunity to reflect and set goals before the end catches up.

Apprenticeship

News Quiz/Interactables. For one of my first projects, I wrote a WordPress plugin wrapper around Mother Jones’ news quiz library. During the process we talked about what a framework for registering and maintaining more interactive features in the future would look like. This Winter I hope to build out those ideas.

Unit Tests. Early on, I researched options for building unit testing into our theme development process and wrote about it here. Since then Ryan Nagle has built this into our deploy tools and written up some testing examples. Much of Largo still needs tests written, which I want to make a point to help with.

Analytic Bridge. Born out of a weekend project, I wrote a WordPress plugin that pulls and relates metrics from Google Analytic to post objects in the WordPress database. As a proof of concept, I adapted this into a Popular Post widget (a highly demanded feature by members), but the functionality could be used in a variety of applications.

I expect to work out the bugs and extend the features of this plugin in the next couple of weeks, as well as tweak the algorithm to make the popular posts widget ready for prime time.

Fixes/enhancements to Largo. Recently I’ve been picking up some tickets related to getting our Largo Project ready for version 0.4. Learning a lot about the codebase in the process, this Spring I’ll no doubt have the opportunity to contribute more.

Documentation. Documentation for Largo currently exists in three or four different places. Since the addition of our Support Specialist Meredith Melragon to the team we’ve doubled down on our efforts to keep and update complete documentation for both administrators and users.

Recently I’ve been working with Meredith to add python driven sphinx to our deploy tools. The benefits of documentation being versioned along with our code, yet accessible as compiled html means all our contributors have access to writing docs and end users have a single web source to find help. One of the biggest unresolved issues is how to incorporate our existing php block comments into these docs, a problem I hope to research and solve.


This kind of stuff sound like fun? Looking for something to do this summer? Find out how you could be INN's next software apprentice here.

December Office Hours Recap

Monthly open office hours allow our team to connect with colleagues from organizations around the country — to work on projects together, ask questions, and brainstorm about various tech challenges.

This month’s session included a MailChimp how-to, a design review for an election app, and a discussion about reporting journalistic impact.

Connecting WordPress to MailChimp

First, we talked with Ariel Jensen-Vargas from Women's eNews about connecting WordPress with MailChimp.

We walked through a few of the options to customize and automate mailings using the custom RSS feed template we've built into Largo to integrate seamlessly with MailChimp's RSS to email functionality.

If you want to learn more here are two how-to resources from MailChimp that explain the process:

And to see an example of the Largo to MailChimp integration in action, check out the newsletters from Aspen Journalism or Yellowstone Gate.

An Election App From The Lens

Next, developer Thomas Thoren walked us through an app that The Lens built for November’s election and will use again for their Dec. 6 run-off election coverage. (You can see the November election results here.)

The design discussion included mobile considerations and how to refine the user experience.

A couple of resources and examples that were referenced during the conversation:

Impact Reporting For Foundations

Our final conversation centered on thinking about how we might optimize and automate the reporting of journalistic impact metrics for foundations. Specifically, we talked with Lauren Fuhrmann of Wisconsin Watch about a project she is working on to expand and tailor something like this web metrics guide for nonprofit news organizations and the foundations that fund them.

Some of the questions foundations ask and news organizations expend sometimes a lot of manual effort in answering are:

  • What did we do (how many stories did we publish and what did we cover)?
  • Who did we reach (and what do we know about them)?
  • What happened as a result of our work?

Lauren showed us a sample report they've been working on and then we talked about ways of potentially automating the collection of this data from Google Analytics, social APIs and other sources.

And then to wrap things up, in the spirit of December celebrations, we enjoyed a YouTube jukebox of carefully curated holiday tunes.

Next Month

Our next open office hours are Thursday, Jan. 8. Sign up for a slot, or just drop by and join the conversation. They're always held via Google Hangout so you can join from anywhere and all are welcome!

Quiz Your Readers: Our New WordPress Plugin To Create Simple Quizzes

Today we're excited to announce a new embeddable interactive quiz tool built using Mother Jones' handy quiz tool but adapted specifically for the Largo platform and available now for any WordPress site.

[quiz key="0AvfAWkLLRik_dGtjRVNUamJwbE1wRWxtVVRURG1UU0E" layout="sidebar" answerstyle="alpha" align="alignright" title="Take the Quiz!" description="Think you've got what it takes?" source="Wikipedia" byline="Will Haynes/INN"]

Built on top of Mother Jones’ NewsQuiz.js library, this WordPress plugin allows you to build a quiz in Google Drive and embed it with a shortcode into a WordPress post. This could be used to test readers’ understanding of material, or just to expose them to the questions in an interactive way.

Grading of questions happens inline, at the bottom of the widget. Settings exist to control both the size and flow of the plugin, as documented in the project readme.

Try out the example quiz embedded in this post, or check out how INN member Youth Today is using it to support a piece exploring how the income gap affects scoring on college entrance exams.

To see how to build a quiz of your own using this plugin, how to format your Google spreadsheet, etc. please see Mother Jones’ documentation for the original quiz library.

We’re hoping to build more interactive features for Largo in the future.

So if you have an idea for what we should build next or suggestions for how to improve this tool, let us know in the comments or email us anytime at nerds@inn.org.

Hire Us! Announcing New Consulting Services From INN’s Technology Team

INN's technology team is focused on helping our now 100+ member organizations any way we can.

We now provide free hosting and support to over 30 member websites on our Largo platform and a significant portion of what we do involves improving the platform and supporting members so they can take maximum advantage of the tools we build.

We've made a lot of headway in the past couple of years reducing costs for members, eliminating duplication of effort and getting members onto a stable platform that looks great and works well across devices.

But it's hard for us to help every member individually and there are many member (and non-member) organizations who would like us to do more and have expressed the willingness to pay for our services.

Specifically, we’ve heard from a number of INN members that they:

  • Have a hard time finding vendors/contractors who “get” what they’re trying to do and often wind up working with local agencies or freelancers who focus mostly on internet marketing or building small business sites so they don’t understand the other considerations unique to news and content sites or nonprofits
  • Are often unhappy with the vendors/contractors they do have and/or are overpaying for subpar services
  • Would, in a number of cases, rather work with INN's tech team directly rather than with an outside vendor. Given our current staffing and workload we typically haven't been able to do this if the request goes above and beyond what we’re able to do for "free" as a benefit of INN membership.

We also frequently hear from non-members that they:

  • Want to use the tools we have built (particularly Largo) but may require some help setting them up or customizing them to suit their needs
  • In some case may require additional custom development to add functionality that we have not yet built
  • Would be willing to pay (provided our rates are competitive) for our services and even (potentially) pay us to host their sites in the same way we host sites for members.

Until now we’ve just been referring people to outside contractors and freelancers but as we continue to grow our technology team we now have the capability to take on some of this work ourselves.

For INN members we will subsidize the cost of these services to keep them very affordable (see the rates section below for details), but we will also, from time to time, take on work from non-members as well (at regular market rates).

Some examples of the services we may offer include:

  • Content migration, design customization and custom development for members using our Largo platform beyond what we're able to do for "free" as a benefit of INN membership
  • Assistance with editorial design and development for news apps, data projects or special series
  • Ongoing or project-based support, training and assistance with story production
  • Design and development of microsites or other special projects

Taking on this additional paid work will allow us to:

  • Offset a portion of our costs and make our team more sustainable for the long-term by being less reliant on grants and other less-predictable sources of funding
  • Expand our technology team faster than would otherwise be possible and offer competitive compensation packages to help us recruit the best talent
  • Provide better service to members at lower rates than what they’re often getting now
  • Assist non-members with the adoption of tools we build (particularly our Largo platform)

We hope that this new program will be a win-win for members and for INN and that we'll now be able to provide an even higher level of support at very reasonable cost.

If you're interested in working with us, we'd love to discuss your needs and how we can help. Get in touch with us here to learn more.

We've also assembled an FAQ to provide more detail on the program.

FAQs

For INN members, what is free and what do we have to pay for?

As a benefit of your INN membership you receive free hosting for your main website if you use our Largo platform (if you have more complex needs, multiple sites, etc. we may need to pass some of our infrastructure costs through to you). In addition, we will provide a reasonable amount of support to help you migrate to the platform and customize the look and feel of your site.

If you require more assistance, extensive design customization, custom functionality, etc. or ongoing support then this is typically what we would ask you to pay for.

Weren't you doing this for free? Why do we have to pay now?

This new program does not affect any of the benefits we currently offer to members as part of their regular INN membership.

We will continue, for the foreseeable future, to cover hosting costs for members using our Largo WordPress platform and will continue our work to improve the platform itself as well as help members where possible with migration, on-boarding and basic customization.

The reason we're starting to do paid work is that we now have a lot of requests that are very specific to one particular member that we don't believe would necessarily benefit others in the network.

Our team is focused on tackling problems we believe can best be solved at a network level and given our size and funding level we will never be a complete replacement for investment in technology at the member level.

We also hope that by reducing duplication of effort, building common platforms and tools, etc. we free up resources that members can (and should!) re-invest in technology at their organization to best serve their audience, try new things and innovate further faster.

Why should we pay you instead of a local freelancer/agency?

In short, our aim is provide better services at a lower cost.

In the past when members came to us with one-off needs we would refer them to outside contractor or in some cases helped them recruit and hire a full-time tech staff.

Sometimes this works out well but many members have told us they have had bad experiences with contractors or had a hard time finding good help at all that was reasonably priced and understood what they were trying to do.

Other members may want to eventually hire a full-time staff member focused on technology but aren't quite at that point yet and have a need for ongoing help in the meantime.

The way we're hoping to solve this problem is to form a sort of "co-op" comprised of the best news technologists, designers and support staff we can possibly find who will be focused full-time on meeting the needs of nonprofit news organizations. Members will then be able to tap into this team as needed on a project-by-project basis and/or use us for ongoing support, training, etc.

What are the rates? How do you structure your contracts?

As of January 2015 our rates are as follows*:

  • For INN member organizations we offer a further discounted hourly rate of $85 per hour. This is actually slightly below our cost and is subsidized by the other consulting work we do for non-members and by INN's general operating funds (grants we receive from foundations, member dues, etc.)
  • For non-member non-profit organizations we offer a substantially reduced hourly rate of $125 per hour.
  • For non-member, for-profit organizations our regular hourly rate is $175 per hour.

*rates are subject to change but once we agree to an hourly rate we will honor it per the terms of your contract.

Contracts will typically be project-based and we will bill twice monthly for the actual hours worked during the preceding two week period. Under certain circumstances we may agree to do fixed bid contracts but we believe it's typically more fair for both parties to charge for actual hours worked.

I have ongoing tech needs but we're not ready to hire a full-time staff member yet, can you help?

If you have ongoing needs, we've talked to a few members about doing a retainer-based support agreements where you would essentially be sharing a full-time headcount on our team with a number of other INN members. The advantage would be that you would be guaranteed a certain percentage of that person's time without having to recruit and manage them.

If this is something that you would be interested in, contact us and we can discuss your particular needs and how we might best help you.