Rúbrica d'Avaluació: Pràctica Mailman 3 amb Docker
Informació de la Pràctica
- Títol: Llistes de Correu amb Mailman 3 i Docker
- Tipus: Pràctica individual
- Durada estimada: 5-7 hores
- Qualificació màxima: 10 punts
Criteris d'Avaluació
1. Personalització del Projecte (1,5 punts)
| Criteri | Excel·lent (1,5) | Notable (1,0) | Acceptable (0,5) | Insuficient (0) |
|---|---|---|---|---|
| Nom i cognom en configuracions | Totes les aparicions de NOMCOGNOM substituïdes correctament (docker-compose.yml, noms contenidors, database, hostnames, emails, noms de llistes) | 1-2 aparicions sense substituir | 3-4 aparicions sense substituir | Més de 4 aparicions sense substituir o còpia literal |
| Noms de llistes | Les 3 llistes creades amb noms personalitzats (discussio-NOMCOGNOM, equip-NOMCOGNOM, anuncis-NOMCOGNOM) seguint el format especificat |
2 llistes personalitzades correctament | 1 llista personalitzada | Llistes amb noms genèrics (list1, test, etc.) |
| Credencials i contrasenyes | Totes les contrasenyes personalitzades i úniques (POSTGRES_PASSWORD, MAILMAN_REST_PASSWORD, HYPERKITTY_API_KEY, admin de Postorius) | 2-3 contrasenyes personalitzades | Només 1 contrasenya canviada | Contrasenyes per defecte sense canviar |
| Domini i hostnames | MM_HOSTNAME, SERVE_FROM_DOMAIN, email admin personalitzats amb el nom de l'estudiant |
2 elements personalitzats | 1 element personalitzat | Cap personalització de domini/hostnames |
Penalitzacions: - -0,5 punts si detecta còpia literal de l'exemple - -1,0 punts si no hi ha cap personalització real - -0,4 punts per cada llista no personalitzada
2. Configuració de Docker Compose (2,0 punts)
| Criteri | Excel·lent (2,0) | Notable (1,5) | Acceptable (1,0) | Insuficient (0-0,5) |
|---|---|---|---|---|
| Estructura del fitxer | docker-compose.yml ben estructurat, version 3.8+, noms de serveis personalitzats, xarxa definida, tots els 3 serveis presents | Estructura correcta amb petits errors de format | Estructura bàsica funcional amb 3 serveis | Errors de sintaxi YAML o falten serveis |
| Servei PostgreSQL | Database configurat correctament amb credencials personalitzades, volum persistent, healthcheck opcional implementat | PostgreSQL funcional amb credencials canviades | PostgreSQL funcional amb configuració bàsica | PostgreSQL no arranca o connexió fallida |
| Servei Mailman Core | Core configurat amb totes les variables necessàries (DATABASE_URL, HYPERKITTY_API_KEY, MM_HOSTNAME), depends_on correcte | Core funcional amb algunes variables per defecte | Core funcional amb configuració mínima | Core no arranca o errors de configuració |
| Servei Mailman Web | Web configurat amb DATABASE_URL, MAILMAN_REST_URL, SECRET_KEY personalitzada, ports exposats correctament (8000, 8001) | Web funcional amb algunes variables sense personalitzar | Web funcional amb configuració bàsica | Web no accessible o errors de configuració |
| Volums i persistència | Tots els volums muntats correctament (postgres-data, mailman-core-data, mailman-web-data, logs), dades persistents després de reinicis | 1 volum mal configurat | Diversos volums incorrectes, pèrdua de dades en reinicis | Volums crítics no muntats |
3. Configuració dels Tipus de Llistes (2,5 punts)
| Criteri | Excel·lent (2,5) | Notable (1,8) | Acceptable (1,0) | Insuficient (0-0,5) |
|---|---|---|---|---|
| Llista oberta (discussio-NOMCOGNOM) | Creada correctament amb posting_policy=open, archive_policy=public, subscription_policy=open, membres subscrits, missatges de prova enviats | Llista creada amb configuració correcta però sense proves | Llista creada amb configuració parcial | Llista no creada o mal configurada |
| Llista tancada (equip-NOMCOGNOM) | Creada amb posting_policy=members, archive_policy=private, subscription_policy=moderate, només membres poden enviar, arxius privats verificats | Llista creada amb configuració correcta però sense verificació | Llista creada amb configuració parcial | Llista no creada o mal configurada |
| Llista moderada (anuncis-NOMCOGNOM) | Creada amb posting_policy=owners, subscription_policy=open, archive_policy=public, només admin pot enviar, subscriptors poden rebre | Llista creada amb configuració correcta però sense proves | Llista creada amb configuració parcial | Llista no creada o mal configurada |
| Proves funcionals | Mínim 2 missatges enviats per cada llista amb captures de pantalla dels resultats esperats (acceptat, rebutjat, moderat) | Proves realitzades per 2 llistes | Proves realitzades per 1 llista | Cap prova de funcionalitat |
| Subscripcions d'usuaris | Mínim 3 adreces de correu diferents subscrites a cada llista, gestió de membres evidenciada | 2 adreces per llista | 1 adreça per llista | No hi ha subscripcions o no funcionals |
Nota: Aquest criteri és el més important de la pràctica (25% del total)
4. Interfície Web (Postorius i HyperKitty) (1,5 punts)
| Criteri | Excel·lent (1,5) | Notable (1,0) | Acceptable (0,5) | Insuficient (0) |
|---|---|---|---|---|
| Accés a Postorius | Postorius accessible via http://localhost:8000, login funcional, panel d'administració navegable |
Postorius accessible amb alguna dificultat de login | Postorius accessible però amb errors | Postorius inaccessible |
| Gestió de llistes | Les 3 llistes visibles al panel, configuracions editables, membres gestionables, proves de modificació realitzades | Llistes visibles i configuracions accessibles | Llistes visibles però difícil de gestionar | Llistes no apareixen o panel no funcional |
| HyperKitty (arxius) | Arxius accessibles via http://localhost:8000/archives/, missatges emmagatzemats correctament, cerca funcional |
Arxius accessibles, missatges visibles | Arxius accessibles amb errors menors | Arxius no funcionals o buits |
| Personalització visual | Logo o nom del lloc personalitzat amb nom de l'estudiant, domini mostrat correctament | Alguna personalització visible | Cap personalització però funcional | Aspecte per defecte i errors |
5. Proves de Correu Electrònic (1,0 punts)
| Criteri | Excel·lent (1,0) | Notable (0,7) | Acceptable (0,4) | Insuficient (0-0,2) |
|---|---|---|---|---|
| Simulació d'enviament | Utilitzat Mailpit/MailHog o script de simulació per enviar correus, processos documentats | Simulació realitzada amb algunes dificultats | Intent de simulació amb errors | No hi ha proves d'enviament |
| Verificació de rebuda | Correus verificats als logs o interfície de Mailpit, evidència que Mailman processa missatges | Correus verificats parcialment | Verificació incompleta | Cap verificació |
| Comportament esperat | Proves documenten correctament què passa amb missatges a cada tipus de llista (acceptats, rebutjats, moderats) | Documentació bàsica del comportament | Documentació incompleta | No documentat |
6. Captures de Pantalla (1,5 punts)
| Criteri | Excel·lent (1,5) | Notable (1,0) | Acceptable (0,5) | Insuficient (0) |
|---|---|---|---|---|
| Completes | Totes les 7 captures obligatòries presents (docker ps, Postorius amb 3 llistes, configuració de cada tipus de llista, HyperKitty amb missatges, logs Mailman Core) | 6 captures presents | 5 captures presents | Menys de 5 captures |
| Qualitat | Captures nítides, informació llegible, nom de l'estudiant visible on correspon (noms de llistes, hostnames, panells) | Captures acceptables amb alguna informació poc clara | Captures borroses però reconeixibles | Captures il·legibles |
| Contingut rellevant | Cada captura mostra exactament el que es demana amb evidència clara (configuració posting_policy, archive_policy, membres subscrits) | 1-2 captures mostren informació parcial | Diverses captures amb contingut incomplet | Captures no corresponen al demanat |
| Evidència de personalització | Nom de l'estudiant clarament visible a múltiples llocs (noms llistes, domini, base de dades, contenidors) | Nom visible en la majoria d'elements | Nom visible només en alguns llocs | Nom de l'estudiant no visible |
7. Respostes a Qüestions (1,0 punts)
| Criteri | Excel·lent (1,0) | Notable (0,7) | Acceptable (0,4) | Insuficient (0-0,2) |
|---|---|---|---|---|
| Qüestió 1: Diferències tipus de llistes | Taula comparativa completa amb posting_policy, subscription_policy, archive_policy, casos d'ús per cada tipus | Taula completa amb alguna dada absent | Taula incompleta o valoracions poc fonamentades | Taula no lliurada o incorrecta |
| Qüestió 2: Mailman vs Gmail Groups | Comparativa detallada amb mínim 4 avantatges i 3 desavantatges de cada solució, casos d'ús recomanats | 3 avantatges i 2 desavantatges per cada | 2 avantatges i 1 desavantatge | Comparativa absent o genèrica |
| Qüestió 3: Troubleshooting | 3 problemes comuns identificats (SMTP no configurat, membres no subscrits, permisos posting) amb procediments detallats de solució | 2-3 problemes amb procediments bàsics | 1-2 problemes sense procediments clars | Respostes incorrectes o genèriques |
Distribució: 0,33 punts per qüestió, fins a 1,0 total
8. Documentació i Presentació (1,0 punts)
| Criteri | Excel·lent (1,0) | Notable (0,7) | Acceptable (0,4) | Insuficient (0-0,2) |
|---|---|---|---|---|
| Estructura del PDF | Document ben organitzat amb totes les seccions requerides, portada professional, índex, seccions numerades per tipus de llista | Document organitzat, totes seccions presents | Document amb seccions en desordre o alguna absent | Document desorganitzat o seccions importants absents |
| Fitxers de configuració | docker-compose.yml inclòs complet al PDF amb format llegible (blocs de codi), comentaris explicatius | Fitxer inclòs amb format acceptable | Fitxer inclòs però poc llegible | Fitxer no inclòs |
| Comandes utilitzades | Llistat complet de comandes Docker, mailman i SQL utilitzades amb explicació del que fan | Comandes llistades amb explicació bàsica | Comandes llistades sense explicació | Comandes no documentades |
| Taula resum llistes | Taula amb les 3 llistes, configuracions principals, nombre de membres, missatges enviats | Taula present amb alguna dada absent | Taula incompleta | Taula no lliurada |
| Reflexió final | Reflexió personal de 250-300 paraules, honesta sobre dificultats (configuració posting policies, simulació SMTP, HyperKitty), aprenentatges identificats, millores proposades | Reflexió de longitud adequada però genèrica | Reflexió massa breu (<200 paraules) o superficial | Reflexió absent o copiada |
| Ortografia i format | Document sense errors ortogràfics ni gramaticals significatius, format professional i coherent | 1-3 errors menors, format acceptable | Diversos errors, format inconsistent | Molts errors, document descuidat |
Exercicis Opcionals (Fins a +1,0 punt extra)
| Exercici | Puntuació |
|---|---|
| Exercici 1: Integració amb Postfix real per enviar correus externs | +0,5 punts |
| Exercici 2: Plantilles HTML personalitzades per correus de benvinguda | +0,3 punts |
| Exercici 3: Configuració de domini real amb registres DNS (MX, SPF, DKIM) | +0,2 punts |
Nota: La puntuació extra NO pot superar 10 punts en total
Penalitzacions Específiques
| Infracció | Penalització |
|---|---|
| Còpia detectada (mateixes contrasenyes, mateixos noms de llistes, configuracions idèntiques) | -10 (qualificació 0) |
| Ús de NOMCOGNOM literal sense substituir pel nom real | -2,0 punts |
| Contrasenyes per defecte sense canviar (example-key, changeme, etc.) | -1,5 punts |
| Menys de 3 llistes creades | -2,0 punts |
| Llistes no configurades segons el tipus especificat | -1,0 punts per llista |
| Contenidors no s'inicien (docker-compose up -d falla) | -3,0 punts |
| Postorius no accessible | -2,0 punts |
| HyperKitty sense arxius | -1,0 punts |
| Cap prova de funcionalitat (no s'han enviat missatges) | -1,5 punts |
| Captura de pantalla obligatòria absent | -0,25 punts per captura |
| Entrega fora de termini | -0,5 punts per dia (màxim 3 dies) |
| Format diferent de PDF | -0,5 punts |
Criteri de Superació
- Aprovat (5,0): Mínim 5,0 punts
- Notable (7,0): Mínim 7,0 punts
- Excel·lent (9,0): Mínim 9,0 punts
Requisits mínims per aprovar: - Contenidors Mailman Core, Web i PostgreSQL funcionals - Mínim 2 llistes creades amb noms personalitzats - Postorius accessible amb almenys les llistes visibles - 1 llista amb subscriptors i 1 missatge enviat (prova bàsica) - Captures de pantalla mínimes (5 de 7) - Document PDF lliurat amb docker-compose.yml
Observacions Finals
- Originalitat: Es comprovarà que el treball és individual mitjançant:
- Verificació de noms de llistes únics
- Comparació de contrasenyes i credencials entre estudiants
- Anàlisi de configuracions específiques (posting_policy, archive_policy)
-
Comparació de reflexions personals
-
Funcionalitat: El criteri més important és que el sistema funcioni correctament. Les 3 llistes han d'estar operatives i configurades segons el tipus especificat.
-
Tipus de llistes: És fonamental entendre les diferències entre llista oberta, tancada i moderada. Configurar-les correctament és essencial per obtenir una bona qualificació.
-
Simulació SMTP: Encara que no es requereix un servidor SMTP real, és important simular l'enviament de correus i documentar com Mailman els processaria.
-
Persistència de dades: Les llistes, membres i configuracions han de persistir després de reiniciar els contenidors. La pèrdua de dades indica volums mal configurats.
-
Postorius és clau: La interfície web Postorius és l'eina principal de gestió. Ha de ser completament funcional i accessible.
Rúbrica Simplificada (Resum)
| Aspecte | Punts | Pes |
|---|---|---|
| Personalització correcta amb nom/cognom | 1,5 | 15% |
| Docker Compose amb 3 serveis funcionals | 2,0 | 20% |
| Configuració correcta dels 3 tipus de llistes | 2,5 | 25% |
| Postorius i HyperKitty accessibles | 1,5 | 15% |
| Proves de correu electrònic | 1,0 | 10% |
| Captures de pantalla completes | 1,5 | 15% |
| Respostes a qüestions | 1,0 | 10% |
| Documentació i presentació | 1,0 | 10% |
| TOTAL | 10,0 | 100% |
| Exercicis opcionals (extra) | +1,0 | +10% |
Consells per Aconseguir Excel·lent
- Prova abans de lliurar: Assegura't que pots accedir a Postorius i que les 3 llistes apareixen amb les configuracions correctes
- Entén posting_policy: És la clau per diferenciar els tipus de llistes. Investiga les opcions: open, members, owners
- Simula enviaments: Utilitza scripts o eines com Mailpit per simular l'enviament de correus i documenta els resultats
- Personalitza tot: Cada element configurable (llistes, contrasenyes, hostnames, database) ha de tenir el teu nom
- Comprova arxius: HyperKitty ha de mostrar els missatges enviats. Si està buit, revisa la configuració de HYPERKITTY_API_KEY
- Logs són els teus amics: Si alguna cosa falla,
docker logs mailman-core-NOMCOGNOMet dirà exactament què passa - Subscriu múltiples adreces: Tingues almenys 3 adreces diferents per fer proves realistes de cada tipus de llista
- Reflexió honesta: Escriu sobre les teves dificultats reals amb posting_policy, subscription_policy i SMTP
- Taula comparativa: Crea una taula visual que resumeixi les diferències entre les 3 llistes creades
- Persistència: Reinicia els contenidors (
docker-compose down && docker-compose up -d) i verifica que tot continua funcionant
Data de creació: Gener 2025 Versió: 1.0 Autor: Curs M0375 - Serveis de Xarxa i Internet