Nekromanti Om jag skulle bygga en småprat...

krank

Lättkränkt cancelkultur-kommunist
Joined
28 Dec 2002
Messages
36,183
Location
Rissne
Nu pratar jag bara lite löst här, och jag har verkligen ingen direkt koppling till WRNU's adminsitratörer eller så.

MEN - jag har funderat lite löst kring hur man skulle kunna bygga en chattmojj till wrnu utan att nödvändigtvis gå in och kladda i vBulletin.

Några saker jag funderat ut att de behövs:
  • Gemensam inloggning. Det duger inte att ha separata inloggningar till wrnu och till praten. Turligt nog sparas använder-id't för inloggade användare som en cookie. Oturligt nog sparas, vad det verkar, inte användarnamnet på det viset.
    • Lösning 1: Ha en egen databastabell för användare; låta användare skriva in nya användarnamn specifikt för chatten.
    • Lösning 2: Lära sig vBulletins API:er och krångla med requests etc.
    • Lösning 3: Sköta det på PHP-sidan genom att helt enkelt läsa av rätt kolumn i den tabell där användar-ID's och användarnamn står. Kräver tillgång till vBulletin-installation för testning.
  • Ruta med tidigare inlägg. Sparar kanske de 20-30 senaste inläggen. Behöver i grunden inte mer än användarnamn och det skrivna. I senare skede kanske man kan lyxa till det med graemlins, URL:er som automatiskt blir länkar, andra färger för moderatorer, och så vidare. Men det är en senare fråga.
  • Ruta för att skriva sitt inlägg. Vanlig jäkla textruta funkar bra; behöver knappast vara WYSIWYG.
  • Fungera i alla browsers. Det utesluter t.ex. websockets-teknik. Det blir mycket PHP, ganska lite Javascript. jQuery borde vara safe.
  • Fungera i olika upplösningar.
  • Kunna läggas in i en ruta på sidan av siten.
  • Också kunna funka som helskärmsgrej. Fast det kanske bara är jag som saknar storpraten =)
  • SQL-tabell som bara minns de senaste inläggen. Annars riskerar databasen att fyllas med skräpdata rätt fort...
  • AJAX för kommunikation med servern, men inte som det är nu då inlägg äts upp...
Jag tänker att det här borde räcka som grund. Möjlighet att ta bort eller redigera sina inlägg, formatera text, moderera och annat känns som lägre prio.

Ser ni något jag inte tänkt på?


Som rent tankeexperiment, då. Don't get your hopes up.
 

Troberg

Sinister eater
Joined
27 Jun 2001
Messages
17,659
Dynamisk trådning, som jag hade på RPG-Lab, hade varit jäkligt nice.
krank said:
Utveckla gärna hur du menar; mina googlesökningar ger mig intet. Kan du beskriva ett exempel på hur det skulle funka?
Troberg said:
Det var en chat-funktion jag byggde själv, och jag har inte sett någon annan använda samma modell, så det är inte konstigt att du inte hittar något på Google.

I princip så var det en trådad diskussion, dvs du svarar på en specifik post. Det som gjorde den unik var att trådningen var dynamisk. Man kunde svara på en befintlig post, eller skriva en ny. Men, det speciella var att gamla poster rensades bort, ungefär som i en vanlig chat, men eftersom den var trådad så innebar det att trådarna "sjönk undan" efterhand på ett väldigt trevligt sätt.

Säg tex att jag startar en diskussion om grönsaker. Folk börjar skriva i den, och den delar sig snart till underdiskussioner om olika sorters grönsaker, säg frukt, broccoli och bacon. Eftersom det hela tiden är de äldsta posterna som försvinner, så kommer man, när diskussionen pågått en stund, att istället ha två trådar, frukt och bacon (ingen ville egentligen tala om broccoli).

Det är lite svårt att förklara, men det flöt på otroligt smidigt och intuitivt. Är du nyfiken så kan jag gräva fram programvaran (Windows-baserad) så att du kan testa.
krank said:
Givet att jag avskyr trådat i typ alla sammanhang så tror jag att det är osannolikt att jag bygger in något sådant i mitt system. Men tack för intresset.
 

Lupus Maximus

Tekniker
Joined
13 Jan 2012
Messages
2,746
Location
Stockholm
Då jag har tittat runt på lite olika chat-varianter som inte har integration mot vBulletin har jag sett flera som använder sig av HTML5, t.ex pushteknik via websockets, och sedan haft en annan teknik som fallback för browsers som inte stödjer den (Internet Explorer).

