After initially embarking on a simplification plan, Mike and Eric agreed on 9 September 2013 to pursue this cleanup plan. I will be doing this project for the cost of the other, an effective discount for FLAG.
In July 2013 Mike Bruns asked me to take a look at the FLAG website and particularly at the WordPress theme developed for the Farmers' Legal Action Group (FLAG) by a team at one of the Nerdery's coding competitions. The "flag" theme is visually stunning and functionally quite stable, though it does have recurring problems presenting content to Windows IE8 browsers and some Android devices. The most significant problem, though, is that the theme embeds much of the content of the site in PHP code where it is difficult for Mike or others at FLAG to make changes. During our review of the code we also discovered that the theme makes no use of common WordPress elements such as widgets, menus, or featured images. This makes managing the menus and sidebars needlessly difficult.
Mike asked me to create this proposal for cleaning up the theme and bringing it into closer alignment with standard WordPress practices. This could be seen as "generalizing" the theme, so that less of the FLAG content is embedded in PHP and FLAG could more easily manage the site.
Goals
The following changes would be made to the FLAG theme for WordPress:
-
IE 8 and Android compatibility. The design goes wonky in IE 8 with the navigation bar on top completely disappearing. Most of the functionality can be achieved via clicking on the box in the upper-right corner when this happens, but it's a visual mess. At least one older Android device is not displaying the site properly. Testing on Android may reveal that newer Android devices are working, in which case fixes for each and every older device may prove unfeasible.
-
Removal of the featured panels below the main graphic. The highlighted news stories that fall below these featured panels are sufficient, so these can be simply eliminated.
-
Links to social sites. Add icons and links to at least FLAG's Facebook and Twitter pages. These can probably occupy the space that the featured panels now use.
-
Include post text or excerpt in post listings. Right now, for example, the Amicus Briefs show a list of documents (a type of post) that have titles, but now descriptive text. FLAG would like to have descriptive text in these lists so that the text of the page above the listings could be vastly reduced.
-
Adjustments to categories. Activate “Social Justice” and “Justice for All” categories. Make JFA Justice For All: Success Stories
-
Display hierarchical categories and present navigation for parent and child categories. For example, Advocacy is a set of posts. Litigation is a category of this set. The theme should allow that category to have children like Competition. When viewing the Litigation category, the theme should present a list of the children (and any parent category) in the sidebar, much like categories on individual posts are displayed.
-
Proper donations page. The current Donate menu item points to a form at givedirect.org, it should instead point to a standard page in WordPress with both a PDF form and an option for electronic donate. Consider using Razoo for the electronic side since the presentation is much better than givedirect.org.
-
Fix sorting of posts. Sorting of posts appears to be reverse chronological currently. However, since the date of posts is not evident, the list feel unsorted to most readers. Either sort by title or include post dates in a way that makes current sort order evident.
-
Support WordPress widgets. The current sidebar "box" is coded directly in PHP and its content cannot be managed by FLAG without coding intervention. The content for these sidebars and the footer of the site should be managed via WordPress "widget areas" and editable by administrators of the WordPress site.
-
Support WordPress menus. The current menus at the top of the page are coded directly in PHP and cannot be changed without coding intervention. The menus should use standard WordPress menu facilities instead. The theme does have some limits that will remain, such as a limit of six top-level items and a menu depth that only includes one level of submenus; but even within those constraints, at least the menus could be managed by regular WordPress administrators.
-
Support for WordPress featured images. The theme makes wonderful use of imagery in the header, but provides no facility for varying the images used there. Use the WordPress featured image in the header if it is present.
-
Support Google analytics. Either build Google Analytics into the theme or add a plugin to attach Google Analytics to each page.
-
Add appropriate theme options. If Google Analytics are added to the theme, for example, then an option for the Google Analytics code would need to be added. Other options might include those to facilitate menu or widget presentation.
Process
I plan to meet with Mike in person or by phone before I begin any coding to make sure we have a common understanding of the deliverables above. I would then expect bi-weekly phone meetings with Mike and whoever else may be interested until the project is complete.
I would need full access to the current WordPress install, including the back-end filesystem and the SQL database.
I would create a temporary working copy of the flaginc.org site on my own server to use while editing the theme. Once the changes are approved, I would move those over to the live site.
Deliverables
Deliverable 1: precise definition of goals.
Cost: $300
Timeframe: late August 2013
A conversation with Mike to make sure the goals accurately reflect FLAG needs.
Deliverable 2: generate a temporary site to test new theme and structure.
Cost: $600
Timeframe: early September 2013
The primary FLAG site has to continue to serve the community while we are developing the new site, so a temporary test site must be created. This will be done using either the current host of the FLAG site or a private server directly under my control.
Deliverable 3: rewrite portions of the FLAG theme.
Cost: $2,000
Timeframe: September 2013
Once the site is in place, I will make change to the FLAG theme to reflect the goals above. FLAG staff will be welcome to review this work at any time and offer feedback, but I will also notify them when I consider it complete and ready for critique.
Deliverable 4: revise test site and move to permanent URL.
Cost: $1,000
Timeframe: late September 2013
Gather feedback and discuss issues with the test site, make revisions, and review.
Once ready, test site would be moved over to replace the permanent site.
Deliverable 5: four months support.
Cost: $600
Timeframe: October 2013 to January 2014
WordPress is relatively easy to manage and has been getting simpler to work with as it matures. However, the theme will be relatively new to FLAG. I would be available for tasks including:
- limited theme changes to accomodate evolving practice
- availability to answer website related questions by phone and email
- occasional troubleshooting of content issues (fixing HTML in posts or pages)
Scope
Note that the current FLAG theme appears to be using GIT for version control. I would not be using GIT and all changes would therefore not be tracked for version control. If version control is important to some other maintainers of the code, the whole revised site could be checked in to the GIT repository by someone with proper access to that repository, or someone with knowledge of the particular GIT setup could contact me with instruction and I would consider using version control.
Note that though extensive changes would be made to the theme, I do not propose to produce any new documentation of the theme. However, I will put reasonable comments in the code so that other maintainers of the theme will have some idea how any of my changes work.
Note that the theme currently makes use of custom post types and taxonomies via a specialized plugin. I will not make any changes to the configuration of that plugin or the structure of those post types.
Costs
As a consultant, I do not charge by the hour. The services above will cost $4,500, but since we initially agreed to the less expensive simplification plan, I will honor that price of $4,000. I would send an invoice for the first $900 at the start of September 2013 and the next $2,500 at the start of October 2013. If you decide you would like to include the four months of support, I would bill $300 bi-monthly at the end of November 2013 and January 2014.
Eric Celeste
Eric brings over 15 years of library and 30 years of technology experience to his consulting. At MIT Eric shepherded the creation of DSpace, open source digital repository management software developed with HP and now deployed at hundreds of institutions worldwide. At the University of Minnesota Libraries he encouraged the development of the UThink blog service, a wiki-based staff intranet, LibData, and the University Digital Conservancy. He works with non-profit institutions on appropriate uses of technology for informing, communicating, and collaborating with their constituencies.