Mediterranean Gardening France

What's New? / Quoi de neuf ?

FAQ
Join / Adhérer
Contact Us / Nous contacter

Site Documentation

These pages describe the structure and composition of the MGF website as well as the requirements and means to administer it. The functionality, structure and composition of the Member App are also described.

The MGF site is based upon the content management system WordPress. Except when strictly necessary, these pages will not describe how to create websites using WordPress nor the detailed working of its different components for which there is ample documentation on the Internet. For the detailed workings of WordPress, consult the official WordPress site. Searching the internet for specific items will usually reveal helpful tutorials and other information.

Anatomy of a WordPress Site sets out in generic terms how a WordPress site is constructed and how its various components fit together.

Technical Implementation describes how the generic WordPress framework is implemented in the MGF site.

Site Management and Administration identifies the various components of the site which must be maintained and how that maintenance is performed. A final section describes the financial aspects of the site.

The Member App describes the functionality of the Member App and how this is implemented technically.

Members, Users and Roles describes the different WordPress and MGF roles, what holders of them can do, and how to manage the assignment of roles.

Protection of Personal Information discusses MGF’s obligations under EU privacy legislation and how the site meets them.

Loading

The Member App

Introduction

The Member App is a tool for use by the members and MGF management. It also includes the form for new people to join the association. For members, it allows them to manage the personal information that they supplied to MGF when joining and (where explicit consent has been given) to communicate with other members. For management, in addition to being a record of who is (and has been) a member of MGF, it allows for the management of subscriptions and provides a means for communicating to members either individually or as a whole.

The data for the Member App is held in the WordPress database; the procedures to process it are a combination of standard WordPress functionality, downloaded plug-ins, and custom-built code. The code is written in PHP with a small amount of JavaScript.

The Member Area

When a member logs into the Member App, they are taken to the Member Area dashboard. This consists of three sections. On the left is the standard WordPress administrative menu. For all except administrators, this menu serves no function. To the right is the Member Area proper. This is divided into two sections. At the top is the menu of functions available to all members (e.g. update your profile). Below is the menu of administrative functions. Access to this lower section is determined by the member’s WordPress role; only contributors and administrators can see it. Whether or not a member with access to this lower section can use a specific function there depends upon what privileges have been given to their MGF role. The content and layout of the Member Area (as well as the controls which determine access to it) are managed by the White Label CMS plugin (q.v.).

Processes

The member app consists of the processes listed below. Click on a process to see details of what it does functionally and how it is implemented technically.

General public

MGF Members

MGF members with an assigned MGF role

Member Information in the WordPress Database

In standard WordPress installations, member information is added by an administrator using the ‘Users’ option in the administrative dashboard. Members can add to that information by logging in and then amending their profile. In the MGF site, this is replaced by the Member App using a combination of the WPForms plugin and custom MGF-developed code.

The principal file for holding user/member information is the table wp_mgf_users. However, this table only contains some of the items necessary for any WordPress site (see Table 1 below). All other data (including some necessary items) is held in the wp_mgf_usermeta table. For each member, there is a record for each additional data item and this is stored as a name/value pair (meta-key/meta-value), together with the member’s WordPress id to link the pair with the entry in wp_mgf_users (see Table 2). In addition to the WordPress necessary ones, wp_mgf_usermeta contains entries for the additional items required by the Member App. These are created in the User Registration setting of the two WPForms which deal with membership, linking the name of the item on the form with the meta-key. In addition, there are a number of management items which are entered by an administrator or else generated automatically by the Member App (e.g. subscription expiry year). Table 3 details all of these additional elements. There are also entries in wp_mgf_usermeta which are used internally by WordPress. These are not included in Table 3.

WordPress functions which retrieve user information (such as wp_get_current_user) collect it from both tables and present a single object containing all the information for the member(s) concerned. There are some other MGF-specific tables which also contain member information:

  • wp_mgf_former_members: the retained information of former members;
  • wp_mgf_member_change_log: changes to member profiles;
  • wp_mgf_subscriptions: subscription payments;
  • wp_mgf_email_addresses: the slug to email address table.

