UJS Manager - aplikacja Unite

w dziale Aplikacje dla Opery
d.i.z. napisał(a):


Aplikacja do zarządzania skryptami użytkownika.

Funkcje:



Do ściągnięcia pod adresem http://unite.opera.com/service/401/

* Edycja ustawień
Ta funkcja, jak napisałem wcześniej, wymaga jednorazowych zmian w samych skryptach użytkownika.
Co prawda wymaga trochę grzebania na początku ale w rezultacie bardzo ułatwia szybką zmianę ustawień konkretnego skryptu.

Zasada jest taka żeby każdą zmienną czy własność, którą chcemy szybko zmieniać z poziomu UJS Managera, objąć w specjalnie sformatowany komentarz.

Format komentarza jest następujący:
/*@NASZA_NAZWA@TYP_ZMIENNEJ@*/ZMIENNA/*@*/

NASZA_NAZWA: nasz własny opis ustawienia
TYP_ZMIENNEJ: może być bool, int lub string
ZMIENNA: tę wartość będziemy mogli edytować z poziomu UJS Managera

Czyli np mamy:
var enable_log = true;

to można to zmienić na:
var enable_log = /*@logowanie do konsoli@bool@*/true/*@*/;


lub mamy:
var settings = {
 mode: 5,
 test: 'blabla'
}

które zmieniamy na:
var settings = {
 mode: /*@tryb pracy@int@*/5/*@*/,
 test: /*@jakies ustawienie@string@*/'blabla'/*@*/
}


Nie jest to specjalnie 'idiotoodporne' także trzeba uważać bo później przy zmianie np. stringa można łatwo spowodować błąd w skrypcie. Np. z powyższego przykładu test: 'blabla' jeżeli usuniemy przypadkiem jeden z apostrofów to skrypt nie będzie działał. Można to oczywiście szybko naprawić ale nie każdy zagląda do konsoli żeby sprawdzić czy nie wystąpił jakiś błąd.
Wyniki takich zmian mogą wyglądać np. tak: http://files.myopera.com/d.i.z./files/ujs02.png

Jeżeli chodzi o instalacje skryptów ze stron to po otwarciu jakiegokolwiek pliku javascript, wyjedzie nam na górze strony pasek, który daje możliwość jego instalacji. Oczywiście nie należy instalować normalnych plików javascript (chociaż dla testów można spróbować) a tylko sprawdzone i bezpieczne skrypty użytkownika.

Niestety ta funkcja nie działa ze skryptami umieszczonymi na serwerze MyOpera (files.myopera.com) z powodu zabezpieczeń tam wprowadzonych.

UJS Manager jest niestety w języku angielskim. Jak by kogoś interesowała wersja polska to mogę nad tym pomyśleć.

woj-tek napisał(a):

