Bug 186 - Strona pobierania plików w języku obcym
Summary: Strona pobierania plików w języku obcym
Status: VERIFIED WORKSFORME
Alias: None
Product: Nasze witryny
Classification: Archiwum
Component: www.thunderbird.pl (show other bugs)
Version: unspecified
Hardware: Wszystkie Wszystkie
: P2 trywialny
Assignee: Marek Stępień
QA Contact: Zbigniew Braniecki
URL: http://prdownloads.sourceforge.net/mo...
Depends on:
Blocks:
 
Reported: 2004-09-04 00:49 CEST by marian
Modified: 2006-04-07 19:07 CEST (History)
2 users (show)

See Also:


Attachments
www.firefox.pl/js/suggestbuild.js (1.07 KB, text/plain)
2004-10-13 23:52 CEST, Marek Stępień
no flags Details
skrypt generujący stronę z mirrorami sf.net (2.70 KB, application/zip)
2004-10-14 11:33 CEST, Piotr Pielach
no flags Details

Description marian 2004-09-04 00:49:58 CEST
Początkujący użytkownik chcący zainstalować przeglądarkę znajduje odnośnik
Pobierz i natrafia na angielską stronę z wyborem mirrora która jest dla niego
absolutnie nieczytelna i nieintuicyjna. Użytkownik pozostawiony sam sobie
rezygnuje z próby pobierania uważając, że wystąpił błąd. Dotyczy normalnych
użytkowników komputera (nie geeków) bez znajomości języka angielskiego.

Jednynym skutecznym rozwiązaniem jest zastosowanie odnośnika do pliku nie
wymagającego wybierania mirrora (bezpośredniego).
Comment 1 Marek Stępień 2004-09-04 20:57:35 CEST
Hmm... Linkowanie do jednego tylko mirrora nie jest dobrym rozwiązaniem. 

Pytanie do osób lepiej zaznajomionych z sf.net: czy nie można jakoś przełączyć
języka na sourceforge'u? Coś w rodzaju dolepienia "lang=pl" do URLa?

Jeśli nie, najwyżej trzeba będzie zrobić własną listę mirrorów. Coś w tym rodzaju:

Link "Pobierz" przekierowuje na stronę pobierz-<platforma>.html, która wygląda
jakoś tak:

-- 

<duży_tekst><a>Pobierz Firefoksa z głównego serwera OSDN</a></duży_tekst>

lub z innych serwerów:

* serwer 1
* serwer 2
...
* serwer n

--

Inne propozycje?
Comment 2 Zbigniew Braniecki 2004-10-02 23:17:28 CEST
-> marcoos
Comment 3 Piotr Pielach 2004-10-03 11:43:49 CEST
Na mozillapl.org jest to rozwiązane! Nie można by tego wykorzystać?
Comment 4 Marek Stępień 2004-10-13 23:45:05 CEST
Na MozillaPL.org to jest fragment CMS'a "PostNuke".

My musimy to zrobić od zera.
Comment 5 Marek Stępień 2004-10-13 23:48:00 CEST
Nie mogę tego poprawić bo znowu ktoś napier3%$$%$^lił w uprawnieniach w
firefox.pl/www!!!
Comment 6 Marek Stępień 2004-10-13 23:52:26 CEST
Created attachment 145 [details]
www.firefox.pl/js/suggestbuild.js

Wersja z wpisanym na sztywno jednym z mirrorów (Paryż).
Do podmiany z obecnym suggestbuild.js.

Na stronie "pobierz" można wprowadzić analogiczne zmiany, dając jednak link
także do aktualnego sourceforge'owego wyboru mirrora jako "Serwery zapasowe"
or sth.
Comment 7 Zbigniew Braniecki 2004-10-14 04:22:10 CEST
(W odpowiedzi na komentarz #5)
> Nie mogę tego poprawić bo znowu ktoś napier3%$$%$^lił w uprawnieniach w
> firefox.pl/www!!!

hmmm... juz?
Comment 8 Piotr Pielach 2004-10-14 09:34:28 CEST
Ok. Wymyśliłem jak zrobić ładne wybieranie serwerów do pobrania z sf :)

Jak tylko znajdę chwilkę to napiszę skrypcik php...
Comment 9 Marek Stępień 2004-10-14 09:58:11 CEST
Attachement 145 checked in. Od tej pory główna strona proponuje pobranie z OVH.
Strona "pobierz" linkuje do listy mirrorów.

