dotkom / onlineweb4

Web pages for Online, Linjeforeningen for Informatikk at NTNU
https://online.ntnu.no
MIT License
48 stars 23 forks source link

Event-Feedback forhåndsvarsel og purring. #119

Closed laat closed 11 years ago

laat commented 11 years ago

I det gamle systemet hadde vi et management script som sendte mail til brukere om at det har kommet en feedback det skal svares på. Den gamle løsninga ligger i send_bedpress_feedback_mail.py

Om en lignende løsning velges igjen, burde det være relativt trivielt å "copy-paste-edit" den gamle løsninga inn i ow4

Torrib commented 11 years ago

Status på denne? skal jeg se på det?

laat commented 11 years ago

Ta den gjerne, jeg finner tydligvis ikke tid.

christiansyoung commented 11 years ago

@laat Er arkitekturen her klar, så det er lett å ta over? Jeg tror kanskje løsningen fortsatt er litt mye i ditt hode, om du skjønner ;)

christiansyoung commented 11 years ago

@laat det jeg tenkte på med den forrige kommentaren var angående mommy-scheduler. Jeg og @Torrib har snakket sammen, og vi har blitt enige om å legge til en start og slutt på en feedbackrelation. En cronjob vil da sjekke om det er noen åpne feedbackrelations (i intervallet mellom start og slutt), og deretter sende ut mail til alle som ikke har svart på dette objektet. Om en feedback har utgått frist, vil cronjobben sjekke ÉN gang om alle brukere har svart, for så å legge til en prikk automatisk på brukere som ikke svarte innen fristen. For å kontrollere at cronjobben bare setter prikker én gang, tenkte vi kanskje å legge til et «aktivt»-flagg eller lignende. Hva tror du @laat ?

laat commented 11 years ago

mommy-sheduler er en form for cron, den tar faktisk alle de vanlige cron-parameterene inn i oppgavedefinisjonen, og man får et årleit sted hvor både cron-kjøringa og hva som skal gjøres inn ett sted i en fil per app. Hvordan en slik "cron" defineres kan leses her hvor det inne i run-metoden er det som kjøres med "cron". Men ja, det stemmer nok at det fortsatt sitter en del inne i mitt hode =(

laat commented 11 years ago

Litt av ulempen med et design der start og slutt ligger i feedback-appen i feedbackrelation, er at da blir informasjon om events nært knyttet til feedback noe som ikke var ønskelig da vi designet feedback i utgangspunktet.

Hva med å legge til feedback_start og feedback_stop i event, en cronkjøring hver dag som finner event-feedbacks. Hvis "åpen" send melding til brukere om at de ikke har svart, hvis lukket gi prikk og flagg med "feedback_marks_given = True" på eventen slik at prikken bare blir gitt en gang. Og, om dere vil bruke mommy, så stapp alt det inn i en eller flere Tasks i en mommy.py fil i event/.

Med et design der apps som er koblet til feedback er ansvarlig for å varsle og "optionally" gi marks, er at man får større kontroll over mailene som sendes, prikker og eventuelt andre handlinger kan justeres for hver app.

laat commented 11 years ago

fra FeedbackRelation kan man gjøre det samme som man gjør med feedback_users, dvs slå opp på feedback_stop og slå av tilbakemeldinger dersom tiden er ute.

laat commented 11 years ago

Jeg ser at mye av det du snakker @lizter om allerede er gjort av @Torrib.

Jeg ville flytta send_bedpress_feedback_mail_ow4.py inn i event-appen, og putta deadline og active inn i Event-definisjonen med feedback_ prefix.

Eventuelt, om dere vil, gjøre send_bedpress_feedback_ow4 om til mommy.py

Det meste ser ut til å være på plass, veldig bra =)

christiansyoung commented 11 years ago

Jeg ser ikke hvordan det blir knyttet til event? Jeg mener at om start og stopp for en feedback ligger i feedbackRelation, har ikke event noe begrep om feedbacken i det hele tatt. Dermed kan vi sende ut feedback-mail på alle andre objekter enn events også. Objekter kan ta i bruk et interface på samme måte som feedback_users(), noe sånt som feedback_mail_address(), hvor det forventes at objektet returnerer mailadressen som sendes fra. management-scriptet sender da bare ut en generisk mail til feedback_users() om at du må svare på følgende feedback. Event har da ingen tilknytning til dette i det hele tatt, annet enn å gi brukere og en eventuell epostadresse.

def feedback_mail_address() basert på type: return email

christiansyoung commented 11 years ago

Jeg mener dermed at vi forkaster hardkoda event-mailutsendelse, og lager en generisk feedback-mail som fungerer på alle objekter som har feedback_users() implementert.

laat commented 11 years ago

Ja det er mulig, men man må holde tunga rett i munnen når man skriver mailen.

Formuleringen som er i mailen i send_bedpress_feedback_mail_ow4.py sier noe sånnt som "Hei, du var med på \"%s\" den %s." "tilbakemelding til bedriften ønsker vi at du svarer på noen "

Dette må såfall endres til å være helt generisk. I tillegg trenger ikke alle feedback-skjemaer trenger å gi prikk derfor må man legge på feedback_gives_marks()

christiansyoung commented 11 years ago

Helt klart, men det får vi til. Jeg mener at vi skal forkaste mye av utsendingskoden og gjøre den helt generisk. Sånn, "Hei, du må svare på følgende tilbakemeldingsskjema. Dette gjelder .", eller noe i den dur.

feedback_gives_marks(), hva tenker du at denne skal gjøre? Tenker du at feedback_gives_marks() på en event, sjekker f.eks. attendance_event.marks_enabled og returnerer dette, eller noe?

laat commented 11 years ago

ja, noe sånt.

christiansyoung commented 11 years ago

Er du ikke enig at det er bedre da? Så i tilfelle vi vil ha tilbakemelding på noe annet enn et arrangement, typ HS vil sende ut en undersøkelse til BIT-studenter, så kan vi enkelt gjøre det fra et skall, f.eks.

laat commented 11 years ago

Jo jeg er egentlig enig i det.

christiansyoung commented 11 years ago

@Torrib Can we close this now? I merged #241

Torrib commented 11 years ago

@lizter Yeah i think so, whats missing is putting upp a cron job on the server, or fix the mommy thingy.