Wiki Archive 🙊
DLF Wordpress

DLF WordPress Prorgress

Notes on the WordPress rewrite effort for the DLF site. The new site was created in Drupal in 2008/2009, but by 2010 when DLF wanted to actually implement it the organization had lost the staff and funding that would make managing a Drupal site sustainable. I was asked to make a proposal for moving the site to WordPress.

I thought it would be much more fun to actually implement the site in WordPress and then propose to DLF that I could rebuild the site. If they took the deal, then the site would be revealed much more quickly than imagined. If they didn't take the deal, then I'd give DLF the new site anyway as a place to start (pro bono). Of course, I like getting paid, so I hoped they'd take the deal.

In December 2010 they took the deal and this page started tracking the work that was done as part of that proposal. In addition to tracking the work done, this document includes a to do list, a go live to do list, a bug list, and a list of things to consider with Rachel.

101116 : getting started

Reacquiring access to DreamHost (DH) backend. Setting up WordPress (WP) on the DH account at http://wp.diglib.org. Moving the REA theme to DLF DH, modifying it using source from the http://new.diglib.org Drupal "About" page. Got the basic outline of the DLF look into a WP theme. Created DLF favicon from other artwork. Good start.

(4)

101118 : basic function completed

Minor CSS/HTML fixes. Got main menu nav working, with IncludeInMenu and ShortName for shorter titles when needed. Got administrative sidebar working. Got basic WP search working. Got submenu navigation working. Got section titles working and linked. Added all the basic pages.

(4)

101119 : moving some content

Working on transferring some content from the Drupal site. Basic work is now done, however the move of content raised a number of questions about the home page, workspaces, and publications. Those questions are currently on those pages.

(1)

101120 : sidebar content

Added related links via the RelatedLink metadata in which you enter a comma-delimited set of page ids. Added sidebar content via the SidebarNote metadata in which you enter the HTML content for the sidebar. Created special version of the sidebar for the front page.

(1.5)

101121 : failover and sidebar community

Smooth failover to old site, uses (! have_posts()). This has two significant side effects: (1) 404 file not found errors will be handled by http://old.diglib.org and (2) the normal WP search can't be used since "no results" turns into a (! have_posts()) in WP. This last could be fixed by checking the query before the redirect, but we plan to use google, so this is moot for now. Added community notes to homepage sidebar with help of dynamic_sidebar() widgets including "feedgator" and "Twitter Tracker." These can be easily configured in the widgets section of WP, as can anything you want in the homepage sidebar.

Rediscovered the need to add wp.diglib.org domain to Network Solutions since that is where DNS is managed. We should consider moving all that to DH some time, though I suppose Brian can manage it at NS.

This was the extent of the work done prior to CLIR accepting my proposal.

(2.5)

101121 : NS vs DH issues

Struggling with DNS issues given the split between NS and DH. We should consider moving DNS to DH. I wonder who cares at CLIR... Brian? In any case, got one DNS entry wrong for a while. Should be OK now. Also, entered MX records at DH in case we do switch nameservers to DH.

(1)

101221 : eliminated duplication and minor cleanup

Had a call with Rachel and agreed on tasks to be done. Some of them completed right away: eliminated workspaces and membership, increased visibility of CLIR (top and bottom of page). Rearranged menus somewhat as well. Added to the to do list.

(3)

110109 : establishing account for special features

Created the dlfadm@gmail.com account.

(1)

110110 : analytics and search

Created Google Analytics and Google Custom Search Engine accounts and configured both to work with the site. Using "Google Analyticator" plugin for analytics and made changes to old.diglib.org content so it would work with this as well. Using these instructions to hook up search, though a number of changes were made. Created the SearchResultsFromCSE template and split DLF template into header/sidebar/index/footer.

