This section will help developers get started with understanding all the different things an addon can do. It is still very much a work in progress, so if you have questions not answered here, send them to [email protected] and we will be happy to explain things further.
The bulk of the documentation for addons is still in the form of an example addon that can be downloaded from the "public downloads" section in the client area. This section of the user manual is meant to complement the example addon, not replace it.
There are a few main parts to an addon, which are listed below:
The addon's folder name is part of what defines the addon, and is used for the name var in the info.php file. To ensure the best compatibility, and reduce chances of future compatibility changes, we recommend using the following guidelines. Some of these are suggestions, and some are required in order for certain things to work in the software.
We have a website http://geocoregoodies.com, owned and operated by Geodesic Solutions, LLC. specifically for showcasing 3rd party addons (Addons created by you!). If you have created your own addon and would like to sell or give it away, register a developer account on http://geocoregoodies.com and post a listing about your addon on the site. The http://geocoregoodies.com website is powered by GeoClassAuctions Enterprise, and uses a lot of the built in features like ability for users to review addons.
You can create your own developer storefront as well once you get a few addons posted on the site that you want to be able to showcase from a single location on the site.
These guidelines are for developers wishing to advertise an addon on geocoregoodies.com. Below are the guidelines that your addon must adhere to, in order to advertise your addon by posting it on http://geocoregoodies.com. Note that we also recommend these guidelines for any custom / 1-off addon as well4), as these are considered "best practices" and good ideas to follow in general.
Addon Requirements:
These guidelines are subject to revision as needed. If any of the guidelines above are not met, we may remove your listing and attempt to contact you to re-post it with any corrections or changes needed.
Below are recommendations if you plan to post your addon on geocoregoodies.com:
Addon Suggestions:
<tip c n>Note: If you happen to find any addons posted on http://geocoregoodies.com that do not follow the requirements above, please let us know. We do try to review every addon posted but sometimes things can slip through.</tip>
If you are creating an addon that you plan to sell to others, you may wish to use some sort of licensing or other mechanism to ensure that the addon is only used on a single installation. Or perhaps wish to encode or obfuscate7) the addon code to prevent others from "stealing" the source code and re-using it.
For brevity, the rest of this section will refer to any sort of "source code protection" or mechanisms to prevent unlicensed copying, as "license protection".
Such practices are perfectly fine as it allows 3rd party developers like yourself, to use technology to make sure your works are not stolen or used without permission, so that you can focus on making great customizations and addons. When you do so however, we ask that you go over the following guidelines:
Tips & Best Practices for Licensing your Addon:
Note that the example addon, in the info.php file, look at the method addon_example_info::enableCheck() - this is a "built in" location that you can add licensing checks if you wish. Just return "true" to allow the addon to be enabled or "false" and the addon will be disabled for "that page load". Returning false does not affect the actual enable/disable status of the addon, it basically just stops the addon from being used for that page load. If the method does not exist then it defaults to allow the addon to be used. You can see more information in the Developer API Docs Here or in the source code of the example addon.