OCA, da Oggi Contribuisco Anch'io!
Ovvero come contribuire all'OCA sfruttando al meglio github. Scopriremo come orientarsi tra i vari repository e come è strutturato un progetto; come muoversi tra guidelines e convenzioni; analizzeremo i principali strumenti messi a disposizione da github (issues e PRs).
Vedremo gli aspetti social che agevolano la collaborazione con la community e, non ultimo, lo scopo che anima tutto questo.
Marco Arena - Perché nel 2015 parliamo ancora di C++? | Codemotion Milan 2015Codemotion
Un sacco di applicazioni che utilizziamo quotidianamente sono sviluppate in C++. Per esempio, se stai leggendo questo abstract in un browser, allora probabilmente stai usando un software scritto in C++. Nonostante la diffusione di tanti altri eccellenti linguaggi, perché il C++ è ancora così utilizzato? Sapevi che nel 2014 è stato il secondo linguaggio più amato della SO Developer Survey? Cosa offre in più rispetto ad altre tecnologie? Presenterò la mia visione, e anche alcuni “segreti” che rendono il C++ speciale ed evoluto.
Con queste “14 misere” slide ho cercato d’introdurre Liferay e come iniziare con il piede giusto per affrontare lo sviluppo di applicazioni ai voi che siete proprio “novelli”. Spero di essere riuscito con questo primo episodio a suscitare la vostra curiosità e interesse.
Il 10 novembre 2015 viene rilasciato TYPO3 CMS 7.6, la nuova versione LTS con supporto fino al 2018. Queste le differenze con la versione 7.5 e fra qualche giorno i documenti con tutte le differenze tra TYPO3 CMS 6.2 LTS e TYPO3 CMS 7 LTS
Slide del decimo Meetup di Milano, che si è tenuto il 26 Gennaio dalle ore 10:30 alle ore 12:00 in formato virtuale.
Abbiamo parlato insieme a Davide Bonaciti di come ha realizzato un caso d'uso di automazione e CI/CD. Stefano Bernardini, Serena Galassi e Lorenzo Ornella, invece, ci parleranno di DataGraph e ci mostreranno una demo di implementazione per realizzare un'asta del fantacalcio 2.0.
La versione 10.1 di TYPO3 è la seconda versione dello sprint per arrivare alla versione LTS (supporto a lungo termine) nel 2020.
La nuova release ingloba più di 240 commit di Git (modifiche del codice sorgente revisionate, testate e approvate) dalla sua versione precedente la 10.0 pubblicata dieci settimane prima.
Sebbene gli utenti di backend non vedranno molti cambiamenti evidenti o nuove funzionalità importanti, TYPO3 versione 10.1 racchiude una serie di miglioramenti nel core.
Un riepilogo con tutte le novità presenti nella nuova sprint release di TYPO3 CMS: Love at first Site.
E' previsto il rilascio della versione 9 LTS per il 2 ottobre 2018
Tightening the screws è lo slogan che caratterizza questo nuovo rilascio di TYPO3 CMS. La versione 8.1 introduce aggiornamenti sull'interfaccia grafica del modulo workspace, la gestione dei database con Doctrine e molti altri miglioramenti.
Angular kit e Design system del Paese - Meetup ngRome 30 Gennaio 2023AndreaStagi3
Slide del MeetUp di Angular Roma dove Cristian Borelli e Andrea Stagi ci hanno raccontato le evoluzioni fatte sul Design Kit e Bootstrap Italia: dalle nuove tecnologie ai temi dell'accessibilità. L’occasione è stata utile per presentare i lavori per il nuovo Design Kit Angular che andrà ad arricchire le componenti Bootstrap Italia.
Con Xebialabs affrontiamo il tema della gestione della Toolchain devops e Release/Deploy in modo orchestrato e remotizzato.
XebiaLabs, leader del mercato ARA come riportato da Gartner e
Forrester. Con XebiaLabs gestire i rilasci dal punto di vista di processo e di effettivo deploy delle applicazioni è solo un fatto di configurazione, al resto pensa l’engine di XebiaLabs.
La versione 10.2 di TYPO3 è la terza versione dello sprint per arrivare alla versione LTS (supporto a lungo termine) nel 2020. E’ anche l’ultima versione dello sprint dell’anno.
Molte funzionalità sono state sviluppate durante la TYPO3 Initiative Week (T3INIT19) e TYPO3 v10.2 contiene già alcuni di questi sviluppi.
Questa versione apre la strada ad un ambiente all’avanguardia. TYPO3 v10.2 non supporta solo Symfony versione 5.0, ma è anche la prima versione di TYPO3 che supporta PHP versione 7.4. E’ anche l’ultima versione prima della freeze release di
febbraio 2020.
La nuova sprint release: TYPO3 CMS 8.4
Le principali innovazioni:
- revisione del backend per un utilizzo da tablet e da smartphone
- prosegue la migrazione ad un totale utilizzo di Doctrine per le chiamate al database, manuale compreso
- wizard per semplificare e monitorare gli upgrade di release
- e molte altri miglioramenti descritti in questo documento
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...Alessandro Alpi
In questa serie di slide vedremo come creare i build step su Visual Studio Team Services sfruttando gli add-on forniti da Red Gate, come DLM Automation 2: Build.
Similar to OCA: da Oggi Contribuisco Anch'io! (20)
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
OCA: da Oggi Contribuisco Anch'io!
1. Agile Business Group - www.agilebg.com - info@agilebg.com
OCA: da Oggi Contribuisco Anch'io!
Alex Comba
Agile Business Group
2. Agile Business Group - www.agilebg.com - info@agilebg.com
OCA: Odoo Community Association
The Odoo Community Association, or OCA, is a nonprofit
organization whose mission is to support the
collaborative development of Odoo features and
promote its widespread use.
http://odoo-community.org/
3. Agile Business Group - www.agilebg.com - info@agilebg.com
OCA: organizzazione (1/3)
Teams
●
Community Backport Team ( OCB) Odoo additional and early bugfixes
●
Business Topics Teams (18) Accounting, Sales, Logistics, …
●
Localization Teams (16) By country
●
Vertical Interest Teams (8) Hotel, Construction, Medical, ...
●
Connector Teams (7) Integrate Odoo with Magento, Sage, LIMS, ...
●
Community Maintainers Tools Team
http://odoo-community.org/page/List
4. Agile Business Group - www.agilebg.com - info@agilebg.com
OCA: organizzazione (2/3)
Ogni team può essere composto da uno o più progetti.
5. Agile Business Group - www.agilebg.com - info@agilebg.com
OCA: organizzazione (3/3)
Ad ogni progetto corrisponde un repo su github.com/OCA
6. Agile Business Group - www.agilebg.com - info@agilebg.com
Struttura di un repo su github/OCA
Per ogni branch: [moduli] + .gitignore + .travis.yml + README.md
7. Agile Business Group - www.agilebg.com - info@agilebg.com
QA: Quality Assurance (1/3)
Per assicurare la qualità del codice rilasciato, OCA si avvale di alcuni
tools QA:
https://travis-ci.org/
https://coveralls.io/
Travis CI rileva automaticamente quando un nuovo commit viene
“pushato” sul repository, e ogni volta che questo accade, si occupa di
creare una nuova build del progetto, eseguire i test e segnalarne il
risultato positivo con una luce verde o negativo con una luce rossa.
Coveralls determina quale percentuale del codice del progetto viene
effettivamente coperta dai test.
8. Agile Business Group - www.agilebg.com - info@agilebg.com
QA: Quality Assurance (2/3)
All'interno del progetto OCA/maintainer-quality-tools (MQT) sono
contenuti gli strumenti QA utilizzati durante le build su Travis CI.
sample_files/.travis.yml (file template di configurazione di Travis CI
per ciascun progetto OCA)
travis/travis_run_tests
●
travis/test_flake8
travis/cfg/travis_run_flake8.cfg
travis/cfg/travis_run_flake8__init__.cfg
●
travis/test_pylint
travis/cfg/travis_run_pylint.cfg
●
travis/test_server
9. Agile Business Group - www.agilebg.com - info@agilebg.com
QA: Quality Assurance (3/3)
travis_run_tests exited with 0 –> LUCE VERDE!!!
10. Agile Business Group - www.agilebg.com - info@agilebg.com
README.md progetto
OCA/maintainer-quality-tools/blob/master/README.md
11. Agile Business Group - www.agilebg.com - info@agilebg.com
README modulo (1/2)
A partire da ec0b770[1] la chiave 'description' può essere impostata
anche in ['README.rst', 'README.md', 'README.txt']
reST e markdown rendono la visualizzazione della descrizione del
modulo più accattivante
Al suo interno si possono aggiungere le sezioni:
Authors
Contributors
In github, le issues, i commenti, e le descrizioni delle PR utilizzano un
dialetto di markdown[2]
[1] https://github.com/odoo/odoo/commit/ec0b770ed3c4f4fbdf0f24930aaa05bcc5cb0b53
[2] https://help.github.com/articles/github-flavored-markdown/
12. Agile Business Group - www.agilebg.com - info@agilebg.com
README modulo (2/2)
Maggior visibilità per Authors e Contributors
13. Agile Business Group - www.agilebg.com - info@agilebg.com
Come contribuire su github
I principali strumenti messi a disposizione da github per contribuire
sono:
Pull Request (PR)
Issue
Una PR è il modo per comunicare che abbiamo apportato delle
modifiche che vorremmo venissero incluse nel progetto. La tipologia
utilizzata per OCA è il fork and pull.
Le Issues vengono utilizzate per segnalare task , bug o feature di un
progetto. Queste andrebbero sempre controllate ed utilizzate,
soprattutto quando ci prepariamo ad inviare una PR. Potrebbe infatti
darsi che il bug che stiamo correggendo sia noto e già segnalato da
qualcun’altro.
14. Agile Business Group - www.agilebg.com - info@agilebg.com
hub: come sfruttare al meglio github
https://hub.github.com/
Per estendere git con i comandi di hub è sufficiente aggiungere a .bashrc o
.bash_profile:
eval "$(hub alias -s)"
15. Agile Business Group - www.agilebg.com - info@agilebg.com
Workflow per PR fork and pull (1/3)
Supponiamo di aver scovato un bug in un modulo di OCA/l10n-italy
branch 8.0 e di voler proporre la sua fix.
$ git clone OCA/l10n-italy
$ cd l10n-italy
$ git browse -- issues (apre https://github.com/OCA/l10n-italy/issues)
$ git checkout -b 8.0-fix-issue1
( scrivo le modifiche...)
$ git add -p
$ git commit -m "Close issue #1"
https://help.github.com/articles/closing-issues-via-commit-messages/
Un messaggio di commit scritto bene rende il processo di review più veloce.
16. Agile Business Group - www.agilebg.com - info@agilebg.com
Workflow per PR fork and pull (2/3)
Non potendo scrivere direttamente sul progetto, devo crearne una
copia, ovvero un fork.
$ git fork
(fork su github: tafaRU/l10n-italy)
(git remote add tafaRU git@github.com:tafaRU/l10n-italy.git)
$ git push tafaRU
In alternativa:
$ git pull-request
(apre il text editor per modificare il titolo, aprire il link della PR appena creata e modificare descrizione)
17. Agile Business Group - www.agilebg.com - info@agilebg.com
Workflow per PR fork and pull (3/3)
Ora che la PR è stata aperta inizia il processo di review, una vera è
propria conversazione in stile social in cui potremmo discutere insieme
ai vari reviewer. Dovremmo essere pronti a sostenere discussioni,
applicare ulteriori fix o ad accettare un eventuale rifiuto.
L'accettazione della PR e quindi il suo merge dipende esclusivamente da
due fattori:
> 2
[1] http://odoo-community.org/page/how-to ( con 3 approve, merge quasi immediato)
[1][2]
[2] emojis - :+1:
18. Agile Business Group - www.agilebg.com - info@agilebg.com
Come muoversi tra i vari branches
Vediamo cosa dovreste fare per contribuire allo sviluppo di 8.0-fix-issue1:
$ git remote add -p tafaRU
# controllo i remotes
$ git remote -v
$ git fetch tafaRU - $ git fetch –all
$ git checkout 8.0-fix-issue1
$ git checkout -b 8.0-imp-issue1
# aggiungo le modifiche e le committo
$ git push your_account
# faccio PR con base tafaRU/l10n-italy e branch 8.0-fix-issue1
19. Agile Business Group - www.agilebg.com - info@agilebg.com
Rebase una PR
Una delle richieste più ricorrenti durante una PR:
Questo ha come risultato:
integrare nel vostro branch le modifiche approdate sul
branch principale
rilanciare la build di Travis CI
A partire dal vostro branch 8.0-fix-issue1:
$ git rebase origin/8.0 ( opzione -i per pulire commit)
$ git push -f (riscrivo la history!!!)
https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request
20. Agile Business Group - www.agilebg.com - info@agilebg.com
Convenzioni e linee guida
Quelle presenti sono ancora incomplete o poco aggiornate:
http://odoo-community.org/page/how-to
Quello che fa fede al momento sono i tools presenti nell' MQT repo, per
tale motivo vi consiglio di impostare il watching[1], per essere notificati
su tutte le nuove PR e nuove issue.
Ad es. https://github.com/OCA/maintainer-quality-tools/issues/46
[1] https://help.github.com/articles/watching-repositories/
21. Agile Business Group - www.agilebg.com - info@agilebg.com
Come contribuire: review di PR
Review di PR
●
Code review
●
Manual testing
●
Functional review
Ogni venerdì si tiene l'OCA Review Day:
https://waffle.io/oca/maintainers-tools
https://github.com/pulls?user=OCA
22. Agile Business Group - www.agilebg.com - info@agilebg.com
Canali di comunicazione
Mailing lists
●
https://www.odoo.com/page/odoo-community
IRC (freenode.net)
●
#openobject
https://botbot.me/freenode/openobject/
●
#oca (discutere le PR e vedere aggiornamenti PR)
Twitter
●
@OdooCommunity
●
@OCA_Bot (merge di PR)
23. Agile Business Group - www.agilebg.com - info@agilebg.com
OCA: Ovvero, Con un'Aforisma
"Given enough eyeballs, all bugs are shallow"
Eric Steven Raymond(The Cathedral and the Bazaar)