My notes from this month's "WordPress Sampler" meeting of WPJax
at Modis. Folks in our group range from business
owners and students to advanced developers. Here are some of their
recommendations and insights, primarily from Elizabeth,
Clint, and Jonathan.
Themes and Development
What WP Theme is That? is
especially useful when dissecting what other webmasters have done
in building their themes.
BluChic has WordPress themes for sites,
intended for a more feminine look.
Creative Market is
WordPress themes: Hundreds, nay thousands! At reasonable prices.
The Avada multi-purpose, responsive theme.
Comes highly recommended as being one of the most easily
customizable and dependable. This is Theme Forest's best-selling
theme.
Canvas, WooTheme's
"flagship" theme. Somewhat pricier than the other themes we
discussed, this one is just as easy, but a little better for folks
who aren't afraid to write just a handful of PHP statements to
tweak the perfect theme's functionality.
Cobalt Apps promises to break down some
of the barriers that normally require a bit of coding. It builds
child themes for the Genesis
theme without having to dig too deeply into PHP or HTML / CSS.
Stock Photos and Shopping
Death to the Stock Photo sends
you free, royalty-free photos. you receive an monthly email. Or
subscribe to their entire library for a small fee.
The Dollar Photo Club has
High-resolution and vector images, royalty-free, always $1.00 USD
each.
Embed items in your marketplace from "Square" (using an
Sites:
Cafe bon Appetit is a site partly
coded by Jonathan, showing how something built for large
institutions like a university can still be attractive and
appealing. The main page operates several sites inside, each
catered to a college or corporation cafeteria. This ties together
databases, design, and working through procedural and regulatory
challenges.
Jonathan also showed us the behind-the-scenes operation of a new
site for a major office furniture designer/manufacturer. The site's
theme and plugins enable functions in the WordPress admin screens
that permit building nested database-driven detail boxes in the
post/page composition process without any coding whatsoever.
Jonathan also shared his experience finding, tracking, and repairing a
bug in the WordPress Core that has existed for years.
I encourage you to contact Clint, Jonathan,
or Elizabeth for your WordPress
design needs. And thanks again to Modis and to Tim and Rebecca for the
venue and the refreshments!
Good questions and a bunch of tips from everyone else attending rounded
out this excellent session. We've got a great group going, and much
talent on the move here in the "Bold New City of the South!"
A different, and more detailed albeit slightly dated, feature
comparison can be found at CMS-Matrix.
In general, WebGUI tends to bundle the most-used features, whereas
WordPress leaves most of them to plugins. WordPress does have a vibrant
plugin and theme community, but they are often outmoded and of varying
quality.
WordPress, hosted on typical Shared or VPS
WebGUI typical V8
Language
PHP
Perl
Template System
Theme files, written in PHP
Template::Toolkit
HTML5 Framework
None by default. Built-in jQuery conflicts with Bootstrap.
YUI among others [wikipedia]
Object Orientation
Partly, built-in PHP
Moose[1]
Database
MySQL
MySQL, possible PostgreSQL support
Web Server
Apache
nginx
Web Server Linkage
mod_php
Plack [2]plackup,
starman and starlet
Multi-Site
One WP install can serve multiple sub-sites, but many global variables
mean unrelated virtual hosts require entirely separate installs
Object-oriented, so theorietically possible to have a single
installation serve unlimited unrelated virtual hosts
Particularly Moose attributes, method modifiers and roles.
Plack::Response and Plack::Request objects
When installing a new plugin, or upgrading an existing theme,
plugin, or WordPress itself, you may be asked for FTP details. But, you
say, I thought I had this configured to update directly. Here's how to
force WordPress to upgrade without FTP.
In your wp-config.php
file, add a line near the top:
define('FS_METHOD', 'direct');
This forces WordPress to write to files directly. Once this is done,
you will get error messages that better explain what isn't working.
For example, you may need group write privileges on the
wp-content/upgrade directory:
chmod g+w wp-content/upgrade
If you get this error:
Could not remove the old plugin.
you will also need to ensure there is group write on all the plugins
themselves:
chmod -R g+w wp-content/plugins
UPDATE: The Kickstarter project reached its funding goal! Codename for
Version 8 will be Allium Cepa. There is a project page on GitHub.
Scott Walters' 2014 Kickstarter, "Create Perl Competition to the PHP
Content Management System"
is somewhat open ended as to what this Perl-based CMS would be, but
likely it will be based on the GPL'd WebGUI system created by Plain
Black Corp. According to Scott's writeup,
…Version 7 is still being maintained, but 8 was a massive modernization
effort that reworked core to use Moose, Plack, Try::Tiny, and cleaned
things up.
Thanks to fantastic test suite coverage, the API and core of 8
work well, but the rewritten admin needs attention. Also, WebGUI
has traditionally targeted large companies, so the difficult install
process was not a major liability. To compete, installation has
to be dead simple. The themes are not adequately modern (which
is to say they look a little outdated).
I plan to get wG8 out of alpha, move it to a community development
model, finish the installer I created for it and OSX support, and
work with designers to create a modernized theme.
The installation script is currently Curses based, eliminating the web
hole even in the first steps. A Docker install may also be included.
Why?
…wG is one of the most impressive and mature things ever created
in Perl, and the community often raves to me about how much better
they like it than competing systems.
− scrottie in the WebGUI Forums
More from scrottie (July, 2014): Perl Needs a User Friendly CMS
[blogs.perl.org]
Background
From the Abstract, "Programming WebGUI: WebGUI 8 as a Web App
Framework" by Scott Walters,
(October 2011)
the WebGUI content management system.
Building apps on top of CMSes has become trendy in the Python and
PHP camps, and for good reason: CMSes provide the primitives to
build the most common types of Web applications, they're easy to
interface with, and the idea of a tree of editable objects translates
well to interactive Web sites.
WebGUI ships with a pile of ready to use pieces of logic (called
"assets", implementing things such as shopping carts and Wikis)
for laypersons to build a site out of, but it's also a fantastically
programmer friendly framework for building more of these assets
in.
WebGUI 8 is the upcoming iteration, sporting a new Plack interface,
Moose attribute based asset definition, and countless modernizations
and improvements. WebGUI handles the tedious work of data persistence,
permissions, generating edit forms, pagination, and more.
See Also
I had migrated a portfolio website to WordPress, and used the Add
Media from Server
plugin to make the various files into attachments. I made sure to check
the option that makes the attachment's date equal to the file's
timestamp.
Then I added the various posts to the site, and used the Change
Attachment Parent
plugin to attach the various media files to their proper parent post.
The final step was to set each post's publish time to the date of that
post's newest attachment. A bit of MySQL wizardry does this:
update wp_posts as pp
inner join(
select post_parent as pic_parent, ID as pic_id, max(post_date) as pic_date
from wp_posts
where post_parent>0 and post_type='attachment'
group by post_parent
) as attach
on pp.ID=attach.pic_parent
set pp.post_date=attach.pic_date, pp.post_date_gmt=attach.pic_date;