Closed laat closed 11 years ago
Status på denne? skal jeg se på det?
Ta den gjerne, jeg finner tydligvis ikke tid.
@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 ;)
@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 ?
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 =(
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.
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.
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 =)
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
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.
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()
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
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?
ja, noe sånt.
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.
Jo jeg er egentlig enig i det.
@Torrib Can we close this now? I merged #241
@lizter Yeah i think so, whats missing is putting upp a cron job on the server, or fix the mommy thingy.
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