Autor Zpráva
juriad
Profil
V návaznosti na včerejším srazu jsem se jal implementovat tagovátko.
Umí to jakémukoli příspěvku přidat či odebrat tag (štítek, nazývejte si to, jak chcete) - tlačítko + v popisu každého příspěvu
a také zobrazit všechny příspěvky s konkrétním štítkem - odkaz "Procházet tagy" v horním menu

Implementováno je to v jQuery (nelžu) v nějakém frameworku pro tvorbu crossbrowser rozšíření.
Podpora prohlížeče závisí na frameworku.

instalačky pro všechny prohlížeče: http://crossrider.com/install/20588
můj kód není škodlivý, na to jsem neměl dost času :)
zdrojáky (pro nahlédnutí): http://www.ms.mff.cuni.cz/~juraszea/djpw-tags.zip

Moje otázka je: má o něco takového Diskuse zájem? Pokud ano, mám pokračovat ve vývoji rozšíření do prohlížeče, nebo to některý z moderátorů přepíše do javascriptu a zaintegruje do Diskuse?
Chamurappi
Profil
Reaguji na juriada:
Rozšíření se mi bohužel nepovedlo nainstalovat ani do Exploreru 7, ani do Firefoxu 11, ani do Opery 12, ani do Chromia 13. Klikám na ten zelený čudlík a nic :-(
Nešlo by to udělat jako bookmarklet, který by přilinkoval externí JS? Ty fungují všude a uživatel se u nich méně bojí, že si rozbije prohlížeč. Kdysi dávno jsem si tady bookmarkletem usnadňoval mazání více příspěvků najednou. Na druhou stranu bookmarklet se musí na každé stránce znovu ručně spouštět, což by asi v tomto případě bylo nepraktické…

Pokud ano, mám pokračovat ve vývoji rozšíření do prohlížeče
Pokud ano, zamlouval by se mi postup integrovaný do diskuse a propojený s databází, protože pamatovat si stav jen uvnitř jednoho prohlížeče na jednom počítači je trochu omezující.

Moje otázka je: má o něco takového Diskuse zájem?
Kajman nejspíš má :-)
Štítky jsem s ním na srazu trochu probíral, tohle vypadá na výsledek nějaké jiné konverzace, u které jsem nebyl. Když jsme tu před rokem měli na chvíli zavedená sledovaná vlákna, zjistil jsem, že je sám vlastně vůbec nepoužívám, takže bych pravděpodobně neudržoval ani štítky, pokud by měly sloužit pouze pro osobní potřebu. Ale na mých uživatelských zvyklostech až tak moc nezáleží.

(Teď jsem chtěl dopsat ještě něco povzbudivého, protože se mi tvá chuť vylepšit diskusi líbí, ale nic chytrého jsem nevymyslel.)
Fisir
Profil
Reaguji na juriada [#1]:
Tak do Chromu se mi to nainstalovat povedlo. Jenže, nevidím žádné tlačítko pro přidání tagů. Vidím jen „Procházet tagy“ v menu.
Aha, promiň, teď jsem si všiml toho pluska v záhlaví příspěvku. V Chromu mi to funguje.
jenikkozak
Profil
Chamurappi:
Kajman nejspíš má :-)
Taky asi Alphard, Petr ZZZ, Str4wberry a já.

Sledovaná vlákna mě neoslovila. Nevím, co bych do nich měl dát. Označil bych si tyto skupiny vláken:
1) Ta, na která chci reagovat, dokud jsou aktuální, ale momentálně nemám na napsání odpovědi čas.
2) Vlákna, ve kterých probíhá zajímavá diskuse a já jsem zvědavý na její závěr.
3) Témata, na která jsem narazil, když jsem hledal něco jiného, a chci si je v budoucnu přečíst.
4) Poučné příspěvky obsahující zajímavé informace - třeba ta, kde vysvětluješ, proč se něco chová tak a tak.
5) Příspěvky, ve kterých je kvalitní řešení některých poměrně často kladených dotazů. Kdy při vyhledávání řešení se najde jen spousta příspěvků: „Už se řešilo, hledej.“

Kdybych tyto skupiny napěchoval do jednoho seznamu, bude pro mne velmi nepřehledný a asi ho nebudu chtít moc používat. Nebo budu muset při jeho používání nastavit zbytečně přísný filtr.

