AWFLWIKIWORLD

AWFLWIKIWORLD

AWFLWIKIWORLD
The AWFLWIKIWORLD logo
The AWFLWIKIWORLD logo
DeveloperAEDTP WORLD
TypeWiki engine
Interface styleMediaWiki / Vector 2022
Written inPHP 8.3
LicenseAEDTP WORLD FREE LICENSE (AWFL)
StorageFlat files (.txt pages, .json users/settings)
Default skinvector2022

AWFLWIKIWORLD is a self-contained, MediaWiki-style wiki engine built in plain PHP. It stores every page as a plain text file, every user as a JSON record, and every visual style as a CSS file — no database, no build step, no external dependencies. Copy the folder onto any PHP 8.3 server (or run it on localhost), fill in one configuration file, and you have a working wiki.

This page explains what AWFLWIKIWORLD is, why it exists, how it is built, and how to use every part of it — as a visitor, as a registered user, and as the administrator.

What is AWFLWIKIWORLD

AWFLWIKIWORLD is a wiki platform: a website anyone (or anyone you allow) can read, and that logged-in users can create and edit pages on, using a simplified text markup called AWFLWIKITEXT. Pages are organized under a root namespace or grouped into named spaces (for example, a space called Music could hold a page Music/Buddy DML). Every page can carry an infobox — a small fact-table, the same idea as the boxes you see in the top-right corner of Wikipedia articles.

Unlike most wiki software, AWFLWIKIWORLD keeps everything in ordinary files:

  • Each wiki page is one .txt file containing raw AWFLWIKITEXT.
  • Each user is one JSON record in users/users.json.
  • Each visual theme is one .css file in skins/.
  • Uploaded pictures are plain .jpg/.png files in images/.

This makes the whole wiki easy to back up (copy the folder), easy to inspect (open any file in a text editor), and easy to move between a local computer and a live server.

Why AWFLWIKIWORLD

AWFLWIKIWORLD was built for people who want a Wikipedia-like knowledge base without running a database server, without installing a heavyweight CMS, and without losing control of their own content. Because every page is a plain text file:

  • You can read or edit the raw content outside the wiki, with any text editor.
  • You can move the wiki by copying a folder — no database export/import.
  • You can inspect exactly what the system stores, since nothing is hidden inside binary tables.
  • You still get the features people expect from a real wiki: accounts, page history for admin edits, protected pages, image galleries, sitemaps, and a skins system.

How it is Built (Architecture)

The engine is a small number of PHP scripts working together:

  • config.php — the single file every other script reads. It defines the site name, the site's own URL ($Server), the admin login, upload rules, and the URL style.
  • includes/functions.php — the engine room: user accounts, page storage, the AWFLWIKITEXT parser, image handling, and URL building all live here.
  • includes/header.php and includes/footer.php — the shared page frame (navigation bar, meta tags, footer) that every page includes.
  • index.php — the main controller. Almost every page you visit — viewing an article, logging in, editing, saving, downloading — passes through this one file. It also serves the built-in Special pages, such as Special:Search and Special:Missing.
  • dashboard/index.php — the admin control panel.
  • allusers/index.php and allimages/index.php — public directories of accounts and uploaded pictures.
  • sitemap/sitemap.php — builds the search-engine sitemap.

File Structure

  • index.php — the interface every visitor loads.
  • config.php — site settings (see below).
  • .htaccess — hides raw data files (.txt, .json) from being downloaded directly, and enables pretty URLs.
  • includes/header.php, includes/footer.php, includes/functions.php — shared page frame and engine code.
  • users/users.json — every registered account (hashed passwords only).
  • users/recover.php — the "forgot password" page.
  • assets/site.css, assets/site.js, assets/search.js — the default look, the editor toolbar script, and the header search-box dropdown script. These never change; skins layer on top of them.
  • skins/vector2022.css — the default skin. More skins can be added here.
  • images/ — uploaded .jpg/.png files. images/trash/ holds images an admin has deleted but not yet permanently removed.
  • allusers/index.php — public list of accounts.
  • allimages/index.php — public gallery of uploaded images.
  • namespaces/{pagename}.txt — a root-level article.
  • namespaces/{space name}/{pagename}.txt — an article inside a named space.
  • — the default logo, used whenever $Logo is not overridden.
  • dashboard/index.php — the admin panel (skins, colors, pages, images).
  • dashboard/history.json, dashboard/history.php — the admin's own edit history.
  • dashboard/protected.json — the list of protected page titles.
  • sitemap/sitemap.xml, sitemap/sitemap.php — the generated sitemap and the script that builds it.

