×

To be able to write in the forum you need to authenticate. Meanwhile it's read-only.

Change History

Documentation and guidelines for writing challenge checkers and creating tags. Also some useful links.

Message: Guidelines

Changed By: magma1447
Change Date: May 17, 2019 08:47AM

Guidelines
This is a work in progress. We will try to update this now when the moratorium will be removed.

[list]
[*] Scripts that uses parameters should document them in the script description. This will make it easier for others to use your script.
[*] Use keywords to make it easier to find the script. They can be in any language, or in several languages.
[*] Don't fetch more data than needed when using GetFinds(). There is a filter, which also with the correct usage can be combined with the config-input. Saves you development time, and saves the servers from memory usage.
[*] If you implement a checker for a challenge that isn't 100% accurate, which may be for technical reasons, make it very clear in the output. Preferably both in the example log and the html output.
[*] Use the log output variable for example logs, preferably using Markdown. Monospace lists should use the Markdown indentation of four spaces (with a line of four spaces only before the list as well).
[*] Script outputs should be in English. You can add an additional language as well, but English is required.
[*] Use the html output variable for more detailed output. You can actually output pure text here as well, but the line-breaks need to be <br>.
[*] Don't concat strings inside loops. Add them to tables and then join the table instead. This is enormously faster and less memory consuming. This is very important
[*] After you have created a tag. Use the verify button to run the tag for the last ten who logged the challenge. Normally they should all be OK.
[*] After you have created a tag, test it on someone with plenty of finds (>10000) and someone with 0 finds.
[*] Don't create identical tags using the same script. There is a housekeeping job that will automatically remove duplicates, but keep the original. Creating another tag for the same challenge can be ok though. If it is more correct, or uses a script that gives better output.
[*] In the tag config use int for integers and strings for strings. Ie, { "required": 100 } is more correct than { "required": "100" }.
[*] Note that neither region or county names always are unique. For example county Waterloo exists in both Canada and Belgium. The region Central exists in four different countries. Make sure you handle this in your scripts and configurations when needed.
[b]Using a region/county filter without providing the country will result in errors in the future.[/b]
[/list]
Changed By: magma1447
Change Date: August 11, 2017 12:40PM

Guidelines
This is a work in progress. We will try to update this now when the moratorium will be removed.

[list]
[*] Scripts that uses parameters should document them in the script description. This will make it easier for others to use your script.
[*] Use keywords to make it easier to find the script. They can be in any language, or in several languages.
[*] Don't fetch more data than needed when using GetFinds(). There is a filter, which also with the correct usage can be combined with the config-input. Saves you development time, and saves the servers from memory usage.
[*] If you implement a checker for a challenge that isn't 100% accurate, which may be for technical reasons, make it very clear in the output. Preferably both in the example log and the html output.
[*] Use the log output variable for example logs, preferably using Markdown. Monospace lists should use the Markdown indentation of four spaces (with a line of four spaces only before the list as well).
[*] Script outputs should be in English. You can add an additional language as well, but English is required.
[*] Use the html output variable for more detailed output. You can actually output pure text here as well, but the line-breaks need to be <br>.
[*] Don't concat strings inside loops. Add them to tables and then join the table instead. This is enormously faster and less memory consuming. This is very important
[*] After you have created a tag. Use the verify button to run the tag for the last ten who logged the challenge. Normally they should all be OK.
[*] After you have created a tag, test it on someone with plenty of finds (>10000) and someone with 0 finds.
[*] Don't create identical tags using the same script. There is a housekeeping job that will automatically remove duplicates, but keep the original. Creating another tag for the same challenge can be ok though. If it is more correct, or uses a script that gives better output.
[*] In the tag config use int for integers and strings for strings. Ie, { "required": 100 } is more correct than { "required": "100" }.
[*] Note that neither region or county names aren't always are unique. For example county Waterloo exists in both Canada and Belgium. The region Central exists in four different countries. Make sure you handle this in your scripts and configurations when needed.
[/list]
Changed By: magma1447
Change Date: May 04, 2016 11:17AM

Guidelines
This is a work in progress. We will try to update this now when the moratorium will be removed.

[list]
[*] Scripts that uses parameters should document them in the script description. This to will make it a lot easier for others.
to use your script.
[*] Use keywords to make it easier to find the script. They can be in any language, or in several languages.
[*] Don't check the Use example log checkbox if the example log doesn't comply with the cache owners requirements, or won't fit in a log. [color=#FF0000]NYI[/color]
[*] Don't fetch more data than needed when using GetFinds(). There is a filter, which also with the correct usage can be combined with the config-input. Saves you development time, and saves the servers from memory usage.
[*] Don't If you implement tags if they do not properlya check theer for a challenge. In some cases that isn't 100% accurate, which may be for technical reasons, make it can be ok anyway, then statevery clearly in the output to . Preferably both in the user which case you haven't covered.
example log and the html output.
[*] Use the log output variable for example logs, preferably using Markdown. Monospace lists should use the Markdown indentation of four spaces (with a line of four spaces only before the list as well).
[*] Script outputs should be in English. You can add an additional language as well, but English is required.
[*]
Use the html output variable for more detailed output. You do not have to use any advanced html (can actually output pure text works here as well) here, , but the line-breaks should need to be <br>.
[*] Don't concat strings inside loops. Add them to tables and then join the table instead. This is enormously faster and less memory consuming.
This is very important
[*] After you have created a tag. Use the verify button to run the tag for the last ten who logged the challenge. Normally they should all be OK.
[*] After you have created a tag, test it on someone with plenty of finds (>10000) and someone with 0 finds.
[*] Don't create identical tags using the same script. There is a housekeeping job that will automatically remove duplicates, but keep the original. Creating another tag for the same challenge can be ok though. If it is more correct, or uses a script that gives better output.
[*] In the tag config use int for integers and strings for strings. Ie, { "required": 100 } is more correct than { "required": "100" }.
[*] Note that county names aren't always unique. For example Waterloo exists in both Canada and Belgium. Make sure you handle this in your scripts and configurations.
when needed.
[/list]

Original Message

Author: magma1447
Date: April 28, 2016 12:34PM

Guidelines
This is a work in progress. We will try to update this now when the moratorium will be removed.

[list]
[*] Scripts that uses parameters should document them in the script description. This to make it a lot easier for others.
[*] Use keywords to make it easier to find the script. They can be in any language, or in several languages.
[*] Don't check the Use example log checkbox if the example log doesn't comply with the cache owners requirements, or won't fit in a log. [color=#FF0000]NYI[/color]
[*] Don't fetch more data than needed when using GetFinds(). There is a filter, which also with the correct usage can be combined with the config-input. Saves you development time, and saves the servers from memory usage.
[*] Don't implement tags if they do not properly check the challenge. In some cases it can be ok anyway, then state clearly in the output to the user which case you haven't covered.
[*] Use the log output variable for example logs, preferably using Markdown. Monospace lists should use the Markdown indentation of four spaces (with a line of four spaces only before the list as well).
[*] Use the html output variable for more detailed output. You do not have to use any advanced html (text works as well) here, but the linebreaks should be
.
[*] Don't concat strings inside loops. Add them to tables and then join the table instead. This is enormously faster and less memory consuming.
[*] After you have created a tag. Use the verify button to run the tag for the last ten who logged the challenge. Normally they should all be OK.
[*] Don't create identical tags using the same script. There is a housekeeping job that will automatically remove duplicates, but keep the original. Creating another tag for the same challenge can be ok though. If it is more correct, or uses a script that gives better output.
[*] In the tag config use int for integers and strings for strings. Ie, { "required": 100 } is more correct than { "required": "100" }.
[*] Note that county names aren't always unique. For example Waterloo exists in both Canada and Belgium. Make sure you handle this in your scripts and configurations.
[/list]