- Proč nepoužívám Oblíbené v prohlížeči?
Pracuji na více počítačích a ve více prohlížečích. Oblíbené se neumějí (nebo jsem si toho nevšiml) synchronizovat napříč prohlížeči.
- Proč nepoužívám služby podobné Delicious?
Je nepohodlné kvůli používání jednoho webu otevírat dva weby a přeskakovat mezi nimi.
Další společnou nevýhodou je to, že tyto služby nejsou s Diskusí synchronizované. Označoval bych si rád třeba některá vlákna u ledu, ale rád bych, aby po jejich smazání zmizely i v oblíbených.

juriad:
Líbí se mi to a asi budu tvůj doplněk využívat (jestli můžu), dokud nevznikne nějaké oficiální řešení. Je ale zvláštní, že po kliknutí na štítek se nedostanu na seznam vláken s tímto štítkem (jak bych čekal), ale štítek odstraním. Při přidávání štítků by se hodil našeptávač, abych si nevytvářel spoustu podobných štítků, když si nepamatuji přesné znění - jednou s čárkou, jednou bez, jednou s malým písmenem... Při otevření Seznamu tagů by mohl být otevřen seznam vláken s prvním tagem.
juriad
Profil
Chamurappi:
Zajímavé, tvrdí, že skoro všechny prohlížeče jsou podporované:
http://crossrider.com/pages/faq#which_browsers

Ještě jedna drobná diskuse k tomuto tématu se odehrála, než jsi dorazil. Nicméně, hlavním účelem mé práce bylo zkusit si, jak moc použitelný framework to je, za nedlouho ho možná použiju na větším projektu. Z toho důvodu jsem zvolil pro otestování tagování zdejších příspěvků, které by nakonec mohlo být i užitečné.
O sledovaných vláknech jsem věděl, ale jelikož nejsou dostupné, chtěl jsem trochu rozčeřit vody, a to se nejlépe udělá tak, že přijdu s něčím hotovým.

V případě, že se rozšíření víc neintegruje do prohlížeče, jako v tomto případě, je určitě možné ho přepsat do čistého javascriptu. Zkusím tedy očistit kód tak, aby byl samostatně použitelný a jen instalace a spuštění závisela na crossrideru (jen pro inject externího JS a CSS).

jenikkozak:
Určitě používej, jak chceš, proto jsem to vytvořil.
Tvé připomínky určitě zaintegruji, ztotožňuji se s nimi; chtěl jsem hlavně zkusit, co dokážu naprogramovat v krátém čase.
- mazat se bude klikem pravým tlačítkem na štítek, levým se přejde na seznam vláken
- přidělám našeptávač

Chamurappi:
Parsovat datum příspěvku jsem nezkoušel, protože by to byla sebevražda, nechtěl bys mi, prosím, přidat datový atribut s něčím lépe čitelným?
Amunak
Profil
juriad:
Parsovat datum příspěvku jsem nezkoušel, protože by to byla sebevražda, nechtěl bys mi, prosím, přidat datový atribut s něčím lépe čitelným?
Nemůžeš prostě v každém postu najít .postinfo, v něm první span a z něj vytáhnout a rozparsovat title? :)
juriad
Profil
Amunak:
Aha, toho jsem si nevšimnul, pak bych tedy žádný problém s datumem mít neměl
Chamurappi
Profil
Možná by bylo hezké, kdyby v nastavení uživatelského profilu byla <textarea>, do které by si člověk mohl hodit svůj HTML dodatek, který by se dopisoval na konec každé diskusní stránky (možná ne úplně na konec, ale před volání initu, aby mohl využít jeho parametry nebo vyrušit ostatní skripty). Registrovaný uživatel by si tedy mohl pohodlně přilinkovat svůj JS a své CSS a mít kdekoliv dostupné své diskusní rozšíření…


Reaguji na jenikkozaka:
Taky asi Alphard, Petr ZZZ, Str4wberry a já.
Takže čtyři moderátoři + ty. Moderátoři můžou kdykoliv upravovat FAQ, doplňovat do nich odkazy na pamětihodné debaty – tak postupuji já u JavaScriptu, přišpendlené vlákno jsou takové moje štítky :-) (i když posledních pár měsíců jsem se neodhodlal do nich sáhnout)

Označil bych si tyto skupiny vláken
Skupiny 1 a 2 by měly jít mezi sledovaná vlákna.
Skupiny 3 a 4 by měly jít mezi oblíbená vlákna.
Skupina 5 patří do FAQ (nebo do návrhů na FAQ), protože je potenciálně přínosná pro všechny.