Comment 10 Piotr Pielach 2004-10-14 10:05:40 CEST
(W odpowiedzi na komentarz #9)
> Attachement 145 checked in. Od tej pory główna strona proponuje pobranie z OVH.

Niestety, tak nie można linkować! U mnie pojawia się stronka z błędem!
Comment 11 Marek Stępień 2004-10-14 10:46:30 CEST
Kurde, rzeczywiście.

Poprawka wycofana.

Przygotowuję nową stronę do pobrań - http://www.firefox.pl/pobierz_new.html.
Proszę o testy w IE 5.x, 6.0.

W takim razie jak mam linkować, żeby nie straszyć sourceforge'owym "Download"?
Comment 12 Marek Stępień 2004-10-14 10:49:22 CEST
Comment on attachment 145 [details]
www.firefox.pl/js/suggestbuild.js

fix wycofany.
Comment 13 Marek Stępień 2004-10-14 10:51:41 CEST
Przypisuję sobie.
Comment 14 Marek Stępień 2004-10-14 11:01:57 CEST
OK, znowu nazmieniałem. :)

W tej chwili na głównej jest rozwiązanie pośrednie. Mirror jest wpisany na
sztywno, ale tak, że działa. :) Z tym że nie da się w ten sposób uniknąć napisu
"You are downloading", ale przynajmniej plik ściąga się z automatu.

Analogicznie na pobierz_new.html.

Jeśli nie stwierdzicie nieprawidłowości w działaniu pobierz_new.html, podmienimy
pobierz.html na tą nową wersję. Testujcie! Różne przeglądarki i wybierajcie
różne mirrory na tej stronie.
Comment 15 Piotr Pielach 2004-10-14 11:33:56 CEST
Created attachment 146 [details]
skrypt generujący stronę z mirrorami sf.net

W załączniku skrypt w PHP generujący stronę z listą mirrorów sf do
wyboru.

Na skrypt składają się dwa pliki 
 sfget.php - właściwy skrypt.
 sfget-tpl.php - coś w rodzaju szablonu strony :) powstał z pobierz.html

Plik sfget-tpl.php można zmieniać zostawiając wstawki w <?php ?> reszta to
xhtml

Użycie: we wszystkiech miejscach z których ma być wywołane pobieranie
plików z sf.net zamiast dotychczasowych odnośników trzeba wstawić:

 sfget.php?/mozillapl/PlikDoPobrania.ext
	   ^ - ten slash jest KONIECZNY!
Comment 16 Piotr Pielach 2004-10-14 14:15:59 CEST
marcoos: IMHO Twój pomysł ciągle wystawia biednych ZU na jakąś "dziwną"
obcojęzyczną stronę ;)

Zastanawiam się tylko dlaczego nie podoba Ci się mój pomysł??
W całości po polsku :) Poza tym mój skrypt pobiera listę dostępnych mirrorów z
sf.net. 
A jak któryś padnie... to przy Twoim rozwiązaniu będą mieli ZU fajne stronki
błędów sf.net
Comment 17 Zbigniew Braniecki 2004-10-14 14:31:16 CEST
(W odpowiedzi na komentarz #16)
> Zastanawiam się tylko dlaczego nie podoba Ci się mój pomysł??
> W całości po polsku :) Poza tym mój skrypt pobiera listę dostępnych mirrorów z
> sf.net. 
> A jak któryś padnie... to przy Twoim rozwiązaniu będą mieli ZU fajne stronki
> błędów sf.net

Przyznam, ze skrypt niezbyt mi sie podoba. Jest nagmatwany, slabo udokumentowany
i strasznie liniowy. Czy moglbys:
a) upewnic sie ze pojdzie na PHP5 z maksymalnie restrykcyjna obsluga bledow
(notice itp.)
b) zamknac te pobierania mirrorow w jakies funkcje.
Comment 18 Marek Stępień 2004-10-14 14:48:13 CEST
Mamy więc dwa rozwiązania.

Jedno w PHP server-side i drugie client-side w JS.

Zalety wersji PHP:
- jeśli SF nie zmieni układu strony, to skrypt załapie listę serwerów
- chowa wszystko, czego user może się wystraszyć

