OpenProject: To απόλυτο σύστημα διαχείρισης έργου ανοικτού κώδικα

dimitris | Κυρ, 04/07/2019 - 12:57 | 11'

To OpenProject είναι μια πραγματική εφαρμογή διαχείρισης έργου με όλες εκείνες τις λειτουργίες που θα ήθελες για το μικρό, μεσαίο ή τεράστιο project σου. Οι περισσότρες από αυτές δίνονται out-of-the-box ενώ άλλες προσφέρονται είτε ως plugins είτε στις επί πληρωμή εκδόσεις. Όμως η Community Edition του OpenProject (που δοκιμάσαμε σε αυτό το review και είναι δωρεάν) προσφέρει σχεδόν χωρίς έξτρα ρυθμίσεις ουκ ολίγα πράγματα: timelines και Gantt charts, issue tracking, wiki, διαχείριση εγγράφων, αναφορές χρόνου και κόστος, διαχείριση κώδικα, πλήρη υποστήριξη σε Agile & Scrum project management και δεν συμμαζεύεται.  

Βασικό ατού του OpenProject είναι ότι σου δίνει τη δυνατότητα να δεις το πλάνο του project με μια ματιά και από εκεί να έχεις τον έλεγχο και να παίξεις μπάλα. Δείτε ένα στιγμιότυπο του πλάνου από το demo prοject για να πάρετε μια πρώτη ιδέα:

project planning

Στο OpenProject τα πάντα σχεδόν είναι work packages, δηλαδή κομμάτια του έργου - είναι αυτά που βλέπετε στο αριστερό κομμάτι του πλάνου στο παραπάνω στιγμιότυπο. Τα work packages ανήκουν σε 5 διαφορετικά είδη: task, milestone, phase, feature και bug. Ανεξαρτήτως είδους, κάθε work package έχει τις ιδιότητες που θα περιμέναμε να δούμε σε ένα σύστημα διαχείρισης έργου: τι, ποιος, πόσο χρόνο, πότε, προτεραιότητα, κλπ.

Βασικά όλα τα είδη work package έχουν πάνω-κάτω τις ίδιες ιδιότητες. Η διαφορά τους είναι νοηματική: χρησιμοποιείς τα milestones για να καθορίσεις τα ορόσημα του έργου, και ενδιάμεσα βάζεις phases με τα οποία καθορίζεις τις χρονικές περιόδους (που από «κάτω» έχουν άλλα tasks/bugs/features). Απλό και λογικό ε;

openproject - work package
Τα work packages στο OpenProject: με κλικ κάνεις edit απευθείας. Ολα τα packages έχουν τις ίδιες ιδιότητες και την ίδια σχεδόν μορφή. 

Το ωραίο με το OpenProject είναι ότι προσφέρει in-place editing σε όλα τα πεδία. Δηλαδή δεν χρειάζεται να ανοίξεις μια φόρμα ή ένα πεδίο για να το τροποποιήσεις. Απλά κάνεις κλικ πάνω του και το αλλάζεις. 

openproject - editing work package

Επίσης, χωρίς να προσθέσεις καποιο plugin, καθώς προσθέτεις work packages στον σκελετό του έργου, αυτά μεταφράζονται αυτόματα και προστίθενται στο Gantt chart για να βλέπεις με μια ματιά τι γίνεται ή καλύτερα τι πρόκειται να γίνει :)

openproject - gantt chart

Πολύ λειτουργικό είναι το overview page, δηλαδή η αρχική σελίδα του έργου, την οποία μπορείς να προσαρμόσεις όπως θες εσύ με what you see is what you get επεξεργασία:

openproject - overview page

Τέλος στα Project Settings, μπορείς να αλλάξεις τα βασικά στοιχεία του έργου, αλλά και να προσθέσεις modules. Εξορισμού κάθε νέο project έχει ενεργά τα modules για work packages, wiki, time tracking, news, meetings, cost reporting, calendar (αν θες να τα βλέπεις σε μορφή ημερολογίου), budgets και backlogs για Scrum. Επίσης, μπορείς να προσθέσεις το documents module για να διαχειρίζεσαι έγγραφα,  αλλά και forums, repository(!), activity, κλπ. 

OpenProject modules

Ειδικά με το backlogs, το OpenProject απογειώνεται αφού προσφέρει όλα τα features που θα ήθελες για Scrum ανάπτυξη έργου, δηλαδή sprints, user stories κλπ:

 

OpenProject Scrum - backlogs, user stories και άλλα πολλά!

Το OpenProject υποτίθεται πως υποστηρίζει και Kanban boards στο scrum development module, αν και δυσκολεύτηκα στην αρχή να βρω πως θα τα δω στην δική μου εγκατάσταση (καλά, δεν φημίζομαι για την σπιρτάδα μου κυριακή πρωί!). Τελικά, ήταν απλό: πας στα backlogs, σε ένα sprint, κλικ στο βελάκι που βρίσκεται στην πάνω δεξιά γωνία και επιλέγεις Task board:

πως ανοίγεις τα task boards στο scrum

Και ιδού το board, όπου όπως αναμένεται στη scrum μεθοδολογία όλα είναι ταξινομημένα ανάλογα με τα stories:

task boards στο openproject

Και φυσικά με ένα κλικ στο +, δημιουργείς νέο task:

new task

