Workarea Blog

A Workarea Commerce plugin for creating and managing blogs and blog entries.

Overview

  • Creation and management of one or more unique blogs per site
  • Utilizes existing content blocks in blog entry creation
  • Support for blog Entry Comments & Moderation
  • Support for importing from Wordpress

Getting Started

Add the gem to your application's Gemfile:

# ...
gem 'workarea-blog'
# ...

Update your application's bundle.

cd path/to/application
bundle

Features

Blogs and Entries vs. Categories and Posts

The workarea blog plugin uses the model 'Blog' as the parent model for 'Entries'. A site may have many blogs, and a blog may have many entries. This is similar to the idea of 'Categories' and 'Posts' in other blogging platforms.

Commenting and Comment Moderation

Readers are permitted to comment on Blog Entries. Admin users with the proper permissions may moderate comments left by readers.

Importing Wordpress Content

The workarea-blog plugin includes a set of rake tasks to import content from Wordpress blogs. These tasks require an XML export from wordpress, this can be generated from the Wordpress admin by following the instructions found here: https://codex.wordpress.org/Tools_Export_Screen. Hosted wordpress.com blogs will have a slightly different interface, but the process is much the same. You should do a complete export of all data, including attachments, posts, and pages.

Once you have the XML file downloaded you need to save it in your application. The import will look for /data/blog/wordpress.xml by default, you can configure the import to use a different path if necessary.

More information below.

Wordpress Import

Gotchas with importing Wordpress content

All post and page content will be created as an HTML content block. This will maintain any semantic HTML styles like <strong> <i> and heading tags. However, we do not import styles from Wordpress, so any styles coming from custom classes will not be included. You should set your customer's expectations around this. If necessary you could replicate custom styles from wordpress in your application, or re-write classes as necessary to match classes in the Workarea application.

Depending on which version of wordpress and which editor was used, some wordpress posts contain markup that will cause the HTML to be stripped. Before importing you should look at the <content:encoded> fields in the wordpress.xml and ensure there are no comments that look like this <!-- wp:paragraph -->. If these comments are present you will need to remove them manually.

Post types for import

Before running the import you should examine the wordpress.xml file, checking post types. If your Wordpress blog uses custom post types you will need to customize the import to handle those.

The wordpress import scripts will handle the following post types:

  • Attachment - Imported as assets
  • Post - Imported as Blog Entries
  • Page - Imported as Content Pages

Import configuration

Before running the import task you should use an initializer to configure the blog name and author name for all posts coming from Wordpress. If a blog does not exist with a matching name it will be created. All posts will be attributed to the same author name, per the configuration.

Default configuration:

Workarea.configure do |config|
  config.wordpress_import = {
    'blog_name': 'Wordpress Import',
    'author_name': 'Wordpress User'
  }
end

Running the import

To run the complete import run bundle exec rake workarea:blog:import_wordpress. This will import attachments, posts, and pages from the XML file provided. You can also run each of these tasks individually if necessary. If you opt to do this you must run the workarea:blog:import_wordpress_attachments task first as these assets need to exist before any posts or pages can reference them.

Using a different path for import

All import tasks allow a custom path to be used if necessary. The default path for your wordpress xml export is /data/blog/wordpress.xml. To use a different path you can pass an argument to the rake task, note that the new path should be from your application root directory. Example:

bundle exec rake workarea:blog:import_wordpress['path/to/your/new_wordpress.xml']

WebLinc Platform Documentation

See https://developer.workarea.com for Workarea Commerce documentation.

License

Workarea Blog is released under the Business Software License