This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
developers:addons:start [2012/10/12 15:44] jonyo [geoaddons.com Guidelines] |
developers:addons:start [2014/10/21 16:28] (current) geojames |
||
---|---|---|---|
Line 4: | Line 4: | ||
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. | 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 [[https:// | + | The bulk of the documentation for addons is still in the form of an example addon that can be [[https:// |
===== Parts of Addons ===== | ===== Parts of Addons ===== | ||
Line 11: | Line 11: | ||
* **info.php** - Holds information about the addon. | * **info.php** - Holds information about the addon. | ||
- | * **[[developers/ | + | * **[[core_events|Core Events]]** - sometimes called " |
* **[[developers/ | * **[[developers/ | ||
* **[[developers/ | * **[[developers/ | ||
Line 29: | Line 29: | ||
* Do **not** use period (.) in the folder name as it will cause problems in the software((For one, the addon text exporter uses a . between addon name and auth tag, so export/ | * Do **not** use period (.) in the folder name as it will cause problems in the software((For one, the addon text exporter uses a . between addon name and auth tag, so export/ | ||
* Highly recommend using alpha-numeric and underscore (**_**) characters only. This will ensure best compatibility and reduce/ | * Highly recommend using alpha-numeric and underscore (**_**) characters only. This will ensure best compatibility and reduce/ | ||
- | * Check to make sure the name is not already being used by one of the available official addons released by Geodesic Solutions. | + | * Check to make sure the name is not already being used by one of the available official addons released by Geodesic Solutions. |
* Choose a unique name, perhaps consider adding something unique to you to the beginning of each addon folder you create((For instance what you use for // | * Choose a unique name, perhaps consider adding something unique to you to the beginning of each addon folder you create((For instance what you use for // | ||
Line 35: | Line 35: | ||
===== Advertise your Addons ===== | ===== Advertise your Addons ===== | ||
- | We have a website http://geoaddons.com, owned and operated by Geodesic Solutions, LLC. specifically for showcasing 3rd party addons (Addons created by you!). | + | We have a website http://geocoregoodies.com, owned and operated by Geodesic Solutions, LLC. specifically for showcasing 3rd party addons (Addons created by you!). |
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. | 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. | ||
- | ==== geoaddons.com Guidelines ==== | + | ==== Geocoregoodies.com Guidelines ==== |
- | These guidelines are **for developers** wishing to advertise an addon on geoaddons.com. Below are the guidelines that your addon must adhere to, in order to advertise your addon by posting it on [[http://geoaddons.com]]. | + | 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 well((Yes following the guidelines can take longer, and thus cost more for custom development, |
**Addon Requirements: | **Addon Requirements: | ||
* Must be a " | * Must be a " | ||
- | * Must provide clear way to contact the author (that' | + | * Must provide clear way to contact the author (that' |
* Must provide the link to purchase and/or download the addon. | * Must provide the link to purchase and/or download the addon. | ||
* Clearly define all requirements such as if it requires another specific addon to be enabled, and which versions of the main software it is compatible with. | * Clearly define all requirements such as if it requires another specific addon to be enabled, and which versions of the main software it is compatible with. | ||
+ | * Enter all required fields accurately when posting the addon. | ||
These guidelines are subject to revision as needed. | These guidelines are subject to revision as needed. | ||
- | Below are **recommendations** if you plan to post your addon on geoaddons.com: | + | Below are **recommendations** if you plan to post your addon on geocoregoodies.com: |
**Addon Suggestions: | **Addon Suggestions: | ||
Line 62: | Line 63: | ||
* Try to follow "best practices" | * Try to follow "best practices" | ||
- | <tip c n> | + | <tip c n> |
+ | |||
+ | ==== Tips on Licensing / Locking to Domain ==== | ||
+ | |||
+ | 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. | ||
+ | |||
+ | For brevity, the rest of this section will refer to any sort of " | ||
+ | |||
+ | 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. | ||
+ | |||
+ | **Tips & Best Practices for Licensing your Addon:** | ||
+ | |||
+ | * Include the company / author' | ||
+ | * **BAD: | ||
+ | * **GOOD: | ||
+ | * We cannot stress this enough... | ||
+ | * If protecting the code, we recommend [[http:// | ||
+ | * We discourage using " | ||
+ | * If validating a license from your server, we generally recommend to save the information in the database or a file so that it does not need to repeatedly contact your server to validate the license. | ||
+ | * Any solutions you use to lock, protect, license, etc. - remember to customize all the "built in" errors for whatever tool you are using, so that it includes the author name and addon name in any errors.((Yes this was sort of point 1 as well. This is actually the main reason we created this section, as that happens from time to time, a client sees the error and gets mad at us. In fact that is one of the main causes of "bad reviews" | ||
+ | |||
+ | |||
+ | Note that the example addon, in the **info.php** file, look at the method **addon_example_info:: |