Hur många meddelanden bakåt som sparas i SQL-databasen får gärna vara konfigurerbart. Text tar inte mycket plats, och chatmeddelanden är sällan långa. Så 10.000 meddelanden blir kanske runt en MB.

Det finns rätt hyfsade lösningar för att integrera mot vB3 och vB4, så eventuellt går de att utnyttja för vB5 efter mindre modifikationer. I vilket fall, om koden i chatprogrammet har ett abstraktionslager för rättigheter, så kan man byta ut koden som pratar med forumet utan att mecka runt i hela chatprogramvaran.
 

krank

Lättkränkt cancelkultur-kommunist
Joined
28 Dec 2002
Messages
36,183
Location
Rissne
Lupus Maximus;n22959 said:
Då jag har tittat runt på lite olika chat-varianter som inte har integration mot vBulletin har jag sett flera som använder sig av HTML5, t.ex pushteknik via websockets, och sedan haft en annan teknik som fallback för browsers som inte stödjer den (Internet Explorer).
Det slår mig som enklast att bara bygga en lösning som funkar för alla istället för att ha fallbacks. Men det är ju mest bekvämt för den som bygger härket.

Lupus Maximus;n22959 said:
Hur många meddelanden bakåt som sparas i SQL-databasen får gärna vara konfigurerbart. Text tar inte mycket plats, och chatmeddelanden är sällan långa. Så 10.000 meddelanden blir kanske runt en MB.
Jag bygger helst så mycket som möjligt konfigurerbart och modulärt...

Lupus Maximus;n22959 said:
Det finns rätt hyfsade lösningar för att integrera mot vB3 och vB4, så eventuellt går de att utnyttja för vB5 efter mindre modifikationer. I vilket fall, om koden i chatprogrammet har ett abstraktionslager för rättigheter, så kan man byta ut koden som pratar med forumet utan att mecka runt i hela chatprogramvaran.
Jag har väldigt liten erfarenhet av att bygga rättighetssystem och integreringar mot andra system, men OM jag bygger något så kommer det att vara modulärt så att inloggnings/användarhanteringen ligger separat från annat. Kommer börja med att försöka skissa på en modulär arkitektur isf.

Ska sägas att jag verkligen är hobbyist i sammanhanget, definitivt ingen erfaren superkodare. Så jag har mina begränsningar. Om jag lägger ner tid på det här kommer jag lägga koden på typ github, så andra som kanske kan mer kan vara med och hjälpa till... =)
 

Lupus Maximus

Tekniker
Joined
13 Jan 2012
Messages
2,746
Location
Stockholm
krank;n22962 said:
Det slår mig som enklast att bara bygga en lösning som funkar för alla istället för att ha fallbacks. Men det är ju mest bekvämt för den som bygger härket.
Implementerad lösning som funkar trumfar alltid teoretisk lösning som skulle vara bättre. :)

krank;n22962 said:
Ska sägas att jag verkligen är hobbyist i sammanhanget, definitivt ingen erfaren superkodare. Så jag har mina begränsningar. Om jag lägger ner tid på det här kommer jag lägga koden på typ github, så andra som kanske kan mer kan vara med och hjälpa till... =)
Det finns en del open source lösningar att inspireras av och kopiera från.

Ur både backup och säkerhetssynpunkt kan det vara lämpligt att den har en egen databas, om man vill spara X antal meddelanden bakåt.
 

krank

Lättkränkt cancelkultur-kommunist
Joined
28 Dec 2002
Messages
36,183
Location
Rissne
Lupus Maximus;n22968 said:
Det finns en del open source lösningar att inspireras av och kopiera från.
Mjo, lite beroende på hur mycket av någon annans antagligen dåligt kommenterade kod man orkar gräva ner sig i =) Men det är klart att jag kollar på vad som finns om jag faktiskt genomför det här.

Lupus Maximus;n22968 said:
Ur både backup och säkerhetssynpunkt kan det vara lämpligt att den har en egen databas, om man vill spara X antal meddelanden bakåt.
För all del, om vi sitter på helt egen server kan en helt separat databas såklart fixas. Jag tänkte att databasserver, databas, anv/lösen till databas och ev. även tabellprefix skulle vara konfigurerbart. Hårdkoda så lite som möjligt av såna grejer, helt enkelt.
 

