{ "info": { "author": "Paul Traina", "author_email": "bulk+pypi@pst.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Web Environment", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Natural Language :: English", "Operating System :: POSIX", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Communications :: Chat", "Topic :: Office/Business :: Groupware" ], "description": "Slack Private Group Clusters\n============================\n\nmembership tools for private groups\n-----------------------------------\n\nSlack channels are great, anyone who is a member of your team can join\nor leave a channel as they want. Slack also supports private groups (aka\nprivate channels) which are invite-only. These private groups are\ninvisible to anyone who is not a member of the group, and are\nappropriate for subsets of the team who need to work on particular\nprojects.\n\nUnfortunately, there's nothing in-between team-wide public channels and\nsingle private groups.\n\nFor example, you may have a subset of the team, such as \"finance\" who\nmay want to be able to leave or join any of a number of private groups\nrelating to finance. However, unless they've been manually invited to\nall of the private \"finance\" groups, and added to any new finance groups\nthat may be created in the future, there is a chance they can be kept in\nthe dark about the activites of their own team.\n\nOne way to solve this would be to create a finance-only Slack team for\njust the finance department. Another way, while definitely not perfect,\nis to use a custom integration to create \"private-group-clusters.\"\n\nFor example, one can add all the members of the finance department to a\nprivate group, such as \"finance-department\" and they may join any other\nprivate group matching a regular expression or expressions (e.g.\n\"finance-.\\*\" and \"sales-forecast\").\n\nAudience\n--------\n\nBe familiar with Apache, CGI programs, Python, and JSON, and creating\nSlack integrations before attempting this.\n\nInstallation\n------------\n\n pip3 install slack-groupmgr\n\nwill create three new commands, `groupmgr`, `groupmgr-cgi`, and\n`groupmgr-flask`. They are, in turn, the commandline, CGI, and\na standalone Flask/WSGI debugging server.\n\nIn production, we strongly reccomand using the WSGI version of\ngroup manager, and running it under Apache or ngnix or gunicorn\nor one of the many WSGI capable webservers out there.\n\nThe CGI version is legacy and might be abandoned in the future.\n\nConfiguration:\n--------------\n\nCreate a \"Group Manager\" account, it does not need special privileges,\nbut it must have access to the Web API. At this time it cannot be a\n\"bot\" account, it must be a regular account to use the API's group\ninvite mechanism.\n\nInvite this \"Group Manager\" account to all of the private groups you\nwant it to manage. Slack users, even team owners, do not have any\nvisibility into groups that they are not a member of, and \"Group\nManager\" is no different.\n\nAcquire a WEB API token for the Group Manager account.\n``https://api.slack.com/docs/oauth-test-tokens``\n\nCreate a custom slash command integration for your copy of Group Manager\nwith the following parameters:\n\n- Command: /groupmgr (or whatever you want to call it)\n- URL: point to your server hosting groupmgr\n- Method: POST\n- Token: (generated by Slack, record this, you'll need it below\n (SLASH-TOKEN)\n- Customize Name: \"Group Manager\"\n- Customize Icon: (your choice)\n- Autocomplete Description: Add yourself to semi-private groups\n- Autocomplete Help: Use 'list', 'add', and 'help' for more info\n\nConfigure your webserver to execute the groupmgr python script as CGI at\nthe URL you chose above.\n\nNote: Python 3 has some issues with Unicode encoding if the ``LANG``\nenvironment variable is not set properly before the interepreter\nexecutes code. Make sure that ``LANG`` is set to a utf-8 encoding such\nas ``C.utf-8`` or ``EN_us.utf-8``.\n\nFinally, configure the script itself, look at ``examples/config.json``\n\nThe script, by default, will look for config.json in\n``$HOME/.config/groupmgr/config.json``\n\n- ``default-team`` is only used when using the command line\n- ``team_id`` is the Slack ID (starts with T0.....) of your team\n- ``api_token`` is the Slack Web API token that groupmgr will use to\n control Slack\n- ``inbound_tokens`` are a list of valid SLASH-TOKENs from the slash\n commands\n- ``administrators`` are the names of users who can use groupmgr admin\n commands\n\nFinally, configure your groups, the dictionary is indexed by a master\ngroup followed by a list of regular expressions. See the example file\nfor the format.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/pleasantone/slack-groupmgr", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "slack-groupmgr", "package_url": "https://pypi.org/project/slack-groupmgr/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/slack-groupmgr/", "project_urls": { "Homepage": "https://gitlab.com/pleasantone/slack-groupmgr" }, "release_url": "https://pypi.org/project/slack-groupmgr/1.0.3/", "requires_dist": null, "requires_python": "", "summary": "manage private group membership", "version": "1.0.3" }, "last_serial": 2095943, "releases": { "1.0.2": [ { "comment_text": "", "digests": { "md5": "8327e4abd1cb43917630b532c07af493", "sha256": "8b856d7e12de12b20e6a1650d7eddf5ec8fb8e1f0fdac4a7959ae19afb9993a7" }, "downloads": -1, "filename": "slack-groupmgr-1.0.2.tar.gz", "has_sig": false, "md5_digest": "8327e4abd1cb43917630b532c07af493", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22295, "upload_time": "2016-04-30T05:52:03", "url": "https://files.pythonhosted.org/packages/27/78/2ccf3624fa1622bf002001ea0514872979ab9c1df6fc1c20f7009f3a8e54/slack-groupmgr-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "4f5870089780dd17f411f74081daac43", "sha256": "c818a7090f27efffded37989bed2fecff2dbb05940b62b1482f91c5b70cc6714" }, "downloads": -1, "filename": "slack-groupmgr-1.0.3.tar.gz", "has_sig": false, "md5_digest": "4f5870089780dd17f411f74081daac43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22782, "upload_time": "2016-05-02T23:01:28", "url": "https://files.pythonhosted.org/packages/43/9e/3b2a368358e6f48f8d66cf43af2bb9b6b1fcff3fb25f9aa90e4b175928cb/slack-groupmgr-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4f5870089780dd17f411f74081daac43", "sha256": "c818a7090f27efffded37989bed2fecff2dbb05940b62b1482f91c5b70cc6714" }, "downloads": -1, "filename": "slack-groupmgr-1.0.3.tar.gz", "has_sig": false, "md5_digest": "4f5870089780dd17f411f74081daac43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22782, "upload_time": "2016-05-02T23:01:28", "url": "https://files.pythonhosted.org/packages/43/9e/3b2a368358e6f48f8d66cf43af2bb9b6b1fcff3fb25f9aa90e4b175928cb/slack-groupmgr-1.0.3.tar.gz" } ] }