Portál AbcLinuxu, 30. dubna 2025 11:29

RSS Guard - novinky ve verzi 2.5.2 + road to plugins/TT-RSS

1.12.2015 11:29 | Přečteno: 1937× | Programování | Výběrový blog | poslední úprava: 10.12.2015 11:30

RSS Guard je svobodná multiplatformní (a brzy "plugin"-based) čtečka kanálů. Nejdříve tedy k těm novinkám. Novinky v (nějaký ten pátek už vydané) verzi 2.5.2 jsou:
- přidána položka "Fetch feed metadata" do kontextového menu pro kanály - umožńuje obnovit ikonu/popisek daného jednotlivého kanálu,
- přepnutí zobrazení pouze nepřečtených kanálů je nyní perzistentní,
- opravy několika chyb, více bug tracker.

RSS Guard lze stahovat ze zdrojů uvedených na domovském webu v sekci "Downloads".

Nyní se dostaneme k tomu aktuálně podstatnějšímu. Verze 2.5.3 bude pro RSS Guard docela přelomová. Na popup mnohých uživatelů (odsud i z e-mailové korespondence) jsem se pustil do implementace "pluginového systému". RSS Guard bude podporovat pluginy, které ale nebudou separované na runtime úrovni (v samostatných libkách), ale lze je jednoduše aktivovat před kompilací v kódu. Funkcionalita je abstrahovaná do rozhraní, které každý plugin musí implementovat.

Nový RSS Guard 2.5.3 bude obsahovat dva pluginy:
- základní plugin umožňující práci se standardními kanály (RSS/ATOM/RDF),
- plugin implementující Tiny Tiny RSS API.

Všechen relevantní kód se nacházi zde. Aktuální situace je následující:
- pluginové API je z 95% hotové (přihlédl jsem k potřebám a nuancím v nejznámějších online kanálových API - TT-RSS, feedly, ownCloud News - tak, aby pluginové API bylo co možná nejflexibilnější, ale zároveň jednoduché),
- základní plugin je hotový,
- TT-RSS plugin jsem začal dělat v zásadě včera, bude to práce tak na měsíc (nemám na to moc času).

Splácnul jsem dohromady video některých featur, ukázka přidávání TT-RSS účtu je více ke konci.


EDIT: Tak cílová verze bude 3.0.0 (takže nebude žádná 2.5.3), protože nakonec bude obsahovat i TT-RSS i základní plugin.


EDIT 2: Syncování kanálů a kategorií je hotovo. Je hotovo také získávání nových zpráviček. Viz další video. Taktéž už je hotovo online aktualizování stavu zprávičky (přečteno/nepřečteno).        

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

Ruža Becelin avatar 1.12.2015 13:34 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
Rozbalit Rozbalit vše Re: RSS Guard - novinky ve verzi 2.5.2 + road to plugins/TT-RSS
Odpovědět | Sbalit | Link | Blokovat | Admin
Dobra prace, tesim se na testovani 2.5.3 ;-)
xkucf03 avatar 1.12.2015 15:08 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše RSS Guard - verze a modulárnost
Odpovědět | Sbalit | Link | Blokovat | Admin
Verze 2.5.3 bude pro RSS Guard docela přelomová. Na popup mnohých uživatelů (odsud i z e-mailové korespondence) jsem se pustil do implementace "pluginového systému".
U přelomové verze bych doporučoval zvýšit major/minor verzi, ne jen patch. Tyhle setinkové verze by měly obsahovat jen opravy chyb, ne novou funkcionalitu, natož nějakou přelomovou.
RSS Guard bude podporovat pluginy, které ale nebudou separované na runtime úrovni (v samostatných libkách), ale lze je jednoduše aktivovat před kompilací v kódu. ... nejznámějších online kanálových API - TT-RSS, feedly, ownCloud News - tak, aby pluginové API bylo co možná nejflexibilnější, ale zároveň jednoduché
Chápu, že je pracnější to udělat dynamicky, ale to chceš kód pro všechny možné služby udržovat sám? Navíc to bude problém při distribuci -- jak se má distributor rozhodnout, které moduly zapne? Buď tam dá všechny a pak uživatel bude mít program zahnojený službami, které ho nezajímají, nebo tam dá jen některé služby, a pak tam budou některým uživatelům chybět a výhoda distribuce se ztrácí -- uživatel si to bude muset kompilovat sám.

Opravdu by byly lepší ty dynamické knihovny -- v distribuci by pak byl balíček rssguard a pak librssguard-plugin-ttrss, librssguard-plugin-feedly, librssguard-plugin-owncloud atd. A uživatel by si nainstaloval, co potřebuje.

