Package: collective.bluesky
collective.blueskycollective.blueskyis a package providing aPlonecontent rules action to post a status to Bluesky.InstallationThis package supports Plone sites using Volto and ClassicUI.For proper Volto support, the requirements are:plone.restapi >= 8.34.0Volto >= 16.10.0Addcollective.blueskyto the Plone installation usingpip:pipinstallcollective.blueskyor add it as a dependency on your package'ssetup.pyinstall_requires=["collective.bluesky","Plone","plone.restapi","setuptools",],ConfigurationObtaining an App PasswordBefore you can use this package, you have to register an App Password on Bluesky.
To do so, log in to your account, visitApp Passwordand add a newApp Password.
Go to the newly created application page and copy the value ofYour access token.Configuring PloneThis package is configured via theBLUESKY_APPSenvironment variable which should contain a valid JSON array with your Bluesky Application information.Each application registration requires the following information:KeyDescriptionExample ValuehostHostname of the instance to be used. Default value:bsky.appsandbox.tldhandleHandle used to log in the host (without the @)demoapp_passwordApplication password1232434323234protocolHost protocol. Default value:httpshttpsUsing the information above, the environment variable would look like:BLUESKY_APPS='[{"host":"bsky.app","handle":"demo","app_password":"1232434323234"}]'Starting PloneNow, you can start your local Plone installation with:BLUESKY_APPS='[{"host":"bsky.app","handle":"demo","app_password":"1232434323234"}]'makestartor, if you are using adocker composeconfiguration, add the new environment variable under theenvironmentkey:environment:-BLUESKY_APPS=[{"host":"bsky.app","handle":"demo","app_password":"1232434323234"}]After start-up visit theContent RulesControl Panel, and create a new content rule.No additional configuration is needed for Volto support.ContributingIf you want to help with the development (improvement, update, bug-fixing, ...) ofcollective.blueskythis is a great idea!Issue TrackerSource CodeDocumentationWe appreciate any contribution and if a release is needed to be done on PyPI, please just contact one of us.Local DevelopmentYou need a workingpythonenvironment (system,virtualenv,pyenv, etc) version 3.8 or superior.Then install the dependencies and a development instance using:makebuildUpdate translationsmakei18nFormat codebasemakeformatRun testsTesting of this package is done withpytestandtox.Run all tests with:maketestRun all tests but stop on the first error and open apdbsession:./bin/tox-etest---x--pdbRun only tests that matchTestAppDiscovery:./bin/tox-etest---kTestAppDiscoveryRun only tests that matchTestAppDiscovery, but stop on the first error and open apdbsession:./bin/tox-etest---kTestAppDiscovery-x--pdbTranslationsThis product has been translated into:English (Érico Andrei)Português do Brasil (Érico Andrei)LicenseThe project is licensed under GPLv2.One Last ThingOriginally Made in São Paulo, Brazil, with love, by your friends @ Simples Consultoria.Now maintained by thePlone CollectiveContributorsÉrico Andrei, @ericofChangelog1.0.0a3 (2023-09-22)Bug fixes:Fix scale upload for images larger than 1Mb @ericof#41.0.0a2 (2023-09-13)Bug fixes:Implement fallback to posts with more than 300 characters. [@ericof]#1Implement fallback for images larger than 1Mb. [@ericof]#21.0.0a1 (2023-08-29)New features:Initial implementation of collective.bluesky [@ericof]#0