# Welcome

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

Non-technical

Head over to the Developer Guide for for technical information&#x20;


# About e107

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

e107 is an Open Source Content Management System written in :point\_right: [PHP](http://php.net/) and using the popular Open Source :point\_right: [MySQL](http://www.mysql.com/) database system for content storage. It's completely free, totally customizable, and :point\_right: [actively developed](https://github.com/e107inc/e107/pulse).

{% hint style="info" %}
TODO: MariaDB, MySQLi, PDO, etc.&#x20;
{% endhint %}

## Features of e107

The e107 website system provides all the basic features you need to build a basic website or a fully interactive web portal. The website has a user management system, which controls access to the main areas of your e107 web system, which are fully controllable. A typical e107 installation will usually include:

* Public Areas
* Members Area
* Admin Area

{% hint style="info" %}
TODO: ADD LINKS to areas&#x20;
{% endhint %}

You can make you some, if not most or even your whole website totally private, useful for a families, clubs, businesses, intranets, business-to-business and other collaborative projects.

The e107 web site system is fully extensible and has a flexible API system which enables the core features of the system to be extended, without changing the core system code.&#x20;

## The (ancient?:older\_man: ) history of e107

{% hint style="info" %}
The text below is written in **August of 2004** by ***Jailist**,* the original developer of e107.
{% endhint %}

> I've never kept a journal or list of dates corresponding to e107's evolution, so all of the following is recounted from memory and is probably full of chronological errors
>
> In late 1998, I coded and opened a website called Litestep2000 related to the Windows shell replacement Litestep. The site got fairly popular and a few months later became ls2k.org, when it moved to a php enabled server and I started my first tentative steps into scripting. After about 18 months of coding and maintaining this site, I was offered the chance by the then main admin c0mrade to take over the main Litestep theme site, litestep.net. I coded the site and I'm proud to say it continued to grow in popularity while I, DeViLbOi and jugg were at the helm.
>
> Due to running such a busy site, I was always getting requests for site code, ot portions of the code we used on litestep.net from other members of the Litestep community, but due to time restraints and real life, I was very rarely able to help, so I set about taking some of the code from litestep.net and ls2k.org and turning it into a more modular and distributable codebase.
>
> Over the space of a couple of months, websites (mainly Litestep and shell related) started popping up, and feature requests started coming in, so I decided to get a domain and give the code a name. I settled on e107 as it was turning out to be my seventh main project, and I purchased e107.org and set up a small e107 powered website there.
>
> The site opened in July 2002, and e107 was a couple of months old at that stage, and at version 2.1. I continued to code and release revisions until 5.4 when I decided on a version numbering change, and the next version released was 0.6, which saw a major revamp of the code. At this time new versions and revisions were coming out on almost a daily basis (imagine that )
>
> I was still maintaining the e107 codebase alone, but accepting contributions from users, notably McFly, Lolo\_Irie, Cameron and a few others, but with version 0.612 I decided to ask a few of these contributors to join a newly formed development team, consisting of McFly, chavo, Cameron and Lolo\_Irie, and myself. I was proud that these people accepting places as not only are they good coders, they were all good people as well (and still are)
>
> A couple of versions later, I decided to take a step back from the development side of e107, as maintaining what had in a short period become a quite popular system had taken it's toll on my real life, and I was not only tired but having to deal with the regular attacks on e107.org. The development team have continued to release new versions (at the time of writing e107 stands at v0.617) and make improvements and refine the e107 core.
>
> I started tentative development of a new system in March 2004, codenamed nostromo. This isn't intended to replace e107 and will probably never see the light of day due to real life issues (again pfft). This code, or at least the site it produces, can be seen at my personal site jalist.com.
>
> So there we have it, e107, due mainly to the work of the dev team, plugin coders and the people who selflessly and mostly thanklessly man the forums with support for less experienced users, has come a very long way in it's first two years of life, and hopefully will continue to grow for the next two years and beyond - my sincerest thanks to everyone that has contributed in even the smallest way.
>
> Jailist, \
> August 2004

## The more recent history

TODO:

* 0.7 EOL
* 0.8 to v2
* v2 (recent release 2.3)&#x20;
* Link to releases

Back in September 2015, [e107 v2.0.0 was officially released](https://github.com/e107inc/e107/releases/tag/v2.0.0). Currently, any older version of e107 (such as version 1.0.4) is considered to be *Legacy,* and is also referred to as *e107 v1.x*.&#x20;

{% content-ref url="/pages/-M8BCjW\_YInTCBiWCCMN" %}
[Development process & releases](/introduction/development-process-and-releases)
{% endcontent-ref %}

## License

e107 is licensed under the [GNU General Public license version 3](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html), sometimes shortened to GPLv3.


# Development process & releases

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Development process

Voluntary developers, spare time&#x20;

Github as HUB

Release cycles

Moments with increased activity - Link to Github activity - pulse

Github contributors list

## Releases

### Current release

* 2.3.0

### Changelogs

LINK TO PREVIOUS RELEASES GITHUB


# Community support & contribution

The e107 community has a long history of users helping each other out. Providing support, reporting bugs, requesting new features, submitting pull requests, and checking up on upcoming milestones.  There's lots of ways to get involved in the development of e107.

### Getting Support

Having trouble getting e107 up and running? Something not working the way you think it should? \
Unfortunately we do not have time to maintain a full e107 support community ourselves, but there are a few ways to get help:

* If you think you have found a bug, then please see the section below on [Reporting Bugs.](/introduction/community-support-and-contribution#reporting-bugs)
* If you need help with how to use e107 or a development question (such as how to create a theme or plugin) - please see our :point\_right: [developer manual ](http://devguide.e107.org)
* You can also seek assistance at the :point\_right: [e107help.org Questions and Answers](http://www.e107help.org/) site where you can get friendly community support from other users,
* If you are using the e107 Legacy software, you may sometimes find answers to your question on our :point\_right: [Legacy forum](http://old.e107.org/) archives.
* For real-time technical chat, and community support, please visit us on :point\_right: [Gitter](https://gitter.im/e107inc/e107)
* For other comments, please use our official community presences on Facebook, and Twitter as well as unofficial community presences on Reddit.

### Reporting Bugs

Found a problem with e107? Feel free to :point\_right: [submit an issue](https://github.com/e107inc/e107/issues) on the GitHub project. But please keep the following in mind:

* Don't expect the problem to be resolved instantly. The project is made possible by volunteers who also have to manage full-time jobs, family time, and many other things that get in the way.
* Please search to see if your bug was already reported.
* After doing the above, feel free to submit an issue. Be sure to provide as many details as possible. eg. "It doesn't work" is not so helpful when trying to trace problems. The Github template will help you fill in helpful information.&#x20;

{% hint style="success" %}
**Developers are always welcome to support the community in addressing raised issues through** [**pull-requests**](/introduction/community-support-and-contribution#submitting-pull-requests) **(see below).**
{% endhint %}

### Security Issues

Found a security issue with e107? Despite our best efforts, sometimes these do crop up. We're committed to resolving these as quickly as possible.&#x20;

So if you spot a security issue, please contact us directly at [security@e107.org ](mailto:security@e107.org)so that we can deal with these away from the eyes of unscrupulous hackers that may seek to exploit these issues and disrupt users' websites.

{% hint style="danger" %}
**Please do not report security issues in publicly viewable areas until you have received a confirmation that the issue has been addressed!**&#x20;
{% endhint %}

### Feature requests

Got a new feature you'd like to see included in e107? Please use our :point\_right: [Github issues](https://github.com/e107inc/e107/issues) page to submit your idea. Here are some things to keep in mind:

* Please search to see if your feature request already exists, and if so, give it a :thumbsup: "+1" &#x20;
* Understand that we may not get to the feature request right away, and that some features may be best suited to a 3rd-party plugin, rather than the core system of e107.

### Submitting pull requests

Found a way to solve a bug in e107? Here are a few things to remember:

* Please submit all pull requests on :point\_right: [Github](https://github.com/e107inc/e107).
* Please focus on existing unresolved issues and leave a comment that you're working on it.
* Place the issue number in your description when you make your commit. eg. "Fixes #123 - Icons missing"
* Use a separate branch for each issue you work on.

{% hint style="info" %}
:point\_right: [Github Guides](https://guides.github.com/activities/forking/) is a particularly helpful resource that explains how to submit pull requests!
{% endhint %}

### Project Milestones

Want to keep up with what's planned for e107? Check out our :point\_right: [milestones](https://github.com/e107inc/e107/milestones) on Github .

### Send your thanks&#x20;

Hopefully you think e107 is awesome. We've put hundreds (if not thousands) of hours into the project and have made it completely available to the open source community. If you'd like, here are a couple of ways you can show your appreciation for all the hard work:

* Follow us on :point\_right: [Github](https://github.com/e107inc/e107), [Facebook](https://www.facebook.com/e107CMS), [Twitter](https://twitter.com/e107) and [Youtube](http://youtube.com/e107inc).
* Consider becoming a developer and participating in the ongoing development.
* Write inspirational articles, record videos, tell others how you're using e107 and inspire others to adopt e107.
* :point\_right: [Make a donation](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\&hosted_button_id=GBCVG47XCM4EY) to help speed along development.


# Languages & translation

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

* Link to "[Language](/administration/settings/language)"

## Language Packs

* Link to "[Language](/administration/settings/language)"

## Translation process

* Translators are voluntary contributors
* Link to github e107translation organization repository


# Requirements

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Minimal

* A Web-Server (Apache or Microsoft IIS)&#x20;
* PHP v5.6 or higher with the following libraries installed: :point\_right: [xml](http://php.net/manual/en/ref.xml.php), [cURL](http://php.net/manual/en/book.curl.php), [MB String](http://php.net/manual/en/book.mbstring.php), [GD ](http://php.net/manual/en/book.image.php)
* MySQL 4.x or 5.x.
* FTP access to your webserver and an ftp program such as Filezilla

## Recommended

* A Linux based Webserver running Apache 2.x, PHP 7.x and MySQL 5.0 or higher. (LAMP)
* A registered Domain Name
* Access to a webhosting or server Control Panel (such as cPanel, Plesk or DirectAdmin)


# Downloading e107

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

Download pages link

Github (developers)


# Installation

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

<details>

<summary>Step 1: </summary>

</details>

<details>

<summary>Step 2:</summary>

</details>


# Configuring e107

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

TODO:

* Describe basic steps directly after installation
* e.g. changing sitename, and setting up other preferences&#x20;
* changing themes
* etc.&#x20;


# Backup & restore

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

webhosting control panel

e107 options:

* exporting
* [cron](/administration/tools/schedule-tasks)

restore

....


# Upgrading

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Upgrading from v2.x

## Upgrading from v1.x or lower

Always upgrade to 1.0.4 first

Recommend backups, if possible local environment.&#x20;

For the local upgrade:

* Make sure you always hold a backup with the original database and all the files.
* Then on your local installation, uninstall and delete everything that is unused (plugins/themes), get rid of old content. The less risk of any conflicts.
* Then overwrite with the v1 to v2 upgrade files (in the ZIP that you downloaded with the link above).
* Go directly into the admin area (navigate to /e107\_admin/admin.php) and follow the instructions. You should get messages about database updates. Make sure those are completed first before using your website further.


# Folders, files, hash

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Folder structure

## Hash

## Files

### filetypes.xml


# Introduction

This area provides you with all the features you need to manage most of your website.

The administration interface of your website, is called the *Admin Area*. This area provides all the features you need to manage most of your website without the need for any knowledge of programming or the use for developer tools (such as FTP and phpMyAdmin).&#x20;

The *Admin Area* is divided up into several sections. Here's a short overview of the sections and the available functionality within those sections.&#x20;

{% hint style="success" %}
:thumbsup: **TIP:** As of e107 v2.x, the Admin Area has been redesigned to be much more user-friendly and allow for lots of customization. Learn more about its [functionalities](/administration/functionalities).&#x20;
{% endhint %}

## [Dashboard](/administration/dashboard)

The main page of the *Admin Area* that is shown when you enter the administration interface is called the *dashboard*. The dashboard provides a quick overview of your website's status, and provides quick links to specific areas within the Admin Area.&#x20;

{% hint style="success" %}
The dashboard can also be [**customized**](/administration/dashboard#customize-the-dashboard) to your liking. You can move around the different panels, and customize the quick links to specific areas of your website.&#x20;
{% endhint %}

## [Settings](/administration/settings)

This area is used to set preferences and the basic configuration of your website.&#x20;

| Section                                                         | Description                                                                                                               |
| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| [Cache](/administration/settings/cache)                         | Settings related to the caching system to improve performance of your website.                                            |
| [Emoticons](/administration/settings/emoticons)                 | Settings related to displaying emoticons on your website.                                                                 |
| [Front Page](/administration/settings/front-page)               | Controls the ability to ban visitors and users from your website.                                                         |
| [Language](/administration/settings/language)                   | Everything related to languages used on your website.                                                                     |
| [Meta Tags](/administration/settings/meta-tags)                 | Allows you to set so-called metatags on your website, commonly used for search engines.                                   |
| [Navigation](/administration/settings/navigation)               | Manages the navigation areas on your website and allows you to set sitelinks.                                             |
| [Preferences](/administration/settings/preferences)             | Contains all settings that you can can customize on your website.                                                         |
| [Search](/administration/settings/search)                       | Settings related to the search functionality on your website,                                                             |
| [URL Configuration](/administration/settings/url-configuration) | Everything related to the URLs that are being used on your website. Can be used to set Search Engine Friendly (SEF) URLs. |

## [Users](/administration/users)

This area contains all functionality related to the user accounts on your website:

| Section                                                            | Description                                                                    |
| ------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| [Admin password](/administration/users/admin-password)             | Allows to change the password of the *main administrator.*                     |
| [Administrators](/administration/users/administrators)             | Controls admin permissions for all administrators.                             |
| [Banlist](/administration/users/banlist)                           | Controls the ability to ban visitors and users from your website.              |
| [Extended User Fields](/administration/users/extended-user-fields) | For additional information that can be displayed on the user profile.          |
| [Mail](/administration/users/mail)                                 | Send mails out to your registered members.                                     |
| [User Classes](/administration/users/user-classes)                 | Define User Groups (classes) that can have specific permissions/functionality. |
| [Users](/administration/users)                                     | Main overview of all users registered to your website.                         |

## [Content](/administration/content)

This area is used to manage all the content that is displayed on your website.&#x20;

| Section                                                    | Description                                                        |
| ---------------------------------------------------------- | ------------------------------------------------------------------ |
| [News](/administration/content/news)                       | Manage all the news items stored on your website                   |
| [Pages/Menus](/administration/content/pages-menus)         | Manage all content stored in either pages or menus on your website |
| [Public Uploads](/administration/content/public-uploads)   | Manage all the uploads made by the users on your website           |
| [Welcome Message](/administration/content/welcome-message) | Manage the Welcome Message that can be shown in a specific place   |

## [Tools](/administration/tools)

This area contains specific tools that you can use to maintain your website.&#x20;

| Section                                                | Description                                                                        |
| ------------------------------------------------------ | ---------------------------------------------------------------------------------- |
| [Database](/administration/tools/database)             | Contains tools specific to interacting with the database.                          |
| [File Inspector](/administration/tools/file-inspector) | Used to inspect the validity of all source code files                              |
| [Maintenance](/administration/tools/maintenance)       | Can be used to put your website into maintenance mode                              |
| [Notify](/administration/tools/notify)                 | All notification settings for your website.                                        |
| [Schedule Tasks](/administration/tools/schedule-tasks) | Allows you configured scheduled tasks (or "*cron jobs*") that run on your website, |
| [System Logs](/administration/tools/system-logs)       | Contains all of the log information that is stored on your website                 |

## [Manage](/administration/manage)

This area contains all the manager pages for everything related to comments, media, menus, plugins and themes.&#x20;

| Section                                                     | Description                                                     |
| ----------------------------------------------------------- | --------------------------------------------------------------- |
| [Comments Manager](/administration/manage/comments-manager) | Allows you to manage all the comments placed on your website.   |
| [Media Manager](/administration/manage/media-manager)       | Allows you to manage all media stored on your website.          |
| [Menu Manager](/administration/manage/menu-manager)         | Allows you to configure the placement of menus on your website. |
| [Plugin Manager](/administration/manage/plugin-manager)     | Allows you to manage everything plugin related on your website. |
| [Theme Manager](/administration/manage/theme-manager)       | Allows you to manage everything theme related on your website.  |

## [Misc](/administration/misc)

This area is commonly used by plugins to show links to the administration interface of that specific plugin.&#x20;

## [About](/administration/about)

This area contains pages that show information about your server configuration and e107 installation.&#x20;

| Section                                    | Description                                                                          |
| ------------------------------------------ | ------------------------------------------------------------------------------------ |
| [PHP Info](/administration/about/php-info) | Displays specific information about your server configuration and e107 installation. |
| [Docs](/administration/about/docs)         | A collection of (mostly outdated) documentation - soon to be removed.                |
| [Credits](/administration/about/credits)   | Shows an overview of all those who have contributed to the development of e107.      |

###


# Functionalities

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

...

## Functionalities

* Searching
* Filtering
* Options column - selecting the columns you want to view
* Batch options&#x20;


# Dashboard

{% hint style="danger" %}
&#x20;**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

TODO:

* Icons&#x20;
* Panels
  * Website status
  * Latest panel
  * Status panel
  * Latest e107 news&#x20;

## Customize the dashboard

TODO:

* How to customize the dashboard - flexpanel&#x20;


# Settings

This area is used to set preferences and the basic configuration of your website.&#x20;

| Section                                                         | Description                                                                                                               |
| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| [Cache](/administration/settings/cache)                         | Settings related to the caching system to improve performance of your website.                                            |
| [Emoticons](/administration/settings/emoticons)                 | Settings related to displaying emoticons on your website.                                                                 |
| [Front Page](/administration/settings/front-page)               | Controls the ability to ban visitors and users from your website.                                                         |
| [Language](/administration/settings/language)                   | Everything related to languages used on your website.                                                                     |
| [Meta Tags](/administration/settings/meta-tags)                 | Allows you to set so-called metatags on your website, commonly used for search engines.                                   |
| [Navigation](/administration/settings/navigation)               | Manages the navigation areas on your website and allows you to set sitelinks.                                             |
| [Preferences](/administration/settings/preferences)             | Contains all settings that you can can customize on your website.                                                         |
| [Search](/administration/settings/search)                       | Settings related to the search functionality on your website,                                                             |
| [URL Configuration](/administration/settings/url-configuration) | Everything related to the URLs that are being used on your website. Can be used to set Search Engine Friendly (SEF) URLs. |


# Cache

## Introduction

To help improve system response and minimize bandwidth usage, e107 has a built-in cache system.&#x20;

A cache could be described as a temporary memory. Each time a page is accessed, the database is queried (information is looked up or stored for example). The results of a query to the database are held in a temporary file for re-use rather than constantly looking up the results from the database. This will vastly improve speed on your site and minimize the number of calls to the database.

The cache system settings can be accessed by going *Admin Area > Settings > Cache*.&#x20;

{% hint style="info" %}
When the cache is enabled, major changes to your website may not be visibly reflected immediately. In this case, to see the changes instantly, [clear](/administration/settings/cache#clearing-caches) and [disable](/administration/settings/cache#enabling-and-or-disabling-caches) the cache before you start your changes.&#x20;
{% endhint %}

{% hint style="warning" %}
**For developers:** if you are developing your own theme or plugin, it is best to turn caching **off.** Otherwise any changes you make will not be reflected immediately.
{% endhint %}

## Caches

There are five different caches:

| Cache name         | Description                                                                                                                                                                                         |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Content Cache      | The C*ontent Cache* contains page rendered content. This includes any content (html) that you see rendered on your website.                                                                         |
| System Cache       | The *system Cache* contains system configuration information. This includes site preferences, currently active menus, and so on. No actual content will be contained here.                          |
| JS/CSS Cache       | The *JS/CSS Cache* contains Javascript en CSS files.                                                                                                                                                |
| DB Structure Cache | The *Database Structure Cache* contains system information about database tables structure, needed by various core routines. No actual content will be contained here.                              |
| Thumbnail Cache    | The *Thumbnail Cache*  contains binary image data. This way the webserver is not required to process as much upon every page load (and thus lowers the impact on the performance of the webserver). |

## Cache management

### Enabling and/or disabling caches

You can enable or disable the *Content Cache*, the *System Cache* and the *JS/CSS Cache* by using the switches and clicking the "Set cache status" button.&#x20;

{% hint style="info" %}
The *DB Structure Cache* and *Thumbnail Cache* cannot be disabled as this would impact the performance of the webserver too severely.&#x20;
{% endhint %}

### Clearing caches

You can clear individual caches or all caches at once, by selecting the appropriate option for the dropdown menu and clicking the "Delete" button.&#x20;


# Emoticons

## Introduction

Emoticons or "emotes" are the little smiley icons displayed in text. Certain keystrokes will be converted into the image, such as `:)` becomes a smile icon and the associated image (:slight\_smile:) is displayed instead of the plain text characters.

With emoticons activated, standard smiley text strings will be replaced by their respective emoticon images throughout the content in your site.

## Emote activation

To enable emotes on your site navigate to *Admin Area > Settings > Emoticons* and check the "Activate emoticons?" box in the "**Emote activation**" tab. \
\
Then click the update button.&#x20;

## Installed packs

In the next tab along, "**Installed Packs"**, you will see a list of the emote packs which are installed. This will display the default emote pack issued with a new e107 system, plus those you have installed.

* **Name** - the name of the emote pack
* **Emotes** - sample images that will display
* **Status** - shows which pack is active, if any.
* **Options** for the system administrator.
  * [**Configure**](/administration/settings/emoticons#configure)
  * [**Generate XML**](/administration/settings/emoticons#generate-xml)

### Configure

This page displays all emoticons that display when a specific text is entered - the so-called *emote code.*&#x20;

* Image - the image file that is displayed.&#x20;
* Name - the filename of the image that is displayed.&#x20;
* Emote codes - the text someone can enter to display the emote.

{% hint style="info" %}
**TIP:** It is possible to associate multiple emote codes with one emoticon. To do so, simply separate them by spaces. For example: `:D :oD :-D`
{% endhint %}

You can **Save Configuration** or **Cancel** the changes using the appropriate buttons.

### Generate XML

If you've manually created or modified the definitions, you can create an XML file for import elsewhere.

{% hint style="warning" %}
To automatically generate the XML, please make sure that the directory `e107_images/emotes/default/`is writeable.&#x20;
{% endhint %}


# Front Page

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

The Front Page settings control the pages that are shown to the visitors of your website. There are two types of pages that can be defined:&#x20;

| Page            | Description                                                         |
| --------------- | ------------------------------------------------------------------- |
| Home Page       | The page that is used when accessing the 'home' of your website.    |
| Post-login page | The page that is used after a user has logged in onto your website. |

Each of these pages can be different for different [User Classes](/administration/users/user-classes)

To determine which page is shown, the [Front Page Rules](/administration/settings/front-page) are used.&#x20;

{% hint style="info" %}
By default, when no settings are changed, the `news.php` (News) page is shown.

**TODO: CHECK TO BE SURE. IS IT WELCOME MESSAGE NOW?**
{% endhint %}

## Front Page Rules

The screen displays a list of current rules, including the default rule which is shown below:

| Order | User Class        | Home Page | Post-login page |
| ----- | ----------------- | --------- | --------------- |
| 1     | Everyone (public) | News      | None            |

The rules are searched in order. The first rule that matches the current user is applied. That rule then determines the Home Page and, if set, the Post-login page, for that specific user.&#x20;

* Their order can be changed by clicking on the arrows.&#x20;
* Rules may be deleted by clicking on the 'Delete' icon, or edited by clicking on the 'Edit' icon.
* To add a new Front Page Rules, click the [**Add new rule**](/administration/settings/front-page#create-new-front-page-rules) button.

{% hint style="info" %}
If no matching rule is found: .... **TODO:** check (news.php, welcome message?)
{% endhint %}

{% hint style="info" %}
**TODO:** add example with different userclasses to clarify the ordering system
{% endhint %}

## Create new Front Page Rules

There are two tabs: one for defining the `Home Page` and one for defining the `Post-login page`.&#x20;

* For each tab, you can select an area of your website that will be shown. You can also choose to define a *Custom URL* to link to another website for example.&#x20;

{% hint style="info" %}
Some plugins have specific Frontpage settings. When such a plugin is installed, you will find those settings listed here as well.&#x20;
{% endhint %}

* You can then specify to which **User Class** the rule is applied. Each rule can be applied to  everybody on your website or only to specific groups of users (such as guests). <br>
* To save the Front Page rule, click the "Update" button.&#x20;


# Language

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

## Preferences

### Default Site Language

### Admin-Area Interface Language

### Multi-Language Database Tables

### Load language files only for current language

### Use Parked Subdomains with these domains to set site Language

### Language by Domain Name

### Display only errors during verification

## Language-Packs


# Meta Tags

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

Meta Tags are are one of the tools used by search engines to help classify websites and improve search results. Ensure that you enter appropriate values in the Meta Tags screen to help search engines classify your website correctly. This is part of making your website Search Engine Optimised (SEO).

## Description

Enter an accurate description of your website of around 20 words. It's important to actually describe your company, product or organisation rather than the technical features your website. It is helpful to think about what your visitors will be using as search terms.

## Keywords

Enter keywords and phrases separated by commas. Again, think about what your visitors will be searching for.

## Copyright

Enter your copyright information.&#x20;

## Author

Enter the name of the owner of the materials, person or company names.

## Custom tags (inside \<head> tags)&#x20;

## Custom tags (after \<body>)

## Custom tags (before **\</body>**)

## Use news title and summary as the meta-description on news pages.

Checking this box inserts automatically uses the "News Title" field - so it is also important to use appropriate news titles!


# Navigation

Previously "Site links"

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

The site links core feature is used to manage your the main navigation links in your e107 website.

## Manage

This page lists existing links, you can filter them with the search option at the top of the page. You can edit and delete links from the main page.

You can check the link and then perform a number of actions on all the selected links, such as Making Sub-Links, set User Class, Render Type and open type.

## Create/Edit

### Icon

### Name

### Template

### Parent

### URL

### SEF URL

### Userclass

### Description

### Order

### Linked Open Type

### Function&#x20;

## Link Options

### Show Description as Screen-Tip

Description will be shown when the mouse hovers over the link

### Activate expanding sub-menus

Sub-menus will display only after clicking their parent. (Link parent is disabled)

## Sub Links Generator

### Create sublinks from

* Download Categories
* News Categories

### Create sublinks under which link?

Choose a parent to make a sublink.&#x20;


# Preferences

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

{% hint style="info" %}
TODO:

* Introductory text about site preferences
* Add description for all preferences
  {% endhint %}

## Basic options

### Site information

{% hint style="info" %}
**TIP:** Please also refer to the "[Siteinfo](/core-menus/siteinfo-menus)" plugin information.&#x20;
{% endhint %}

#### Site name

#### Site URL

#### Redirect all requests to sire URL

#### Site Link Icon/Button

#### Site Logo

#### Site Tagline

#### Site Description

#### Site disclaimer

The site disclaimer field can be used for displaying a disclaimer such as copyright information. You are able to use :point\_right: [constants ](https://devguide.e107.org/templates-shortcodes-and-constants/constants)but not emoticons. The site disclaimer is available everywhere on your website by using the shortcode (`{SITEDISCLAIMER}`) or constant (`SITEDISCLAIMER`).&#x20;

If the left empty, the default e107 copyright information is displayed:&#x20;

```
Proudly powered by <a href="https://e107.org">e107</a> which is released under the terms of the GNU GPL License.
```

{% hint style="success" %}
:thumbsup: **TIP:** If you use `YYYY` in the text, it is automatically replaced with the current year, e.g.: `2021`
{% endhint %}

### Email & Contact Info

#### Main site admin

#### Main site email

#### Name for responses to emails from site

#### Email address for emails from site

#### Send test email

#### Emailing method

#### Default email format

#### Site Contact Information

* Add note about new fields (when this preference is empty) (as of 2.3.1)&#x20;

#### Site Contact Person(s)

#### Contact Form Visibility

#### Contact Form Filtering

#### Allow users to email copy of contact email to self

### GDPR Settings

#### URL to the Privacy Policy

#### URL to the website terms and conditions

### User Registration/Login

#### User registration systems

There are three different options for the user registration system:

| Option                                   | Description                                                                                                                                |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| **Register & Login**                     | Allows users to register and login as members on your site.                                                                                |
| **Login Only**                           | Existing users are able to log in but they are not able to create an account.                                                              |
| <p></p><p><strong>Disabled</strong> </p> | Registration system is disabled. Users are not able to log in via the public area of your website, nor are they able to create an account. |

{% hint style="info" %}
**Note:** When the **user registration system** is set to **disabled**, the only way to login when this setting is enabled, is directly through the [*Admin Area*](/administration/introduction)*.*
{% endhint %}

#### New user verification method

If you allow registration, you can set if/how new user registrations are approved:

| Option                 | Description                                                                                                                                                            |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **No Verification**    | Users are not verified. Once they signed up by filling in the form, they can login to their account immediately.                                                       |
| **Email Verification** | A registration email is sent to the e-mail address that was filled in. The user needs to confirm their e-mail address by clicking the link in the email they received. |
| **Admin Approval**     | No registration email is sent. A user can be only be approved manually by an administrator (through the Admin Area).                                                   |

{% hint style="success" %}
:thumbsup: **TIP:** You can use the [notification system](/administration/tools/notify) to be notified when a [new user registers](/administration/tools/notify#session-events) on your website.&#x20;
{% endhint %}

#### User login method

You can set the way how a registered user can login onto your website:

| Option                          | Description                                                                       |
| ------------------------------- | --------------------------------------------------------------------------------- |
| **Username/Email and Password** | A user can use either their username or their e-mail address to login, both work. |
| **Email and Password**          | A user can only use their *e-mail address* to login (not their username)          |
| **Username and Password**       | A user can only use their *username* to login (not their e-mail address)          |

#### Restrict website to members only

When this option is turned on, all areas except the signup page and the [frontpage](/administration/settings/front-page) of your website are restricted. No other content is displayed to guests (users who are not logged in).&#x20;

*Frontpage*

When enabling this option, there are two options for your frontpage:&#x20;

* **Login page** - a login form is displayed for guests.&#x20;
* **Membership page** - a message about limited access is displayed, but there is no login form.&#x20;

*Members-only URL exceptions*

You can set exceptions for member limitations in the next field. Members only-mode will be disabled for URLs that match any of the terms in this list. Enter one URL per line.&#x20;

#### Auto-login new user after clicking on signup link

When enabled, the user is automatically logged in after clicking on the link in the signup email. If disabled, the user has to explicitly log in (using their username/email and password) after signing up.&#x20;

#### Display Name maximum length

This setting determines the maximum length of the user's display name. Minimum is set to 5.&#x20;

#### Login Name maximum length

This setting determines the maximum length of the user's login name. Minimum is set to 10.

#### Minimum Length for Passwords

This setting determines the maximum length of the user's password. Minimum is set to 5

#### Maximum Signups permitted from the same IP address

This setting determines the maximum amount of sign-up's from the same specific IP address that is permitted. If left blank, this feature is disabled.

### Signup Page Options

#### Field options

#### Use COPPA on signup page

#### Text to display on signup page

#### Text to display after signup from has been submitted

#### Generate random predefined login names according to a pattern

#### Disallow usernames

#### Display name and login name may be different for

#### Use 'classic' nextprev look

### Comments/Posting

#### Allow users to post comments

#### Allow anonymous posting

#### Display new comment icon

#### Turn on nested comments

#### Allow posters to edit their comments

#### Show emoticon images on comment form

#### Moderate Comments made by

#### Comment Sorting

#### User class which can email links to items on site

### File Upload

#### Allow File Uploads

#### Maximum file size

#### Permission

#### Filetype upload limits

## Advanced options

### Display information

#### Display theme information

#### Display render time

#### Display sql queries

#### Display Memory Usage

### Admin Display

#### Display plugins info

#### Unique 'Plugins info' menu

#### Separate plugins into their own menu

#### Display navigation-bar labels

#### Collapse navigation side-bar by default

#### Display field help tips&#x20;

### Content Filter

#### Make URLs clickable

#### Replace clickable URLs

#### Links in new window

#### Filter profanities

#### Replace string

#### Filter words

#### Wrap long words in main text

#### Wrap long words in menu text

#### Class which can post HTML

#### Class which can post \<script> and similar tags

#### Frontend Inline-Editing

#### Filter HTML content

#### HTML Abuse filter

#### Enable WYSIWYG textareas

### Security & Protection

#### Use SSL only

#### Display CAPTCHA on signup page

#### Display CAPTCHA on login page

#### Display CAPTCHA on forgotten password page

#### Display CAPTCHA on admin-area login page

#### Disallow multiple logins

#### User Tracking method

#### Cookie/Session name

#### Session Lifetime

#### Session Save Method

#### Password encoding

#### Password transmission method

#### Enable flood protection

#### Flood timeout

#### Auto Ban

#### Maximum failed logins before ban

#### Display warning when main administrator password hasn't changed for at least 30 days

### Date Display options

#### Short date format

#### Long date format

#### Forum date format

#### Date/Time Input-Field format

#### Timezone

### Libraries

#### Use CDN for core libraries

#### CDN provider

### Advanced Features

#### Developer mode

#### Log all page accesses

When enabled, this feature logs *every* page access to a log file. For more information see [Access Log](/administration/tools/system-logs#access-log).&#x20;

#### Compress Site Output Using gzip

#### Select e107 authentication method

* TODO: Only available if alt\_auth plugin is installed. Refer to alt\_auth  docs.&#x20;

#### Check for e107 update once/day


# Search

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

...

## Main page

### Searchable Areas

Searchable Areas You can set access User Class, display Order and Edit Search Config from this screen.

By default the following Core Features and Plugins are listed.

* News
* Comments
* Registered Members
* Downloads
* Custom Pages
* Chatbox
* Google

Additional Plugins will be listed here once installed.

### Searchable Comments Areas

Set User Class

## Preferences

### Search page accessible to user class

### Highlight keywords on referred to page

### Display relevance value

### Allow user to select searchable areas

### Allow users to search more than one area at a time

### Searchable areas selection method

### Restrict time allowed between searches (max 5 mins)

### Search sort method

**\* MySql**

* PHP limited to *\_* results (leave blank for no limit)

If your site includes Ideographic languages, such as Chinese and Japanese, you must use the PHP sort method.

### Only match whole words

This setting only applies when the search sort method is PHP. If your site includes Ideographic languages such as Chinese and Japanese you must have this set to off.


# URL Configuration

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

## Profiles

## Profile Aliases

## Configurations

## Settings

### Remove filename from the URL

### Associate Root namespace

### Redirect to System not found page

### Automated SEF string creation type


# Users

This area contains all functionality related to the user accounts on your website:

| Section                                                            | Description                                                                    |
| ------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| [Admin password](/administration/users/admin-password)             | Allows to change the password of the *main administrator.*                     |
| [Administrators](/administration/users/administrators)             | Controls admin permissions for all administrators.                             |
| [Banlist](/administration/users/banlist)                           | Controls the ability to ban visitors and users from your website.              |
| [Extended User Fields](/administration/users/extended-user-fields) | For additional information that can be displayed on the user profile.          |
| [Mail](/administration/users/mail)                                 | Send mails out to your registered members.                                     |
| [User Classes](/administration/users/user-classes)                 | Define User Groups (classes) that can have specific permissions/functionality. |
| [Users](/administration/users)                                     | Main overview of all users registered to your website.                         |


# Admin password

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

Place where you can change your password as administrator. \
And you can use the password generator here.


# Administrators

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

* General info about administrators

## Maintaining Administrators

You can view and set Website Administrators permissions from the **Admin Area » Users » Administrators**. The page lists all users with site administrator privilege type. You can edit or remove user admin status.

First create a user account & set as administrator from the drop-down in the user list.

* [User Maintenance](https://app.gitbook.com/Users)

Set admin permissions you would like to give to your new admin.

* \#Administrator Permissions

To remove admin permissions, edit the user account and remove all check boxes.

Next Delete the Administrator Privilege using the red X icon.

This does not remove their [user](https://app.gitbook.com/Users) account but only removes their administrator status.&#x20;

## Administrator Permissions

For your website security, care needs to be taken when authorising admin permissions. You are recommended to only grant the minimum required admin options to meet needs.

Click the Update Administrator button once you have checked the required options.

### Grant Core and Plugin Function Access

Clicking the Update Administrator icon opens a screen which displays a list of e107 admin and plugin features which enables you to grant access to the required system functions.

### Creating a Main Site Administrator

The last option on the list is 'Main Site Administrator' check this box to create further main admins.

[Category:User Guide](https://app.gitbook.com/Category:User_Guide) [Category:Admin](https://app.gitbook.com/Category:Admin) [Category:Users](https://app.gitbook.com/Category:Users) [Category:Administrators](https://app.gitbook.com/Category:Administrators) [Category:Permissions](https://app.gitbook.com/Category:Permissions) [Category:Security](https://app.gitbook.com/Category:Security)


# Banlist

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

The Banlist is a tool for restricting access to your e107 website. It will always put less load on the server if you are able to ban unwanted visitors before e107 even starts executing; where this is not practicable for any reason the e107 banning facilities cut in early on during execution - before the database is opened.

### Automatic Bans

e107 automatically bans individual IP addresses if they attempt to flood the site, as well as addresses with failed logins.&#x20;

There are a number of types of ban:

* Unknown (Most likely a ban that was imposed before e107 was upgraded from 0.7.x)
* Manual (Entered by an admin)
* Flood (Attempts to update the site too fast)
* Hit count (Attempts to access the site too frequently from the same address)
* Login failure (Multiple failed login attempts from the same user)
* Imported (Added from an external list)
* User (IP address banned on account of user ban)

All these individual types can be treated differently by the options available in [Messages/Ban Periods](/administration/users/banlist#messages-ban-periods)

## Blacklist

The user banning/whitelisting system is arranged to minimise the impact on the server from banned users. All checking of IP addresses is carried out before the database is opened.

### Banlist Main Page

This page shows a list of all IP addresses, hostnames and email addresses which are banned. (Banned users are shown on the user administration page)

* Ban Date
* Type
* IP / Email / Reason
* Notes
* Ban expires
* Options
  * Edit
  * Delete Ban

### Add to Banlist

You can ban users from your site at this screen. Either enter their full IP address or use a wildcard to ban a range of IP addresses. You can also enter an email address to stop a user registering as a member on your site.

#### Banning by IP address:

Entering the IP address 123.123.123.123 will stop the user with that address visiting your site. Entering an IP address with one or more wildcards in the end blocks, such as 123.123.123.\* or 214.098.\*.\*, will stop anyone in that IP range from visiting your site. (Note that there must be exactly four groups of digits or asterisks)

IPV6 format addresses are also supported, including '::' to represent a block of zero values. Each pair of digits in the end fields may be a separate wildcard, represented by 'xx'. (Note that digits cannot appear after you've entered 'xx').

#### Banning by email address

Entering the email address <foo@bar.com> will stop anyone using that email address from registering as a member on your site. Entering the email address \*@bar.com will stop anyone using that email domain from registering as a member on your site.

#### Banning by user name

This is done from the user administration page.

* Enter IP, email address, or host:
  * Note: To ban a user by user name, go to the users admin page:
  * Note: Reverse DNS is currently disabled; it must be enabled to allow banning by host. Banning by IP and email address will still function normally.
* Reason:
* Notes:
* Ban expires:

## Whitelist

This page shows a list of all IP addresses which are explicitly permitted. This list takes priority over the ban list - it should not be possible for an address from this list to be banned. All addresses must be manually entered.

### Add to Whitelist

You can specify IP addresses which you know to be 'friendly' here - generally those for the main site admins, to guarantee that they can always gain access to the site. You are advised to keep the number of addresses in this list to an absolute minimum; both for security, and to minimise the impact on site performance.

* Enter IP, email address, or host:
  * Note: To ban a user by user name, go to the users admin page:
  * Note: Reverse DNS is currently disabled; it must be enabled to allow banning by host. Banning by IP and email address will still function normally.
* Reason:
* Notes:

## Failed logins

## Import/Export

This page allows you to transfer banlist data to and from this site as CSV (Comma Separated Variable) files.

* Data Export
  * Select the types of ban to export. The fields will be delimited by the chosen separator, and optionally included within the selected quotation marks.
* Data Import
  * You can choose whether the imported bans replace existing imported bans, or whether they add to the list. If the imported data includes an expiry date/time, you can select whether this is used, or whether the value for this site is used.
* CSV Format
  * The format of each line in the file is: IP/email, date, expiry, type, reason, notes. Date and expiry are in the format YYYYMMDD\_HHMMDD, except that a zero value indicates 'unknown' or 'indefinite'. Only the IP or email address is essential; the other fields are imported if present.
  * Note: You will need to modify filetypes.xml to allow admins to upload the 'CSV' file type.

####

#### Export Types

* Unknown (Most likely a ban that was imposed before e107 was upgraded from 0.7.x)
* Manual (Entered by an admin)
* Flood (Attempts to update the site too fast)
* Hit count (Attempts to access the site too frequently from the same address)
* Login failure (Multiple failed login attempts from the same user)
* Imported (Added from an external list)
* User (IP address banned on account of user ban)
* CSV Export format:
* Field Separator
* Quote (round each value)

#### Import Choices

* Replace all existing imported bans
* Use expiry date/time from import
* Import File:
* CSV Import format:
* Field Separator
* Quote (round each value)

## Messages/Ban Periods

This page allows you to specify any message text to be displayed to a banned user, and also the default duration of the ban (this can be overridden for each individual ban).

Message If you wish the banned user to get a blank screen, use an empty message. Otherwise enter the message to be displayed. As a special case, if the first characters of the message are 'http:' or 'https:', the entire message is treated as a URL, and the banned user is redirected to that URL. Thus you can, for example, direct the user to your 'site rules' page or other help, or display a simple HTML page. If there is no query part to the URL, the type of ban is appended in the form \[-n], where n is a digit 1..9 representing the type of ban. See the e107\_handlers/iphandler\_class.php file for details of these.

* Ban duration

The default ban duration can be set to one of a number of fixed values:

* * Indefinite
  * 1 hours
  * 2 hours
  * 3 hours
  * 6 hours
  * 8 hours
  * 12 hours
  * 1 day(s)
  * 36 hours
  * 2 day(s)
  * 3 day(s)
  * 4 day(s)
  * 5 day(s)
  * 7 day(s)
  * 14 day(s)
  * 28 day(s)

Click **Update** when finished.

You can set an expiry period for each type of ban, in which case the entry is removed once the ban period expires. Otherwise the ban remains until you remove it.

You can modify the ban period from this page - times are calculated from now.

## Options

### Use reverse DNS to allow host banning

If enabled, the user's IP address is looked up to obtain the associated domain name. This accesses an external server, so there may be a delay before the information is available - and if the server is off-line, there may be a very long delay.

You can choose to look up server names on all site accesses, or only when adding a new ban.

* * Turning this option on will allow you to ban users by hostname, rather then just IP or email address.
  * NOTE: This may affect pageload times on some hosts, or if a server isn't responding

### Reverse DNS accesses when adding ban

* Reverse DNS accesses when adding ban
  * When a ban occurs, this option adds the domain of the banned address to the reason

### Set maximum access rate

This sets the maximum number of site accesses permitted from a single user or IP address in any five-minute period, and is intended to detect denial of service attacks. At 90% of the selected limit, the user receives a warning; on reaching the limit they are banned. Different thresholds may be set for guests and logged-in users.

* Set maximum access rate
  * for guests
  * for members
  * This determines the maximum number of site accesses in a 5-minute period

### Retrigger ban period

This option is only relevant if the option to ban users for a specified time, rather than indefinitely, has been used. If enabled, and the user attempts to access the site while banned, the ban period is extended (as if the ban had just started).

For this option to function, the relevant scheduled task must also be enabled. This task recalculates all the expiry times for the bans. An interval of 5-60 minutes is suggested, dependent on the shortest ban period used.

* * This will restart the ban period if a banned user accesses the site

### Date/time format for ban log

### Remove expired bans from list


# User Classes

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

You can select classes for editing, and also delete existing classes, from this page. User class handling has been significantly improved in 2.0

## Manage/Create

The main user class page contains a list of configurable classes - i.e. those you set up for your own purposes. The main list contains basic details by default (bold below), and can be easily changed so that it lists the fields you are interested in.

* **ID**
* Class Icon
* **Class Name**
* **Class Description**
* Class Manager
* Class Parent
* Class Visibility
* Class Type

In the options column, you can edit and delete the existing links.

### Define/Edit Classes

You can add new user classes via the **Define/Edit Classes** link, which opens the **User Class Settings** screen. Enter your new user class details here.

You can create classes, or edit existing classes from this page. This is useful for restricting users to certain parts of your site. For example, you could create a class called TEST, then create a forum which only allowed users in the TEST class to access it.

The class name is displayed in drop-down lists and the like; in some places the more detailed description is also displayed.

The class icon may be displayed in various places on the site, if one is set.

To allow users to determine whether they can be a member of a class, allow them to manage it. If you set 'no-one' here, only the admins can manage membership of the class

The 'visibility' field allows you to hide the class from most members - applies in some of the drop-down lists and checkboxes.

The 'class parent' allows you to set a hierarchy of classes. If the 'top' of the hierarchy is the 'Everybody/Public' or 'Member' classes, the classes lower down the hierarchy also have the rights of their parent class, and that classes' parent, and so on. If the 'top' of the hierarchy is the 'No One/Nobody' class, then rights are accumulated in the opposite direction - a class accumlates all the rights of a class below them in the tree. The resulting tree is shown in the lower part of the page; you can expand and contract branches by clicking on the '+' and '-' boxes.

#### Class Name

This is the short name displayed in selectors screens.

#### Class Description

Information about applicability of class.

#### Class Icon

Optional icon associated with class - directory, select from the list.

#### Class Type

* Standard
* Group

A group brings together a number of individual classes

#### Class Manager

Users in this class can add/remove themselves from the class being edited

#### Classes in group

PRIVATEMENU PRIVATEFORUM1

Checked classes are members of the group

#### Class Visibility

Determines which users can see this class in drop-down lists

#### Class Parent

If the top of the tree is 'No One', permissions increase towards the top of the tree

If the top of the tree is 'Everyone', permissions increase as you go down the tree

## Initial User Class

Set the classes to which a new member of the site is assigned initially. If you have verification enabled, this assignment may take place either when the user signs up, or when the user is verified.

And remember that if you are using hierarchical user classes, a user is automatically a member of all classes 'above' each selected class in the tree

### Set initial classes

\=

Existing classes: None

These classes are set for any newly signed up user - either immediately, or once their site membership has been verified

* PRIVATEMENU (Grants access to private menu items)
* PRIVATEFORUM1 (Example private forum class)

Point at which classes set: (ignored if no verification)

* Initial Signup
* Verification by Email or Admin

Choose from existing classes and select a set point and update the setting.

## Options/Setup

The Setup options allow you to create and remove the default class hierarchy. You can see the effect by looking at the user tree. This won't destroy your other class information, and you can modify or remove the hierarchy later.

You should only need to rebuild the class hierarchy if database corruption occurs

### User class setup

Setup Options

`Caution! Only use these options if you understand what they do.`

NB More to follow once I understand them.

#### Set a default user hierarchy

(the hierarchy can be modified later)

#### Clear the user hierarchy

(this sets a 'flat' user class structure)

### User Class Maintenance

#### Rebuild class hierarchy

(This may be required if database corruption occurs)

[Category:User Guide](https://app.gitbook.com/Category:User_Guide) [Category:Admin](https://app.gitbook.com/Category:Admin) [Category:Users](https://app.gitbook.com/Category:Users) [Category:User Class](https://app.gitbook.com/Category:User_Class) [Category:Security](https://app.gitbook.com/Category:Security) [Category:WhatsNew](https://app.gitbook.com/Category:WhatsNew)


# Extended User Fields

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

Extended user fields allow you to add additional fields to store custom information on your users profiles. Fields can be of different types for different kinds of information, for example a text box, radio button or drop down list selection.

{% hint style="info" %}
**TIP:** Be aware of the local Data Protection regulations for your jurisdiction!&#x20;
{% endhint %}

## Managing Extended User Field

Extended user Fields are managed via the Admin->Users->Extended User Fields pages.

From here you can add, edit and delete fields and categories and activate/deactivate predefined user fields.

## Adding/Editing Extended User Fields

After clicking the **Add new field** link or the **edit** button next to an existing field the Extended User Field form will be shown.

### Field name

This is the name of the field as stored in the table, it must be unique from any other field, and must not be used in the main user table. It will automatically be prefixed with `user_` (so no need to add this).

Because the field name must be unique, if you are not sure (or can't check) what other field names are already used make sure yours is specific to you.

For example, to add a field for a **game name** using just `name` is probably not wise. `gamename` would be better and `mysite_gamename` would probably ensure it is unique.

Also make sure you only use letters, numbers and underscore characters.

### Field text:

This is the displayed name of the field in rendered pages. For example *Game name*.

### Field Type

Select the type of the field. Field types are explained in more detail below.

#### Values

For certain field types, you can add pre-defined values here, for example items in a list that the user can select. Add one entry per line (use the **Add new value** button to add a new value/line).

This is explained in more detail for each field type below.

#### Default Value

If the field can have a default value enter it here. This value will be used if the user has not yet entered their own value for the field.

#### Field include text

Any valid W3C [attributes](http://www.w3.org/TR/html401/sgml/dtd.html#attrs) may be entered here. These are the HTML attributes used to describe the field in more detail.

For example for a text input field you might use ''class='tbox' size='40' maxlength='80' '' to give the field a CSS class of *tbox*, make it 40 characters wide and allow a maximum of 80 characters.

#### regex validation code

Enter the [Regular Expression](http://uk2.php.net/manual/en/ref.pcre.php) string that will need to be matched to make it a valid entry. **regex delimiters are required**.

Regular expressions are too complex to go in to here in detail. Refer to the [PHP Manual](http://uk2.php.net/manual/en/ref.pcre.php) for more information.

Here are some example regular expressions. # is used as the delimiter here

|                                    |                                                                                                                                                             |
| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Expression**                     | **Meaning**                                                                                                                                                 |
| 1.  ^(\[0-9a-zA-Z]){1,16}$#        | Any alphanumeric character, length must be between 1 and 16                                                                                                 |
| 1.  ^(\[0-9a-zA-Z\\-\\\_]){1,16}$# | As above, but also allows underscore and dash characters                                                                                                    |
| 1.  ^e107$#                        | Text must contain e107 somewhere in it                                                                                                                      |
| 1.  \bweb\b#i                      | Text must contain the word *web* (so *website* would **not** match                                                                                          |
| 1.  ^human$#i                      | Text must be the word *human* and nothing else - if the field was the question *Are you human? If so, answer "human"* could act as a basic *captcha* field. |

*Note: these patterns are supplied 'as is', not all have been tested! If you find a mistake (or a useful pattern) please edit this table*

For testing your regular expressions these links can be helpful:

* [supercrumbly PHP regex tester](http://www.supercrumbly.com/assets/html/phpregextester/)
* [Firefox add-on (note: uses JavaScript rather than PHP syntax which are not identical)](http://sebastianzartner.ath.cx/firefoxExtensions/RExT/)

#### regex failure text

Enter the error message that will be shown if the Regular Expression validation fails. This will be displayed to the user in a pop up. Avoid using single quote characters as this breaks the JavaScript used for the pop up.

#### Category

Select a Category that this field belongs to (can be none). Categories are explained in more detail below.

#### Required

Determines if the field is required (mandatory) or not and where it is displayed.

* **No - will not show on signup page** field is not required and is shown on the sign up and users settings page. The may choose to fill it in or ignore it.
* **Yes - will show on signup page** field is required and must be completed when users sign up to the site.
* **No - show on signup page** field is not required and is only shown on the users settings page. The may choose to fill it in or ignore it.

#### Applicable

Determines which user class, and so which users, this field will apply to. It will not be available to users not in the selected user class.

#### Read access

This will determine which user class, and so which users, can see the value in the user page for other users.

**NOTE:** Setting this to 'Read Only' will make it visible to Admin and the member only.

#### Write access

This will determine which user class, and so which users, can see the value in the their user settings page.

#### Allow user to hide

Setting this to yes will allow the user to hide this value from non-admins.

### Field Types

#### Text box

An HTML [text input](http://www.w3.org/TR/html401/interact/forms.html#h-17.4) field. A single line of free format text.

#### Radio buttons

An HTML [radio button](http://www.w3.org/TR/html401/interact/forms.html#h-17.4) group. Used to allow the user to make a single selection from a number of options.

Good practice is to use this instead of a Drop-Down list where the number of options is five or less.

Use *Values* to set the value for each radio button required, for example *red,green,blue*.

#### Drop-Down menu

An HTML [select](http://www.w3.org/TR/html401/interact/forms.html#h-17.6) field. Used to allow the user to make a single selection from a number of options displayed in a list.

Good practice is to use this instead of a Radio button group where the number of options is more than five.

Use *Values* to set the value for each item in the list that is required, for example *red,orange,yellow,green,blue,indigo,violet,black,white,none*.

To get a drop down list, set *Field include text* to ''size='1' ''.

For a list that shows 5 items and scrolls, set *Field include text* to ''size='5' ''

#### DB Table field

Selecting this option changes the *Values* to a list of tables in the database. Selecting a specific table presents three more lists.

There should be four values given **ALWAYS**:

* **Table** the database table to get values from
* **Field Id** The table field containing the data (usually an Id (integer)) that will be the stored value
* **Display value** The table field that contains the data that will be displayed to the user as a drop down lit to allow selection
* **Order** The table field that determines the sort order of the displayed data

For example

* **Table** user
* **Field Id** user\_id
* **Display value** user\_name
* **Order** user\_name

will display a list of all users from the `user` table, displayed and sorted by `user_name`, when selected the `user_id` will be stored in the users profile.

#### Textarea

An HTML [textarea](http://www.w3.org/TR/html401/interact/forms.html#h-17.7) field. Used to allow the user to input multiple lines of text.

#### Integer

Similar to *Text box* but only allows input of an integer.

#### Date

Similar to *Text box* but only allows input of a date.

#### Language

Allow user to select from a list of the installed languages.

#### Predefined List

***(New in 0.8.a)***

This field is used where the user is required to select from a fixed list, and the stored value in the database is to be different to that displayed.

At present the only supported list is the timezone - enter 'timezones' in the value box (this specifies the name and, by implication the type of the list).

It is also possible to [add your own lists](https://app.gitbook.com/E107_user_extended#Predefined_List)

## Categories

You can create categories to allow you to group extended user fields together. For example, you might create fields for different parts of an address (street, city, etc.) and then create a category called *Address* to group the address fields in to one section on the page.

When you add/edit a category you can specify:

#### Category name

The name of the category, as displayed on the page to the user

#### Applicable

Determines which user class, and so which users, fields in this category will apply to.

#### Read access

This will determine which user class, and so which users, can see the fields in this category in the user page for other users.

**NOTE:** Setting this to 'Read Only' will make it visible to Admin and the member only.

#### Write access

This will determine which user class, and so which users, can see the fields in this category in the their user settings page.

## Predefined Fields

This page allows you to activate or deactivate the e107 predefined extended user fields.

The fields are:

| Name     | Type     | Description                      |
| -------- | -------- | -------------------------------- |
| aim      | text     | AIM Address                      |
| birthday | date     | Birthday                         |
| country  | db field | User Country (includes db table) |
| homepage | text     | User homepage (url)              |
| icq      | text     | ICQ Number                       |
| language | language | User Language                    |
| location | text     | User location                    |
| msn      | text     | MSN Address                      |
| yahoo    | text     | Yahoo! Address                   |

[Category:User Guide](https://app.gitbook.com/Category:User_Guide) [Category:Admin](https://app.gitbook.com/Category:Admin) [Category:Users](https://app.gitbook.com/Category:Users) [Category:Extended Fields](https://app.gitbook.com/Category:Extended_Fields) [Category:Security](https://app.gitbook.com/Category:Security) [Category:WhatsNew](https://app.gitbook.com/Category:WhatsNew)


# Mail

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

This core feature allows you to send emails to selected registered site users.

## Mailout Main Features

* Create/Send Mail
* Saved emails
* Pending Mailshots
* Held Mailshots
* Completed Mailshots
* Preferences
* Maintenance

## Create/Send Mail

* To
  * Choose User Class
  * User-Match (User Name, User Login, User Email)
    * contains (enter phrase)
  * Last Visit
    * Before/Equal/After: Date (dd-mm-yy)
  * User-Match (2nd filter)
  * User-Match (3rd filter)
* Email Title (not sent):
  * Saved Title for the mail message
* From Name:
  * From User Name
* From Email:
  * From Email Address
* Cc:
  * Copy to
* Bcc:
  * Blind Copy to
* Subject:
  * Email Subject
* Send format:
  * Text Only
  * Text and HTML
  * Include Theme
* Include images in email
* There are currently no existing downloads.
* Message
  * BB Codes
    * Features BB Code
      * |DISPLAYNAME|
      * |USERNAME|
      * |SIGNUP\_LINK|
      * |USERID|
      * |USERLASTVISIT|

Choose **Save** or **Send Email** when finished.

Create an email, give it a meaningful title, and select the list of recipients. You can save everything as a template for later, or send immediately.

Email addresses may be contributed by plugins (such as newsletter), and duplicates are removed when the mail is sent Any attachment is selected from the list of valid downloads.

Mail may be sent as plain text (most universal, and least at risk of being classed as spam), or as HTML (in which case a plain text alternative is automatically generated). The theme style may optionally be added to the email

## Saved emails

Select and use a saved email template to send a mailshot. Delete any template no longer required.

* Mail Ref
* Title
* Subject
* Options
  * Edit/Send Mail
  * Delete Mail

## Pending Mailshots

List of mailshots released for sending, together with current status. The mail scheduler task will process these emails as it is able, taking account of the earliest and latest sending dates you set.

## Held Mailshots

List of emails which have been prepared for sending, but not yet released.

## Completed Mailshots

List of completed mailshots. Allows you to see the sending results.

## Mailshot Preferences

### Configure mailshot options.

A test email is sent using the current method and settings.

### Emailing Method

Use SMTP to send mail if possible. The settings will depend on your host's mail server.

### Default email format

Emails may be sent either in plain text only, or in HTML format. The latter generally gives a better appearance, but is more prone to being filtered by various security measures. If you select HTML, a separate plain text part is added.

### Bulk mail controls

The values you set here will depend on your host, and on the number of emails you send; it may be possible to set all values to zero so that the mail queue is emptied virtually instantly.

### Bounced Emails

You can specify an email address to receive the return response when an email is undeliverable. If you have control over your server, you can specify the separate scheduler-driven auto-processing script; this receives bounce messages as they arrive, and updates status instantly. Otherwise you can specify a separate email account, which can be checked either periodically (using the scheduler), or manually via the user options menu. Normally this will be a standard POP3 account; use the TLS-related options only if specifically required by your host

### Email Address Sources

If you have additional mail-related plugins, you can select which of them may contribute email addresses to the list.

### Logging

The logging option creates a text file in the system log directory. This must be deleted periodically. The 'logging only' options allow you to see exactly who would receive emails if actually sent. The 'with errors' option fails every 7th email, primarily for testing

* Send test email
  * Click to send email to
* Emailing method
  * If unsure, leave as php
* SMTP Server:
* SMTP Username: (optional)
* SMTP Password: (optional)
* SMTP Features
  * (Use SSL for gmail/googlemail)
  * Send bulk SMTP emails in blocks
* Use VERP for bulk mailing
* Sendmail-path:
* Default email format
  * (Used for some non-bulk emails)
* Bulk mailing controls
  * Pause bulk mailing every emails for seconds.
* Used mostly with SMTP keepalive.
  * A pause of more than 30 seconds may cause the browser to time-out
  * Maximum number of emails to send per scheduler tick
  * Value will depend on a number of factors, including how often your mail queue scheduler job is triggered and the rate at which your ISP will accept outgoing mail. Zero to clear queue each time
* Supplementary email address sources
  * calendar\_menu
* Mailshot logging
  * Include email info in log
* Bounced Email Processing
* Processing method
* Email address
* Auto-process script
  * /opt/lampp/htdocse\_HANDLER\_ABSbounce\_handler.php
  * IMPORTANT! You need to make this file executable
  * (Your server has to be configured to use this script)
* Last Bounce Processed
  * Never
* Email address
* Incoming Mail server
* Account (user) Name
* Password
* Account type
* Delete Bounced Mails after checking
* Check for bounces automatically
  * If checked, you will need to activate the task in the scheduler
* Save Changes

## Mailshot Maintenance

Maintenance functions for the mail database.

* Tidy database tables
  * Does various consistency checks on the data, corrects counts, deletes temporary data

Click **Do It!** to execute the command.

[Category:User Guide](https://app.gitbook.com/Category:User_Guide) [Category:Admin](https://app.gitbook.com/Category:Admin) [Category:Users](https://app.gitbook.com/Category:Users) [Category:Mail](https://app.gitbook.com/Category:Mail)


# User Classes

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Users

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

This page shows a list of your registered members. You can update their settings, give them administrator status and set their user class among other things.

The sort order can be changed by clicking on the column heading. The displayed columns can be changed by clicking on 'Edit Display Options', selecting the required columns, then clicking on 'Search/Refresh'

### Info

Show this user's profile (can also click on their display name)

### Edit

Edit the settings for this user.

### Ban/Unban

Determine whether the user can access the site.

### Activate

This activates a user who would normally have replied to the activation email.

### Resend Email

Resends the activation email to the user.

### Test email

Check user's email address for validity (doesn't send an email)

### Set Class

Set class membership for a user

### Delete

Totally removes the user from membership of the site (any forum posts, comments etc remain, and are flagged as from a 'Deleted User')

## Users Front Page

This is the main user management page. You can configure the display fields using the options icon, the available fields are listed below with the defaults in bold.

* **ID**
* Status
* **Display name**
* Login Name
* Real Name
* Custom title
* Password
* Photograph
* Avatar
* Email address
* Signature
* Hide email
* XUP file
* **User class**
* Join Date
* Last Visit
* Current Visit
* Comments
* Last Post
* IP Address
* Ban
* Prefs
* Visits
* Admin
* Perms
* Password Change

## Quick Add User

This page allows you to create a user, who is immediately a normal member of the site, with whatever class memberships you assign.

If you check the 'Send confirmation email with password to new user' box, the login name and password are sent in clear, so the user must change their password on receipt.

* Display name
* Username (login name)
  * Random user name
* Real Name
* Password
  * Random password
* Re-type Password
* Email Address
* Require Confirmation
  * Send confirmation email with password to new user
* Set Classes
  * PRIVATEMENU (Grants access to private menu items)
  * PRIVATEFORUM1 (Example private forum class)
* Make admin
  * Set Permissions

Extended fields would also be displayed here.

## Prune Users

Bulk deletes unwanted users from the database. These may be either those who failed to complete the registration process, or those whose email addresses bounced. Any forum posts, comments etc remain, and are flagged as from a 'Deleted User'.

### Delete Unverified Users

### Delete Unverified Users Over 30 Days

### Delete Bounced Users

## Options

Sets various options affecting all users.

### Allow Avatar Upload

If enabled, users may upload an avatar of their choice, which is stored on your server. This can have security implications.

### Allow Photo Upload

If enabled, users may upload a photo of their choice, which is stored on your server. This can have security implications.

### Maximum avatar width (in pixels)

(default is 120)

### Maximum avatar height (in pixels)

(default is 100)

### Allow users to rate users

* Yes
* No

### Allow comments in user profile

* Yes
* No

### Force user to update settings

Enabling this option will automatically send the user to their user-settings if a required user field is not filled.

* Yes
* No

### Delete unverified users

Delete signups if unverified after this amount of time - leave blank to not use this option This option is ignored if user signups are admin moderated - set in minutes.

### Online User Tracking

This must be enabled to keep track of most user activity, including counts of online members. It does increase database activity significantly.

### Member Information

Determines which class of members can view the member list.

### New user probationary period (days)

Admin can impose restrictions during this period in some areas - set in days.

## User ranks

Rankings can be created for your users.

* Type
* Rank Name
* Lower Threshold
* Lang Prefix
* User Rank Image

[Category:User Guide](https://app.gitbook.com/Category:User_Guide) [Category:Admin](https://app.gitbook.com/Category:Admin) [Category:Users](https://app.gitbook.com/Category:Users) [Category:Permissions](https://app.gitbook.com/Category:Permissions) [Category:Security](https://app.gitbook.com/Category:Security) [Category:WhatsNew](https://app.gitbook.com/Category:WhatsNew)


# Content

This area is used to manage all the content that is displayed on your website.&#x20;

| Section                                                    | Description                                                        |
| ---------------------------------------------------------- | ------------------------------------------------------------------ |
| [News](/administration/content/news)                       | Manage all the news items stored on your website                   |
| [Pages/Menus](/administration/content/pages-menus)         | Manage all content stored in either pages or menus on your website |
| [Public Uploads](/administration/content/public-uploads)   | Manage all the uploads made by the users on your website           |
| [Welcome Message](/administration/content/welcome-message) | Manage the Welcome Message that can be shown in a specific place   |


# News

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## e107 News Management Overview

**Admin Area » Content » News**

## News Front Page

**Admin Area » Content » News**

* ID
* Title
* SEF URL
* Author
* Date stamp
* Category
* Visibility
* Render-type
* Thumbnail
* Sticky
* Comments
* Comment Total

## Create News Item

**Admin Area » Content » News » Create News Item**

General Body will be displayed on the main page; extended will be readable by clicking a 'Read More' link.

Show title only Enable this to show the news title only on front page, with clickable link to full story.

Activation If you set a start and/or end date your news item will only be displayed between these dates.

### General Information

#### Category

#### Title

#### Summary

#### Author

#### Body

#### Extended

#### Upload

Upload an image or file for use in the news item

#### Image

* **Refresh**

\====Image selector===

* e107\_images/generic/blank.gif

Choose an image for this news item

#### Preview

#### Post News to Database

* Stay in edit mode

### SEO

#### Friendly URL string

To make this work, you need to enable 'SEF URLs' config profile from URL Configuration area

#### Meta keywords

#### Meta description

### Advanced Options

#### Comments

* Enabled
* **Disabled**

#### Allow comments to be posted to this news item

#### Render type

Select how and where news item is posted

* Default - post to front page
* Title only - post to front page
* Post to other news menu
* Post to other news menu 2

#### Activation

Activate between entered dates.

Only show news item between certain dates

#### Date stamp

Check box to update date stamp of news item to current time

Set the date stamp for the current news item

#### Visibility

Choose which visitors will see news item

* Everyone (public) (Fixed class)
* PRIVATEMENU (Grants access to private menu items)
* PRIVATEFORUM1 (Example private forum class)
  * ... Active user class list is displayed
* Guests (Fixed class)
* Members (Fixed class)
* No One (inactive) (Fixed class)
* Admin (Fixed class)

#### Sticky

If selected, news item will appear above all others Select if news item will be sticky

## Categories

**Admin Area » Content » News » Categories** You can separate your news items into different categories, and allow visitors to display only the news items in those categories.

Upload your news icon images into either ../e107\_themes/-yourtheme-/images/ or themes/shared/newsicons/.

### Create News Category

#### Category Name

Required field

#### Category friendly URL string

To make this work, you need to enable 'SEF URLs' config profile from URL Configuration area

#### Category meta keywords

Used on news category list page

#### Category meta description

Used on news category list page

#### Category management permission

Which group of site administrators are able to manage this category related news Category Icon

Click **Create News Category** / **Update News Category** / **Cancel**.

### Existing News Categories

* ID
* Icon
* Category / SEF String
* Manage Permissions
* Options
  * Edit
  * Delete
* Order

## News Preferences

**Admin Area » Content » News » News Preferences**

### URL identifier

Set a string to be used in news pages URL. This will only work proper .htaccess rules and eURL config Resolved URL based on current value: \<http\:/> /yourwebsite. tld/news/

#### Manage Site URLs

Configure Core URLs

* Main
* Default
* News
* Default
* Config Profile \[SEF URLs]
* SEF URLs
  * You'll need mod\_rewrite installed and running on your server (Apache Web Server). After enabling this profile go to your site root folder, rename htaccess.txt to .htaccess and uncomment the corresponding line.
  * Profile Location: /e107\_files/e\_url/core/news/apache\_mod\_rewrite/
* Users
  * Default

Configure Plugin URLs

* The list is empty

### Show News-Category Footer Menu

* Enabled

### News Category Columns?

### News posts to display per page?

### News posts to display in archive ?

First update the preferences with the changed display per page setting, then update again after setting the news archive preference. (0 is un-activated)

### Set the title for the news archive

### Modification of the news-item author can be done by

### Submit-News maybe accessed by

### Enable WYSIWYG editor on Submit-News page

* Enabled

### Enable Image uploading on Submit News page

* Enabled

### Automatic resizing of submitted image

width in pixels or leave blank to disable.

### Show new date header

* Enabled

If this box is ticked, a box containing the date will be displayed above news items posted on a new day, useful for distinguishing posts on different days

### Use non-standard template for news layout

* Enabled

if the theme you're using has a news layout template, use this instead of the generic layout

### Text to show at the top of Submit News

## Submitted News

**Admin Area » Content » News » Submitted News**

Lists submitted items pending approval.

## Maintenance

**Admin Area » Content » News » Maintenance**

Recalculate comment counts

[Category:User Guide](https://app.gitbook.com/Category:User_Guide) [Category:Admin](https://app.gitbook.com/Category:Admin) [Category:Content](https://app.gitbook.com/Category:Content) [Category:News](https://app.gitbook.com/Category:News) [Category:SEO](https://app.gitbook.com/Category:SEO) [Category:Meta Tags](https://app.gitbook.com/Category:Meta_Tags) [Category:WhatsNew](https://app.gitbook.com/Category:WhatsNew)


# Pages/Menus

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Custom Pages/Menus

'''Admin Area » Content » Custom Menus/Pages '''

You can create the majority of your website content using Pages and Menus. From this screen you can create custom menus or custom pages with your own content in them.

## Pages

**Admin Area » Content » Custom Menus/Pages » Pages**

This screen lists your existing content pages by ID and Title, with a direct link to the page url, plus available options, Edit and Delete.

You can personalize the field list by clicking the options button at the top of the table.

* Title
* Template
* Author
* Date
* Userclass
* Rating - with Moderate options
* Comments - with Moderate options

## Menus

**Admin Area » Content » Custom Menus/Pages » Menus**

The Menus Listing is identical to the above, and it displays Menus content instead.

## Create page

**Admin Area » Content » Custom Menus/Pages » Create Page**

Begin creating your new page by filling in the data in the **Create new page** form.

### Template

* Default
* Other1
* Other2

### Title / Caption

Enter a Page Title.

### Text

This is where you enter your main content. The BB Code editor will be enabled by default. Install the the WYSIWYG editor, if you prefer.

### Upload Images

Choose a file from your local system, and click upload. The system informs you were the file will be uploaded. Requires file uploads to be allowed.

Upload to: e107\_images/custom/

### Page Options

Additional page controls.

### Allow page to be rated

* Enabled
* Disabled

### Allow comments

* Enabled
* Disabled

### Display author and date information

* Enabled
* Disabled
* Password protect page
  * Enter password to protect page
* Create link in main menu
  * Enter link name to create
  * Page / link visible to
    * Everyone
    * Guests
    * No One, Inactive
    * Members
    * Admin
    * Main Admin
    * ... (User Class List)
    * Everyone but (except)
      * Not Guests
      * Not Members
      * Not Admin
      * Not Main Admin
      * Not ... (User Class List)

Click **Create Page** to save your work.

## Create menu

**Admin Area » Content » Custom Menus/Pages » Create Menu**

Begin creating your new menu by filling in the data in the **Create new menu** form.

### Menu Name

Enter a Name for use in the menu manager.

### Title / Caption

Enter a Page Title.

### Text

This is where you enter your menu content. The BB Code editor will be enabled by default. Install the the WYSIWYG editor, if you prefer.

### Upload Images

Choose a file from your local system, and click upload. The system informs you were the file will be uploaded. Requires file uploads to be allowed.

Upload to: e107\_images/custom/

Click **Create Page** to save your work.

To activate your menu, go to Menu Manager.

## Options

**Admin Area » Content » Custom Menus/Pages » Options**

### List pages if no page selected

By going to page.php without a query, then display the list of available content (index page).

* Enabled
* **Disabled**

### Expiry time for cookie (in seconds)

Number of seconds

* 84600

[Category:User Guide](https://app.gitbook.com/Category:User_Guide) [Category:Admin](https://app.gitbook.com/Category:Admin) [Category:Content](https://app.gitbook.com/Category:Content) [Category:Custom Pages](https://app.gitbook.com/Category:Custom_Pages) [Category:Custom Menus](https://app.gitbook.com/Category:Custom_Menus)


# Public Uploads

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Welcome Message

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

This page allows you to set a message that will appear at the top of your front page all the time it's activated. You can set a different message for guests, registered/logged-in members and administrators.

You can avoid a redirect to News by placing your home page content in a welcome message for guests. This would be good for your SEO, if that is important for you.

## Welcome Messages List

* ID
* Message
* Visibility
* Options
  * Edit
  * Delete

## Create New Message

### Message Caption

Enter a Title for the message.

### Message Text

Enter the content for the page.

### Visibility

Set the userclass for the message.

## Preferences

### Enclose

If ticked, the message will be rendered inside box

### Override standard system

Allows you to use {WMESSAGE} shortcode wherever you wish to place the message, such as in a menu.


# Tools

This area contains specific tools that you can use to maintain your website.&#x20;

| Section                                                | Description                                                                        |
| ------------------------------------------------------ | ---------------------------------------------------------------------------------- |
| [Database](/administration/tools/database)             | Contains tools specific to interacting with the database.                          |
| [File Inspector](/administration/tools/file-inspector) | Used to inspect the validity of all source code files                              |
| [Maintenance](/administration/tools/maintenance)       | Can be used to put your website into maintenance mode                              |
| [Notify](/administration/tools/notify)                 | All notification settings for your website.                                        |
| [Schedule Tasks](/administration/tools/schedule-tasks) | Allows you configured scheduled tasks (or "*cron jobs*") that run on your website, |
| [System Logs](/administration/tools/system-logs)       | Contains all of the log information that is stored on your website                 |


# Database

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

....

## Check for Updates

Run this tool and check any issues, if in doubt, search the e107 forums for your issue.

## Check database validity

This database utility verifies the database tables for the core, plus any installed plugins.

Choose table(s) to validate

* core
* banner
* chatbox
* download
* poll

Click **Start Verify**

Response:

**Success** DB successfully verified - no problems were found.

## Optimize SQL database

This feature uses MySQL built in function OPTIMIZE TABLE for each of your database tables. You should use this periodically to ensure optimum database performance, specifically when you have performed large data changes, such as data imports.

Note that MySQL locks the table during the time OPTIMIZE TABLE is running, so you should place your site in Maintenance Mode before use.

Read More [1](http://dev.mysql.com/doc/refman/5.1/en/optimize-table.html)

## Scan plugin directories

Use this tool to make sure your plugins are working correctly in the database and that the install went smoothly. It will tell you if a plugin is installed or not and any errors that are present.

Running the scan generates a list:

Name Directory Included add-ons Installed

## Preferences Editor

**Advanced Users Only**

It will show you how your preferences information is stored in the database and how it is stored exactly. Most people would be better off editing the preferences from the site Preferences tool.

If you are to use this make sure you know exactly what your change will do, otherwise use phpMyAdmin and make a backup before any changes are made.

The tool generates a lost of preferences:

* Delete
* Pref. Name
* Pref. Value
* Options > Delete

`USE ONLY WITH GUIDANCE FROM THE e107 SUPPORT TEAM!`

## Check database record validity

Checks the status of your data.

`DEV's CODE NOTES: Code in db_verify.php > Requires integration with db.php.`

## Import Site Data

Provides a facility to upload XML file containing your data.

## Export Site Data

Provides data export function.

Select Required Data > Run Export > Save XML Data File.

`Take care of Data Protection Legislation in your region, it may not be permitted to share certain data.`

## Scan override directory

Scans plugin and theme directories for custom shortcodes.

## Convert DB to UTF-8

Checks and converts all your data to UTF-8 format and sets the database to default.

`DEV CODE NOTE Incomplete.`

[Category:User Guide](https://app.gitbook.com/Category:User_Guide) [Category:Admin](https://app.gitbook.com/Category:Admin) [Category:Tools](https://app.gitbook.com/Category:Tools) [Category:Database](https://app.gitbook.com/Category:Database) [Category:WhatsNew](https://app.gitbook.com/Category:WhatsNew)


# File inspector

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Maintenance

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Notify

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

## Session Events

| Event                                        | Description |
| -------------------------------------------- | ----------- |
| User signup                                  |             |
| User account verification                    |             |
| User login                                   |             |
| User logout                                  |             |
| User social login                            |             |
| User social signup                           |             |
| IP banned for flooding site                  |             |
| IP banned for multiple failed login attempts |             |
| User views profile                           |             |
| User edits profile                           |             |

## Administrators Events

## News Events

## Mail Events

## File Events

## Plugin Events

### Core plugins

#### Chatbox Events

#### Download Events


# Schedule Tasks

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

cronjobs


# System Logs

## Introduction

There are different *System Logs* in e107:

| System Log                                                   | Description                                                                                        |
| ------------------------------------------------------------ | -------------------------------------------------------------------------------------------------- |
| [Admin Log](/administration/tools/system-logs#admin-log)     | This log is to record actions of system administrators                                             |
| [User Audit Log](/administration/tools/system-logs#user-log) | This log is to record user-related events - such as signups, setting changes, logins and log outs. |
| [Rolling Log](/administration/tools/system-logs#rolling-log) | This log is intended to record transient events.                                                   |
| [Access Log](/administration/tools/system-logs#access-log)   | If enabled, text-based (CSV) log files are saved of every page access on daily basis               |

## Admin Log

This log is to record the actions of system administrators.

In many cases there is no admin control over which events are logged; some plugins and core functions do provide the ability to control logging.

The level of detail varies according to the particular event (and how straightforward it was to add logging, in the case of existing code). For preferences, usually the changed values are logged. For other data there may be an array of values, or a few numbers. As a minimum, the existence of an entry in the admin log indicates that someone did something!

{% hint style="info" %}
**Developers** can use the *Admin Log* to store information about their plugin or theme. See :point\_right:  <https://devguide.e107.org/classes-and-methods/logging> for more information
{% endhint %}

## User Audit Log

This log is to record user-related events - such as signups, setting changes, logins and log outs.

The level of logging is controllable. In the *Preference* section, you can select the types of events which are logged, as well as for which [user class](/administration/users/user-classes).

## Rolling Log

This log is intended to record transient events - if enabled, older events are purged after a selected number of days. Certain core functions log information to the rolling log.

{% hint style="info" %}
It is also useful for :point\_right: [debugging and problem solving](https://devguide.e107.org/getting-started/debugging-and-problem-solving) for **developers.**
{% endhint %}

## Access Log

A simple text log file can be enabled, which logs *every* page access.

{% hint style="info" %}
This setting can be found in Admin Area > Settings > Preferences > Advanced Features > [**Log all page accesses**](/administration/settings/preferences#log-all-page-accesses)
{% endhint %}

A separate file is generated for each day. The file is stored in the [`e107_system/(hash)/logs`](/installation-and-maintenance/folders-files-hash) directory - with the name 'logd\_ddd.yyyy.csv' - where *'ddd*' is the day number within the year (1 to 3 digits) and '*yyyy*' is the year.

The file is in CSV ('comma separated variable') format, and can therefore be imported into many spreadsheet and database packages for analysis.

{% hint style="warning" %}
These files have to be deleted manually when no longer required!
{% endhint %}

The fields that are stored in the log file are:

| Field name     | Description                                             |
| -------------- | ------------------------------------------------------- |
| Unix time      | Timestamp in UNIX format                                |
| Date/Time      | Timestamp in 'human-readable' format: yy-mm-dd hh:mm:ss |
| IP             | Using IPv6 format                                       |
| URL            | Page and query part of the current access               |
| RenderTime     | Processing time in seconds                              |
| DBTime         | Database access time as percentage of overall time      |
| Qrys           | Number of database queries executed                     |
| Memory-Usage   | Shows current and peak values                           |
| User-Agent     | Shows the user agent (browser etc.) that was used       |
| Request-Method | Show the request method                                 |

{% hint style="info" %}
**TIP:** The above information can also be displayed on your website by enabling the setting in Admin Area > Settings > Preferences > [**Display Information**](/administration/settings/preferences#display-information)
{% endhint %}


# Manage

This area contains all the manager pages for everything related to comments, media, menus, plugins and themes.&#x20;

| Section                                                     | Description                                                     |
| ----------------------------------------------------------- | --------------------------------------------------------------- |
| [Comments Manager](/administration/manage/comments-manager) | Allows you to manage all the comments placed on your website.   |
| [Media Manager](/administration/manage/media-manager)       | Allows you to manage all media stored on your website.          |
| [Menu Manager](/administration/manage/menu-manager)         | Allows you to configure the placement of menus on your website. |
| [Plugin Manager](/administration/manage/plugin-manager)     | Allows you to manage everything plugin related on your website. |
| [Theme Manager](/administration/manage/theme-manager)       | Allows you to manage everything theme related on your website.  |


# Comments Manager

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

## Manage

## Preferences

### Engine

### Allow users to post comments

### Allows anonymous posting

### Display new comment icon

### Turn on nested comments

### Allow posters to edit their comments

### Show emoticon images on comment form

## Tools


# Media Manager

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Menu Manager

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

panels

cards


# Plugin Manager

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

Plugins are one of the most popular ways of extending e107. You can upload, install and configure easily using the [Plugin Manager](https://app.gitbook.com/Plugin_Manager). THere are a number of [Core Plugins](https://app.gitbook.com/Core_Plugins) already installed, which are listed above in the other categories. There are 100's of [Third Party Plugins](https://app.gitbook.com/Extra_Plugins) available at [plugins.e107.org](http://plugins.e107.org/), many are licensed for free use and others request a fee for use - this is entirely up to the plugin developer.

* [Integrity check](https://app.gitbook.com/Integrity_check)
* [Statistics Logging](https://app.gitbook.com/Statistic_logging)
* [PDF](https://app.gitbook.com/PDF_plugin) - enable this to allow content to be printed to pdf direct from the web page.

## Find plugins


# Theme Manager

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

## Introduction

## Site Theme

### Configure

#### Suggested plugins

#### Layouts

#### Stylesheets

### Preferences

## Admin Theme

## Change Theme

## Find themes

## Upload Theme

## Tools

##


# Misc

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

This area is commonly used by plugins to show links to the administration interface of that specific plugin.&#x20;

Explain what this is used for \
(e.g. link to plugins can appear here)


# About

This area contains pages that show information about your server configuration and e107 installation.&#x20;

| Section                                    | Description                                                                          |
| ------------------------------------------ | ------------------------------------------------------------------------------------ |
| [PHP Info](/administration/about/php-info) | Displays specific information about your server configuration and e107 installation. |
| [Docs](/administration/about/docs)         | A collection of (mostly outdated) documentation - soon to be removed.                |
| [Credits](/administration/about/credits)   | Shows an overview of all those who have contributed to the development of e107.      |


# PHP Info

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Docs

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Credits

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Introduction

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

Explain what core plugins are,&#x20;

Difference with menu's (link to core menus).&#x20;

Link to Github repository with other plugins such as: vstore, twofactorauth, sfs

Overview of core plugins (table with links) and descriptions


# Alternate Authentication

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Banner

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Chatbox

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Downloads

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# FAQs

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Featurebox

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Forum

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

Discussion board, Bulletin board

New forum posts menu&#x20;


# New forum posts menu

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Gallery

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Google Sitemap

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Hero

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Import into e107

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Linkwords

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet
{% endhint %}


# List Latest

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Newsfeeds

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Newsletter

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Private Messenger

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Poll

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# RSS

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Social

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Tag Cloud

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# TinyMCE

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Introduction

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

Explain what core menus are.&#x20;

Difference with plugins (link to core plugins)

Overview of core menus (table with links) and descriptions


# Blogcalendar menu

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Contact menu

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Login menu

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Online menu

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Page menu

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# News menus

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Search menu

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# Siteinfo menus

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

* Compliance menu
* Counter menu
* Powered by menu
* Sitebutton menu


# User menus

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# How to reset main admin password?

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}


# How to allow more filetypes to be uploaded

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

[filetypes.xml](/installation-and-maintenance/folders-files-hash#files)


# How to check which e107 version you are using?

{% hint style="danger" %}
**Please note:** This page is under construction and has not been finished yet.
{% endhint %}

* Admin Area > About > PHP Info&#x20;
* e107\_admin/ver.php&#x20;