Dále bych zvážil implementaci v nějakém skriptovacím jazyce -- tzn. plugin by byl jen skript a nemusel by se ani kompilovat. Uživatel by si ho mohl snadno upravit nebo si napsat vlastní a jen vložit do adresáře s konfigurací.

Nebo jít ještě dál -- plugin by se spouštěl jako podproces. S aplikací by komunikoval přes proměnné prostředí, parametry příkazu a standardní vstup/výstup (vygeneroval by nějaké XML). To je ještě lepší, protože si to uživatel napíše ve svém oblíbeném jazyce.

Tyhle přístupy jsou sice výpočetně méně efektivní než kód zakompilovaný přímo v programu, ale to by nemuselo tolik vadit -- nemělo by to být nic až tak výpočetně náročného -- ovšem bude to mnohem pružnější a zrychlí to vývoj (pokud se zapojí další lidé, což by pro ně mělo být takhle snadnější). I z architektonického hlediska mi to přijde lepší (viz ta poznámka o distribucích).
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
skunkOS avatar 2.12.2015 11:25 skunkOS | skóre: 27 | blog: Tak nějak
Rozbalit Rozbalit vše Re: RSS Guard - verze a modulárnost
Existuje šance, že TT-RSS bude v až verzi další, zatím nechávám otevřená vrátka, ale pokud skutečně vydám až naráz plugin system + tt-rss, tak to fakt nejspíš bude 2.6.0. :)

Ad údržba kódu: ano, plánuju všechny služby udržovat sám ve smyslu kvality kódu. Implementovat plugin a udržovat jej může ale každý, není tady podle mě podstatné, jestli je ve finále ten kód v samostatné binárce nebo ne.

Akorát se holt budou pluginy mergovat do jednoho repa.

Ad zapínání služeb: Výchozi stav je zatím ten, že všechny pluginy, co tam zahrnu, jsou povoleny a uživatel si může přidat od každého do čtečky účet. Možná tam dám kompilační CMake přepínače, ale to jen možná, skoro v tom nevidím žádný bonus. Proč by někdo chtěl kompilaci nějakých pluginů zakazovat? Takový pluginy nemá žádné závislosti, vše je v Qt potažmo přímo v RSS Guardu (nastavení, DB, ...).

Ad plugin jako skript: I don't think so.

Ad plugin jako podprocess: I totally don't think so.

Ad výpočetní efektivita: Právě tady souhlasím. Prvním majoritním cílem je pokud možno výkon. Tomu podřizuji zatím vše. Za dvě tři verze se může ukázat, že můj přistup je špatný, ale chci to vyzkoušet. Pak by se to holt přeplo do těch binárek třeba, což by bylo v tom bodě docela easy. Je taky otázka, jak pluginy Qt umí a neumí na OS/2.

Rozhraní je navrženo tak, že přechod na oddělené knihovny by byl velice jednoduchý, časem se uvidí.
http://martinrotter.github.io
2.12.2015 11:44 EtDirloth | skóre: 11
Rozbalit Rozbalit vše Re: RSS Guard - verze a modulárnost
Islo by s novym API spravit plugin, ktory bude implementovat rozhranie pre externe pluginy? Napriklad spustat skripty, alebo dynamicky linkovat externe pluginy, ci dokonca spustat novy proces?
skunkOS avatar 2.12.2015 12:03 skunkOS | skóre: 27 | blog: Tak nějak
Rozbalit Rozbalit vše Re: RSS Guard - verze a modulárnost
V tom API si můžete udělat, co chcete, je to prostě sada funkcí typu:

- předZobrazenimZpravyUdělej(reference na zpravu)

- poZobrazeniZpravyUdělej(reference na zpravu)

- označKanalJakoPřečteny(reference na kanal)

.........

.........

V tomhle stylu. Jestli si v těch metodách pustítě jiný proces či něco dalšího je věc za abstrakční bariérou.
http://martinrotter.github.io
2.12.2015 18:21 Dirka | skóre: 15 | blog: dirka12345
Rozbalit Rozbalit vše Re: RSS Guard - novinky ve verzi 2.5.2 + road to plugins/TT-RSS
Odpovědět | Sbalit | Link | Blokovat | Admin
Fajn, taky se tesim na tt-rss :)
2.12.2015 21:33 PanZvedavy
Rozbalit Rozbalit vše Re: RSS Guard - novinky ve verzi 2.5.2 + road to plugins/TT-RSS
Odpovědět | Sbalit | Link | Blokovat | Admin
neuverim dokud to neuvidim fungovat, podobne nadseni uz tady bylo pred rokem a nejak to rychle umrelo...mno asi se necham prekvapit bo co. btw. to video ma tak nizky rozliseni, ze je videt leda howno.
Max avatar 2.12.2015 22:50 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: RSS Guard - novinky ve verzi 2.5.2 + road to plugins/TT-RSS
Jaké nadšení? Stačí se podívat na historii jeho blogů, program je aktivně vyvíjen delší dobu a pravidelně sem postupuje novinky.
Pokud jde o video, tak to má 1080p a vše je krásně ostré a čitelné, jako bych se díval na svůj desktop.
Zdar Max
Měl jsem sen ... :(
skunkOS avatar 3.12.2015 08:15 skunkOS | skóre: 27 | blog: Tak nějak
Rozbalit Rozbalit vše Re: RSS Guard - novinky ve verzi 2.5.2 + road to plugins/TT-RSS
Tentokrát vzhledem k tomu, že už to kódím, tak se to dotáhne. :)

