Outline Function & Accessibility Source code Function overview Credits
Simple Machines Forum (SMF v.2.0.14)
https://www.forum.cognovo.net
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
ampliﬁcation that could be achieved by using mechanical
advantage. Later Greek philosophers deﬁned the classic ﬁve
simple machines (excluding the inclined plane) and were able to
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
deﬁned 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-proﬁt
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 modiﬁed components is limited to authorized
entities.
The software is thus open source with redistribution of modiﬁed
code subject to the BSD requirements.
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
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 diﬀerent websites in a single news aggregator.
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
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-
*
* @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]);
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’);
// If \$maintenance is set specifically to 2,
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.
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
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
Security
I
All actions seamlessly require a session based
authorization code.
I
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
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
Conﬁgure 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
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.
I
Password reminder option, by email with conﬁrmation
I
Both cookie and session based authentication (works
I
Cookies can be set local to a path, global to all
subdomains, or normally.
I
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 proﬁle.
News and Announcements
I
topic as an Announcement.
I
Member option to disable receiving announcements (and
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
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
Deﬁne 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
I
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.
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
I
Ability to see new topics/boards with new replies.
I
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
center.
I
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
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
modiﬁed.
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 ﬁlename is hashed to increase the security (so you can
I
Optional restriction on what ﬁletypes 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
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
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 Proﬁles and User Options
I
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 notiﬁcation
I
New topics per board.
I
Single topics.
I
Private messages.
I
I
Options to hide other members’ avatars and signatures.
I
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
I
News.
I
Search.
I
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