For further information on these tables, see the relevant process page.

Item nameDescriptionUsage by MGF?
IDUnique identifier for the userYes
user_loginUser’s login nameMGF: username
user_passUser’s passwordMGF: password
user_nicenameSlug for login name (default is the same valueNo
user_emailUser’s email addressMGF: email address
user_urlA user’s own URL (e.g. to personal websiteNo
user_registeredA date/time stamp for the creation of the user recordMGF: join date
user_activation_keyUsed to authenticate a password reset requestNo
user_statusNo longer usedNo
display_nameUser’s name that is shown publicly (e.g. post author)MGF: first name plus last name
Table 1 – The wp_mgf_users table
NameDescriptonExample
umeta_idUnique identifier for the record
user_idThe id of the user concerned
meta_keyName of the data itemcountry
meta_valueValue of the data itemFrance
Table 2 – The wp_mgf_usermeta table
Namemeta_key nameNotes
Addressaddress_1First line of member address
Address 2address_2Second line of member address
Post codepost_codeMember’s post code
TowntownMember’s town / village / commune
CountrycountryMember’s country
Telephone (home)telephone_homeMember’s home telephone number
Telephone (mobile)telephone_mobileMember’s mobile telephone number
Subscriptionsubscription_length**Subscription validity length in years. Used to calculate subscription expiry year when joining or renewing membership. Usually 1 but can change if member over pays their subscription.
Member Directorymember_directoryIndicates if member is in the Member Directory (Y or N)
First namefirst_nameMember’s first name
Last namelast_nameMember’s last name
Languagelocale*Member’s preferred language. Uses WordPress standard values: en_GB or fr_FR.
How did you hear about MGFhow_did_you_hearValue as entered by the member
Nicknamenickname*Set by WordPress to the same as username. Not used by MGF.
Additional information or Biographical Info (WPForms)description*Value as entered by the member
WordPress rolewp_mgf_capabilities*Indicates member’s WordPress role (subscriber, contributor, administrator). Stored in serialized format.
Statusstatus**Member’s subscription status, e.g. ‘Good Standing’
Expiry yearsubscription_expiry_year**Year at which the member’s subscription will expire
MGF rolemgf_role**Member’s role in MGF (Member, Event Coordinator, etc.)
Table 3 – Additional user elements in wp_mgf_usermeta. * indicates a standard WordPress item.

** These are management items which are either generated automatically by the system or entered / modified by MGF management rather than by members themselves. Processing and maintenance of these items as follows:

Subscription Length: Formerly, MGF offered members the choice of one or three year subscriptions and members selected their preferred option when joining or renewing their subscription. Since 2021, however, only one year subscriptions are available which means, in theory, that this item is no longer required. Upon joining, subscription length will be automatically set to 1 and, in normal circumstances, will remain so. The exception is when members, on their own initiative, pay for more than a single year’s subscription. In such cases, before processing the payment, their subscription length must be set to the number of years for which they have paid by modifying their member profile so that the correct new expiry year can be calculated. After processing the payment, the subscription length will be automatically reset to 1.

Expiry year: When a new member joins, this is set to the year of their joining (i.e. the date that their membership form was completed) unless that date is after 30 September in which case it will be set to the year following. When members renew their subscription, their subscription length is added to the old expiry year to create their new one.

Status: When a new member joins, this is set to ‘Applicant’. Once their subscription has been paid, it is changed to ‘Good standing’. The process which sends out subscription renewal notices will change the status of members concerned to ‘Subscription renewal notice sent’, to be returned to ‘Good standing’ once they have paid their new subscription.

MGF role: When a new member joins, this is set to ‘Member’ and will remain so unless they take on an administrative role within MGF – in which case, their profile must be updated accordingly.

Loading