Getting Started (Installation)

  1. Copy the whole wikiworld folder onto your PHP 8.3 server, or into any folder you will run with PHP's built-in server for local testing.
  2. Open config.php in a text editor.
  3. Set $Server to the exact base URL you will use to reach the wiki — for example https://example.com/wiki or http://localhost:8099. This is not auto-detected; you must type it in, because auto-detection breaks on real hosting (reverse proxies, subfolders, and admin/sitemap pages living in subdirectories would each guess a different, wrong URL).
  4. Set $Sitename, $MetaTitle and $MetaDescription to describe your wiki.
  5. Set $Username and $Password to your admin login.
  6. Choose an $route mode (explained below).
  7. Visit $Server/index.php in a browser. You should see the built-in Main Page.

If you see a message saying the wiki "is not configured yet," it means $Server is still blank in config.php — fill it in and reload.

The $route modes

$route controls the shape of every page's URL:

  • "0" — {$Server}/index.php?title=Pagename (and ?title=Space/Pagename). Works everywhere, no server configuration needed. This is the default.
  • "1" — {$Server}/Pagename (and {$Server}/Space/Pagename). Pretty URLs. Requires the supplied .htaccess and an Apache server with mod_rewrite and AllowOverride All.
  • "2" — {$Server}/namespaces/Pagename. Looks like a direct link into the namespaces/ folder, but is still served by index.php — the .htaccess rules stop anyone from downloading the raw .txt file directly.

Using AWFLWIKIWORLD as a Visitor (not logged in)