Štítkování by se mělo týkat asi jen těch oblíbených. Jak moc rozmanité ty štítky budou? Když se objeví něco superzajímavého, neoznačí si to všichni cca stejně?
Může se stát, že za dva roky zrušíme rozdělení vývojářských kategorií a nahradíme ho za štítky. Aby v tom pak nebyl guláš…
jenikkozak
Profil
Chamurappi:
Tvé pojetí tagovátka je také výborné. Ale protože tam nemůžu přidávat odkazy a mazat ty tvé, budu zatím používat juriadovo řešení, jo? :-)

Skupiny 3 a 4 by měly jít mezi oblíbená vlákna.
Když v Sandboxu ještě ta záložka byla (jestli si to vůbec pamatuju správně), nevěděl jsem vlákna v ní umístěná nebudou mít nějakou výhodu v hodnocení vláken, o kterém se také mluvilo.

Může se stát, že za dva roky zrušíme rozdělení vývojářských kategorií a nahradíme ho za štítky. Aby v tom pak nebyl guláš…
Uživateli je jedno, jestli se ty údaje ukládají do dvou tabulek (kategorie), nebo do tří (štítky), takže se tomu i pak bude moci říkat „kategorie“. Uživatel při vytváření vlákna vybere kategorie, ve kterých chce vlákno zobrazovat. (Ve všech, samozřejmě!) Moderátorská poznámka roku 2015: „Toto vlákno tu nemá co dělat.“
Kajman
Profil
Uživatelské štítky bude lepší rovnou zaimplementovat do diskuse, rozšíření se nejspíše moc mezi uživatele nerozšíří. Asi to budou využívat spíše aktivnější uživatelé, ale dotáhnout implementaci snad nebude náročné.

Až se nasadí současný sandbox, připravil bych tam serverovou část a mohl by se juriadův kód poupravit. Co na ovládání oprášit horní lištu? (Tady bych na ni mohl odkázat, kdybych na tom vlánku měl tag:)

Přemýšlím, jestli uživatelům dát nějakou sadu oficiálních tagů. Určitě bych byl pro, aby si další mohli přidávat dle svých potřeb škatulkování.
Chamurappi
Profil
Reaguji na juriada:
Povedlo se mi v jednom z počítačů spustit instalaci rozšíření do Exploreru 8. V licenci se píše, že beru na vědomí, že se rozšíření může automaticky aktualizovat. V další větě je dokonce výslovně napsáno, že automatické aktualizace nesmím deaktivovat. Takže…

můj kód není škodlivý, na to jsem neměl dost času :)
… času na to máš dost, uživatel se zákeřnostem nesmí bránit :-)
Zároveň prý beru na vědomí, že si Crossrider může dělat prakticky cokoliv dle svého uvážení a svého finančního hladu, tedy ukazovat mi reklamy, sponzorované zprávy atd., při čemž nenese žádnou odpovědnost za správnost či bezpečnost takových informací a já se jako uživatel vzdávám svých práv proti nevhodnému obsahu cokoliv namítat. Také prý souhlasím s tím, že mi Crossrider během instalace může upravit nastavení prohlížeče, konkrétně domácí stránku, výchozí vyhledávač a výchozí obsah nového tabu. Brrrr.

Souhlasit s licencí jsem rozhodně nechtěl, ale v nestřeženém okamžiku mi tu přistáli na entru mimozemšťani. Praštil jsem je plácačkou na mimozemšťany, což navzdory mému nesouhlasu s ujednáním spustilo instalaci a ta proběhla v pořádku. Žádný spyware nevidím, ani reklamy, takže je zjevné, že Crossrider vzal můj nesouhlas na vědomí.

Tagovátko mi funguje ale jen částečně. Klikám na plus u příspěvku, objeví se <input>, něco vyplním, kliknu pryč (vyvolám onblur) a nic se neděje. V konzoli vidím JS chybu v jquery_1_7_1, na řádku 3. Patrně je uvnitř rozšíření schovaná minifikovaná verze jQuery, takže těžko říct, co přesně chybu způsobuje.


Reaguji na jenikkozaka:
vlákna v ní umístěná nebudou mít nějakou výhodu v hodnocení vláken
To se ještě neví. Na srazu jsme se o hodnocení bavili a tuším, že jsme došli k závěru, že zatím jen začneme sbírat data. Nad tím, jaké závěry by z nich (a případně z dalších faktorů) šlo dělat, se zamyslíme později.