Ja tylko chciałem powiedzieć: GENIALNE! (: (czy ew. aktualizacje będą wprowadzane automatycznie czy trzeba ręcznie sprawdzać?)

d.i.z. napisał(a):

Dzięki. smile

Aktualizacji automatycznych nie będzie bo nie ma takiej możliwości ale może być (i będzie) powiadomienie o nowej wersji. Na razie trzeba sprawdzać samej/samemu.

Medium napisał(a):

Bardzo fajny pomysł. Gratuluję i pomysłu i wykonania! yes
I radzi sobie z moimi folderami... wink

Jak na razie maleńka uwaga: coś z kodowaniem? elblag-fix.png Skrypt nazywa się rozklad-jazdy-elblag-fix.js

d.i.z. napisał(a):

Originally posted by medium:

Skrypt nazywa się rozklad-jazdy-elblag-fix.js


Taka uwaga - w przypadku gdy skrypt ma nagłówek (// ==UserScript== ... // ==/UserScript==) to nazwa jest brana z stamtąd zamiast nazwy pliku. Tak się dzieje w tym przypadku.

A kodowanie się sypie bo plik ma polskie znaki pewnie w window-1250 a UJS Manager korzysta z UTF-8. Nie za bardzo widzę sposób żeby to naprawić. Konwersja znaków była by zbyt kosztowna. Mogę na razie polecić usunięcie polskich znaków z nagłówka skryptu.

Tak w ogóle to widzę, że przy tej skórce co używasz, nie za dobrze to wygląda. Która to skórka jeśli można wiedzieć?

Medium napisał(a):

Originally posted by d.i.z.:

Taka uwaga - w przypadku gdy skrypt ma nagłówek (// ==UserScript== ... // ==/UserScript==) to nazwa jest brana z stamtąd zamiast nazwy pliku. Tak się dzieje w tym przypadku.


Mea culpa! Masz całkowitą rację! To amatorski skrypcik. Zajrzałam do środka, a tam faktycznie polskie znaki źle się pokazywały. Poprawiłam, ale to nie pomogło na widok w Twoim menedżerze. Dopiero zapisanie pliku z sygnaturą UTF-8 pomogło bigsmile

A skórkę używaną przez siebie uwielbiam, jest świetna. Teraz nikt już takich skórek nie robi. To uaktualnienie The Blue Button Christiana Krebsa wykonane przez Roberta Błonskiego i nazwane blue B for v9. Jedyne, co mogę zrobić, to spróbować ją dalej uaktualniać.

A, jeszcze jedna uwaga: póki co usługę otworzyłam w pełnym oknie, a nie w panelu i stąd pochodzi widok.
Dodane:
W panelu jest takie samo tło.

Dodane II:
Fajnie byłoby, gdyby istniała możliwość otwarcia skryptu z poziomu menedżera, nie tylko wykluczenie z użycia i podgląd. Chodzi o łatwą możliwość edycji.
Czy to jest możliwe? love


d.i.z. napisał(a):

Originally posted by anonymous:

Fajnie byłoby, gdyby istniała możliwość otwarcia skryptu z poziomu menedżera, nie tylko wykluczenie z użycia i podgląd. Chodzi o łatwą możliwość edycji.
Czy to jest możliwe? love


Teoretycznie tak ale widzę, że nie działa (File.nativePath jest puste). Zgłoszę buga.

EDIT: Jednak nie jest to błąd. Jest to zrobione specjalnie ze względów bezpieczeństwa. Tak więc nie ma możliwości poznania prawdziwej ścieżki do pliku.

Medium napisał(a):

Może się poprawi po zgłoszeniu. Widzę, jesteś ograniczony możliwościami Opery.

A ja tymczasem zapisałam wszystkie posiadane skrypty w kodowaniu UTF-8... bigsmile

d.i.z., dlaczego robisz ze mnie anonymousa?!!

d.i.z. napisał(a):

Nowa wersja:

- 1.5
    * dodane powiadomienie o aktualizacji
    * treść skryptu przy instalacji jest brana ze strony zamiast ściągania pliku (umożliwia instalacje skryptów z my.opera czy dysku lokalnego)
    * dodane przyciski do przełączania (to samo działanie co checkbox) i kasowania skryptów
    * lekkie zmiany w wyglądzie

Obecnie dostępna tutaj: http://files.myopera.com/d.i.z./service/UJS_Manager.zip
W poniedziałek powinna pojawić się też na http://unite.opera.com/application/401/

Originally posted by medium:

A ja tymczasem zapisałam wszystkie posiadane skrypty w kodowaniu UTF-8... bigsmile


Tylko trzeba pamiętać żeby nie było BOM-u bo inaczej Opera nie zobaczy pierwszej linijki skryptu. Jak jest BOM to można obejść problem przez wstawienie pustej linijki na początku ale lepiej żeby po prostu go nie było.

Originally posted by medium:

d.i.z., dlaczego robisz ze mnie anonymousa?!!


Tak mi jakoś funkcja "Quick Text" działa. wink

woj-tek napisał(a):

Zrobiłem aktualizacje do wersji 1.5.0 i... przy otiweraniu aplikacji dostaję "404 Not found / Resource not found". Restart przeglądarki a także zainstalowanie aplikacji od zera nie pomaga sad

d.i.z. napisał(a):

Hmm, jak mi to mogło umknąć??? Poprawione w 1.6.

woj-tek napisał(a):

Niezły przeskok w numeracji (;
A jakieś domysły kiedy OSA klepnie przycisk "akceptuj" nowej wersji? Bo w repozytorium nadal jest 1.5...

d.i.z. napisał(a):

Przeskok wymusza unite.opera.com przy uploadzie. Myślę, że dzisiaj się jeszcze pojawi wersja 1.6.

Medium napisał(a):

Originally posted by d.i.z.:

Myślę, że dzisiaj się jeszcze pojawi wersja 1.6.


d.i.z., jak odczytać numer posiadanej wersji UJS Managera?
Pytam, ponieważ u mnie z jakiego powodu co kilka dni manager przestaje działać, pokazuje błąd 404, jeśli dobrze pamiętam, muszę więc robić reinstal.

d.i.z. napisał(a):

Wersja podana jest na http://unite.opera.com/application/401/. W tej chwili jest to 1.6 a w późniejszym terminie będzie się wyświetlała w stopce.

Problem z 404? Też mi się coś takiego zdarzało ale nie myśląc wiele, kasowałem aplikacje i dodawałem ponownie.
Jak mi się to znowu przytrafi to poprawię.

Medium napisał(a):

Originally posted by d.i.z.:

Wersja podana jest na http://unite.opera.com/application/401/.


Czyli tej posiadanej nie możemy odczytać?

d.i.z. napisał(a):

Można ale trzeba rozpakować plik. Wersja znajduje się w pliku /js/server_side.js ( SERVICE_VERSION )

woj-tek napisał(a):

Propozycja (w sumie już o tym wspomniałem, ale chodziło mi o coś trochę innego niż się pojawiło, a potem mi się zapominało (; ). Przycisk "Przełącz" który włącza/wyłącza wszystkie skrypty (zamiast bawienie się w zmiany nazwy katalogu czy ścieżki do katalogu z USJ w przypadku gdy chcemy tymczasowo wyłączyć wszystkie skrypty).
I druga rzecz -- przycisk "edytuj" który otwierałby wybrany skrypt w domyślnym edytorze (edytorze o skonfigurowanej gdzieś ścieżce)

Medium napisał(a):

Originally posted by lwiczek:

I druga rzecz -- przycisk "edytuj" który otwierałby wybrany skrypt w domyślnym edytorze (edytorze o skonfigurowanej gdzieś ścieżce)


http://my.opera.com/polski/forums/findpost.pl?id=3124320

Dodaj sobie w menu np. Pomoc taki punkt:

Item, "UserJS"="Execute Program, "explorer.exe", " ścieżka do katalogu skryptów"


woj-tek napisał(a):

Originally posted by Medium:

http://my.opera.com/polski/forums/findpost.pl?id=3124320



Teraz sobie przypomniałem, że nawet tą dopowiedź czytałem (;

Originally posted by Medium:

Dodaj sobie w menu np. Pomoc taki punkt:


No mam taką pozycję (w całkiem fajnie przebudowanym menu) niemniej zauważ o ile mniej klikania byłoby gdyby dało się wywołać edytor bezpośrednio z panelu UJS (;

Medium napisał(a):

Ale jak nie można to trudno. Masz rację, że przydałby sie globalny wyłącznik skryptów.

stivo85 napisał(a):

Jest możliwość, by UJS Manager pokazywał nazwę pliku ze skryptem? Ewentualnie prosiłbym wprowadzenie takiej funkcjonalności w miarę możliwości.

d.i.z. napisał(a):

Nowa wersja 2.0 ma możliwość edycji, tworzenia nowych skryptów i trochę zmian w wyglądzie.

Globalny włącznik/wyłącznik skryptów - ja używam do tego odpowiedniego przycisku

UserJS

Medium napisał(a):

Originally posted by d.i.z.:

możliwość edycji, tworzenia nowych skryptów


Ale bajer! Świetne!

woj-tek napisał(a):

Originally posted by d.i.z.:

Nowa wersja 2.0 ma możliwość edycji,



up

Originally posted by d.i.z.:

tworzenia nowych skryptów



U mnie przycisk z plusikiem nachodzi na pole Quick Find sad

Originally posted by d.i.z.:

trochę zmian w wyglądzie.



Podobają mi się animacje smile up

Originally posted by d.i.z.:

Globalny włącznik/wyłącznik skryptów - ja używam do tego odpowiedniego przycisku



Przycisk sprawdzony -- przełączanie UJS przy jego użyciu powoduje u mnie zamrażanie opery na kilka sekund (podobnie jak używanie preferencji w ogóle...), a przy którymś razie w ogóle mi się opera wykrzaczyła sad

Ergo -- takowy przycisk w ramach Twojej aplikacji byłby świetną sprawą smile

woj-tek napisał(a):

http://my.opera.com/community/blog/2009/11/25/application-of-the-day-ujs-manager -- gratulacje! smile

Medium napisał(a):

Application of the day: UJS Manager - Zasłużone wyróżnienie! UJS Manager już w poprzednich wersjach był niezastapiony, a w tej wersji to już zupełna rewelacja! wizard

pwlsrs napisał(a):

Originally posted by d.i.z.:

Jeżeli chodzi o instalacje skryptów ze stron to po otwarciu jakiegokolwiek pliku javascript, wyjedzie nam na górze strony pasek, który daje możliwość jego instalacji.


hmm u mnie to chyba nigdy nie działało (chyba że coś przeoczyłem), Opera otwiera skrypt i co najwyżej mogę go sobie skopiować sad Sprawdzałem na różnych stronach ze skryptami.
Jakieś sugestie?

Medium napisał(a):

Originally posted by pwlsrs:

Jakieś sugestie?


Sprawdź, czy w Twoim folderze skryptów jest ujs_manager_installer.js.

pwlsrs napisał(a):

Originally posted by Medium:

Sprawdź, czy w Twoim folderze skryptów jest ujs_manager_installer.js.


Tak znajduję się tam. UJS Manager również pokazuje że jest uruchomiony. Jak znam życie to pewnie mam jakiś konflikt pomiędzy tym a innym skryptem. Po powrocie do domu sprawdzę czy tak jest w istocie.

Edit
Faktycznie, po raz kolejny winien był skrypt imgthumb, a szkoda bo był przydatny sad

szyk napisał(a):

Taka drobnostka: mam katalog w folderze ze skryptami, jak w niego wchodzę i chcę ponownie przejść do folderu nadrzędnego, to czasem odbywa się to błyskawicznie, a czasem trwa około pół minuty (Linux).

szyk napisał(a):

A da się coś zrobić z edycją skryptów, żeby po zatwierdzeniu zmian, sprawdzeniu działania i ponownym powrocie do edycji działało cofanie zmian przy pomocy CTRL+Z? smile

d.i.z. napisał(a):

Taka drobnostka: mam katalog w folderze ze skryptami, jak w niego wchodzę i chcę ponownie przejść do folderu nadrzędnego, to czasem odbywa się to błyskawicznie, a czasem trwa około pół minuty (Linux).


Tak, jest to związane na pewno z czytaniem plików z dysku co czasami trwa dość długo a czasami już nie tak długo. Będę się musiał kiedyś dokładniej przyjrzeć gdzie jest problem (pewnie Stream.read()) i zgłosić problem. Może da się zoptymalizować.

A da się coś zrobić z edycją skryptów, żeby po zatwierdzeniu zmian, sprawdzeniu działania i ponownym powrocie do edycji działało cofanie zmian przy pomocy CTRL+Z? smile


Da się smile

szyk napisał(a):

No, jakby się jeszcze dało dodać to UJS Managera klienta IRC-a, w stylu jakichś mIRCÓW, żeby mi przede wszystkim zapisywało automatycznie logi, i żeby wszystkie kanały były na 1 karcie, to Cię ozłocę. ;D

To oczywiście pół żartem-pół serio, mam nadzieję, że taki klient pojawi się w miarę szybko w unitowych aplikacjach, w Operowym kliencie te 2 rzeczy najbardziej mnie irytują. wink