<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bzflag.org/index.php?action=history&amp;feed=atom&amp;title=GMS%3A_Architecture</id>
	<title>GMS: Architecture - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bzflag.org/index.php?action=history&amp;feed=atom&amp;title=GMS%3A_Architecture"/>
	<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=GMS:_Architecture&amp;action=history"/>
	<updated>2026-04-28T16:20:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=GMS:_Architecture&amp;diff=9881&amp;oldid=prev</id>
		<title>Zehra: Zehra moved page GMS Architecture to GMS: Architecture: making prefix consistent with rest of pages for GMS</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=GMS:_Architecture&amp;diff=9881&amp;oldid=prev"/>
		<updated>2025-11-24T02:25:02Z</updated>

		<summary type="html">&lt;p&gt;Zehra moved page &lt;a href=&quot;/GMS_Architecture&quot; class=&quot;mw-redirect&quot; title=&quot;GMS Architecture&quot;&gt;GMS Architecture&lt;/a&gt; to &lt;a href=&quot;/GMS:_Architecture&quot; title=&quot;GMS: Architecture&quot;&gt;GMS: Architecture&lt;/a&gt;: making prefix consistent with rest of pages for GMS&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:25, 24 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key bzflag_wiki-bz_:diff:1.41:old-9301:rev-9881 --&gt;
&lt;/table&gt;</summary>
		<author><name>Zehra</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=GMS:_Architecture&amp;diff=9301&amp;oldid=prev</id>
		<title>Zehra: category link</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=GMS:_Architecture&amp;diff=9301&amp;oldid=prev"/>
		<updated>2016-12-05T17:13:16Z</updated>

		<summary type="html">&lt;p&gt;category link&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:13, 5 December 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l34&quot;&gt;Line 34:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 34:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:&lt;/del&gt;Category:Group Manager]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Group Manager]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key bzflag_wiki-bz_:diff:1.41:old-8551:rev-9301:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Zehra</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=GMS:_Architecture&amp;diff=8551&amp;oldid=prev</id>
		<title>JeffM2501: Move to spec</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=GMS:_Architecture&amp;diff=8551&amp;oldid=prev"/>
		<updated>2013-02-10T07:56:33Z</updated>

		<summary type="html">&lt;p&gt;Move to spec&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:56, 10 February 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;DesignDocument&lt;/del&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Specification&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A three-tier architecture was chosen to allow the interface to be changed independently of the application/business logic, and to allow the data storage technology to be changed (database, LDAP etc) without impacting the application/business logic layer.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A three-tier architecture was chosen to allow the interface to be changed independently of the application/business logic, and to allow the data storage technology to be changed (database, LDAP etc) without impacting the application/business logic layer.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l34&quot;&gt;Line 34:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 34:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Back to &lt;/del&gt;[[Group &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;management system functional requirements&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:Category:&lt;/ins&gt;Group &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Manager&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key bzflag_wiki-bz_:diff:1.41:old-7723:rev-8551:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>JeffM2501</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=GMS:_Architecture&amp;diff=7723&amp;oldid=prev</id>
		<title>Grans Remedy: New page: {{DesignDocument}} A three-tier architecture was chosen to allow the interface to be changed independently of the application/business logic, and to allow the data storage technology to be...</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=GMS:_Architecture&amp;diff=7723&amp;oldid=prev"/>
		<updated>2011-06-13T09:37:41Z</updated>

		<summary type="html">&lt;p&gt;New page: {{DesignDocument}} A three-tier architecture was chosen to allow the interface to be changed independently of the application/business logic, and to allow the data storage technology to be...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DesignDocument}}&lt;br /&gt;
A three-tier architecture was chosen to allow the interface to be changed independently of the application/business logic, and to allow the data storage technology to be changed (database, LDAP etc) without impacting the application/business logic layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:GMS_Architecture.png|Depiction of the Group Management System architecture]]&lt;br /&gt;
&lt;br /&gt;
== Smarty Templates ==&lt;br /&gt;
The [http://www.smarty.net Smarty] PHP Template Engine will be used to cleanly separate the application logic from the presentation code. Smarty uses place-holder tags which are replaced with live content at run-time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Smarty version 3 requires PHP version 5.0 or later, however an earlier version Smarty 2 will work on PHP version 4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Database Abstraction ==&lt;br /&gt;
The &amp;#039;&amp;#039;Active Data Objects DataBase&amp;#039;&amp;#039;  [http://http://adodb.sourceforge.net/index.html ADODB] database abstraction library will be used to &amp;#039;insulate&amp;#039; the application logic from the underlying database server (MySQL). Using this abstraction layer will enable the underlying database technology to be changed from MySQL to some other database (eg FireBird, PostgreSQL, LDAP etc) without requiring a change to the application logic.&lt;br /&gt;
&lt;br /&gt;
Note that PHP version 5.0 or later is required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GMS Controllers ==&lt;br /&gt;
These are objects providing functions within the application logic, and may be implemented as methods.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GMS PHP Pages ==&lt;br /&gt;
These are objects providing the core application logic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Access Components ==&lt;br /&gt;
These are objects providing access to underlying database tables, reading values from tables into objects, storing values etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Zend PHP Engine ==&lt;br /&gt;
This is the engine on the my.bzflag.org web server which interprets PHP code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Back to [[Group management system functional requirements]]&lt;/div&gt;</summary>
		<author><name>Grans Remedy</name></author>
	</entry>
</feed>