Uživateli je jedno, jestli se ty údaje ukládají do dvou tabulek (kategorie), nebo do tří (štítky), takže se tomu i pak bude moci říkat ‚kategorie‘.
Ovšem ten plán (alespoň v mé hlavě) předpokládá, že přežijí i kategorie, protože Názor na stránku, Hosting, Práce a zakázky a administrativní kategorie jsou speciální a zůstanou zvlášť. Tudíž pokud k téhle revoluční změně dojde, spojí se dohromady akorát vývoj webových stránek a v něm teprve budou štítky.


Reaguji na Kajmana:
Uživatelské štítky bude lepší rovnou zaimplementovat do diskuse
Budiž. Dřívější chuť na štítky počítala se štítkováním vláken, juriadův vynález umí štítkovat konkrétní příspěvky. Myslím, že stačí vlákna… ne?

rozšíření se nejspíše moc mezi uživatele nerozšíří
Možná převážně kvůli instalačním peripetiím.
Co ten můj nápad s HTML dodatkem? Mohli bychom zřídit speciální vlákno, kam bychom vkládali předpřipravené důvěryhodné dodatky a tyto by se pak nabízely v nastavení profilu – ideálně i tak, že by je šlo kombinovat. I méně znalý uživatel by si mohl namixovat své diskusní rozšíření.