Wady wersji PHP:
- takie pobieranie listy serwerów SF za każdym razem spowoduje niezłe obciążenie
łącza (a i tak mamy duże)

Zalety wersji JS:
- odporny na zmianę układu strony SF
- chowa najważniejsze rzeczy, z tych, których user może się wystraszyć
- nie obciąża łącza prawie wcale (zmiana docelowego serwera dokonuje się via DOM)

Wady:
- konieczność ręcznego dopisywania listy serwerów
- użytkownik musi mieć włączony JS (jeśli ma wyłączony - dostaje link do wyboru
mirrorów na SF)

Mój skrypt w JS jest też przyjazny dla SourceForge'a. Wersja, która by chowa
stronę "download" na SF, nie pozwala SF wyświetlić bannera. A skądś SF musi brać
pieniądze na ten darmowy hosting...
Comment 19 Zbigniew Braniecki 2004-10-14 15:34:23 CEST
Marku: czy jest mozliwosc doprowadzenia do sytuacji, aby po nacisnieciu linka na
naszej stronie uzytkownik w ogole nie byl przenoszony na inna tylko od razu
rozpoczynalo sie sciaganie pliku?

Aby nie przyciazac zbyt bardzo jednego serwera mozna np. losowac z listy
serwerow wpisanych w pliku .js ten ktory zostanie podany uzytkownikowi.
Comment 20 Marek Stępień 2004-10-14 18:32:10 CEST
Jak linkujesz bezpośrednio do pliku (tzn. taki URL, na jaki przekierowuje SF po
wybraniu mirrora), to serwer SF wywala błąd. 

Ten skrypt w PHP Cleriica robi HTTP REFRESH. Może by pokombinować w ten sposób w
JS... 
Comment 21 Piotr Pielach 2004-10-14 18:45:18 CEST
(W odpowiedzi na komentarz #17)
> Przyznam, ze skrypt niezbyt mi sie podoba. Jest nagmatwany, slabo udokumentowany
> i strasznie liniowy. Czy moglbys:

Z udokumentowaniem nie ma problemu, nigdy tego nie robię dopóki nie mam pewności
czy będzie wykorzystany... 

Zastanawiam się tylko dlaczego jest nagmatwany? 
Naprawdę nie warto angażować OOP do kilku prostych czynności parsowania pliku!
Poza tym parsowanie pliku jest czynnością liniową... chyba że miałeś w tym
miejscu cośinnego na myśli :)

> a) upewnic sie ze pojdzie na PHP5 z maksymalnie restrykcyjna obsluga bledow
> (notice itp.)

Używam PHP4+Apache2 z tak właśnie włączoną obsługą błędów. Więc powinno być ok.

> b) zamknac te pobierania mirrorow w jakies funkcje.

Pewnie że mogę. Tylko zastanawiam się jaka korzyść z tego wynika?
Comment 22 Marek Stępień 2004-10-14 18:46:44 CEST
Przez location.href="plik.gz" nie działa, tak samo przez
location.replace("plik.gz").

Wchodzi natomiast przez link do strony, która ma odpowiedni refresh w <meta>

Pewna sztuczka jest tutaj: http://www.firefox.pl/test/test5.html
(poglądowo, to oczywiście wymaga dopracowania i cross-browserowości ;))
Comment 23 Marek Stępień 2004-10-14 18:49:26 CEST
Aha.