Björn Wärmedal

Björning Wheel
Joined
29 Dec 2007
Messages
3,613
Location
Umeå
Det finns väl annars många chattlösningar som bara är webbfrontend mot irc-server. Kanske kan funka?
 

Lupus Maximus

Tekniker
Joined
13 Jan 2012
Messages
2,746
Location
Stockholm
Björn Wärmedal;n23018 said:
Alltså, måste användarna vara kopplade till forumet?
Det finns, som jag ser det, tre alternativ:
  1. Ingen användarhantering alls.
  2. Chatten har en helt egen användarhantering.
  3. Chattens användarhantering är integrerad med forumets.
Vid alternativ ett finns det ingen möjlighet att hantera ovälkomna gäster eller försök att låtsas vara någon annan. Alternativ två ger dubbelhantering både för användare och moderatörer/administratörer.

Alternativ tre kan både ge "logga in en gång, använd båda", och eventuell moderering och insläppande ger båda.

Är det ett system som är modulärt programmerat, där inloggningen är bortabstraherad från resten av chatten, så kan man börja på alterativ två och sedan bygga om den delen så att man går till alternativ 3.

Men ja, jag ser ett behov av alternativ 3.
 

Zorbeltuss

Hero
Joined
7 Nov 2012
Messages
1,105
Jag skulle gärna ha en bot eller funktion som sade titeln på sidan till länkar som postas. Faast det förhindrar ju Rickrolls.

/Luna Lovegood
 

anth

Vetefan
Joined
24 Feb 2003
Messages
10,271
Location
Fjollträsk
Det är ett fåtal saknade funktioner som ensamma orsakat nästan all minskad närvaro på rollspel.nu:
1. Att chatten inte ligger i högerkolumnen.
2. Att man blir utloggad hela tiden. "Remember me" gör ju att man blir inloggad igen om man "uppdaterar forumet", men att skriva i småpraten räknas ju inte som uppdatering idag.
3. Ett fungerande mobilgränssnitt (inte bara ett småpratsproblem).

(det finns andra saker som folk stör sig på, men de är inte direkt relevanta för småpraten)

Om man löst de tre ovanstående problemen behöver småpraten inte ha några funktioner alls och kan se ut som något som en hobbyprogrammerare snickrat ihop på 5 minuter.
 

Max Raven

T12-kultist
Joined
20 Oct 2009
Messages
4,346
Location
Malmö
anth;n23169 said:
2. Att man blir utloggad hela tiden. "Remember me" gör ju att man blir inloggad igen om man "uppdaterar forumet", men att skriva i småpraten räknas ju inte som uppdatering idag.
Hm, undrar ifall det är för mycket pill att låta skicka-inlägg-knappen uppdatera sidan innan den försöker skicka meddelandet... Med tanke på systemuppdateringar då.
 

anth

Vetefan
Joined
24 Feb 2003
Messages
10,271
Location
Fjollträsk
Max Raven;n23184 said:
Hm, undrar ifall det är för mycket pill att låta skicka-inlägg-knappen uppdatera sidan innan den försöker skicka meddelandet... Med tanke på systemuppdateringar då.
Nu får någon rätta mig om jag har fel, men:
Ja, man kan antagligen göra så att skicka-knappen uppdaterar sidan, men jag tror inte att det samtidigt kan skicka ett meddelande, för meddelandet kommer så att säga fram till servern innan den uppdaterat att man är inloggad.

Återigen med reservation att jag inte vet vad jag talar om, men:
Kan man tänka sig att textrutan man skriver i är kopplad till ett client-side script (javascript) som döljer formulärfältet efter 5 minuter och istället visar en knapp där det står "skriv meddelande" - och när man klickar på knappen uppdateras sidan och scriptet börjar om på 0 och därför visas formulärfältet igen?
 

Lupus Maximus

Tekniker
Joined
13 Jan 2012
Messages
2,746
Location
Stockholm
"Senaste aktivitet" är en flagga någonstans, och sedan mäts det om man fortfarande är aktiv. Om man bygger en egen chat kan man ha en funktion som är "markera som aktiv på huvudsite" som man anropar vid vissa aktiviteter. När man bygger en integration lägger man in lämplig kod i funktionen (alternativt, om man jobbar objektorienterat är det en metod till ett integrationsobjekt).
 
Top