[pmwiki-users] CMS Mode

H. Fox haganfox at users.sourceforge.net
Wed May 21 19:11:01 CDT 2014

Hi list,

TL;DR: The CMS Mode recipe helps you use PmWiki as a Content
Management System. It's now reworked and vastly improved.

I've been using PmWiki as a CMS for years.  Over those years I've
accumulated most of my  CMS-oriented customizations into a single
recipe script, cmsmode.php. For the past week or so I've been
reworking the script and documentation heavily
http://www.pmwiki.org/Cookbook/CMSMode/ .

What I'm aiming for is something that's easy to just drop in and snap
your wiki into CMS Mode, with no fuss.  You can have a functional CMS
in a matter of minutes: Install PmWiki, set a site-wide password, and
install the cmsmode.php script.

cmsmode.php does quite a few things.

 - Changes the site's appearance to not look like a wiki when someone
isn't logged in.
 - When visitors search, they'll only see your content pages.
 - Wikiactions (?action=<something>'s) that aren't specifically
permitted are ignored.
 - Creates a special filtered and formatted AllRecentChanges you can
as a public RSS or Atom feed.
 - If you're not logged in, the PmWiki group is, *poof*, gone. So are
the SiteAdmin and Site groups (except for the Site.Search page).
 - You can create other WikiGroups (or pages) that are completely
inaccesible except to authors.
 - You can also create special "by invitation only" WikiGroups (or
pages). These don't appear in the web feed or search results, but
they're publicly accessible.
 - A few other minor tweaks (link nofollow attributes, friendly date
format for last-modified message, etc.)

Wiki-related SideBar content can easily be made author-only using the
(:if auth edit:) directive.  With that in mind, it looks like this
with the default SideBar:

Customization has been greatly simplified. Ordinarily that site's
PmWiki group is completely inaccessible. I made it "invitation only"
with this in a config file:

  $CMSRedirGroups['PmWiki'] = '';

If you use a custom skin you'll need to do some CSS adjustments.  The
script allows for that with a $CMSModeStyles setting. The PmWikin skin
"just works". I'm working on a compatible skin that automagically
adapts from hi-res desktop (with sidebar menu) down to mobile (with
hamburger menu).  Try the link above with ?skin=adapt and shrink you
browser window to a small size to see what I mean.


More information about the pmwiki-users mailing list