Jestem pod wrażeniem koncepcji reputacji stosu Stack Exchange (zyskujesz reputację podczas publikowania, a im więcej publikujesz, tym więcej masz uprawnień) i chcę zastosować tę koncepcję do tworzonej przeze mnie wiki.
Czy ktoś wie o php wiki, które ma koncepcję przywilejów / reputacji podobną do Stack Exchange? Niekoniecznie szukam czegoś identycznego z SE, po prostu szukam aplikacji wiki, która daje użytkownikom więcej uprawnień, im bardziej pozytywnie przyczyniają się do wiki (SE ma mniej głosów, wiki powinna mieć jakiś sposób na identyfikację negatywnego wkładu też). Uprawnienia powinny opierać się na kategoriach, więc im bardziej będziesz aktywny w określonej kategorii lub stronie, tym więcej uprawnień uzyskasz dla tej kategorii. Powinny również obowiązywać uprawnienia dla całej witryny, chociaż dostęp do nich powinien być trudniejszy niż uprawnienia kategorii.
UWAGA: Jeśli nie będzie można uzyskać uprawnień dla całej kategorii i dla całej witryny, będę w porządku z uprawnieniami obejmującymi całą kategorię lub uprawnieniami obejmującymi całą witrynę.
Powinienem być w stanie zmienić wymagania dla każdego uprawnienia, poprzez panel administracyjny lub edycję pliku (niektóre aplikacje wiki nie mają interfejsów administracyjnych).
Czy ktoś ma skrypt lub rozwiązanie, które to zrobi? Jeśli skrypt używa czegoś podobnego do reputacji, aby określić, ile użytkownik pozytywnie przyczynił się do witryny, to też jest OK.
Uwaga: szukam sposobu na ocenę wkładu poszczególnych użytkowników, a nie sposobu na ocenę jakości całej strony.
Odpowiedzi:
MediaWiki ma kilka rozszerzeń, które oceniają to, w tym pasek oceny W4G . Jeśli nie możesz znaleźć wiki, która robi to po wyjęciu z pudełka, możesz zhakować to rozszerzenie i połączyć je z wbudowanym systemem uprawnień, aby robić to, co chcesz. Lub możesz dać nagrodę za to, że ktoś to zrobi za ciebie (chociaż jeden link na tej stronie nie działa, a strona na Facebooku jest dość cicha).
źródło
Czy sprawdziłeś już Pytanie2Answer ? Ma system reputacji, jest w php i może być zintegrowany z wiki. Jednak, o ile mi wiadomo, reputacja nie przyznaje dodatkowych przywilejów, jak w SE.
źródło
W rzeczywistości nie jest to rozwiązanie, jest to raczej sposób, w jaki ktoś mógłby to zaimplementować, gdyby był zainteresowany:
Użytkownik ocenia stronę wiki. Albo kciuk w górę, albo w dół.
Oprogramowanie wiki przegląda historię strony, aby ustalić, ile stron została napisana przez różnych autorów. Załóżmy, że użytkownik pierwszy wniósł 50% znaków na stronie, a użytkownicy drugi i trzeci wnieśli 25% znaków na stronie.
Oprogramowanie wiki przyznaje 50% punktów, które kciuk w górę jest wart dla użytkownika 1, a 25% punktów dla użytkowników dwóch i trzech. Jeśli kciuk w górę jest wart 10 punktów, użytkownik 1 otrzymuje 5 punktów reputacji, a użytkownicy 2 i 3 otrzymują 2,5 punktu reputacji.
Możesz zrobić to samo z mniejszymi głosami, tyle że zabierasz punkty zamiast je dodawać.
UWAGA: system oceniania analizuje tylko ilość treści, które użytkownicy napisali w bieżącej wersji tej strony w momencie przyznawania oceny. Jeśli użytkownik 4 również przyczynił się do powstania strony, ale użytkownicy 1, 2 i 3 całkowicie usunęli jego wkład, użytkownik 4 nie otrzyma żadnych punktów reputacji.
UWAGA: jeśli użytkownik 5 pojawi się, a następnie edytuje stronę, użytkownik 5 uzyska reputację tylko wtedy, gdy ktoś zagłosuje za stroną, gdy część jej oryginalnej treści zostanie wyświetlona na stronie. Ponownie, reputacja jest przyznawana tylko użytkownikom, których treść pojawia się w bieżącej wersji strony w momencie przyznawania oceny.
UWAGA: dobrym pomysłem byłoby umożliwienie użytkownikom ponownej oceny strony, jeśli zostaną w niej wprowadzone jakiekolwiek zmiany, aby mogli głosować na stronie, jeśli użytkownik zapomni zacytować roszczenie lub coś w edycji dokonanej po głosowanie zostało wydane.
BTW, jeśli ktoś byłby skłonny stworzyć wtyczkę / skrypt wiki, który to zrobiłby, to byłoby świetnie. Jeśli jest już dostępna wtyczka / skrypt wiki, który to robi, opublikuj ją w komentarzach.
źródło