Outline Function & Accessibility Source code Function overview Credits
Simple Machines Forum (SMF v.2.0.14)
https://www.forum.cognovo.net
CreativeAdvantage =
F
out
F
in
= η
v
in
v
out
(1)
Christopher B. Germann (Marie Curie Fellow)
School of Psychology
University of Plymouth
CogNovo
February 17, 2019
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Document
created with L
A
T
E
X 2
ε
Outline Function & Accessibility Source code Function overview Credits
The philosophy of simple machines
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
The idea of a simple machine originated with the Greek
philosopher Archimedes around the 3rd century BC, who
studied the Archimedean simple machines: lever, pulley, and
screw. He discovered the principle of mechanical advantage in
the lever. Archimedes’ famous remark with regard to the lever:
Give me a place to stand on, and I will move the Earth.”
(Greek: ) expresses his
realization that there was no limit to the amount of force
amplification that could be achieved by using mechanical
advantage. Later Greek philosophers defined the classic five
simple machines (excluding the inclined plane) and were able to
roughly calculate their mechanical advantage.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
The logic of simple machines
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Simple machines do not contain a source of energy, so they
cannot do more work than they receive from the input force.
MA = F
out
/F
in
(2)
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Outline
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Part I: Open-source software
o-o o o
/ |\ |
O o-o o--o | \ | o-o o o o-o
\ | | | | | \| | | \ / | |
o-o o-o o--O o o o-o o o-o
|
o--o
-----o-----o-----o-----o-----o-----
o o o o
|\ | | | /
| \ | o-o -o- o o oo-o o-o OO
| \| |-o | \ / \ / | | | | \
o o o-o o o o o-o o o o
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Part I: Open-source software
Outline
Outline
Part I: Open-source software
Graphical User Interface (GUI)
Function & Accessibility
Functions & Accessibility
Source code
Function overview
Credits
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Part I: Open-source software
SimpleMachinesForum v.2.0.14
URL: https://www.simplemachines.org
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Part I: Open-source software
SMF philosophy
A simple machine is a mechanical device that changes the
direction or magnitude of a force. In general, they can be
defined as the simplest mechanisms that use mechanical
advantage (also called leverage) to multiply force.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Part I: Open-source software
Simple Machines Forum software, acronymised as SMF, is an
open-source, Internet forum, message-board program developed
by Simple Machines. SMF is an open-source discussion board
software project, which consists of volunteers participating in
various operating functions including development,
customization, documentation, localization/translation, and
user support. The project is owned by a non-profit
organization, named Simple Machines”.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Part I: Open-source software
Licensing
While SMF is source-available, redistribution and/or
distribution of modified components is limited to authorized
entities.
SMF 2.0 and 2.1 are licensed under the 3-clause BSD license.
The software is thus open source with redistribution of modified
code subject to the BSD requirements.
https://www.simplemachines.org/about/smf/license.php
https://opensource.org/licenses/BSD-3-Clause
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Graphical User Interface (GUI)
Outline
Outline
Part I: Open-source software
Graphical User Interface (GUI)
Function & Accessibility
Functions & Accessibility
Source code
Function overview
Credits
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Graphical User Interface (GUI)
GUI
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Functions & Accessibility
The SMF user interface is very intuitive. More information can
be found under the following URL:
https://wiki.simplemachines.org/smf/Category:General SMF
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Functions & Accessibility
Outline
Outline
Part I: Open-source software
Graphical User Interface (GUI)
Function & Accessibility
Functions & Accessibility
Source code
Function overview
Credits
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Functions & Accessibility
WAP 2.0
URL: http://forum.cognovo.net/index.php?wap2
Wireless Application Protocol is a technical standard for
accessing information over a mobile wireless network. A WAP
browser is a web browser for mobile devices such as mobile
phones that uses the protocol.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Functions & Accessibility
RSS is a type of web feed which allows users to access updates
to online content in a standardized, computer-readable format.
These feeds can, for example, allow a user to keep track of
many different websites in a single news aggregator.
https://forum.cognovo.net/index.php?action=.xml;type=rss
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Functions & Accessibility
SMF online resources I
SMF Wiki: https://wiki.simplemachines.org
Community: https://www.simplemachines.org/community
Development: https://dev.simplemachines.org
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Functions & Accessibility
SMF online resources II
See also:
https://github.com/SimpleMachines/SMF2.1
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
SMF code snippet
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
@package SMF
* @author Simple Ma-
chines http://www.simplemachines.org
* @copyright 2018 Simple Machines and individual con-
tributors
* @li-
cense http://www.simplemachines.org/about/smf/license.php BSD
*
* @version 2.1 RC1
*/
$software_year = ’2018’;
$forum_version = ’SMF 2.1 RC1’;
// Get everything started up...
define(’SMF’, 1);
error_reporting(E_ALL);
$time_start = microtime(true);
// This makes it so headers can be sent!
ob_start();
// Do some cleaning, just in case.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
foreach (ar-
ray(’db_character_set’, ’cachedir’) as $variable)
if (isset($GLOBALS[$variable]))
unset($GLOBALS[$variable], $GLOBALS[$variable]);
// Load the settings...
require_once(dirname(__FILE__) . ’/Settings.php’);
// Make absolutely sure the cache directory is defined.
if ((empty($cachedir) || !file_exists($cachedir))
&& file_exists($boarddir . ’/cache’))
$cachedir = $boarddir . ’/cache’;
// Without those we can’t go anywhere
require_once($sourcedir . ’/QueryString.php’);
require_once($sourcedir . ’/Subs.php’);
require_once($sourcedir . ’/Subs-Auth.php’);
require_once($sourcedir . ’/Errors.php’);
require_once($sourcedir . ’/Load.php’);
// If $maintenance is set specifically to 2,
then we’re upgrading or something.
if (!empty($maintenance) && $maintenance == 2)
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
display_maintenance_message();
// Create a variable to store some SMF specific func-
tions in.
$smcFunc = array();
// Initiate the database connection and define some
database functions to use.
loadDatabase();
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
SMF Functions
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
SMF is a very versatile forum soft-
ware. It has many features, includ-
ing the following:
I
Uses HTML, CSS, PHP, and a database system: MySQL,
PostgreSQL or SQLite.
I
It provides a comprehensive template system.
I
Advanced permission and user management.
I
Supports multiple languages at once.
I
Open and well-documented source code.
I
Tracking of new and old unread topics, not just from your
last visit.
I
Designed for optimal performance and scalability.
I
Multi-media output: XHTML, XML, RSS, WAP.
I
Multi-language support from a large community.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
Package manager that automatically installs or uninstalls
mods (also known as packages).
I
Search:
I
Search the entire forum, a category/board or within a
topic.
I
Search within your personal messages.
Security
I
All actions seamlessly require a session based
authorization code.
I
Administrative actions require the user’s password (and do
not rely solely on cookies).
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
Major actions are time and IP locked, preventing
’hammering’.
I
The number of login attempts from a certain IP can be
limited and time locked.
Forum Settings
I
Ability to display page creation time and query count per
page.
I
Put a board into maintenance mode, allowing only
administrators to log in.
I
Word censoring, either full word or partial.
I
Ability to break up long words.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Boards and Categories
I
Group boards into collapsible categories.
I
Set categories as non-collapsible.
I
Reorder boards within categories, or reorder categories.
I
Create child boards under other boards (sub boards).
I
Assign moderators to boards.
I
Allow certain membergroups to access a board, including
guests only.
I
Configure permissions for each membergroup on the board
level.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
Ability to indicate new posts to child boards but nothing
new in parent.
Member Registration
I
Require registration before forum entrance.
I
Require a user to agree to terms before they register.
I
Disable member registration completely (allowing only
administrators, or moderators with the necessary
permissions, to register people).
I
Require email authentication by sending an authentication
link.
I
Require an administrator, or moderator(s) with the
necessary permissions, to approve registration.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
Register new members from the admin center.
Member Navigation and Authentication
I
Password reminder option, by email with confirmation
(doesn’t automatically reset your password).
I
Both cookie and session based authentication (works
without cookies).
I
Cookies can be set local to a path, global to all
subdomains, or normally.
I
Adjustable expiration time for authentication cookies.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Member Tracking and Tracing
I
Sortable and searchable public memberlist (accessible by a
permission).
I
Powerful sortable and searchable admin memberlist.
I
Show all (error) messages and IPs made by a member
(track user).
I
Show all (error) messages from an IP address or range
(track IP).
I
See who’s doing what (accessible by permission).
Statistics
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
Several board statistics (accessible by permission).
I
Tracking of member’s online time in seconds.
I
Tracking of topics, messages, new members, and hits per
day.
I
Individual member statistics accessible from their profile.
News and Announcements
I
Send a Newsletter from the admin center, or post any
topic as an Announcement.
I
Member option to disable receiving announcements (and
Admin override of this option).
I
Email or private message your members by membergroup.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
Show a news fader.
Communication
I
Ability to choose sendmail or SMTP (with or without
authentication).
I
Ability to send a topic to a friend.
I
Ability to view a printer friendly” version of topics.
Membergroups
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
Create membergroups to group members on permissions,
access rights, and/or appearance.
I
Assign several membergroups to a single member, with
one membergroup as the primary group.
I
Define membergroups that are auto-assigned based on the
amount of posts a user has.
I
Determine the maximum number of personal messages a
membergroup is allowed to have by group.
I
Assign badge or star to a membergroup - by primary
group.
I
Determine which membergroups are allowed to access a
board.
Banning
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
Ban members based on their username, email address, IP
address or hostname.
I
Support of wildcards for email address, IP address, and
hostname.
I
Include a ban reason (viewable for the banned user).
I
Include a ban note (only viewable by the administrators).
I
Choose between full ban, ’no post’ ban, or registration ban.
I
Include an expiration time for bans.
External integration
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
Integrate parts of the forum software into an existing
website using SSI or PHP.
I
Recent topics or posts.
I
Recent news posts in a board.
I
Recent polls.
Export forum data using XML/RSS
I
Latest members.
I
News.
I
Recent posts.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Wireless access
I
Support for WAP, WAP2 and I-mode protocols.
I
Browse through boards/topics/messages with reduced
page size.
I
Ability to login and logout.
I
Ability to see new topics/boards with new replies.
I
Ability to jump to first unread reply.
I
Ability to post new messages.
Theming and Templating
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
Ability to allow or disallow your users to select their own
theme.
I
Ability to reset all of your members to a certain theme.
I
Ability to install a new theme via your administration
center.
I
Admin can add smileys and smiley sets.
I
Members can choose which smiley set they wish to use (or
none).
I
SSI can have and show layers and the like from the
template system.
Posting Features
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
Spell Check.
I
Quick Reply
I
Members can disable it or collapse it.
I
Can be used with Quote”.
I
Also contains Spell Check”.
I
Vast number of Bulletin Board Codes to use (including rtl,
acronym, and others).
I
Optional editing grace period before a post is shown as
modified.
I
Insert Quote feature on posting screen to quickly quote
previous replies.
Polls
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
Can be added or removed to existing topics.
I
Ability to set expiration date.
I
Ability to hide results till expiration of poll.
I
Ability to hide results until after people have voted.
I
Ability to determine how many votes a user may cast.
I
Polls can have up to 256 options.
I
Attachments
I
Allowed on a per member group or board basis.
I
The filename is hashed to increase the security (so you can
upload .php files).
I
Optional restriction on what filetypes may be uploaded.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
Ability to restrict such that only registered members can
view them (disables hotlinking, mostly).
I
Images can be embedded into posts.
Calendar Support
I
Shows Birthdays, Events and Holidays.
I
Display calendar information on board index.
I
Link an existing topic to the calendar.
I
Allow only certain members/groups to post events.
I
Event poster can edit event.
I
Events can span multiple days.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Moderation Tools
I
Ability to lock and unlock a topic.
I
Topics which are locked by an administrator can not
unlocked by anyone else.
I
Ability to allow members to use moderation on just topics
they posted.
I
Report to moderator link.
I
Delete or modify posts.
I
Ability to merge/split topics.
I
Move or delete topics.
I
Sticky or unsticky topics.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
Recycle bin/board for all deleted topics and posts.
I
Moderation log which shows moderation activity and
dissallows the removal of log entries until they are at least
24-hours old.
I
AJAX editing:
I
Edit a post without page reloads.
I
Double click to edit topic subjects on message index.
User Profiles and User Options
I
Ability to hide your email address from the public.
I
Select favorite theme among the activated forum themes.
I
Select smiley set from the ones available.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
Email notification
I
New topics per board.
I
Single topics.
I
Private messages.
I
Login with ’invisible’ mode.
I
Options to hide other members’ avatars and signatures.
I
Ability to download and resize uploaded avatars.
I
Personal text, avatar, signature, and all the niceties of
forums can be used and are kept up to date in all your
posts.
User Resources
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
Icons for topics you’ve posted to.
I
Show new replies to your posts.
I
Collapsible ’Additional Options’ on post screen.
I
Ability to view most recent messages.
I
List all topics that have new replies since your last visit.
I
See who is browsing the same boards or topics as you.
I
Topics that span multiple pages have the page numbers
listed as well as an all” link.
Other features
I
Several forum statistics.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
I
List of users online.
I
The menu bar.
I
News.
I
Search.
I
Login/logout.
I
Today’s events/birthdays/holidays.
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Credits
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14
Outline Function & Accessibility Source code Function overview Credits
Document created with L
A
T
E
X 2
ε
URL: https://www.latex-project.org
Christopher B. Germann (Marie Curie Fellow) http://www.forum.cognovo.net
SMF v.2.0.14