Co na ovládání oprášit horní lištu?
Tu vyrobím ještě letos. Sledování a oblíbené (se štítky či bez) můžeme stihnout. V polotovaru lišty s tím už dva roky počítám :-)
Fisir
Profil
Reaguji na Chamurappiho [#11]:
Myslím, že stačí vlákna… ne?
A co takhle mít možnost přiřadit štítek jak jednotlivému příspěvku, tak celému vláknu? I když by to byl možná až zbytečný luxus.
juriad
Profil
Přepsal jsem tagovátko do JS, je dostupné jako user script do GreaseMonkey, snad je to lepší forma, než doplněk Crossrider.
Nicméně GreaseMonkey neprovádí nic zajímavého: jen injectne jeden JS a jeden CSS do hlavičky:
https://github.com/juriad/DJPW-tags/blob/master/resources/tags.user.js
Závislost je tedy minimální. Pokud máte svůj nástroj na injectování, klidně jej můžete použít.
Tagovátko mi funguje ve Firefoxu 17.0.1, podporu pro ostatní prohlížeče doplním v blízké budoucnosti. Až se uzdravím.

Ohledně server-side tagů:
Já nejsem pro; to, že se mi nějaký příspěvek líbí a později na něj budu třeba chtít odkázat, ještě neznamená, že se tím chci někomu pochlubit. Obecně považuji metainformaci typu "toto se mi líbí" za mnohem osobnější než samotnou informaci, kterou v příspěvku sdělím. Z toho důvodu nejsem schopný používat dnešní fenomén, sociální sítě; odrazují mě nejen sdílením mezi uživateli, ale dokonce i tím, že nějakému serveru oznámím osobní vztah k určité informaci.
Některé use-case skupiny podle jenikakozaka považuji za příliš osobní a jejich server-side obdoba by mě přiměla je používat střídměji. (Jako třeba Chammurapi potřeboval mimozemšťany pro odklepnutí jednoho tlačítka se souhlasem, který snad jako jediný četl.)
Uvedu extrémní příklad: budu si označovat divné příspěvky některých uživatelů tagem puberťák. Toto označení je silně subjektivní. Opravdu nechci, aby kdokoli měl k němu přístup, byť by to byl jen málokterý moderátor. To je místo, kam svoje tagovátko také cílím.
Co bych ještě připustil, pokud se tagovátko uchytí a bude zájem o synchronizaci mezi prohlížeči, je upload serializované verze databáze (JSON) na server diskuse z jednoho prohlížeče a stažení v druhém prohlížeči - na severu by stačilo triviální API (upload, download, checkVersion?)

Proti tagování objektivně hodnotných příspěvků nic nemám, to ať je klidně veřejné a spravované na serveru. Tam o způsobu uložení vím a také to patřičně ovlivní informace, které tomu systému sdělím.

Nápad s HTML dodatkem se mi líbí, šel by tam univerzálně přesunout GreaseMonkey skript; proto jsem ho navrhl tak triviální.

K samotnému tagovátku:
Nově zdrojáky sídlí na adrese https://github.com/juriad/DJPW-tags/tree/master/resources
a instalace je možná zde; odtud také GreaseMonkey dotahuje JS a CSS, které injectne do hlavičky webu.

soubor combined.js je generovaný příkazem cat tagsDB.js tagsList.js tagsDialog.js tagsFeature.js > combined.js proto se jím nemá smysl zabývat
Javascript na této úrovni neovládám, takže tam nejspíš bude hromada chyb. Mohl bych poprosit o jeho přečtení a vypíchnutí chyb a nedostatků? Nebo se mám raději poptat v kategorii JS?
Str4wberry
Profil
Možná by bylo hezké, kdyby v nastavení uživatelského profilu byla <textarea>, do které by si člověk mohl hodit svůj HTML dodatek

Budiž (v sandboxu).
Chamurappi
Profil
Reaguji na Str4wberryho:
Zapomněl jsem ti za tuto úpravu poděkovat. Díky. Používáme to zatím sice jen tři, ale je to moc fajn.
Testuji si v HTML dodatku už dva měsíce předělanou transplantaci editace (docela se tím týrám, protože jsem do ní zatím nedodělal klávesovou mapu) a zjistil jsem při té příležitosti, že se do <textarea> určené pro HTML dodatek v upravování profilu dává kód s požranými zpětnými lomítky.
Str4wberry
Profil
Něco jsem s tím udělal. Snad se tím nerozbilo něco jiného, ten kód pro práci s profilem je jeden z nejohavnějších zbytků miniBB.
Marschmallow
Profil
juriad,
Nešlo by Tvoje tagovátko nějak zakomponovat do Sandboxu, případně do ostré verze?
Nebo upravit ten doplněk i pro Sandbox?
juriad
Profil
Marschmallow:
Upravit by to mělo jít snadno. Stačilo by do HTML dodatku přihodit jeden <script> a jeden <style>.
Nedlouho po jeho vytvoření jsem měl hodně práce s bakalářkou a pak jsem k tomu už nevrátil.
Ale cítím, ze bych ho využil, zejména pokud na nějaké téma často (nebo i jednou po dlouhém hledání) odkazuji.
Chamurappi
Profil
Stejně jako dříve bych upřednostnil nějaké systémové řešení přímo v jádru diskuse. Se štítky veřejnými i soukromými.

Reaguji na Marschmallowa:
Můžeš si přilinkovat jakýkoliv JS přes HTML dodatek v profilu (pouze v sandboxu, viz pár příspěvků výše). Na příklad Str4wberry má ve svém dodatku:
<script src='https://raw.github.com/juriad/DJPW-tags/master/resources/tags.user.js'></script>
Marschmallow
Profil
Chamurappi:
Díky moc. Jsem asi slepý, protože nevím, jak přidat tagy k danému vláknu/příspěvku? Nikde žádné plusko nevidím.
Joker
Profil
Marschmallow:
Jsem asi slepý, protože nevím, jak přidat tagy k danému vláknu/příspěvku?
Můj profil, Upravit profil, HTML dodatek.
Marschmallow
Profil
Joker:
Můj profil, Upravit profil, HTML dodatek.
To jsem udělal ještě před psaním [#20], ale zajímá mě, jak přidat jednotlivé tagy k příspěvkům/vláknům. V horní liště mám "Procházet tagy", ale nevím, jak jednotlivé tagy přidat.


Chamurappi, Joker:
Přidávám screeny po přilinkování HTML dodatku a uložení. Otevření tohoto vlákna a Otevření "Procházet tagy"
juriad
Profil
Bývalo to v řádce s „#22 · Zasláno: Dnes, 15:42:00 · Upravil/a: Marschmallow“, na screenu to nevidím, nejspíš se změnila struktura HTML.
V ostré verzi to funguje, stačí v konzoli spustit toto:
var s = document.createElement("script");
s.src = 'https://raw.github.com/juriad/DJPW-tags/master/resources/tags.user.js'
document.head.appendChild(s);
Marschmallow
Profil
juriad:
Já jsem chtěl to tagovátko využít v Sandboxu, myslím to přilinkované v [#19]. Takže do Sandboxu ho asi nedostanu?


Ale zase Chamurappi psal, že to jde přilinkovat jen v Sandoboxu, takže by to tam mělo fungovat, ne?
Str4wberry
Profil
Doporučuji to tagovátko moc nepoužívat nebo si zálohovat localStorage. Já to druhé neudělal a o své tagy přišel. :–(

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: