diff options
Diffstat (limited to 'share/extensions/docs/authors/submit.rst')
-rw-r--r-- | share/extensions/docs/authors/submit.rst | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/share/extensions/docs/authors/submit.rst b/share/extensions/docs/authors/submit.rst new file mode 100644 index 0000000..c140009 --- /dev/null +++ b/share/extensions/docs/authors/submit.rst @@ -0,0 +1,97 @@ +Submitting and reviewing extensions +=================================== + +This page details how extensions can be submitted to and moderated on +the Inkscape website. + +I want to submit my extension +----------------------------- + +Go through each of these actions and check to make sure your extension +is ready to be made available in Inkscape: + +#. Check for limitations + + * Your extension must not contact the internet (unless exempted for a good reason) + * It must not self-update, or edit files in the config directory. + * It must be readable code, in English. Code in other languages or too obscure may not be accepted. + +#. Check the license of your code + + * Your code must be Free and Open Source. Using one of the available licenses such + as GPL, AGPL, MIT, Apache2 etc. + * Every included dependency must be also Free and Open Source. + +#. Check all of your dependencies + + * Your extension MUST be python based (except for template extensions) + * It MUST work with python 3.6 or later + * Any dependency not shipped with Inkscape MUST be packaged along side your + extension. For example jinja2 would be included in a folder. + +#. Create a zip file of your extension and any external depdencies. + + * Include only one copy in the root of the zip file. + * No specific versions for windows or linux, macOS. + +#. Check which versions of Inkscape it works with (each one, make a note for tagging + later) + + * set the variable "INKSCAPE_PROFILE_DIR=/tmp/folder" + * run the inkscape version + * open the extensions manager + * install the zip file you hope to submit (second tab, folder button at the bottom) + * Your extension MUST work with at least one version of Inkscape. + +#. Sign your zip file + + * Use GnuPG to sign your zip file, use the same signature as the public key you + uploaded to inkscape.org + * OR use md5hash to create a less secure md5 signature of the zip file. Make sure + you have some text in your inkscape.org gnupg key profile setting so you see the + signature field when uploading. + +#. Upload the zip file to the extensions category in the website. + + * Include the generated signature + * Title and description in English with as much detail as possible + * Add Inkscape versions as you tested above. + * Include a link to the Git repository. + * Include an icon and screenshot file. + +#. Send a message to the Inkscape extensions team on `RocketChat`_ asking for a review. + +.. _RocketChat: https://chat.inkscape.org/channel/inkscape_extensions + +I want to review a submission +----------------------------- + +Extensions Reviewer Checklist +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- ☐ Take next popular extension [#]_ or request to review +- ☐ Check for existing verification signature +- ☐ Contact author to inform about review +- ☐ Unpack zip to extensions folder +- ☐ Check zip contents for inx and py file +- ☐ Check for license header and/or file +- ☐ Run pytest and record test coverage +- ☐ Run pylint to get code quality score +- ☐ Visually confirm no mallicious or internet code +- ☐ If no tests, add simple test upstream [#]_ +- ☐ Install zip using extensions manager +- If everything is correct … +- ☐ Add version tags and any other tags +- ☐ Edit description, title, logos to improve presentation +- ☐ contact a website administrator to complete + +If everything is correct (must be admin): +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- ☐ Add testing and quality scores to decription +- ☐ Generate signature key and upload +- ☐ Generate md5 if package is not self-signed + +.. [#] https://inkscape.org/gallery/=extension/ + +.. [#] Add simple inkex.tester comparision test
\ No newline at end of file |