{"id":53349,"date":"2019-11-29T00:00:00","date_gmt":"2019-11-28T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/reliz-platformy-sovmestnoj-razrabotki-kallithea-0-5"},"modified":"2020-02-18T14:01:14","modified_gmt":"2020-02-18T11:01:14","slug":"reliz-platformy-sovmestnoj-razrabotki-kallithea-0-5","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-platformy-sovmestnoj-razrabotki-kallithea-0-5","title":{"rendered":"Lan\u00e7amento da plataforma de desenvolvimento colaborativo Kallithea 0.5","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kallithea-scm.org\/news\/release-0.5.0.html\">Apresentado<\/a><\/noindex>  libera\u00e7\u00e3o do sistema de gerenciamento de reposit\u00f3rios <noindex><a rel=\"nofollow\" href=\"https:\/\/kallithea-scm.org\/\">Kallithea 0.5<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=40141\">baseada<\/a><\/noindex> em entusiastas e representantes da organiza\u00e7\u00e3o Software Freedom Conservancy com o objetivo de continuar o desenvolvimento da base de c\u00f3digo livre RhodeCode, ap\u00f3s <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=37626\">a transforma\u00e7\u00e3o<\/a><\/noindex> desta plataforma em um produto comercial semi-propriet\u00e1rio. Kallithea permite a configura\u00e7\u00e3o de uma infraestrutura de gerenciamento de desenvolvimento que suporta sistemas de controle de vers\u00e3o Git e Mercurial, e para as tarefas que resolve, se assemelha ao GitHub, GitLab e Bitbucket. O c\u00f3digo do projeto \u00e9 escrito em Python e <noindex><a rel=\"nofollow\" href=\"https:\/\/kallithea-scm.org\/repos\/kallithea\/\">\u00e9 distribu\u00eddo<\/a><\/noindex> sob a licen\u00e7a GPLv3. <\/p>\n<p>Kallithea inclui um servidor de alto desempenho para o processamento de solicita\u00e7\u00f5es de push\/pull e uma interface web para organiza\u00e7\u00e3o do desenvolvimento colaborativo, que permite gerenciar reposit\u00f3rios, dividir permiss\u00f5es de acesso, revisar c\u00f3digo, monitorar a atividade de outros participantes, fazer forks de projetos, enviar pull requests ou editar c\u00f3digo no local, atrav\u00e9s de um editor simples. Suporte para integra\u00e7\u00e3o com uma base de usu\u00e1rios centralizada da empresa, baseada em LDAP ou ActiveDirectory. Suporte para a cria\u00e7\u00e3o de grupos de reposit\u00f3rios e grupos de desenvolvedores com unifica\u00e7\u00e3o na gest\u00e3o de membros do grupo. A apar\u00eancia da interface pode ser facilmente alterada atrav\u00e9s do sistema de templates. Suporte para visualiza\u00e7\u00e3o gr\u00e1fica da atividade. O sistema de revis\u00e3o de mudan\u00e7as suporta discuss\u00e3o de altera\u00e7\u00f5es e envio de notifica\u00e7\u00f5es.<\/p>\n<p>A parte do servidor da plataforma \u00e9 multithread, o que permite atender v\u00e1rios pedidos de pull\/push simultaneamente. Para aumentar a performance, o sistema utiliza ativamente cache e executa a\u00e7\u00f5es de forma ass\u00edncrona. A integra\u00e7\u00e3o de ferramentas de backup permite a arquiva\u00e7\u00e3o peri\u00f3dica e a manuten\u00e7\u00e3o de uma c\u00f3pia de todos os dados via 'scp'. Para monitorar a atividade nos reposit\u00f3rios, h\u00e1 uma camada especial que registra todos os acessos e autentica cada solicita\u00e7\u00e3o. Para trabalhar com os reposit\u00f3rios, a biblioteca <noindex><a rel=\"nofollow\" href=\"http:\/\/pypi.python.org\/pypi\/vcs\">vcs<\/a><\/noindex>, os metadados dos projetos podem ser armazenados em SQLite, PostgreSQL ou outros bancos de dados suportados pelo SQLAlchemy. <\/p>\n<p>Principais mudan\u00e7as:\n<\/p>\n<ul>\n<li class=\"l\"> Foi disponibilizado acesso ao reposit\u00f3rio via SSH, utilizando URLs do tipo 'ssh:\/\/kallithea@example.com\/name\/of\/repository'. A autentica\u00e7\u00e3o ao acessar o reposit\u00f3rio via SSH \u00e9 realizada com base na chave p\u00fablica do usu\u00e1rio (com prote\u00e7\u00e3o adicional da chave por senha, ou n\u00e3o, dependendo da prefer\u00eancia do usu\u00e1rio). A carga da chave (~\/.ssh\/id_rsa.pub) no servidor \u00e9 feita atrav\u00e9s da interface web do Kallithea, que automatiza o armazenamento da chave no arquivo authorized_keys. Observa-se que a performance ao trabalhar com o reposit\u00f3rio via SSH \u00e9 superior \u00e0quela ao acessar o reposit\u00f3rio via HTTPS.\n<li class=\"l\"> Adicionada a compatibilidade com o sistema de controle de vers\u00e3o distribu\u00eddo Mercurial 5.2.\n<li class=\"l\"> A fun\u00e7\u00e3o 'Admin &gt; Settings &gt; Visual &gt; (HTTP) Clone URL' foi redesenhada, e seu manipulador agora verifica explicitamente a presen\u00e7a das strings '{repo}' e '_{repoid}'.\n<li class=\"l\"> Uma limpeza no sistema de permiss\u00f5es foi realizada \u2014 as permiss\u00f5es de acesso s\u00e3o sempre consideradas apenas como adicionais, ou seja, \u00e9 garantido que qualquer usu\u00e1rio ter\u00e1 pelo menos os mesmos direitos que o usu\u00e1rio padr\u00e3o.\n<li class=\"l\"> No arquivo de configura\u00e7\u00e3o, a configura\u00e7\u00e3o api_access_controllers_whitelist foi removida. A autentica\u00e7\u00e3o via chave de acesso \u00e0 API agora concede automaticamente acesso a todas as APIs autorizadas para o usu\u00e1rio.\n<li class=\"l\"> O suporte para Python 2.6 foi descontinuado. Atualmente, apenas a vers\u00e3o Python 2.7 \u00e9 suportada, mas os desenvolvedores est\u00e3o trabalhando para garantir completo suporte ao Python 3.x.\n<li class=\"l\"> A fun\u00e7\u00e3o de bloqueio de reposit\u00f3rio (pull-to-lock, push-to-unlock) foi removida.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51948\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438 Kallithea 0.5, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0441\u0442\u0430\u043c\u0438 \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u044f\u043c\u0438 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 Software Freedom Conservancy \u0441 \u0446\u0435\u043b\u044c\u044e \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u0434\u043e\u0432\u043e\u0439 \u0431\u0430\u0437\u044b RhodeCode, \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0432 \u043f\u043e\u043b\u0443\u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u044b\u0439 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442. Kallithea \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439 Git \u0438 Mercurial, \u0438 \u043f\u043e \u0440\u0435\u0448\u0430\u0435\u043c\u044b\u043c \u0437\u0430\u0434\u0430\u0447\u0430\u043c \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 GitHub, GitLab \u0438 Bitbucket. \u041a\u043e\u0434 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-53349","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-platformy-sovmestnoj-razrabotki-kallithea-0-5\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Kallithea 0.5 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-platformy-sovmestnoj-razrabotki-kallithea-0-5\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-11-28T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:01:14+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lan\u00e7amento da plataforma de desenvolvimento colaborativo Kallithea 0.5 | ProHoster","description":"Apresentado o lan\u00e7amento do sistema de gerenciamento de reposit\u00f3rios.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-platformy-sovmestnoj-razrabotki-kallithea-0-5","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Kallithea 0.5 | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-platformy-sovmestnoj-razrabotki-kallithea-0-5","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-11-28T21:00:00+00:00","article:modified_time":"2020-02-18T11:01:14+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53349","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 07:00:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:26:23","updated":"2026-01-24 07:00:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/53349","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=53349"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/53349\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=53349"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=53349"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=53349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}