98d2512016-11-08Henrik Grubbström (Grubba) Att koda: Något verkar snett med in-reply-to för den sätts inte? Hm, den sätts nog inte om man kommenterar ett importerat inlägg. Hur ska jag göra med in-reply-to för inlägg jag exporterar? Om jag exporterar ett inlägg till så vill jag ju att rätt in-reply-to sätts på det. Det är lätt om det är ett importerat inlägg som någon kommenterar för då adderar jag bara mx-message-id från den kommenterade texten, men annars måste jag ha det lagrat... Hm, när ett inlägg exporteras så skulle det kunna få ett mx-message-id... Nej, det är ingen bra idé och jag vet inte hur jag ska sätta mx-message-id heller (om det ens går!). Exporterade inlägg skulle kunna lagras i blabla.exported_ids Fast det blir en stor fil så småningom... Bätte med en databas, men det blir så fippligt! I och för sig så är inläggen sorterade i ordning så det borde gå fint att söka i trots allt. s->Text(8387276)->aux_items["mx-message-id"][0]->data; Result: "<87d6wdb0ls.fsf@j218.ryd.student.liu.se>" Skiss: Man ska kunna skriva brev till exportören. Format: Möte emailadress Exportören svarar då: ok, möte x exporteras till emailadressen bar. eller Det är ingen email-adress i ditt brev. eller Jag kan inte hitta mötet "foo". När den läser ett inlägg så ska den: 1) Är det i exportörens brevlåda? 2) Är det skrivet av exportören själv? -> ignorera 3) Försök att parsa 4) Skicka svar. 2) Ska inlägget exporteras? Det finns en mapping som talar om vilka möten som ska exporteras: mötesnummer: \n-separerad lista av email-adresser. När programmet avslutas så lagras datat i $HOME/.lyskom_multiexport.data När inlägg exporteras så lagras deras IDn i $HOME/.lyskom_multiexport.exported_ids 4711 bill@microsoft.com bg@microsoft.com 4712 bill@microsoft.com bg@microsoft.com I $HOME/.lyskom_multiexport.conf lagras Name: Example: server kom.lysator.liu.se user Exportuser for Bill password GLPsucks lastread 4711 This is the text number where lyskom_export should start reading. Användarbeskrivning: Exportören exporterar inlägg från Lyskom till en email-adress eller till ett annat Lyskom-möte. För att ge Exportören order så skicka ett brev till denna KOM-person. Exportören tolkar varje rad, inklusive ärenderaden, som ett kommando. Vem som helst kan ge exportören order om vad som helst så dina exporteringar av möten kan tas bort av andra. Exportören läser bara inläggen en gång och tar därför inte hänsyn till adderingar i efterhand om den redan hunnit läsa inlägget. Inläggen läses i textnummerordning och exportören prioriterar inte sin egen brevlåda. Exportören körs en gång var femte minut. Exportören begriper inte stora bokstäver i kommandon. Argument som är listor är kommaseparerade listor, utan mellanslag i. Exportören förstår följande kommandon: (mnr = mötesnummer, fnr = författarnummer) export Syntax: export mötesnummer email-adress [lista med fnr som ska filtreras] [uttryck] Allt som skrivs i mötet kommer att exporteras till mail-adressen när Exportören körs. Avsändare på mailet blir mail-adressen till mötet. I stället för email-adress kan man skriva ett mötesnummer och exporten sker då dit. "fnr" står för "filtrerade Lyskom-personnummer". Skriver man ett Lyskom-personnummer så kommer detta och alla tidigare filtreringar att gälla. Om man inte skriver något användarnummer så kommer alla filtreringar att tas bort för mötet. Brevbäraren tas dock aldrig bort! Detta för att minska risken för mailbombning. För att ta bort Brevbäraren måste exporteringen helt tas bort först och sedan skapas igen. Om uttryck finns så exporteras bara inlägg som uppfyller uttrycket. Uttryck är mellanslagslösa kombinationer av ord och tecknen & (och), | (eller) och ! (inte). Även parenteser kan användas. Exempel på uttryck: Sparvmesar ; Exporterar alla inlägg som innehåller ordet "sparvmesar" sparv|mesar ; exporterar alla inlägg som innehåller sparv eller mesar. sparv&!mesar ; exporterar alla inlägg som innehåller sparv och inte innehåller mesar. !sparv&mesar ; exporterar alla inlägg som innehåller mesar och inte innehåller sparv. sparv&(mesar|trutar)&!skitsnack ; tja... Orden kan bestå av alla tecken utom \n, \t, ,, :, ;, ., ?, ! ", #, /,{, }, [,], (, ), +, =, *, -, \ och mellanslag. listexport Syntax: listexport mötesnummer email-adress [användarnummer som ska filtreras] [uttryck] Samma sak som export, men Brevbäraren filtreras automagiskt. Detta gör att man kan exportera ett email-liste-importmöte till dess emaillista. När inlägg exporteras så läggs ingen information om hur man tar bort listan från Lyskom-exportering eftersom detta skulle göra det möjligt för förvirrade list-medlemmar att skriva av listan från exportering i stället för att skriva av sig från mailinglistan. När Brevbäraren sedan importerar mail till det här Lyskom-mötet så kommer den aldrig att importera exporterade inlägg, så det är OK om ditt möte är med på mailinglistan. lyskomexport Syntax: listexport mötesnummer email-adress [användarnummer som ska filtreras] [uttryck] Samma sak som listexport, men utmatningen är anpassad för att passa i för att importeras i ett annat Lyskom. Detta innebär att föregående inlägg inte adderas om det finns i samma möte och annars så skrivs mer Lyskom-information ut. query Syntax: query [mötesnummer/email-adress] Listar alla exporteringar. Om mötesnummer eller email-adress anges så visas bara exporteringar som har med mötet eller email-adressen att göra. Formatet är lagomt kryptiskt. remove Syntax 1: remove mötesnummer email-adress Får Exportören att sluta exportera det mötet till email-adressen. Syntax 2: remove email-adress Tar bort email-adressen från alla exporteringar. sendto Syntax: sendto email-adress Skickar det kommenterade inlägget till email-adressen. Avsändaradressen till emailet blir mail-adressen till den som skrivit brevet till Exportören. Andra funktioner: Om det står mailto i en ärenderad i Exportörens brevlåda så skickas resten av inlägget till email-adressen efteråt. Syntax på ärenderaden: mailto email-adress Ärende för mailet I resten av inlägger pladdrar du på om vad du nu vill säga. Avsändare blir mailadressen till kombrevlådan till den som författat inlägget. Export av slutna eller hemliga möten: Addera först Exportören till ditt slutna/hemliga möte. Sedan sätter du en exportering som vanligt. Nu kan ingen ta bort denna exportering eller lägga till en ny exportering förrän Exportören blivit utesluten ur mötet. Så om du ska ändra exporterings-email-adress så måste du utesluta Exportören, göra 'remove mötesnr emailadress', addera Exportören och sedan starta en ny export igen. Om du vill att Brevbäraren ska importera med korrekt trådning så måste Brevbäraren också adderas till det hemliga mötet. *********************************************************************** Felsökning I mötet Exportörens studsande mail importeras mail som studsar. Mail som inte ens kan skickas pga att det är en okänd host (t ex hedda@gurka.tomat) kastar Exportören glatt ner i bithinken. *********************************************************************** Teknisk dokumentation Exportören sätter Message-ID till inläggsnummer..exportoeren.time()+random@kom.lysator.liu.se *********************************************************************** Buggar: Om email-adressen inte finns så hamnar mailet i min skräpmail-låda och användaren får inte reda på det. Att addera sig via email till Exportören är inte så bra testat. *********************************************************************** Användningsområden för Exportören: 1) Skicka vidare enstaka inlägg med sendto 2) Skriva enstaka mail med mailto 3) Skicka vidare inlägg med visst innehåll från ett högtrafikmöte. 4) Skapa import- och exportmöten som sammankopplas med mailinglistor. Just nu är det ett tiotal möten som exporteras.