SmartSection is the SmartFactory's "update" combining the best of the old WF-Section module and the news module (or so I saw it written somewhere). It's also clonable.
NOTE: I NO LONGER RECOMMEND THIS MODULE. The developer is now focusing on the ImpressCMS fork which may or may not remain compatible with XOOPS modules, this module has some memory problems for sites with larger content sets, and it hasn't been updated in a long time. There is a fork of this project (that no longer requires SmartObjects either), called Publisher, and I'd recommend going with that.
Latest Version: 2.14 | Website | My Edited Version 2.14MB02
SmartSection is a solid module for managing "static" pages of content and knowledge. It allows for comments and permissioning at the category and article level, SEO keywords and descriptions, file wrapping, file attachments, scheduled publishing, commenting, user submissions, approval requirements, and much more.
Installation
Fresh Install
Installation is per standard module installations. If you want to use the SEO capabilities (path and file renaming), then you will want to review the instructions included in the extras/seo folder.
Upon module installation, several directories are included in the /uploads/smartsection directory (or whatever you cloned this module to). There are no index.html files in there, so to prevent directory viewing, you may want to copy one of those in there (empty or the standard XOOPS one)
Upgrade
Upgrade is pretty simple from 2.1RC2. Upload the files, update the module.
If upgrading from a version prior to 2.1RC2, then you must update to 2.1RC2 first, then you may update to 2.13.
Notes
SEO
SmartSection supports SEO-friendly capabilities and is fairly easy to implement. Basically, you follow the readme instructions in extras/seo where you add one line to your mainfile.php configuration file as well as integrate their supplied .htaccess data. It does require mod_rewrite, although it can also support one without.
Unfortunately, the SEO capabilities doesn't actually work for the home page. This should be pretty simple to make happen, but it doesn't.
Since I implemented this module, I started using the xoRewriteModule. However, I still wanted to use the SEO capabilities that inserts a SEO-friendly name into the URL. To do this, you'll set the define statement in the mainfile.php to use 'path-info'. And you'll have to make one edit to the seo.php file in the module.
Modifications
I've made the following modifications to my version of SmartSection.
- category.php - to pass displaylastitems info to category template
- print.php - code error
- admin/category.php - better messages
- blocks/items_menu.php - shows page listings in menu block
- class/
- category.php - "header" function format changed from 'S' to 'N' (no changes to source) as 'S' adds break tags between paragraphs for category information
- item.php - lines 724 and 746 commented out (adds break tags to content -- should be in template)
- images/rss.gif - replaced with one to my liking
- include/functions.php - removed hard-coded marketing blurb in function smartsection_modFooter
- language/english - modifications to every file and mail template
- templates - removed marketing references to author in header, footer templates (both viewable and non-viewable) as well as display modifications to almost every template
Enhancement Requests
- User Page Edit - capability for editing in user side for non-admin moderator/editors with assigned permission
- User Category Edit - capability for editing category in user side for non-admin moderator/editors with assigned permission
- User Page Approval - capability for page approval in user side for non-admin moderator/editors with assigned permission.
- Granular Permissions for Templates - more permission information generally available for use in templates to better control display of content overall
- Groups Permissions for Submission Approval - ability to specify groups that require approval and groups that are auto-approved for page submissions
- Workflow Permission/Approval - Hierarchical system of permissions for approve/edit of pages/categories. This would require an ability to store in a separate table until approved, as well as to accept (and either forward to next approver, or publish if final approver), return (for editing), or reject (for deletion)
- Would prefer hierarchical approver aspects (allowing multiple workflow of approvers)
- Category Pages Searchable - make category page descriptions a searchable content item
- Category Pages More Page-Like - provide additional information for categories index page, similar to item/page including date, author, navbar, etc. for clients that use category pages as pages, too
- Page Modification Enhancements - page edit (both admin and user edit) (although allow edit to be considered minor and not trigger an update routine which would)
- Automatically changes date based upon approved content
- Provide minor update check-box to not change date and not send notification
- Update routine would notify via notifications
- Last update info (author and/or date/time)
- Rollback - Keep changed pages in rollback table to allow page roll-backs (this might be easier to do than approval mechanism) allowing admins or users with appropriate permission to see/view rollbacks (even better with changes highlighted), which would then have also ability to see who did the editing, the latest edit, etc.
- Page Listings for Categories with Pages Only in Sub-Categories - Category should display pages listing in Sub-Categories, even if none in Category, assuming they exist, just like Index Page does it. Should be able to use index page coding. $items doesn't exist though for pages in sub-categories.
- List All Articles - Ability to list all articles (to some administrative maximum JIC) in module, category (with or without sub-categories)
- Automatic Numbering - Ability to turn this into a manual that has automatic numbering, say for legal reference, policies/procedures manual, etc.
- Easy Cloning - the ability to clone this module by changing just the dirname. Other modules can do this, and SmartFactory is smart, so should be able to do this pretty easily, too.
- Page/Category Weight/Sort Management - ability to view (especially) and edit the weight/sort-order value of pages and categories in the administration area.