Όπως πολλά μοντέρνα projects, το OpenProject είναι γραμμένο σε Ruby ενώ στηρίζεται στην PostgreSQL για βάση δεδομένων (τρέχει και σε MySQL αλλά χωρίς κάποια features, όπως full-text αναζήτηση). Πάντως, ως project είναι ιδιαίτερα δημοφιλές όπως φαίνεται στο Github (50.000 commits από 128 committers, 877 forks, 2.800 αστέρια). Και αυτό είναι λογικό κατά τη γνώμη μου μια και είναι το μόνο που προσφέρει τα πάντα με τη διαδικασία εγκατάστασης στον server να είναι κυριολεκτικά 15 λεπτά (δοκιμασμένο!). Προσφέρεται και ως cloud service από 5 ευρώ για 5 άτομα, αλλά το Community Edition ήταν, είναι και θα παραμείνει στο λαό, ε, σε εμάς θέλω να πω. 

Δείτε και ένα βίντεο από την έκδοση 8.0:

Εγκατάσταση OpenProject

Ωραία μέχρι εδώ, αλλά πόσο εύκολα θα εγκαταστήσουμε το OpenProject σε ένα Linux; Οι οδηγίες εγκατάστασης είναι κάπως περιληπτικές, πράγμα που είναι λογικό αφού οι άνθρωποι δίνουν έτοιμα πακέτα του OpenProject για απευθείας εγκατάσταση σε CentOS, Debian, Ubuntu και SUSE Linux. Σε Debian απλά εγκαθιστάς το repo (και το κλειδί του packager.io):

wget -qO- https://dl.packager.io/srv/opf/openproject-ce/key |  apt-key add -

Επειδή το αποθετήριο του είναι σε https, εγκαθιστάς και το apt-transport-https 

wget -O /etc/apt/sources.list.d/openproject-ce.list \
  https://dl.packager.io/srv/opf/openproject-ce/stable/8/installer/debian/9.repo

και στην συνέχεια απλά εγκαθιστάς το ίδιο το openproject:

apt-get update
apt-get install openproject

H τελευταία εντολή θα εγκαταστήσει το openproject στο /opt/openproject (ένα heroku app) και διάφορα εργαλεία όπως catdoc dialog libevent-core libgif  libopenjp libopenjpeg libpoppler libpq libtesseract3 libwebp poppler-utils tesseract-ocr κλπ.

Τέλος, ακολουθάς τις οδηγίες για το στήσιμο του OpenProject, δηλαδή να ορίσεις τη βάση δεδομένων κυρίως, τις βασικές ρυθμίσεις και τυχόν plugins. Βασικά αρκεί να τρέξεις (πάντα ως root) τον configuration wizard που υποστηρίζει και τη ρύθμιση SSL (αν έχεις ήδη τα cert/keys στον server):

openproject configure

Αρχικά σε ρωτάει αν θες να εγκαταστήσει νέο PostgreSQL, ή να χρησιμοποιήσει ένα υπάρχον που θα δώσεις στο επόμενο βήμα. 

Εναλλακτικά, το ορίζεις χειροκίνητα με μια εντολή:

openproject config:set DATABASE_URL="postgresql://[user[:password]@][host][:port][/dbname][?param1=value1&...]

Αν πάντως θες όλα τα features, καλό είναι να ορίσεις μια PQ βάση ή απλά να το αφήσεις να εγκαταστήσει αυτό την PostgresSQL 10. Μετά σε ρωτάει για τον Apache2 (δεν υποστηρίζει nginx!)

Στα ωραία features η δυνατότητα για hosting git repos μέσα στο OpenProject πράγμα που γίνεται από το wizard:

git

Σημείωση: Αν σε οποιοδήποτε σημείο κάνει fail η διαδικασία configure, τρέχεις ξανα openproject configure και συνεχίζει από εκεί που έμεινε.

Στο τέλος της διαδικασίας το openproject είναι σεταρισμένο στον Apache (αν σας ενδιαφέρει, τσεκάρετε τον οδηγό εγκατάστασης Apache+MySQL+Memcache σε Debian) και σερβίρεται από τον κατάλογο /opt/openproject/public. 

Τελικά αξίζει το OpenProject;

Δεν ξέρω αν το καταλάβατε μέχρι εδώ, αλλά να το πω καθαρά: το openProject είναι το must για οποιονδήποτε ψάχνει για self-hosted open-source project management χωρίς περιορισμούς ή συμβιβασμούς. Και αν νομίζεις πως λείπει κάτι από τη βασική εγκατάσταση, υπάρχουν δεκάδες plugins για να προσθέσεις λειτουργικότητες από εδώ.

Κατά τη γνώμη μου, το OpenProject Community Edition είναι τίμιο και πλήρες. Αν θέλετε περισσότερα και υποστήριξη, υπάρχουν κι άλλες δύο εκδόσεις η Cloud (προφανώς για να το τρέχεις από τους servers του OpenProject και όχι τον δικό σου)  και η OpenProject Enterprise Edition. Αμφότερες τις πληρώνεις, αλλά δεν παίρνω όρκο πόσο πάει το μαλλί γιατί δεν το έψαξα και πολύ... :) Αν σας ενδιαφέρει δείτε εδώ μια σύγκριση της Community Edition -που είναι δωρεάν- με τις άλλες δύο (cloud based και enterprise).

Github repo:

https://github.com/opf/openproject

Δώσε αστέρια!

MO: 4.3 (ψήφοι: 7)