Difference between revisions of "Code4Lib Journal WordPress Customizations"

From Code4Lib
Jump to: navigation, search
m (Fix typo (Akimset))
(Plugins: edits to represent a few changes to plugins)
 
Line 1: Line 1:
 
==Plugins==
 
==Plugins==
  
===Anti-Spam===
+
===Anti-Spam / Security===
 
;[http://akismet.com/ Akismet]
 
;[http://akismet.com/ Akismet]
:Filters out spam-link comments based on their content
+
:Baseline anti-spam.
;[http://wordpress.org/plugins/wp-recaptcha/ WP-reCAPTCHA]
+
;[https://wordpress.org/plugins/antispam-bee/ Antispam Bee]
:Requires users to copy a distorted word before they can comment. We disabled this plugin at one point due to accessibility issues. However, we suffered a spam storm in May 2014 that required either disabling comments on all posts (not trivial) or reinstalling the CAPTCHA plugin.
+
:After a number of experiments with anti-spam plugins, using this to augment Akismet seems to do a pretty good job.
 +
;[https://wordpress.org/plugins/sucuri-scanner/ Sucuri Security Plugin]
 +
:Scans for issues and sends updates when changes are made. This may be a bit overkill at times, but it also provides early detection of hacks.
 +
;[https://wordpress.org/plugins/really-simple-ssl/ Really Simple SSL]
 +
:We have an SSL certificate through ibiblio. This plugin makes sure Wordpress uses HTTPS appropriately.
  
 
===Metadata===
 
===Metadata===
Line 15: Line 19:
 
:In the non-WYSIWYG editor, can be used to build a basic COinS tag. (P. Binkley)
 
:In the non-WYSIWYG editor, can be used to build a basic COinS tag. (P. Binkley)
 
:This was abandoned in favor of the generator at http://generator.ocoins.info/. However, the generator has now gone south and no longer seems to be supported.
 
:This was abandoned in favor of the generator at http://generator.ocoins.info/. However, the generator has now gone south and no longer seems to be supported.
 +
;[Google XML Sitemaps https://wordpress.org/plugins/www-xml-sitemap-generator-org/]
 +
:Generates search-engine friendly sitemaps.
  
 
===Presentation===
 
===Presentation===
Line 31: Line 37:
 
;C4LJ Remove Parents
 
;C4LJ Remove Parents
 
:A customization of http://wordpress.org/extend/plugins/remove-parents/. Prettifies category URLs so that issues appear at <code>http://journal.code4lib.org/issues/issue1</code> instead of <code>http://journal.code4lib.org/issues/issues/issue1</code>. (J. Brinley)
 
:A customization of http://wordpress.org/extend/plugins/remove-parents/. Prettifies category URLs so that issues appear at <code>http://journal.code4lib.org/issues/issue1</code> instead of <code>http://journal.code4lib.org/issues/issues/issue1</code>. (J. Brinley)
;[http://www.feedburner.com/fb/a/help/wordpress_quickstart FeedBurner FeedSmith]
 
:Redirects the main feed and the general comments feed to FeedBurner
 
  
 
===Workflow===
 
===Workflow===
 +
;[https://wordpress.org/plugins/classic-editor/ Classic Editor]
 +
:Restores option for classic editor functionality for anyone who finds it more usable than the new mobile-focused editor.
 
;[https://github.com/code4lib/c4lj-issue-manager Issue Manager]
 
;[https://github.com/code4lib/c4lj-issue-manager Issue Manager]
 
:Enables one-click publishing of new issues, and prevents articles from being published until their associated issue is published. (J. Brinley)
 
:Enables one-click publishing of new issues, and prevents articles from being published until their associated issue is published. (J. Brinley)

Latest revision as of 14:26, 18 August 2021

Plugins

Anti-Spam / Security

Akismet
Baseline anti-spam.
Antispam Bee
After a number of experiments with anti-spam plugins, using this to augment Akismet seems to do a pretty good job.
Sucuri Security Plugin
Scans for issues and sends updates when changes are made. This may be a bit overkill at times, but it also provides early detection of hacks.
Really Simple SSL
We have an SSL certificate through ibiblio. This plugin makes sure Wordpress uses HTTPS appropriately.

Metadata

DOAJ Export
Provides information about your posts formatted according to the DOAJ Article XML Schema. (J. Brinley)
unAPI Server
Provides information about articles. Useful for Zotero users. (M. Giarlo)
COinS Quicktags Button - no longer installed; buggy
In the non-WYSIWYG editor, can be used to build a basic COinS tag. (P. Binkley)
This was abandoned in favor of the generator at http://generator.ocoins.info/. However, the generator has now gone south and no longer seems to be supported.
[Google XML Sitemaps https://wordpress.org/plugins/www-xml-sitemap-generator-org/]
Generates search-engine friendly sitemaps.

Presentation

SyntaxHighlighter Evolved
Post syntax-highlighted code.
C4LJ Custom the_author()
Replaces the text returned by the_author() with the value of the "author" custom field. Necessary since articles are entered by their editors, but we want author information to appear on the articles and in the syndication feeds.

User Feedback

Contact Form 7
Email contact form plugin.
WP-Mail-SMTP
Reconfigures the wp_mail() function to use SMTP instead of mail() and creates an options page to manage the settings.

URLs

C4LJ Remove Parents
A customization of http://wordpress.org/extend/plugins/remove-parents/. Prettifies category URLs so that issues appear at http://journal.code4lib.org/issues/issue1 instead of http://journal.code4lib.org/issues/issues/issue1. (J. Brinley)

Workflow

Classic Editor
Restores option for classic editor functionality for anyone who finds it more usable than the new mobile-focused editor.
Issue Manager
Enables one-click publishing of new issues, and prevents articles from being published until their associated issue is published. (J. Brinley)
Revision Cleaner
Auto clean your revisions that you don't needed any more.
Role Manager
Allows creation of custom roles and editing of roles' permissions. Used to create the Reviewer role, which can read Private articles, so that authors can see their articles before publication, and to prevent editors from publishing articles on accident.
C4LJ Permissions
Lets authors see pending posts. (J. Brinley)
C4LJ Remove Parents
Remove parent directories & "category" from category permalinks. (J. Brinley)
Remove Special Word Characters
Replaces special characters copied from MS Word with their entity equivalents. (J. Brinley)

Upgrading

"Submit for Review"

Edit wp-admin/includes/post.php. After line 71 (in version 2.3.3) add:

// START FIX
if ('publish' == $_POST['post_status'] && !current_user_can( 'publish_posts' )) {
	$post =& get_post( $post_ID );
	if ('publish' != $post->post_status)
		$_POST['post_status'] = 'pending';
}
// END FIX

Issue Manager Plugin

To Publish an Issue

  1. Assign timestamps to the articles in the order you want them to appear on the page (newest timestamps go at the top of the page)
  2. Go to the Issue Manager page in the "Manage" tab.
  3. Click "Publish" next to the category for the issue you want to publish.
  4. All "Pending Review" articles with the given category (that don't also have an "unpublished" category) will be published, with the timestamps updated to about now, retaining the order established earlier.

To Prevent Early Publication of Articles

  1. Go to the Issue Manager page in the "Manage" tab.
  2. Click "Unpublish" next to the category for the issue you want to keep unpublished.
  3. Any published articles with that category will revert to "Pending Review" status. Any new articles you attempt to publish will instead be set to "Pending Review".

Google Code Repository

The theme and plugins used by the Journal are available via Google Code. Some of the plugins are described on Jonathan Brinley's blog.