Anyone can:

  • Read any page.
  • Use the search box in the header: type, and a dropdown offers up to five matching pages, each with its first image — click one to open it. Press Enter to jump straight to a title, or use Special:Search for full results.
  • Browse Special:AllPages to see every page that exists.
  • Browse Special:Missing to see every page that is linked to but doesn't exist yet.
  • Browse the image gallery at allimages/index.php — see every uploaded picture, in a 7-column grid or a sortable detail table, and use the Copy link / Copy name buttons on any image.
  • Browse the account directory at allusers/index.php.
  • Download any page as a .txt file (the raw AWFLWIKITEXT) or as a self-contained .html file (styled the same as the live page, so it looks right even opened offline).
  • Print any page (which also lets you "print to PDF" from the browser's print dialog).

Visitors cannot create pages, edit pages, or upload images — those require an account.

Using AWFLWIKIWORLD as a Registered User

Creating an account

Go to Special:Register and fill in a username, display name, email, password, and a security question and answer (used later for password recovery). Usernames must be 3–32 characters (letters, numbers, -, _, .), and the name admin is reserved. Once registered, log in at Special:Login.

Recovering a forgotten password

Open users/recover.php. You will be asked for your username, then your registration email and your security answer. If everything matches, you are immediately allowed to set a brand-new password — no email link required. Passwords and security answers are never stored in plain text; only their hashes are kept, so recovery always works by re-checking your answer, never by revealing the old password.

Creating and editing pages

To create a page, search for or navigate to its title and click Create. To edit an existing page, click Edit. Both open the same editor:

  • A toolbar with B (bold), I (italic), U (underline), P (paragraph break), List (bulleted list) and Infobox (inserts a ready-made infobox template) — each wraps or inserts AWFLWIKITEXT around your current text selection.
  • A source editor, the plain text box where the raw AWFLWIKITEXT lives.
  • A visual editor (preview) tab, which sends your current text to the server and shows exactly how it will render, without saving anything yet.

Click Save page to publish your changes immediately.

Note on protected pages: if an admin has protected a page, only an admin can edit it — the Edit link disappears (or is blocked server-side even if requested directly) for everyone else.

AWFLWIKITEXT — the markup language

AWFLWIKITEXT is a small, MediaWiki-inspired markup language. All of it can be typed by hand or inserted with the editor toolbar:

  • Bold: wrap text in three apostrophes, like '''this'''.
  • Italic: wrap text in two apostrophes, like ''this''.
  • Underline: wrap text in two underscores, like __this__.
  • Headings: surround a line with two to six equals signs, like == A Heading == (more equals signs make a smaller heading).
  • Bulleted list: start a line with an asterisk and a space, like * An item.
  • Numbered list: start a line with a hash and a space, like # An item.
  • Paragraphs: leave a blank line between blocks of text — each block becomes its own paragraph automatically.
  • Internal link: [[Page Name]], or [[Page Name|words to display instead]]. A link to a page that does not exist yet is still shown, in a different style, so you can click it to create that page.
  • External link: [http://example.com link text].
  • Bare images: any line that is just an image filename or URL ending in .jpg, .jpeg, .png, .gif, .svg or .webp is automatically rendered as a picture, shown at 250 pixels wide.

Infoboxes

An infobox is a small fact-table, usually shown floated at the top right of an article — exactly like the one at the top of this page. Write one like this:

<infobox> |title=Subject Name| |image=some-picture.jpg| |caption=A short caption for the picture| |Born=1 January 2000| |Occupation=Example, Example| |anything=you like| </infobox>

Rules:

  • title, image and caption are each allowed only once per infobox, and always appear in that fixed order — title first, then the image, then the caption underneath it — no matter where you typed them in the block.
  • Every other line becomes its own row: the part before the equals sign is shown in bold as the row's label, and the part after it is the value. You can add as many of these as you like, and they appear in the exact order you wrote them.
  • image turns any filename or link ending in an image extension into a real picture, shown at 250 pixels wide.
  • caption is shown under the picture and used as its alt text.
  • Outside of an infobox, ordinary images placed directly in the page text are also shown at 250 pixels wide by default.

Uploading images

If the admin has enabled uploads, any logged-in user can add a picture at Special:Upload. Only .jpg and .png files are accepted. Once uploaded, an image can be referenced in any page (bare, or inside an infobox) just by its filename, for example .

Downloading and printing

Every page offers:

  • Download .txt — the raw AWFLWIKITEXT, exactly as stored.
  • Download .html — a single, self-contained HTML file with the page's styling embedded in it, so it looks right even with no internet connection.
  • Print / PDF — opens your browser's print dialog, which on most browsers can also "print" straight to a PDF file.

Using AWFLWIKIWORLD as the Administrator

Log in with the $Username / $Password set in config.php. The admin account is not a row in users/users.json — it is defined directly in the configuration file and always has full control.

The Dashboard

Open the Dashboard link in the navigation bar (dashboard/index.php). It has four sections:

  • Skins — pick which skin is active site-wide, or create a brand-new skin by typing its CSS. The default vector2022 skin can be selected but never edited or deleted; create a new skin instead if you want to change the look.
  • Colors — a small palette for the site's core colors (header background, header text, buttons, button text, wiki page text, and links). Pick a color visually or type a hex code directly; the change applies across the whole wiki immediately, on top of whichever skin is active.
  • Pages — a list of every page, with a delete button per page and a "Delete all pages" button. This is also where you can trigger the sitemap to regenerate on demand.
  • Images — every uploaded image, with a delete button per image.

Managing users

The All users directory lists every account except the admin's own. Anyone can view it; only the admin sees extra controls per row to:

  • Rename a user's username.
  • Set a new password for a user directly — no need to know their old one, since passwords are stored hashed.
  • Remove a user entirely. Removing a user deletes their account record, but never deletes the pages or edits they made — those stay exactly as they are.

The admin account can never remove itself. A regular user can remove their own account at any time (through the admin, since only the admin can perform removals) and, likewise, their past contributions are kept.

Managing images (All Images)

allimages/index.php is visible to everyone, but the admin sees more:

  • Content view — a seven-column grid of thumbnails, each with Copy link and Copy file name buttons.
  • Detail view — a sortable table (click any column heading to sort ascending or descending) showing file name, extension, size, and upload date. Everyone gets these four columns; the admin gets a fifth column of checkboxes.
  • As admin, above the table you get Delete selected (moves the chosen images to images/trash/ rather than erasing them outright), Restore selected (only shown while viewing the "Deleted" tab, moves images back out of the trash), and Rename selected (type a new name into the box next to each checked row, then click to apply).

Page protection

Every page has a Protect button, visible only to the admin. Protecting a page means only the admin can edit it from then on — anyone else who tries (even by submitting the edit form directly) is blocked with a clear message. Clicking Unprotect opens editing back up to every logged-in user. Only the admin can protect or unprotect a page.

Admin edit history

Every time the admin saves a page, AWFLWIKIWORLD quietly records that exact content in dashboard/history.json — the page's name, its filename, its space (if any), the date, and the full text. This history holds only the one latest admin edit for each page; saving the same page again simply updates that one record rather than creating a new one.

Open History in the navigation bar (admin only) to see every recorded page, sortable by any column. Two actions are available, both requiring on-screen confirmation:

  • Delete selected — permanently removes the chosen history record(s).
  • Restore selected — writes the saved content straight back to the live page, overwriting whatever is there now. This is most useful after a regular user's edit has changed a page the admin had previously written, since only admin saves are tracked — restoring brings the admin's version back.

Sitemap generation

sitemap/sitemap.php builds a search-engine sitemap of every page. If the list of pages would make a single file larger than roughly 1&nbsp;megabyte, it is automatically split into several files (sitemap-1.xml, sitemap-2.xml, and so on), and sitemap.xml is (re)written as an index that lists every split file. It also writes robots.txt pointing at that index. Because search engines crawl an index and then follow every entry inside it automatically, submitting the single sitemap.xml address once is enough — you never need to resubmit each split by hand.

Namespaces and Spaces

A page can live at the root (namespaces/Pagename.txt) or inside a named space (namespaces/Space Name/Pagename.txt), written and linked as Space Name/Pagename. Spaces are a simple way to group related pages, the same way a folder groups related files.

Title Handling

Page titles can contain spaces when you type or link them — for example, Buddy DML. Behind the scenes, AWFLWIKIWORLD always stores and links that page using underscores instead of spaces (Buddy_DML.txt, linked as Buddy_DML), while still displaying the title with spaces wherever it is shown to a reader. This matches how MediaWiki itself handles titles, and it means links, downloads and file names never contain raw spaces.

Security Notes

  • Passwords and security-question answers are never stored as plain text — only their one-way hashes are kept in users/users.json.
  • The supplied .htaccess blocks direct web access to every raw .txt and .json file, so page content and account records can never be downloaded straight off the server by guessing a URL — they can only be reached through the wiki's own pages.
  • Only the admin can delete users, delete or protect pages, change the skin or colors, or manage images and history.

Searching and Missing Pages

The search box

Start typing in the search box in the header and a dropdown shows up to five likely matches. Each row shows the first image found on that page (the infobox picture if the page has one, otherwise the first picture in the body — or a letter tile if the page has no image), a divider, and then the page name, like this: [image] | Page Name. Click a row, or use the arrow keys and press Enter, to open that page. Press Esc to close the dropdown.

Matches are ranked so the best come first: an exact page name, then names that start with what you typed, then names with a word that starts with it, then names that contain it. Near-misses are tolerated (a small typo can still find the right page), and pages whose text contains your words come last. If you press Enter without choosing a row, you are still taken straight to the title you typed, exactly as before.

The last row of the dropdown, See all results, opens Special:Search. That page shows up to 50 results, each with a thumbnail and a short text snippet, and offers a link to create the page if nothing with that exact name exists yet. You can also open it directly with index.php?title=Special:Search&q=your words.

Special:Missing (red links)

Special:Missing lists every red link on the wiki — every [[Page Name]] that appears in some page but whose target page doesn't exist yet. Each missing page is shown as [[Page Name]], with a Linked from column naming every page that links to it. Click a missing page and it opens directly, ready to be created. Once the page is created, it drops off the list on its own.

It is a ready-made to-do list for growing the wiki. It ignores category and special-page links, links shown inside code blocks, and links into spaces that don't exist (an admin must create those first). It is also listed in the Special pages directory.

Frequently Asked Questions

  • Do I need a database? No. Everything is stored in plain text and JSON files.
  • Can I move my wiki to another server? Yes — copy the whole folder, update $Server in config.php to the new address, and you are done.
  • Can I change how the wiki looks without touching PHP? Yes — skins are plain CSS files, created and switched from the Dashboard.
  • What happens to a user's pages if their account is removed? Nothing — page content is never tied to the account being present, so removing a user never deletes what they wrote.
  • What if I delete an image by mistake? As admin, open the "Deleted" tab in All Images and restore it — deleted images go to a trash folder rather than being erased immediately.
  • Can a regular user undo someone else's edit? AWFLWIKIWORLD does not keep a version history for every user — only the admin's own latest edit to each page is tracked, in the Dashboard's History section, precisely so an admin can always restore their own last version.

See Also

AWFLWIKIWORLD
The free encyclopedia that anyone can edit
The free encyclopedia that anyone can edit
TypeWebsite, Wiki, Encyclopedia
DeveloperAEDTP WORLD
Base URLhttps://aedtpworld.com/wikiworld
LicenseAEDTP WORLD FREE LICENSE (AWFL)
Copyright© 2026 AEDTP WORLD

AWFLWIKIWORLD

AWFLWIKIWORLD is the free encyclopedia that anyone can edit.

AWFLWIKIWORLD is a free knowledge base for Ghana, Africa and the world. Anyone can read. Anyone with an account can edit.

Welcome

Welcome to AWFLWIKIWORLD

Browse

What we cover

Biographies, music, history, education, technology, culture, Ghana news, African heritage and more.

Start here

Search for a topic above. Or create a new article and share your knowledge.

Actions

Navigation

Footer

Powered by AWFLWIKIWORLD — content available under the AEDTP WORLD FREE LICENSE (AWFL)

External Links

Categories: AEDTP WORLD, WIKI