http://www.wiki.avscripts.net/index.php?title=Special:NewPages&feed=atom&hideredirs=1&limit=50&offset=&namespace=0&username=&tagfilter=AV Scripts Wiki - New pages [en-gb]2024-03-28T14:55:22ZFrom AV Scripts WikiMediaWiki 1.24.1http://www.wiki.avscripts.net/wiki/Adding_fieldsAdding fields2016-02-17T21:03:32Z<p>Andy: /* Display the value in a template */</p>
<hr />
<div>If you want to add a field to a form in the admin panel and have that value save to the database you can do so without massive code changes.<br />
<br />
For the sake of this guide, we will be adding a new field called "my_field" to the database and a form field to set that value. You should replace instances of "my_field" and "myField" with your field name.<br />
<br />
== Adding the field to the database ==<br />
<br />
Firstly you will want to add a new column to your database called "my_field". This will need to go on the right table. For the guide we will add it to the videos table called avcms_videos. The table names for other content types are formatted exactly as you'd expect: the prefix you chose when installing the script (defaults to "avcms_") followed by the name of the content such as "videos" or "games".<br />
<br />
You can add your new column to the database using PHPMyAdmin or similar software. The exact details of MySQL column creation are outside of the scope of this tutorial, it is assumed you know how to do this.<br />
<br />
== Adding the getter and setter ==<br />
<br />
To allow AVCMS to write to the newly created column two methods need to be added to the content entity. Every content type in AVCMS is represented by an object. For example, the Video object can be found at:<br />
<br />
src/AVCMS/Bundles/Videos/Model/Video.php<br />
<br />
You will find the content model you are looking for in a similar location, for example:<br />
<br />
Games: src/AVCMS/Bundles/Games/Model/Game.php<br />
Wallpapers: src/AVCMS/Bundles/Wallpapers/Model/Wallpaper.php<br />
<br />
When tracking those files down you will see there is one file with the singular name (Video) and one file with the plural name (Videos). You want the file with the singular name.<br />
<br />
In these files you will see many methods that look similar to this:<br />
<br />
public function setMyField($value)<br />
{<br />
$this->set("my_field", $value);<br />
}<br />
<br />
public function getMyField()<br />
{<br />
return $this->get("my_field");<br />
}<br />
<br />
The above code shows you the two PHP methods that need to be added to support the "my_field" column. You can modify the code to replace the instances of "my_field" and "MyField" with your field name. <br />
<br />
Note how the method names are the same as the column name in the database but with the underscore removed. We also capitalise the separate words but this is optional as PHP methods are case-insensitive.<br />
<br />
== Adding the field to the form ==<br />
<br />
This tutorial assumes you are editing the form for a content type in the admin panel. Every form has it's own file. To edit the add content and edit content form, you will need to track down the file similar to this:<br />
<br />
src/AVCMS/Bundles/Videos/Form/VideoAdminForm.php<br />
<br />
Replace "Video" above with the content type you are modifying to find the correct file.<br />
<br />
In this file you will be able to add your new field. You can find documentation on what field types can be added on this website: http://andyvenus.github.io/form/fields/<br />
<br />
For this tutorial, we will add a simple text field:<br />
<br />
$form->add('my_field', 'text', [<br />
'label' => 'My Field'<br />
]);<br />
<br />
Notice how the first parameter matches the database column name. You will need to update that with your column name.<br />
<br />
You can also set the label that will appear on the form by modifying the 'My Field' part of the code above.<br />
<br />
== Check if it works ==<br />
<br />
These are all the steps needed to add a new field. The field should now save to the database when you submit the form. Check this by saving and refreshing the page.<br />
<br />
== Display the value in a template ==<br />
<br />
To display your new value, you will need to edit a template. This tutorial will assume you want to modify the main template where the content is displayed. For videos, the watch video template is located at<br />
<br />
src/AVCMS/Bundles/Videos/resources/templates/watch_video.twig<br />
<br />
Templates for other content types are named somewhat similarly, although they will be called things like "play_game" or "wallpaper_details".<br />
<br />
On the videos page the new field could be displayed with this code:<br />
<br />
<nowiki>{{ video.myField }}</nowiki><br />
<br />
When editing the template you have chosen, see what the content variable is called by reading the template. It will likely just be called something similar to the content type like "game" or "wallpaper". Notice also how we don't use the underscore when outputting the value in a template.</div>Andyhttp://www.wiki.avscripts.net/wiki/No_Input_File_SpecifiedNo Input File Specified2015-07-28T20:02:09Z<p>Andy: Created page with "On some hosts (like Godaddy) you may see the error "No Input File Specified". To fix, create a file called php.ini on your server in the root folder of your domain name if it..."</p>
<hr />
<div>On some hosts (like Godaddy) you may see the error "No Input File Specified".<br />
<br />
To fix, create a file called php.ini on your server in the root folder of your domain name if it doesn't already exist. Within that file, add this line:<br />
<br />
cgi.fix_pathinfo = 1;<br />
<br />
It may take some time for the change to be noticed by your server, so leave it for an hour before sending further requests for help if the issue is not resolved.</div>Andyhttp://www.wiki.avscripts.net/wiki/GodaddyGodaddy2015-05-19T21:41:08Z<p>Andy: Created page with "If you want to use GoDaddy as a host and you find yourself getting "No input file specified" errors in the control panel, you'll need to create a php5.ini file in your weboot..."</p>
<hr />
<div>If you want to use GoDaddy as a host and you find yourself getting "No input file specified" errors in the control panel, you'll need to create a php5.ini file in your weboot with the following rule:<br />
<br />
cgi.fix_pathinfo = 1<br />
<br />
You may find that the issue continues after doing this but it should be fixed within a few hours if not instantly.</div>Andyhttp://www.wiki.avscripts.net/wiki/Overriding_An_AssetOverriding An Asset2015-05-18T18:46:49Z<p>Andy: </p>
<hr />
<div>You can override images and other assets in AVCMS without overwriting the original file. Lets use an example image.<br />
<br />
Say you see an image and you see it's URL looks like this:<br />
<br />
yoursite.com/'''web'''/resources/Users/images/default_avatar.png<br />
<br />
You can take a copy of that file and place it in this matching directory, but in the webmaster folder rather than the web folder:<br />
<br />
yoursite.com/'''webmaster'''/resources/Users/images/default_avatar.png<br />
<br />
After making your changes, enter your admin panel and from the cog icon in the top-left corner, select Regenerate Assets and your image should now show in place of the old one.</div>Andyhttp://www.wiki.avscripts.net/wiki/YAMLYAML2015-05-08T16:29:51Z<p>Andy: </p>
<hr />
<div>YAML files are simply text files. They can be opened with any text editor.<br />
<br />
AVCMS uses them for configuration and they have very simple, readable syntax.<br />
<br />
You can find out more about the YAML syntax here: [http://symfony.com/doc/current/components/yaml/yaml_format.html http://symfony.com/doc/current/components/yaml/yaml_format.html]<br />
<br />
[[Category:Developer]]</div>Andyhttp://www.wiki.avscripts.net/wiki/Modifying_URL%27sModifying URL's2015-05-08T16:24:23Z<p>Andy: </p>
<hr />
<div>You might want to modify the URL structure of certain pages to suit your personal tastes. All URL's can be overwritten in AVCMS using a [[YAML]] config file called routes.yml placed into the webmaster/config directory.<br />
<br />
=== Finding the route to modify ===<br />
<br />
"Routes" are the name given to the definition of a URL structure. The first thing you will need to do is find the name of the route you want to modify. The easiest way to do this is to enable [[Developer Mode]]. Once you have it enabled, in the developer bar at the bottom of all pages find the area that looks like:<br />
<br />
GamesController :: playGameAction via play_game<br />
<br />
The key part here is the "via [route name]". In the example above the route name is "play_game".<br />
<br />
That's the route name found, now you need to find what the Bundle that route belongs to is called. For many things it'll be quite obvious, if the route is the play game page you probably know the route belongs to the "Games" bundle for example. If you're not sure, see the part of the dev bar that looks like this:<br />
<br />
@Games/play_game.twig<br />
<br />
That's information about the template used to render the page, but the first part "Games" is the name of the bundle. Using that information, you can then find that route definition in this file:<br />
<br />
src/AVCMS/Bundles/'''Games'''/config/routes.yml<br />
<br />
In that file, you would look for this:<br />
<br />
play_game:<br />
path: /game/{slug}<br />
defaults: { _controller: Games::GamesController::playGameAction }<br />
<br />
This entire process can be sped up with a bit of guesswork. If you're ever modifying something, just ask yourself "What bundle does this probably belong to?" and it'll probably be in the most logical place.<br />
<br />
=== Copy the route ===<br />
<br />
If you haven't already got a file called routes.yml in your webmaster/config directory, you should create it. Otherwise open it up.<br />
<br />
Copy the route definition that you found and paste it into your webmaster routes file '''at the top'''. <br />
<br />
=== Edit the route ===<br />
<br />
Now you can modify the path of the route to what you would like. Make sure to keep the words or phrases that are within curly braces the same (like "slug" above). They are just variable names.<br />
<br />
=== Clear the caches ===<br />
<br />
After you've made your changes, clear the caches in the admin panel. Also if you enabled developer mode on your live website, make sure to disable it again.<br />
<br />
=== Optional: Edit the controller ===<br />
<br />
Advanced: If you would like to make the route instead be handled by a different controller action you can edit the 'Games::GamesController::playGameAction' part of the configuration. The first part is the bundle name, the second part is the class name of the controller and the third part is the method in the controller that should be called.<br />
<br />
<br />
[[Category:Developer]]</div>Andyhttp://www.wiki.avscripts.net/wiki/Basics_of_AVCMSBasics of AVCMS2015-04-18T11:23:28Z<p>Andy: </p>
<hr />
<div>== Installation ==<br />
Check out the [[Installing AVCMS]] article for a guide on installing the script.<br />
<br />
== Changing Settings ==<br />
One of the first things you may want to do after installing AVCMS is to check out the settings area in the admin panel. Here you can customise many aspects of your new site.<br />
<br />
== Modules ==<br />
Modules are blocks of content that you can add, edit, reorder & delete from different areas on your site. For example, you may want to show a list of the most recent blog posts on the sidebar of your website or even add some custom HTML to a certain page.<br />
<br />
When getting started with your site, you will probably want to turn on the "Show Module Buttons" setting (found under the "Main" category in the settings). With this on, when viewing your site you will see small edit buttons dotted throughout the site where you can add modules. When you click that button you will be shown a list of all the current modules in that position. You can drag and drop the existing modules to reorder them, add new modules or edit existing modules.<br />
<br />
When you click "Add Module" you will see a big list of different module types and when you select a module you will be given a number of different options to customise it. Hover your mouse over question marks in the form to get help with the different fields.<br />
<br />
== Adverts ==<br />
<br />
If you want to monetise your site, you will probably want to place some ads on it. There's a section in the admin panel where you can add your ad codes ready for use on your site. Then you can use the "Advert" module to place those ads in certain positions on the site. See the modules section above on how to manage and edit modules.<br />
<br />
== Menus ==<br />
<br />
The main menus in AVCMS can be modified, added-to and reordered. You can manage all of this functionality from the "Menus" section of the admin panel. When adding a menu item you will be given a list of different types of menu item with short descriptions. You can re-order menu items by dragging and dropping them using the handle on the lefthand side. If you want to make a menu item appear as a child of another menu item, you can drag it on top of the parent menu item.<br />
<br />
== Ask For Help ==<br />
<br />
This article only has a few tips. If there's anything you need advice on, head to the forums and we'll answer as soon as possible: [http://www.forum.avscripts.net http://www.forum.avscripts.net]</div>Andyhttp://www.wiki.avscripts.net/wiki/Basics_of_AVCMSBasics of AVCMS2015-04-18T11:06:17Z<p>Andy: </p>
<hr />
<div>== Fresh Install ==<br />
<br />
To start, upload all files from the zip to your site using an FTP client or via your hosting control panel.<br />
<br />
Once the files are uploaded, visit your site in your browser.<br />
<br />
You may find you need to set-up permissions on some folders. The folders (and their contents) must be writable by PHP:<br />
<br />
/cache<br />
/webmaster<br />
/web<br />
<br />
== Upgrade from a previous version of AVCMS ==<br />
<br />
1. Upload all the files from the zip ''excluding'' the /web & /webmaster folders<br />
<br />
2. Optionally upload the /webmaster/templates folder to update all templates<br />
<br />
3. Delete the file webmaster/installer_lock.txt to unlock the installer<br />
<br />
4. Go to yoursite.com/install.php to upgrade<br />
<br />
== Upgrade from AV Arcade 5.8 or Wallpaper Site Script 1.3 ==<br />
<br />
AVCMS can import your site data from AV Arcade 5.8 or Wallpaper Site Script 1.3. You must first upgrade your old site to these versions before trying to import them into AVCMS. Please note, you can not import both into one site. The following install guide shows the best method to avoid downtime and back-up old files.<br />
<br />
=== Install AVCMS ===<br />
To begin, follow the "Fresh Install" instructions from above to install your AVCMS script, but '''install AVCMS into a new directory called "upgrade"''' (so it should be visible from yoursite.com/upgrade).<br />
<br />
=== Enter maintenance mode ===<br />
At this point you should put your '''old site''' into maintenance mode to stop people from accessing it.<br />
<br />
=== Import your site content ===<br />
Once you have the script installed in your "upgrade" folder, you can import the content from your old site using the importer tool in the admin panel. '''Make sure to carefully read all the instructions on the import page.'''<br />
<br />
For AV Arcade, visit yoursite.com/upgrade/'''admin/ava-import'''<br />
<br />
For Wallpaper Site Script, visit yoursite.com/upgrade/'''admin/wss-import'''<br />
<br />
You will need to move some files from your old website to the AVCMS install you just created.<br />
<br />
=== Working Website ===<br />
After the import is complete and you have moved the files, you should see a working website at yoursite.com/upgrade. If content such as Wallpapers or Games have missing images, double check you moved all the files to the right place.<br />
<br />
=== Replace Old Site with AVCMS ===<br />
Finally, all we need to do is move this site to your root directory. Start by taking all the AV Arcade 5.8 or Wallpaper Site Script 1.3 files and either deleting them or, more sensibly, moving them to a back-up folder. <br />
<br />
Secondly, move the entire contents out of the 'upgrade' folder to the root directory of your website.<br />
<br />
Finally, '''delete everything from the /cache folder'''. If you don't do this your moved website may not work.<br />
<br />
This completes the upgrade, your site should now be live.</div>Andyhttp://www.wiki.avscripts.net/wiki/BundlesBundles2015-03-28T14:42:28Z<p>Andy: </p>
<hr />
<div>Bundles allow for features and functionality to be added to AVCMS in a way that means they can be plugged-in and out without affecting other parts of the system. For example, the Blog bundle contains all the features for the AVCMS blog system including the core functionality, templates, assets, routes, urls, forms and settings. By default AVCMS looks for bundles in 3 directories:<br />
<br />
src/AV/Bundles - Core framework features like the database and forms<br />
src/AVCMS/Bundles - AVCMS functionality like the admin panel and features like the Blog<br />
src/AVCMS/BundlesDev - Special dev features only enabled in [[Developer Mode]]<br />
<br />
== Creating a Bundle and a New Page ==<br />
<br />
It is recommended you use an IDE such as PHPStorm or Netbeans to develop with AVCMS as it's a complex system and the code completion is invaluable.<br />
<br />
Firstly, make sure AVCMS is in [[Developer Mode]].<br />
<br />
Then visit yoururl.com/dev/bundles/new<br />
<br />
On this page give a name to your new bundle and leave the two other fields as default. The bundle name should have no spaces and ideally use capital letters for the first words. Examples: FacebookConnect, Games, NewComments<br />
<br />
This will generate a basic structure for your new bundle in the src/AVCMS/Bundles folder.<br />
<br />
You can now enable your bundle in the admin panel in the "Bundles" section.<br />
<br />
Next, you will need to create a controller. Create a new file in your bundle's Controller directory called YourControllerName.php. The file name MUST be the same as the class name contained within. The contents of the file should look something like this:<br />
<br />
<syntaxhighlight lang="php" enclose="div"><br />
<?php<br />
<br />
use AVCMS\Core\Controller\Controller;<br />
use Symfony\Component\HttpFoundation\Request;<br />
use Symfony\Component\HttpFoundation\Response;<br />
<br />
class YourControllerName extends Controller<br />
{<br />
public function yourActionName(Request $request)<br />
{<br />
<br />
<br />
return new Response('THE HTML OUTPUT GOES HERE');<br />
}<br />
}<br />
</syntaxhighlight><br />
<br />
So YourControllerName must match the name of the file you created otherwise the class will not be loadable. You may also want to choose a name for yourActionName, this can be whatever you want. Within the yourActionName method can be any PHP code you want to run, with the method returning a Response object with your HTML output.<br />
<br />
Finally you will need to create a URL to this new page, so open up the generated routes.yml file in your bundle. In there, add something like this:<br />
<br />
<syntaxhighlight lang="yaml" enclose="div"><br />
your_route_name:<br />
path: /the-path-to-your-page<br />
defaults: { _controller: YourBundleName::YourControllerName::yourActionName }<br />
</syntaxhighlight><br />
<br />
You will need to replace the various parameters with your own names that you've chosen:<br />
<br />
your_route_name - The name you want to give the route. Should be lowercase and use underscores instead of space.<br />
/the-path-to-your-page - This is the actual URL that your new page will be accessible from<br />
YourBundleName, YourControllerName, yourActionName - The names of the bundle, controller and action that you have created<br />
<br />
=== Useful methods within the action ===<br />
<br />
Within your action, you can access a few useful methods such as:<br />
<br />
Check if the user is currently logged in:<br />
<br />
if ($this->userLoggedIn()) {<br />
// code to only run when a user is logged in<br />
}<br />
<br />
Get the current user:<br />
<br />
$user = $this->activeUser();</div>Andyhttp://www.wiki.avscripts.net/wiki/TemplatesTemplates2015-03-25T17:02:55Z<p>Andy: /* Bootstrap */</p>
<hr />
<div>[[Category:Developer]]<br />
Templates in AVCMS are built using the [http://twig.sensiolabs.org/ Twig template engine].<br />
<br />
== Getting Started ==<br />
<br />
If you are not familiar with the Twig template engine then your first step is to learn the basics by reading the [http://twig.sensiolabs.org/documentation Twig documentation].<br />
<br />
Next you will want to enable [[Developer Mode]] so that the changes you make during development are instantly reflected. If you are not in developer mode, you will need to refresh the caches in the admin panel every time you modify a template file.<br />
<br />
== Overriding Templates and Assets ==<br />
<br />
The only template required in your theme is the index.twig file. But if you want to change the layout of other pages beyond what you are able to do with CSS, you can override them. You can also override default CSS and Javascript files. Remember, the more files you override, the more work you need to do when AVCMS is updated and changes are made.<br />
<br />
The first step to overriding a file is finding out the name and location of the file you want to overwrite. When in developer mode you can find the name of the current page template on the developer toolbar at the bottom of all pages. To see the actual location of the template file, hold your cursor over the name and it will appear.<br />
<br />
Lets say you are overwriting the homepage.twig template from the bundle CmsFoundation. The dev bar will show the name like so:<br />
<br />
''CmsFoundation/homepage.twig''<br />
<br />
Hovering your mouse over the template name will show you the location of the file on your server.<br />
<br />
If you want to overwrite this file, all you need to do is create your own copy in the following directory):<br />
<br />
[your-template-directory]/resources/CmsFoundation/templates/homepage.twig<br />
<br />
Overwriting any template or asset is done in the same way within your template's resources folder, the structure being:<br />
<br />
/resources/[bundle name]/[resource type]/[filename]. <br />
<br />
You will most likely want to copy the original template over to your template folder and modify it.<br />
<br />
== Template Configuration ==<br />
<br />
Every template must come with a file called template.yml that contains configuration. These files are written in the [http://symfony.com/doc/current/components/yaml/yaml_format.html YAML format]. YAML is a "a human friendly data serialization standard" and is easy to read.<br />
<br />
Here is an example of a standard template configuration:<br />
<br />
<syntaxhighlight lang="yaml" enclose="div"><br />
details:<br />
name: Flatly<br />
description: Flatly Theme<br />
version: 1.0<br />
author: AV Scripts & Bootswatch<br />
<br />
assets:<br />
style.css:<br />
priority: -100<br />
<br />
admin_settings_sections:<br />
template: Template Settings<br />
<br />
admin_settings:<br />
logo_image_url:<br />
type: text<br />
section: template<br />
label: Logo URL<br />
template_no_sidebar:<br />
type: checkbox<br />
section: template<br />
label: No sidebar<br />
help: Disable the right sidebar throughout the site<br />
default: 0<br />
template_sidebar_position:<br />
type: radio<br />
label: Sidebar Position<br />
choices:<br />
left: Left<br />
right: Right<br />
default: right<br />
section: template<br />
template_container_style:<br />
type: radio<br />
label: Template Width<br />
choices:<br />
max: Limit Width<br />
fluid: Fill Screen<br />
default: max<br />
section: template<br />
<br />
module_positions:<br />
sidebar:<br />
name: Sidebar<br />
description: The main sidebar on the site<br />
content_top:<br />
name: Content Top<br />
description: The top of content pages (not on pages without the sidebar)<br />
content_bottom:<br />
name: Content Bottom<br />
description: The bottom of content pages (not on pages without the sidebar)<br />
page_footer:<br />
name: Page Footer<br />
description: The bottom of all pages, full-width<br />
header_bottom:<br />
name: Header Bottom<br />
description: Under the main navigation on all pages<br />
<br />
menus:<br />
frontend_footer:<br />
label: Frontend Footer<br />
</syntaxhighlight><br />
<br />
=== Details ===<br />
<br />
This section of the template configuration lets you set information about the template: the name, author, version & description<br />
<br />
=== Assets ===<br />
<br />
In AVCMS all CSS and Javascript files are combined together so that only one CSS file & one Javascript file need to be downloaded by the end user. In the assets section of the template config, you can add any custom CSS and Javascript that you want to be compiled. CSS files must be found in the /css folder of your template, and javascript files in the /javascript folder.<br />
<br />
You can optionally add "compress: false" under the priority of the asset if you don't want the Javascript or CSS to be minified.<br />
<br />
=== Admin Settings Sections ===<br />
<br />
Here you can add new categories to the admin panel settings page. In the above example, we just add a category called "Template Settings".<br />
<br />
=== Admin Settings ===<br />
<br />
Here you can add extra fields to the admin panel settings for use in your template.<br />
<br />
The above example shows how to make text, checkbox and radio fields. You can also make textareas (same syntax at "text" above) and select fields (same syntax as radio types). <br />
<br />
Once you have created a setting, you can use that setting in your template by using "settings.setting_name", like:<br />
<br />
{% if settings.template_no_sidebar == 0 %}<br />
<br />
=== Module Positions ===<br />
<br />
Here you can specify the names and information about the module positions in your template. Adding the module positions to this file allows admins to assign modules to those positions, but you will still need to make sure the module position is rendered in your template in the position where you want it.<br />
<br />
To render the module position somewhere in your template, use the "render_modules" function:<br />
<br />
<nowiki>{{ render_modules('sidebar') }}</nowiki><br />
<br />
== Bootstrap ==<br />
<br />
AVCMS makes use of the [http://getbootstrap.com Bootstrap 3 CSS framework]. If you want to redesign any bootstrap element, like buttons, forms or components like panels, you will want to create your own version of the bootstrap.min.css file. You can customise a custom Bootstrap CSS file using their website [http://getbootstrap.com/customize/ here]. You can also download Bootstrap's source code and work directly with their LESS or SASS stylesheets.<br />
<br />
Overriding the bootstrap.min.css file works just like overriding any other file as detailed above. The specific location for the bootstrap CSS is:<br />
<br />
[your-template-directory]/resources/CmsFoundation/css/bootstrap.min.css<br />
<br />
You can also find some free Bootstrap themes to get you started from [https://bootswatch.com/ Bootswatch]</div>Andyhttp://www.wiki.avscripts.net/wiki/Developer_ModeDeveloper Mode2015-03-25T16:43:42Z<p>Andy: </p>
<hr />
<div>Developer mode provides clearer error messages, developer tools and stops caching so you can see your changes as you work. Developer mode '''should not be enabled on live websites''' that people can access. You should install AVCMS on your local machine or use a server password when in developer mode.<br />
<br />
== Enabling developer mode ==<br />
<br />
Developer mode can be activated by editing the index.php file.<br />
<br />
Within index.php find this line:<br />
<br />
<syntaxhighlight lang="php"><br />
define('DEBUG_MODE', false);<br />
</syntaxhighlight><br />
<br />
And change the false to true.<br />
[[Category:Developer]]</div>Andyhttp://www.wiki.avscripts.net/wiki/Main_PageMain Page2015-03-25T16:36:29Z<p>Andy: /* User Guides */</p>
<hr />
<div>== User Guides ==<br />
<br />
Check out the [[Basics of AVCMS|Basics of AVCMS article]] for help with some of the more complex AVCMS features.<br />
<br />
== Developer ==<br />
<br />
Check out the [[:Category:Developer|Developer Category]] for developer articles including template help.</div>MediaWiki default