Video je fakt v 1080p, nevidím problém. Další screencast zkusím přímo z Linuchu doma, uvidím jak ten se povede co do kvality videa.
http://martinrotter.github.io
3.12.2015 17:17 PanZvedavy
Rozbalit Rozbalit vše Re: RSS Guard - novinky ve verzi 2.5.2 + road to plugins/TT-RSS
jo uz to vidim, nemel jsem zaplej flash, takze to jelo jen na 360.
Max avatar 3.12.2015 22:29 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: RSS Guard - novinky ve verzi 2.5.2 + road to plugins/TT-RSS
Na to snad flash není potřeba, html5 1080p bez problémů...(flash už nepoužívám docela dlouho)
Zdar Max
Měl jsem sen ... :(
coder avatar 5.12.2015 02:00 coder | skóre: 4 | blog: lINUKS
Rozbalit Rozbalit vše Re: RSS Guard - novinky ve verzi 2.5.2 + road to plugins/TT-RSS
Odpovědět | Sbalit | Link | Blokovat | Admin
Bylo by možné nějak zakázat ten spodní panel s ikonou adblocku a fullscreenu?
Prošel jsem nastavení i konfigurák a nic takového jsem tam nenašel :-(
These kids won't have to remember passwords or obsess about security because these kids will grow up with Windows 10!
skunkOS avatar 5.12.2015 08:16 skunkOS | skóre: 27 | blog: Tak nějak
Rozbalit Rozbalit vše Re: RSS Guard - novinky ve verzi 2.5.2 + road to plugins/TT-RSS
Nakodovat to je trivialní prosím vyplňte mi bug report na bitbucketu
http://martinrotter.github.io
5.12.2015 14:05 durem
Rozbalit Rozbalit vše Re: RSS Guard - novinky ve verzi 2.5.2 + road to plugins/TT-RSS
WTF?
skunkOS avatar 8.12.2015 10:55 skunkOS | skóre: 27 | blog: Tak nějak
Rozbalit Rozbalit vše Re: RSS Guard - novinky ve verzi 2.5.2 + road to plugins/TT-RSS
skunkOS avatar 7.12.2015 10:24 skunkOS | skóre: 27 | blog: Tak nějak
Rozbalit Rozbalit vše Re: RSS Guard - novinky ve verzi 2.5.2 + road to plugins/TT-RSS
Odpovědět | Sbalit | Link | Blokovat | Admin
UPDATE: Tak už mám promyšleno syncování TT-RSS a píšu to. TT-RSS plugin bude umět plně offline režim i cachování zpráv.

To znamená: nasyncuju aktuální kanály, provedu update kanálů, které chci (stáhnou se zprávy), vypnu RSS Guard. Zapnu zase příště a mám již předtím nasyncované kanály a uložené zprávy. Plugin is bude pochopitelně pamatovat také zprávy, které sice dříve na TT-RSS serveru byly, ale nyní tam už nejsou, a to i v případě, že nadřazený kanál přejmenujete, přesunete do jiné složky atp.

Budou podporovány také "attachments" ve zprávičkách (enclosures).
http://martinrotter.github.io
skunkOS avatar 8.12.2015 10:14 skunkOS | skóre: 27 | blog: Tak nějak
Rozbalit Rozbalit vše Re: RSS Guard - novinky ve verzi 2.5.2 + road to plugins/TT-RSS
UPDATE: Syncování kanálů hotovo.
http://martinrotter.github.io
skunkOS avatar 9.12.2015 09:43 skunkOS | skóre: 27 | blog: Tak nějak
Rozbalit Rozbalit vše Re: RSS Guard - novinky ve verzi 2.5.2 + road to plugins/TT-RSS
Odpovědět | Sbalit | Link | Blokovat | Admin
Syncování kanálů a kategorií je hotovo. Je hotovo také získávání nových zpráviček. Viz další video.
http://martinrotter.github.io

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.