License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
-This is the Gaslight Media Members Database Plugin.
+This is the main GLM Associate plugin with Members database.
== Description ==
-More description goes here.
+The GLM Associate consists of a main plugin (this one) and a suite of "Add-Ons" that provide additional
+functionality. These Add-Ons are separate WordPress plugins that check for the main GLM Associate plugin
+and will not activate of that doesn't exist or is not of a recent enough version.
-== Installation ==
-
-This section describes how to install the plugin and get it working.
+The current list of these plugins/add-ons is below. There may be additional add-ons not listed here.
-e.g.
+* Main Plugin with Members Database
+* Contacts Add-On that provides both informational and log-in contacts with a range of capabilities.
+* Events Add-On that is a full function Events calendar
+* Packaging Add-On that provide "packaged" offers
+* Search Add-On for searching the Web site using an OpenSearchServer index
+* Social Add-On to display social media links
-1. Upload `plugin-name.php` to the `/wp-content/plugins/` directory
-1. Activate the plugin through the 'Plugins' menu in WordPress
+There are also several plugins for use only by Gaslight Media. Please contact us if interested.
-== Frequently Asked Questions ==
+== Installation ==
-= Code for this plugin looks completely different from others. =
-OK, so I just couldn't understand why certain things were done a certain way in WordPress. One of those is
-the way Templates are built. It seems to me that including PHP programing in a template is counter-productive.
-The whole idea of a template is to completely separate programming (the data side) and interface (the template
-side). I've also found many plugins mix code and html all over the place. How people can deal with that is a
-mystery to me. I used to program Web applications like that and believe me it cost me plenty in support.
+These plugins/add-on install using the standard WordPress pluging upload page.
-Because of all that I've decided to use Smarty Templates for this project. I've been so happy with Smarty
-Templates, and my last large project used them to completely separate data and design. (I know, Smarty is
-kind of like programming and underneath uses PHP, but logically it's all output design.)
+Once installed, they can communicate with the Gaslight Meda WordPress plugin update server to determine
+if a new version is available and to update the plugin if there is. These actions are integrated into the
+list on the WordPress plugins page. An active license key from Gaslight Media is required to update these
+plugins/add-ons.
-This project also has a revised MVC approach that fits with how I see that working in WordPress. It's a
-first pass at really using this particular MVC adaptation, so cut me some slack on this one.
+== Frequently Asked Questions ==
-Lastly, I just didn't like the very limited database, form-data processing, and input sanitizing/filtering I
-found in WordPress. To avoid confusing and sloppy code, I decided to migrate my abstract data class from
-my previous project to handle all of this. This makes the "models" here much simpler and makes maintenance
-and extention of this plugin much simpler. You'll see that under lib/GlmDataAbstract. (Note that that class
-is proprietary and requires licensing. You did purchase this plugin, right?) For info on what that class does,
-look at the "documentation.txt" file in that directory. I'm not taking time to even summarize it here since
-I could not do it justice in a paragraph or two.
+(none at this time)
-= How the heck does this plugin work? =
-For the admin side the typical flow is (highly summarized) ...
+= Design of These Plugins =
-/index.php -> /controllers/admin.php -> /models/admin/{menu}/{action}.php -> /views/admin/{menu}/{action}.html
+This project is build using an MVC approach (Model, View, Controller). All actions taken are controlled by
+models in the "models" "admin" and "front" directories. Those directories and the file names they contain are
+structured to mostly mimic the menus and actions they perform. Similarly, all output is created by Smarty
+templates in the "views" "admin" and "front" directories. Again, those directories mostly mimic the actions
+they are associated with. All actions are controlled by admin and front processes in the "controllers" directory.
-Note that the models also bring in data descriptions in the /classes/data directory that are appropriately
-named for the data of interest. The data structure arrays in those files are what the abstract data class
-uses to process input and output and interact with the database tables.
+In addition there are other directories containing various other support files. Most notiably is the
+"classes/data" directory that contains data definitions and specific support methods for them. These data classes
+are processed by a proprietary Gaslight Media data abstract class.
-So, if you want to find out how some particular action works, look in that models directory. If you want
-to see the template for a particular output, look in the that views directory. If you want to see what data
-is stored and managed and how it input and structured for output, look at the /classes/data directory.
+The net result of this stucture is that all data processing is handled models that in the end provide an array
+of resuslts that is converted to HTML (and other file types) output by the views. It is therefore a complete
+separateion of data and output.
-Beyond all that, good luck. This is my view of the WordPress world. I'm afraid you'll have to live with that.
+Add-ons "register" themselves with the main plugin and otherwise the main plugin knows nothing about them or
+what they do. All interaction is provided via WordPress style "hooks".
+There is of course much more to this.
== Screenshots ==
-1. This screen shot description corresponds to screenshot-1.(png|jpg|jpeg|gif). Note that the screenshot is taken from
-the /assets directory or the directory that contains the stable readme.txt (tags or trunk). Screenshots in the /assets
-directory take precedence. For example, `/assets/screenshot-1.png` would win over `/tags/4.3/screenshot-1.png`
-(or jpg, jpeg, gif).
-2. This is the second screen shot
+(none)
== Changelog ==
-= 1.0 =
-* A change since the previous version.
-* Another change.
-
-= 0.5 =
-* List versions from most recent at top to oldest at bottom.
-
-== Upgrade Notice ==
-
-= 1.0 =
-Upgrade notices describe the reason a user should upgrade. No more than 300 characters.
-
-= 0.5 =
-This version fixes a security related bug. Upgrade immediately.
-
-== Arbitrary section ==
-
-You may provide arbitrary sections, in the same format as the ones above. This may be of use for extremely complicated
-plugins where more information needs to be conveyed that doesn't fit into the categories of "description" or
-"installation." Arbitrary sections will be shown below the built-in sections outlined above.
-
-== A brief Markdown Example ==
-
-Ordered list:
-
-1. Some feature
-1. Another feature
-1. Something else about the plugin
-
-Unordered list:
-
-* something
-* something else
-* third thing
-
-Here's a link to [WordPress](http://wordpress.org/ "Your favorite software") and one to [Markdown's Syntax Documentation][markdown syntax].
-Titles are optional, naturally.
-
-[markdown syntax]: http://daringfireball.net/projects/markdown/syntax
- "Markdown is what the parser uses to process much of the readme file"
+= 2.9.15 =
-Markdown uses email style notation for blockquotes and I've been told:
-> Asterisks for *emphasis*. Double it up for **strong**.
+Current version.
-`<?php code(); // goes in backticks ?>`
\ No newline at end of file