lëshimi i sistemit të menaxhimit të repositorëve , nga entuziastët dhe përfaqësuesit e organizatës Software Freedom Conservancy për të vazhduar zhvillimin e bazës së kodit të lirë RhodeCode, pas të kësaj platforme në një produkt të pjesshëm tregtar. Kallithea lejon ngritjen e një infrastrukture menaxhimi të zhvillimit, e cila mbështet sistemet e kontrollit të versioneve Git dhe Mercurial, dhe në detyrat që zgjidh, i ngjan GitHub, GitLab dhe Bitbucket. Kodi i projektit është shkruar në gjuhën Python dhe në përputhje me licencën GPLv3.
Kallithea përfshin një server me performancë të lartë për përpunimin e kërkesave push/pull dhe një ndërfaqe web për organizimin e zhvillimit në bashkëpunim, e cila lejon menaxhimin e repositorëve, ndarjen e të drejtave të aksesit, rishikimin e kodit, ndjekjen e aktiviteteve të pjesëmarrësve të tjerë, krijimin e fork-eve të projekteve, dërgimin e kërkesave për pull ose ndryshimin e kodit në vend, përmes një redaktori të thjeshtë. Mbështetet integrimi me bazën e përdoruesve të centralizuar të ndërmarrjes, të bazuar në LDAP ose ActiveDirectory. Mbështetet krijimi i grupeve të repositorëve dhe grupeve të zhvilluesve me unifikimin e menaxhimit të anëtarëve të grupit. Pamja e ndërfaqes mund të ndryshohet lehtësisht përmes sistemit të template-ve. Mbështetet një përfaqësim vizual i aktiviteteve në formën e grafikëve. Në sistemin e rishikimit të ndryshimeve mbështetet diskutimi i ndryshimeve dhe dërgimi i njoftimeve.
Pjesa server e platformës është multitread, çka lejon shërbimin e disa kërkesave pull/push njëkohësisht. Për të rritur performancën, në sistem përdoret intensivisht caching dhe ekzekutimi i veprimeve në mënyrë asinkrone. Në sistem janë integruar mjete rezervimi, që lejojnë arkivimin dhe ruajtjen periodike përmes "scp" të të dhënave. Për ndjekjen e aktiviteteve në repositorë mbështetet një shtresë speciale, e cila mban një ditar të të gjitha kërkesave dhe lejon autentifikimin e çdo kërkese. Për punën me repositorët përdoret biblioteka , metadat një për projektet mund të ruhen në SQLite, PostgreSQL ose në baza të tjera të dhënash që mbështeten në SQLAlchemy.
Ndryshimet kryesore:
- ĂshtĂ« ofruar mundĂ«sia e aksesit nĂ« repositore pĂ«rmes SSH, duke pĂ«rdorur URL si "ssh://kallithea@example.com/name/of/repository". Autentifikimi kur iu qasje repositorit pĂ«rmes SSH bĂ«het mbi bazĂ«n e çelĂ«sit publik tĂ« pĂ«rdoruesit (me mbrojtje shtesĂ« tĂ« çelĂ«sit me fjalĂ«kalim ose pa, sipas preferencave tĂ« pĂ«rdoruesit). Ngarkimi i çelĂ«sit (~/.ssh/id_rsa.pub) nĂ« server bĂ«het pĂ«rmes ndĂ«rfaqes web tĂ« Kallithea, e cila automatizon ruajtjen e çelĂ«sit nĂ« skedarin authorized_keys. VĂ«rehet se performanca e punĂ«s me repositorin pĂ«rmes SSH Ă«shtĂ« mĂ« e lartĂ« se sa me qasje nĂ« repositor pĂ«rmes HTTPS.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r sistemin e shpĂ«rndarĂ« tĂ« menaxhimit tĂ« versioneve Mercurial 5.2.
- Funksioni "Admin > Settings > Visual > (HTTP) Clone URL" Ă«shtĂ« rishikuar, procesori i tĂ« cilit tani kontrollon eksplĂcitisht praninĂ« e vargjeve "{repo}" dhe "_{repoid}".
- Sistemi i të drejtave të aksesit është pastruar - të drejtat e aksesit shqyrtohen gjithmonë vetëm si shtesë, dmth. sigurohet që çdo përdorues të ketë të paktën të njëjtat të drejta si përdoruesi me parazgjedhje.
- Në skedarin e konfigurimit është ndalur mbështetje për konfigurimin api_access_controllers_whitelist. Autentifikimi përmes çelësit të aksesit në API tani automatike ofron akses në të gjithë API-të, të lejuara për përdoruesin.
- Mbështetja për Python 2.6 është ndalur. 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ë repositorit (pull-to-lock, push-to-unlock) është fshirë.
Burimi: opennet.ru
