publikimi i sistemit të menaxhimit të repositoreve , në entuziastë dhe përfaqësues të organizatës Software Freedom Conservancy me qëllim të vazhdimit të zhvillimit të kodit të lirë të RhodeCode, pas të kësaj platforme në një produkt komercial gjysmë-të drejta. Kallithea lejon ngritjen e një infrastrukture për menaxhimin e zhvillimit, e cila mbështet sistemet e kontrollit të versioneve Git dhe Mercurial, dhe për problemet e zgjidhura i ngjan GitHub, GitLab dhe Bitbucket. Kodi i projektit është shkruar në gjuhën Python dhe në licencë GPLv3.
Kallithea përfshin një server të avancuar për përpunimin e kërkesave push/pull dhe një ndërfaqe në ueb për organizimin e zhvillimit të përbashkët, e cila lejon menaxhimin e repositoreve, ndarjen e të drejtave të aksesit, rishikimin e kodit, ndjekjen e aktivitei të kontribuesve të tjerë, krijimin e fork-eve të projekteve, dërgimin e kërkesave për bashkimin ose modifikimin e kodit në vend, përmes një redaktori të thjeshtë. Mbështetet integrimi me një bazë të dhënash qendrore të përdoruesve të organizatës, të bazuar në LDAP ose ActiveDirectory. Mbështetet krijimi i grupeve të repositoreve dhe grupeve të zhvilluesve me unifikimin e menaxhimit të anëtarëve të grupit. Disa pamje të ndërfaqes mund të ndryshohen lehtësisht përmes sistemit të shablloneve. Mbështetet paraqitja vizuale e aktivitetit në formën e grafikeve. Në sistemin e rishikimit të ndryshimeve mbështetet diskutimi i ndryshimeve dhe dërgimi i njoftimeve.
Pjesa serverike e platformës është multi-thread, e cila lejon t’i shërbejë njëkohësisht disa kërkesave pull/push. Për të rritur performancën, sistemi përdor aktivisht keq-kastimin dhe ekzekutimin e veprimeve në mënyrë asinhrone. Në sistem janë të integruara mjete rezervimi, që lejojnë arkivimin dhe ruajtjen periodike të të dhënave të plota përmes 'scp'. Për të ndjekur aktivitetin në repositorë mbështetet një ndërlidhës i veçantë, që mban një regjistër të të gjitha kërkesave dhe lejon autentifikimin e çdo kërkese. Për të punuar me repositorët, përdoret biblioteka , metadatet rreth projekteve mund të ruhen në SQLite, PostgreSQL ose në BD të tjera që mbështeten në SQLAlchemy.
Ndryshimet kryesore:
- Aftësia për të aksesuar depozitat përmes SSH është ofruar, duke përdorur një URL të formatit «ssh://kallithea@example.com/name/of/repository». Autentifikimi për qasje në depo nëpërmjet SSH bëhet në bazë të çelësit të hapur të përdoruesit (me mbrojtje shtesë të çelësit me fjalëkalim ose pa, varësisht nga preferenca e përdoruesit). Ngarkimi i çelësit (~/.ssh/id_rsa.pub) në server bëhet përmes ndërfaqes së internetit Kallithea, e cila automatizon ruajtjen e çelësit në skedarin authorized_keys. Vlen të theksohet se performanca e punës me repositorin përmes SSH është më e lartë sesa qasja në repositor përmes HTTPS.
- Shtuar mbështetje për sistemin e shpërndarë të menaxhimit të versioneve Mercurial 5.2.
- Rishikuar funksionaliteti «Admin > Settings > Visual > (HTTP) Clone URL», procesori i të cilit tani kontrollon në mënyrë të qartë praninë e vargjeve «{repo}» dhe «_{repoid}».
- Pastrimi i sistemit të të drejtave të aksesit është realizuar — të drejtat e aksesit shqyrtohen gjithmonë si shtesë, pra garanton se çdo përdorues ka të paktën të njëjtat të drejta si përdoruesi i paracaktuar.
- Në skedarin e konfigurimit është ndaluar mbështetje për cilësimin api_access_controllers_whitelist. Autentifikimi përmes çelësit të aksesit API tani automatikisht ofron qasje në të gjitha API-të e lejuara për përdoruesin.
- Mbyllur mbështetja për Python 2.6. Aktualisht mbështetet vetëm dega Python 2.7, por zhvilluesit po punojnë për të siguruar mbështetje të plotë për Python 3.x.
- Funksioni i bllokimit të depozitës (pull-to-lock, push-to-unlock) është eliminuar.
Burimi: opennet.ru
