{"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\/pl\/blog\/news\/reliz-platformy-sovmestnoj-razrabotki-kallithea-0-5","title":{"rendered":"Wydanie platformy do wsp\u00f3\u0142pracy w zakresie rozwoju 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\">Przedstawiony<\/a><\/noindex>  wydanie systemu zarz\u0105dzania repozytoriami <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\">za\u0142o\u017conej<\/a><\/noindex> entuzjastami i przedstawicielami organizacji Software Freedom Conservancy w celu dalszego rozwoju otwartej bazy kodu RhodeCode, po <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=37626\">przekszta\u0142ceniu<\/a><\/noindex> tej platformy w p\u00f3\u0142prywatny produkt komercyjny. Kallithea umo\u017cliwia wdro\u017cenie infrastruktury zarz\u0105dzania rozwojem, kt\u00f3ra obs\u0142uguje systemy kontroli wersji Git i Mercurial, a w rozwi\u0105zaniach przypomina GitHub, GitLab i Bitbucket. Kod projektu napisany jest w j\u0119zyku Python i <noindex><a rel=\"nofollow\" href=\"https:\/\/kallithea-scm.org\/repos\/kallithea\/\">rozpowszechniany<\/a><\/noindex> jest licencjonowany na zasadach GPLv3. <\/p>\n<p>Kallithea zawiera wysoko wydajny serwer obs\u0142ugi \u017c\u0105da\u0144 push\/pull oraz interfejs webowy do organizacji wsp\u00f3lnego rozwoju, kt\u00f3ry pozwala zarz\u0105dza\u0107 repozytoriami, dzieli\u0107 uprawnienia, recenzowa\u0107 kod, monitorowa\u0107 aktywno\u015b\u0107 innych uczestnik\u00f3w, tworzy\u0107 forki projekt\u00f3w, przesy\u0142a\u0107 \u017c\u0105dania pull lub edytowa\u0107 kod na miejscu, za pomoc\u0105 prostego edytora. Wspierana jest integracja z centraln\u0105 baz\u0105 u\u017cytkownik\u00f3w przedsi\u0119biorstwa, opart\u0105 na LDAP lub ActiveDirectory. Wspierane jest tworzenie grup repozytori\u00f3w i grup programistycznych z ujednoliceniem zarz\u0105dzania cz\u0142onkami grupy. Wygl\u0105d interfejsu mo\u017cna \u0142atwo zmieni\u0107 za pomoc\u0105 systemu szablon\u00f3w. Wspierane jest wizualne przedstawienie aktywno\u015bci w postaci wykres\u00f3w. W systemie przegl\u0105dania zmian wspierana jest dyskusja nad zmianami i wysy\u0142anie powiadomie\u0144.<\/p>\n<p>Cz\u0119\u015b\u0107 serwerowa platformy jest wielow\u0105tkowa, co pozwala na jednoczesne obs\u0142ugiwanie wielu \u017c\u0105da\u0144 pull\/push. W celu zwi\u0119kszenia wydajno\u015bci w systemie aktywnie wykorzystuje si\u0119 cache i wykonywanie dzia\u0142a\u0144 w trybie asynchronicznym. System zawiera narz\u0119dzia do tworzenia kopii zapasowych, kt\u00f3re pozwalaj\u0105 na okresowe archiwizowanie i przechowywanie wszystkich danych przez 'scp'. Aby monitorowa\u0107 aktywno\u015b\u0107 w repozytoriach, wspierana jest specjalna warstwa, kt\u00f3ra prowadzi dziennik wszystkich zapyta\u0144 i pozwala uwierzytelni\u0107 ka\u017cde \u017c\u0105danie. Do pracy z repozytoriami wykorzystywana jest biblioteka <noindex><a rel=\"nofollow\" href=\"http:\/\/pypi.python.org\/pypi\/vcs\">vcs<\/a><\/noindex>, metadane o projektach mog\u0105 by\u0107 przechowywane w SQLite, PostgreSQL lub innych bazach danych wspieranych w SQLAlchemy. <\/p>\n<p>G\u0142\u00f3wne zmiany:\n<\/p>\n<ul>\n<li class=\"l\"> Dost\u0119p do repozytorium za pomoc\u0105 SSH zosta\u0142 udost\u0119pniony poprzez URL w formacie &#171;ssh:\/\/kallithea@example.com\/name\/of\/repository&#187;. Uwierzytelnianie przy dost\u0119pie do repozytorium przez SSH odbywa si\u0119 na podstawie klucza publicznego u\u017cytkownika (z dodatkow\u0105 ochron\u0105 klucza has\u0142em lub bez, w zale\u017cno\u015bci od preferencji u\u017cytkownika). Przesy\u0142anie klucza (~\/.ssh\/id_rsa.pub) na serwer odbywa si\u0119 przez interfejs webowy Kallithea, kt\u00f3ry automatyzuje zapisywanie klucza w pliku authorized_keys. Zauwa\u017cono, \u017ce wydajno\u015b\u0107 pracy z repozytorium przez SSH jest wy\u017csza ni\u017c przy dost\u0119pie do repozytorium przez HTTPS.\n<li class=\"l\"> Dodano wsparcie dla rozproszonego systemu zarz\u0105dzania wersjami Mercurial 5.2.\n<li class=\"l\"> Przeprojektowano funkcj\u0119 &#171;Admin &gt; Ustawienia &gt; Wizualizacja &gt; (HTTP) Clone URL&#187;, kt\u00f3rej handler teraz wyra\u017anie sprawdza obecno\u015b\u0107 ci\u0105g\u00f3w &#171;{repo}&#187; i &#171;_{repoid}&#187;.\n<li class=\"l\"> Przeprowadzono czyszczenie systemu uprawnie\u0144 \u2014 uprawnienia s\u0105 zawsze traktowane jako dodatkowe, tzn. gwarantuje si\u0119, \u017ce ka\u017cdy u\u017cytkownik ma co najmniej takie same uprawnienia, jak u\u017cytkownik domy\u015blny.\n<li class=\"l\"> W pliku konfiguracyjnym zaprzestano wsparcia dla ustawienia api_access_controllers_whitelist. Uwierzytelnienie za pomoc\u0105 klucza dost\u0119pu do API teraz automatycznie zapewnia dost\u0119p do wszystkich API, do kt\u00f3rych u\u017cytkownik ma uprawnienia.\n<li class=\"l\"> Zaprzestano wsparcia dla Pythona 2.6. Obecnie obs\u0142ugiwana jest tylko ga\u0142\u0105\u017a Pythona 2.7, ale programi\u015bci pracuj\u0105 nad zapewnieniem pe\u0142nego wsparcia dla Pythona 3.x.\n<li class=\"l\"> Usuni\u0119to funkcj\u0119 blokady repozytorium (pull-to-lock, push-to-unlock).\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>\u0179r\u00f3d\u0142o: <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.1.1 - 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\/pl\/blog\/news\/reliz-platformy-sovmestnoj-razrabotki-kallithea-0-5\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\/pl\/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\udd47Wydanie platformy do wsp\u00f3\u0142pracy Kallithea 0.5 | ProHoster","description":"Zosta\u0142a zaprezentowana wersja systemu zarz\u0105dzania repozytoriami","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/reliz-platformy-sovmestnoj-razrabotki-kallithea-0-5","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/53349","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=53349"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/53349\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=53349"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=53349"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=53349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}