Fra dele af det indlæg er jeg blevet inspireret til en idé til et program som jeg skitserer længere nede her i indlægget.
Den interessante del af det jimmyfj skriver i sit indlæg er følgende:
Jeg er ikke sikker på, om Ubuntudanmark.dk/forum har nogle tråde i de enkelte subfora, hvor der bliver informeret om, hvad staff og supportere kræver, at du selv skal have gjort, inden du starter en support-tråd op. Rigtig mange af de ting der spørges om vil kunne løses med en simpel google-søgning.
Man bør IKKE søge support på forum, uden selv at have prøvet at finde en løsning først.
Når man kigger på de forskellige tråde på forum, er det rigtig nemt at se, at OP ikke har forsøgt at løse problemet selv, evt. via google. Alle os med erfaring kan se det, alene ud fra spørgsmålet. Det gælder, naturligvis ikke alle, men mange brugere på forum synes at have den tanke, at det er nemmere at lade en af nørderne give en løsningen. Problemet er bare det, at det lærer man ikke en hujende fis af.
Indlægget har det her link: https://ubuntudanmark.dk/forum/viewtopic.php?f=1&t=18023#p122087
Indledning
Jeg har i nogen tid spekuleret over om det er muligt at hjælpe vores brugere noget bedre.
En hjælp til selvhjælp er at når brugeren poster et indlæg i forum, så foretages en fuldautomatisk indsamling af support oplysninger, der hjælper forum medlemmer, det leverer supporten til at besvare brugerens support spørgsmål.
Kravspecifikation
eller "Hvad er formålet med programmet?"
eller "Hvad skal programmet kunne, sådan mere præcist?"
Programmet er fuldautomatisk - autonomt - hvilket vil sige at det automatisk aktiverer sig selv, når brugerens browser sender en bestemt HTTP forespørgsel
Programmet er en web proxy server.
Scaleable vector Graphics (SVG) billede:
Billede er fra Wikipedia artiklen: http://en.wikipedia.org/wiki/Proxy_server
Web proxy serveren er installeret på brugerens computer, således at brugeren frit kan vælge den favorit browser brugeren ønsker at bruge.
Web proxy serveren virker også med en simpel tekst browser. Dermed kan der ydes support selv fra en tekst terminal, hvis den grafiske bruger grænseflade / desktop ikke virker af en eller anden årsag.
Den eneste indstilling der skal foretages er at brugeren skal angive at browseren skal forbinde sig til web proxy serveren, når den vil have fat i en web side. Når indstillingen er foretaget virker brugen af en web proxy server transparent for browseren, og dermed også for brugeren.
Ved tekst browsere, der muligvis ikke kan bruge en web proxy server, kan man gøre brug af at web proxy serveren kan kontaktes direkte med et bestemt link.
Web proxy serveren vil i det tilfælde præsentere brugeren for en række knapper, hvorfra brugeren nemt kan starte et support spørgsmål i Ubuntudanmarks forum.
Knapperne er til hurtig start af et support spørgsmål. I det tilfælde hvor knapperne bruges vil alle links i en webside blive modificeret, så browseren altid spørger web proxy serveren i stedet for direkte at spørge websitets web server. Dette virker ikke hvis javascript indætter links i web siden. Javascript links virker kun på browsere, som altid kontakter web proxy serveren, fordi browseren er konfigureret til at bruge web proxy serveren.
Det følgende citat er informationer om forum softwarens normale opførsel, og dermed ikke en del af kravspecifikationen:
Forum softwaren redirecter normalt til login siden, hvis brugeren ikke er logget ind på det tidspunkt, hvor brugerens browser kontakter forum softwaren. Efter at korrekte credentials er angivet vil brugeren sendt til forum softwarens post et nyt indlæg on-line editor.
Web proxy serverens opførsel over for links:
- alle links, hvor SSL krypteret kommunikation kommer igennem web proxy serveren helt umodificeret. Det gælder også hvis der postes et indlæg, fordi kommunikationen er krypteret imellem browseren og websitets webserver, og kommunikationen dermed er ulæselig for web proxy serveren.
- at lade links der ikke starter med:
Kode: Vælg alt
ubuntudanmark.dk/forum
... passere som de er.
Dvs. at trafik der ikke er det nævnte link, bliver kopieret råt og umodificeret ud til webserveren, og webserverens svar bliver også kopieret råt og umodificeret tilbage til browseren.
Det bemærkes at request headers fra browseren, der er beregnet til web proxy serveren, ikke videresendes. Dette er normal adfærd for en web proxy server. - For links der starter med det førnævnte link, som er:
Kode: Vælg alt
ubuntudanmark.dk/forum
... så vil den link-tekst aktivere en forum algoritme, der analyser hvad programmet nu skal gøre.
phpBB3 forum algoritmen i programmet kigger efter de her ting, efter at den har set at linket starter med :
Kode: Vælg alt
ubuntudanmark.dk/forum
- Hvis der står:... så er brugeren ved at skrive et indlæg.
Kode: Vælg alt
/posting.php
- Er der variabel der hedder mode, med værdien post i query strengen (=det der står efter '?'-tegnet i linket som ubuntudanmark.dk web serveren modtager), dvs:
Kode: Vælg alt
mode=post
... så er brugeren i gang med at skrive det 1. indlæg i en helt ny tråd. - Er der et inline link (et inline link starter med #), der hedder preview
... så har brugeren trykket på Vis prøve knappen mindst 1 gang, og brugeren er stadig i gang med at skrive det første indlæg til en ny tråd. - Når brugeren trykker på Udfør knappen så begynder alt det automatiske at ske.
- Er der variabel der hedder mode, med værdien post i query strengen (=det der står efter '?'-tegnet i linket som ubuntudanmark.dk web serveren modtager), dvs:
Når brugeren trykker på Udfør knappen, når et indlæg er skrevet færdigt (eller rettet) sker der følgende:
- Først analyseres det om der allerede er indsat resultatet fra kommandoer i indlægget.
- Hvis indlægget postes i et forum, hvor der ikke må nogen kommandoer, så videresendes indlægget bare som det er til Web serveren.
- Til et indlæg i et forum hvor kommandoer kan køres, og
hvis der ikke er indsat et resultat fra kommandoer, så køres denne 4 trins wizard.- I alle trin skal brugeren have mulighed for at:
Sende indlægget umodificeret. Det betyder at ekstra oplysninger ikke er tilføjet bliver sat ind i indlægget. - Trin 1:
- En webside sendes til browseren, hvor brugeren oplyses om at web proxy serveren har opfanget at et indlæg på Ubuntu Danmark er blevet postet.
- I trin 1 bliver brugeren bedt om at trykke på trykke på en næste > knap, hvis brugeren vil vedhæfte ekstra oplysninger til indlægget.
- Brugeren skal meget direkte advares om at informationer opsamles.
- Brugeren skal også oplyses om at det er muligt at fortryde at vedhæfte ekstra indsamlede oplysninger.
- Trin 2:
- I trin 2 skal brugeren skal brugeren advares om at der skal afgive kodeord en sudo kommando for at køre et eller flere scripts eller programmer der kræver denne rettighed før de virker.
- Web proxy serveren analyserer selv bash scripts eller bash kommandoer for om en af nøgleordene su, *sudo er til stede i et script, og viser så advarselen, hvis et script indeholder disse ord.
- Scriptene bliver også vist - og det bliver vist med en tydelig rød markering - hvor dette nøgleord blev fundet.
- Hvis sudo eller su CLI terminal kommandoen blev fundet:
Der skrives en kort instruktion i brugen af sudo/su kommandoen, når kodeordet skal indtastes. - Bemærk dog at bliver nøgleordene fundet i en kommentar (som begynder med #-tegnet i bash shell scripts/kommandoer) bliver ignoreret, da kommentarer også bliver ignoreret af bash kommando fortolkeren.
- En Næste knap lader brugeren gå til trin 3.
- Trin 3:
- I trin 3 bliver kommandoer kørt.
- Trin 3 sender et javascript til asynkron kommunikation med web proxy serveren.
- Javascriptet opdaterer løbende web siden uden at siden skal genindlæses:
- En progress bar viser hvor langt man er nået
- Når en kommando køres vises kommandoen øverst og resultatet under kommandoen.
- Skal mere end 1 kommando køres vises den næste kommando over den forrige kommando og den forrige kommandos resultat.
- For mere end 1 kommando, så vises kommandoer over hinanden i omvendt kronologisk orden.
- Kommandoer vises ikke ved siden af hinanden.
- En Næste knap lader brugeren gå til trin 4.
- Trin 4:
- I trin 4 vises alle kommandoer og de tilhørende resultater, men nu vises de i kronologisk orden i stedet for i omvendt kronologisk orden.
- Dette trin er sidste trin, så der er ikke en Næste knap, men i stedet en Færdig! Send oplysningerne sammen med dit indlæg knap.
- Kommandoer vises under hinanden.
- Kommandoer vises ikke ved siden af hinanden.
- I alle trin skal brugeren have mulighed for at:
- Til et indlæg i et forum hvor kommandoer kan køres, og
hvis der er indsat et resultat fra kommandoer, så køres denne 4 trins wizard.- Trin 1 - 4 er de samme, med følgende ekstra tilføjelser:
- Trin 1 og Trin 2:
Ingen tilføjelser - Trin 3:
- Programmet tager indlæget og klipper delen af indlægget der indeholder kommandoer og resultater ud, og deler den op i en kommando og resultatet.
- Så køres kommandoerne igen, og ud over resultatet vises vises også forskellen fra sidste gang kommandoen blev kørt
- Det er uddata fra diff kommandoen. Diff kommandoen kan finde ud af forskellen imellem 2 tekstfiler - også selv om noget har rykker sig op eller ned flere linjer.
- Trin 4:
Diff uddata vises også, og tilføjes også til indlægget, hvis brugeren vælger at sende sit indlæg ind med ekstra oplysninger.
- Trin 1 og Trin 2:
- Trin 1 - 4 er de samme, med følgende ekstra tilføjelser:
Identifikation af hvilke kommandoer der skal køres (incl ingen kommandoer):
- Web proxy serveren analyser f variablens værdi der sættes til et heltal af forum softwaren.
- Heltallet bestemmer under hvilket forum et indlæg skal postes i, og det tal kan mappes til en liste af kommandoer eller scripts der skal køres. Ingen kommando eller scripts er naturligvis også en mulighed.
--- slut på kravspecifikation ---
Udvikling af softwaren
Da jeg selv foreslår softwaren, må det nødvendigvis også være mig der analyserer, designer, udvikler/implementer, tester, og vedligeholder softwaren.
Kort sagt så bliver jeg upstream på det program - folk er velkommen til at bidrage til software projektet. Der vil nok være brug for oversættere, så programmet kan få indbygget L10N (og I18N).
---
- Hvad synes du?
- Mangler der noget?
- Har du ændringsforslag?
- som jeg muligvis vil acceptere, afvise, eller skrive muligvis/måske om, da det er mig der skal skrive softwaren
/Lars
Edit: 20131023, 22:31 Ny titel, gammel titel var: "Idé til vores egen PPA: Support af support spørgsmål"