Często jest tak, że jakiś anonim pisze posta i post ten wymaga przeniesienia. Anonim jednak nie jest o tym informowany i pisze go raz jeszcze (itd.). Moja propozycja: zrobić aby po przeniesieniu posta przez jakiś czas (godzina?) był on widoczny na forum z którego został przeniesiony np. w ten sposób:
http://qyon.satanbsd.org/bin/przeniesiono.jpg
Dobre, ale za długie.
Jak coś to już krótki znaczek:
[-> Nazwa dzialu]
Ale to i tak jedną linijkę z wyświetlanych działów zjada...
Jak mówie to tylko propozycja :)
A zjada tylko na pół godzinki :>
Mnie sie pomysl podoba :) Moze inny napis informujacy, ale idda calkiem okey :)
Przyznam, ze swietne.
PS. Z wyjatkiem "przenosin" do Kosza mam nadzieje ;). Wzgledy oczywiste. Chociaz z drugiej strony takie upublicznienie skasowania mogloby ludzi motywowac :).
roSzi napisał(a)
Z wyjatkiem (...)
Co do różnych takich wyjątków - jak być może słusznie(?) zauważył pewien moderator :> co jakiś czas pojawia się sugestia dla Coyote, która zamiast zmieniać go coraz bardziej na system uniwersalny, zawęża jego funkcjonalność do 4p - na to trzeba zwracać uwagę przy wszelkich zmianach i propozycjach.
Może akurat tu nie byłoby to tak do końca 4p-only ale pojawiła się okazja do wspomnienia tej kwestii.
Tutaj pojawia sie pewien problem. W bazie nie ma informacji o czasie przeniesienia watku, takze odpada wyswietlanie przez godzine. Teraz, czy oplaca sie takie pole wprowadzac? [???]
To raczej lepiej na stałe takie info - i tak najczęściej po dniu w większości działach temat przejdzie dalej... tylko wtedy na prawdę mały ten napis/ikonka informująca o przeniesieniu co by temat nie rozciągnął się na 3 linijki...
najbardziej optymalne rozwiazanie widzialem na IPB (invision power board)
po przeniesieniu w starym miejscu jest zamkniety post, ktory jest linkiem do nowej lokacji)
Opcje ta mozna wylaczyc podczas przenoszenia (wtedy po prostu linka nie bedzie)
A może by tak ograniczyć się do zmiany ikonki "przeczytany/nieprzeczytany" na "przeniesiony" i link trzymać to przez godzinę w starym dziale.
Pomysł mi się podoba, ale jeśli zaznaczenie czasu przeniesienia jest problemem - mówi się trudno.
najbardziej optymalne rozwiazanie widzialem na IPB (invision power board)
po przeniesieniu w starym miejscu jest zamkniety post, ktory jest linkiem do nowej lokacji)
Opcje ta mozna wylaczyc podczas przenoszenia (wtedy po prostu linka nie bedzie)
Rzeczywiście, w IPB ładnie to wygląda .. ale chyba właśnie o to się rozchodzi autorowi.
W phpBB 3 tez jest taka opcja. Po prostu przeniesiony temat ozdabia specjalna ikonka. Ale wtedy i tak trzeba dodatkowe pole w tabeli, aby okreslalo, czy pozostawiac "slad" w starym dziale, czy tez nie.
Nalezy sie wiec zastanowic jakie rozwiazanie bedzie lepsze. Czy pozostawiac "slad" jedynie przez jakis okres czasu od przeniesienia czy wprowadzic opcje pozostawiania, badz nie - sladu.
A jest sens dawać opcję czy zostawiać ślad czy nie? :|
Kto będzie zważał na tę opcję? Wątpię, by się komuś chciało.
Teraz raczej trza się zastanowić, czy chcemy zostawiać ślad na jakiś czas, czy niech wisi permanentnie - wtedy baza zostaje jak teraz, dochodzi zmiana zapytania i ciut kodu php.
IMHO nie warto za kazdym razem zostawiac slad, wtedy mnostwo tematow w dziale bedzie tylko swoistym sladem, informacja o tym, ze ow temat zostal przeniesiony. Pojawi sie mnostwo stron w dzialach na forum.
Więc chyba postanowione - godzinny ślad a po godzinie tak jak teraz - czyli bez śladu :P
Hmm ile to bedzie 181179 * int(11)? ;)
Qyon napisał(a)
Hmm ile to bedzie 181179 * int(11)?
To będzie... cena za tę dogodność.
// [soczek] - Q
Kurcze... dodajac odpowiedni warunek, szybkosc wykonywania zapytania zwieksza sie srednio az o 0.2 sek. (na moim komputerze) :/ To bardzo duzo... wszystko przez operator OR... fragment zapytania:
WHERE t.topic_forum IN(0, ' . $forum_id . ')
AND p1.post_id = t.topic_first_post_id
AND p2.post_id = t.topic_last_post_id
zamieniam na:
WHERE (t.topic_forum IN(0, ' . $forum_id . ')
OR t.topic_moved_id = $forum_id))
AND p1.post_id = t.topic_first_post_id
AND p2.post_id = t.topic_last_post_id
Hm... czy ja cos zle robie w kwestii optymalizacji tego zapytania? :/ Oczywiscie indeks na topic_moved_it zalozony.
Adam Boduch napisał(a)
Kurcze... dodajac odpowiedni warunek, szybkosc wykonywania zapytania zwieksza sie srednio az o 0.2 sek.
A może zmniejsza? [green]
Adam Boduch napisał(a)
WHERE (t.topic_forum IN(0, ' . $forum_id . ')
OR t.topic_moved_id = $forum_id)<font color=red>)</font>
AND p1.post_id = t.topic_first_post_id
AND p2.post_id = t.topic_last_post_id
ten nawias to przypadkiem?
Tak, pisalem "od reki", nie wklejalem kodu ;)