Google search now completely replaces WP built in search. Still a few odd behaviors (where current search term does and does not appear as a default, mostly. Note that WP site is still being held back from spiders.

Cleaned up striping and code on the old pages.

(6)

110111 : front page, janrain, askimet

Created new TopPageTemplate with its own special sidebar-top template file. Learned how to get blog posts to rise onto the front page.

Implemented Janrain, enabled Google, Yahoo, WordPress, and OpenID logins. Can only enable six methods using free plan.

Implemented Askimet.

(4)

110114 : working on the news

Separated the templates for blog (index.php) from pages (pages.php) and modified both to simplify the PHP. The sidebar.php file now handles the basic blog sidebar properly, and sidebar-page.php handles the regular page sidebar without all the bloggy cruft.

The red headline will always be the blog section while in news, unless this is a single item, in which case it will be the item title.

(2)

110117 : working on posts and comments

Cleaned up the way posts are formatted and made sure comment presentation on single posts is sensible. Using "content2" divs for the first time to set comments apart from author.

(2)

110118 : forums

Moved the 2010 forum to the WP site to serve as an example of the organizational structure of WP. The forum is a child of the forums page, and its detail pages are children below it. Created the "SidebarBox" custom field so that it would be easy to create a page that represents the sidebar for a conference and then include it on each conference page, regardless of hierarchy or depth. 2010 forum is page id 49, its sidebar box is page id 51.

While 2010 is a model of WP structure, I would urge DLF to use less PDF and simplify the structure for future forums. Keep the basic schedule HTML, and create an HTML version of the full schedule. Then attach handouts and presentation slides to that full schedule. Look at CNI, for example. Right now users may have to look at the full PDF, the "resources" page and the "presentations" page to put together everything about the sessions. No need for that when a single fully detailed and updated schedule on the site could do the trick.

I also, for the most part, just brought HTML over from the CLIR site, even though this is less than ideal. I would suggest a simpler page structure with fewer blockquotes and more bulleted lists.

Creating a nice HTML schedule layout can be painful. I'd be happy to work on HTML and CSS for 2011 to serve as an example, but this would have to be a separate task with compensation.

(6)

110119 : documentation

Looks like documentation would be a good idea. I've been writing it all day, but will have to ask for compensation if I am to share it, just too much work to do without. Looks like it will take another day or two of solid work.

It is forcing me to clean up terminology and even fix a few bugs with the site (like getting sidebar notes to work everywhere, including news items). That makes it worthwhile even if DLF ends up not wanting to pay for the document.

(8)

110120 : discussion and debugging

Spent about 90 minutes on a call with Brian and Kathlin describing the site and how to edit it. In the course of helping Brian get MarsEdit set up realized that some characters that break XML-RPC had crept into the pages. Used the MarsEdit network log and Oxygen to pinpoint the problem and replace the characters.

Also bought Digging Into WordPress to try to learn new tricks. The authors and I have very different approaches to some things, but the book is very helpful to a WP designer. Not so helpful to a WP site user, though, so it looks like writing up my own guide would still be a good idea.

(3)

110124 : moving DNS to DreamHost

Final steps in moving DNS from NS to DH completed, email sent to Brian and Rachel.

Fixed strange line-height bug by commenting out line-height one on line 22 of the stylesheet. Boy, that stylesheet is really quite a mess.

Added basic community news feeds via the RSS shortcode plugin. Included the tweets as an RSS feed too.

Turned on revisions (why were they off?) and got the Email Post Changes plugin going.

(3)

110125 : RSS feeds, 404 not found, search, backup, validation

Added RSS feed to home sidebar by typing HTML into a text box. A bit of a kludge, but it works and is easy to manage.

Added RSS feed to news pages by editing the sidebar.php file and adding a box.

Decided to leave RSS feed off the regular pages, just to reduce clutter. I think it is sufficient to have RSS on homepage (where many may look for it) and News pages (since the news is the content of the feed). The static regular pages won't be included in the feed anyway, so it is almost misleading to put RSS on these pages.

Made the 404 not found message on old.diglib.org look more like the rest of the old site but point to the new site. Will have to manually replace wp with www when we switch.

Fixed the search page so that it uses the sidebar-page.php file instead of the sidebar.php file.

Added wp site and db to the backup script.

Used the W3 validator to make sure HTML was all valid. A few minor issues fixed, including longstanding search form bug.

(4)

110126 : privacy policy

Edited the privacy policy.

In doing so also noticed a way that pasting RTF in MarsEdit can be less than helpful and opened a discussion on the MarsEdit forum about this.

(1)

110127 : discussion

Prep for and phone call with Rachel, Brian, Kathlin to discuss the site. Many ideas. I will have to generate a proposal for further work ASAP.

(3)

Still To Do

Target date, 28 January 2011, set aside for new 31 January beta target and 28 February launch target.

  • add update notifier plugin

Go Live To Do

  • make the www domain a mirror of the wp domain instead of the old domain
  • change wp to www in WordPress
  • change wp to www in old.diglib.org/errorpage.php
  • make sure backup is working properly
    • ask Brian about places to which we could copy the backup file

Bugs

  • The change alerts don't include changes made by MarsEdit, even though the revision history does include these. Not a show-stopper, but annoying.

Consider

  • Should we switch nameservers to DH so that DH handles DLF DNS? This would simplify management of DLF sites, but might be a pain for whoever is managing the rest of CLIR at Network Solutions. Update: got the go-ahead from Brian on 12/15/10 and will make this happen before site goes live. This is now done.
  • Keep an eye on Askimet, may need to upgrade to a $5/month plan. If CLIR later goes to WP, then the low-end Askimet multi-site plan (also $5/month) would also be the right way to go.
  • Set up Facebook login in Janrain. Needs a DLF Facebook account, what should we use. I'd be happy to set this up.
  • Do we want "Events" to be an Events category of stories, or a set of Events pages? I would encourage the "story" approach, simpler to maintain.
  • Do we like the terms "Category" an "Tag" or do we want something else? Do we like the number scheme of each story, or would we rather have titles?
  • Should we create an "ad" for the front page sidebar that directs visitors to sign up for the DLF mailing list?
  • Should we look for a way to incorporate mailing list traffic on the site?
  • Do we want to implement the WP "super cache" to speed up the site at the expense of some currency?
DLF Wordpress