Pytanie natury prawnej: czy "chowając" wszystkie sursfordżowe stronki dzialamy
legalnie i zgodnie z regulaminem sf.net? Bo przecież po coś te ograniczenia w
linkowaniu wprowadzono...
Comment 24 Piotr Pielach 2004-10-14 18:56:12 CEST
(W odpowiedzi na komentarz #18)
> Zalety wersji PHP:
> - jeśli SF nie zmieni układu strony, to skrypt załapie listę serwerów
> - chowa wszystko, czego user może się wystraszyć

Nie zrobili tego od kilku lat! Jest mała szansa ze zrobią... a jak się tak
stanie to skrypt będzie wyświetlał "Nie znaleziono pliku".

 
> Wady wersji PHP:
> - takie pobieranie listy serwerów SF za każdym razem spowoduje niezłe 
> obciążenie łącza (a i tak mamy duże)

To daje jakieś dodatkowe 5KB na pobranie. Można zapisywać listę mirrorów i
sprawdzać raz na dzień czy co kilka dni czy się zmieniła.

> Wady:
> - konieczność ręcznego dopisywania listy serwerów
> - użytkownik musi mieć włączony JS (jeśli ma wyłączony - dostaje link do 
> wyboru mirrorów na SF)

Dodałbym jeszcze: 
  - pad mirrora = komunikat z SF o błędzie
Comment 25 Piotr Pielach 2004-10-14 19:00:59 CEST
Proszę o decyzję?

1. Zostawiamy JS + HTTP REFRESH (z wadami jak wyżej)

czy

2. Poprawiam skrypt PHP pozbawiając go ww. wad? 
   Tzn. skrypt ma zapisywać listę serwerów i co jakiś czas ją sprawdzać i ew.
uzupełniać. (jak często?) = 0.01% dodatowego obciążenia.
Comment 26 Marek Stępień 2004-10-14 19:04:52 CEST
Ja nie jestem zakochany bezgranicznie w swoim kodzie, jakby co. :P

Jeżeli uda się to zrobić w PHP, to świetnie.

Proszę tylko zwrócić uwagę na comment 23. Zna ktoś regulamin SF? :)
Comment 27 Piotr Pielach 2004-10-14 19:21:41 CEST
(W odpowiedzi na komentarz #26)
> Ja nie jestem zakochany bezgranicznie w swoim kodzie, jakby co. :P

Ja również :) dlatego pytam co dalej...
 

Przeglądałem przed chwilą "Terms & Conditions" sf.net i nie doszukałem się nic
na temat linkowania z zewnątrz do plików. 

Zresztą mirrory do nich nie należą (część z nich należy np. do uczelni)! A my
nie pobieramy bezpośrednio z ich strony tylko z mirrorów, więc IMHO powinno być ok.
Comment 28 Zbigniew Braniecki 2004-10-14 21:12:29 CEST
To mi sie bardziej podoba rozwiazanie PHP :)

Cleriic: zamkniecie tego w funkcje znacznie ulatwi ewentualne operowanie na
kodzie innym w razie potrzeby
Comment 29 Marek Stępień 2004-10-14 21:39:20 CEST
Aha. Ok, wiec backend php. :)

Co do tego, jak to ma sie z userem komunikowac:

Na stronę główną nadaje się pomysł Gandalfa - losowy wybór mirrora.

Natomiast na stronie pobierz.html niech będzie (analogicznie do aktualnego
js'owego testowego http://www.firefox.pl/pobierz_new.html) sensowny wybor mirrora.
Comment 30 Piotr Pielach 2004-10-14 23:50:59 CEST
Będzie gotowe na jutro (tj. 15.X). Nie mam dostępu do uploadowania, więc wrzucę
tu wszystko.

Gandalf: ok. będą funkcje + krótka dokumentacja.

I jeszcze jedna rzecz. 
Są w Polsce dwa nieoficjalne mirrory sf.net ICM w Warszawie i TASK w Gdańsku.
Można by je dodać do listy możliwych do wyboru serwerów. Jest z nimi tylko jeden
problem, wiem że mają opóźnienie w synchronizacji, tylko nie wiem jak duże?
Czy to ich nie będzie dyskwalifikować?
Comment 31 Marek Stępień 2004-10-24 18:40:03 CEST
Sytuacja się zmienia od Firefoksa 1.0 RC 1 - wszystko będzie wisieć na
ftp.mozilla.org.  Będziemy linkować bezpośrednio do ftp'a, pod tym adresem jest
wiele serwerów, co chwilę wywoływany jest inny.

Firefox 1.0 RC 1 wyjdzie poniedziałek/wtorek/środę, razem z wersją polską.

Twój skrypt jednak się przyda do www.thunderbird.pl. Stąd - przepisanie do
produktu 'serwis thunderbird.pl'.
Comment 32 Piotr Pielach 2004-10-24 22:39:51 CEST
Ok. 
Ostatnio nie miałem zbyt dużo czasu, jednak skrypt jest prawie na ukończeniu.
Comment 33 Zbigniew Braniecki 2005-02-16 18:54:22 CET
WFM
Comment 34 Marek Stępień 2005-02-16 19:19:19 CET
Hmmm.... 

v.

Note You need to log in before you can comment on or make changes to this bug.