Najbardziej "awesome" dodatki, jakie ostatnio widzieliście

Cześć,

są takie chwile, kiedy trafiamy na gema/plugina tak nieodparcie zajebistego, że nie sposób oprzeć się pragnieniu podzielenia nowiną z całym światem. Chciałbym, żeby w tym temacie pojawiały się właśnie takie narzędzia, powodujące totalny opad szczęki przy czytaniu dokumentacji i potem przy użyciu i zmieniające jakość pracy z Rubym czy Railsami :slight_smile:

Pozwolę sobie zacząć

  1. Rewelacyjny generator aplikacji railsowej, który automatycznie zaciągnie nasze-ulubione-pluginy, zrobi require odpowiednich gemów i odpali zawsze-używane generatory (authenticated User Sessions na przykład :wink: )
    http://www.rubyrailways.com/hot-in-edge-rails-generate-rails-apps-from-templates/
  2. Dwa rewelacyjne pluginy rozszerzające ARowe conditions, przede wszystkim do ładnego i łatwego tworzenia klazul LIKE %cos% oraz większe-równe-mniejsze
    http://github.com/nesquena/conditions_fu/tree/master
    http://github.com/binarylogic/searchlogic/tree/master
    (ten drugi to w ogóle kosmiczne rzeczy potrafi, do montowania gotowych filtrów w requeście)
  3. OrderedHash - czyli “pehapowa hybryda array-hash”, klasa dziedzicząca z Array, w której można indeksować elementy jak w Hashu, a jednocześnie trzymać arbitralny porządek (czyli sortować):
    http://www.culann.com/2008/01/rails-goodies-activesupportorderedhash
    Ta rewelacja była kiedyś jako osobna biblioteka, potem jako fragment Ruby Facets (polecam!), trafiła do Ruby 1.9 i została włączona do RoR 2.0. To ostatnie w formie tak niedojrzałej i nieudokumentowanej (zero RDoca!), że aż się nie pochwalili - a jest to kawał fajnej funkcjonalności, zwłaszcza po dopisaniu odrobiny własnego kodu (mergowanie!).

http://github.com/binarylogic/authlogic/tree/master

Używam od niedawna, ale komentarz można dać taki sam jak ten Tomasha odnośnie searchlogic (w końcu ten sam autor). Nie trzeba stosować żadnych generatorów no i podoba mi się perishable_token :slight_smile:

Z ciekawych pluginow do wyszukiwania polecam:

Natomiast z kategorii acts_as polecam http://github.com/collectiveidea/awesome_nested_set/tree/master ktory jest bardziej aktualna hybryda acts_as_threaded i acts_as_better_nested_set

Kolejny ciekawy projekt acts_as(like) … to:

pozdrawiam
Sławek

[quote=ronin]http://github.com/binarylogic/authlogic/tree/master

Używam od niedawna, ale komentarz można dać taki sam jak ten Tomasha odnośnie searchlogic (w końcu ten sam autor). Nie trzeba stosować żadnych generatorów no i podoba mi się perishable_token :)[/quote]
Rewelacja, najwyższy czas powiedzieć “do widzenia” Restful Authentication z jego generatorami i ogólną trudnością w utrzymaniu. Aż przedstawię na szkoleniu jako kanon rozwiązań do autentykacji (wspomnę o restful_authentication oczywiście :slight_smile: )

@Pak - Squirrel rewelacja, to już trzy pluginy do sprawdzenia i porównania. Są chętni do testów wydajnościowych i usability? :wink:

@Tusla - Mocno “fazowy” plugin, ale może nie doceniam jego praktyczności bo nie korzystałem nigdy z acts_as_versioned.

Authlogic faktycznie wymiata, kolo, który to pisze - normalnie gwiazda :slight_smile: Fajnie, że jest gemik, to można swobodnie użyć i w merbie, jak ktoś widzał przykład użycia w opensource, to niech da namiar (rails i merb).

Edit ->
dla rails

http://github.com/jxl/authlogic_example/tree/master

  • dodanie aktywacji przez mail

http://github.com/matthooks/authlogic-activation-tutorial/tree/master

Authlogic to rozumiem ze do autentykacji. A co do autoryzacji?

Pozdrawiam

[quote=l0pez]Authlogic to rozumiem ze do autentykacji. A co do autoryzacji?

Pozdrawiam[/quote]
Tutaj resful widać, że jest bardziej rozbudowany, ale do prostych aplikacji, nie musisz od razu używać Roles, może ci wystarczyć dodanie do modelu boolean z aktywacją admina i to wystarczy, ale pewnie i tak zaraz ktoś rozbuduje authlogic jak to było z restful.

Do autoryzacji to używamy in-house’owego rozwiązania, które niedawno trafiło na github i dziś właśnie rozszerzyłem o to, co chciałem:
http://github.com/aenima/base-auth/tree/master
Dwa ekrany kodu, a jaka moc. Cały artykuł o tym będzie na firmowym techblogu jutro w samo południe (leży w mefiście i czeka na publication date :smiley: ).

To co daje restful_auth w temacie autoryzacji to dość słaby dowcip. Base_auth może nie jest doskonały ani najłatwiejszy w użyciu, ale keeps things simple i jak na razie dał radę we wszystkich projektach, w których był zastosowany.

Powiem jednak szczerze, że do kategorii “awesome” się nie nadaje. Jeszcze nie :smiley:

Zapytam od razu przez co definiujecie ‘is_guest?’, ‘is_admin?’, ‘is_moderator?’ itd., bo nie widzę jakiegoś sytemu ról?

Te metody są implementowane w modelu User (tj. modelu, którego instancją jest current_user) przez programistę.

Prośba do modów o wydzielenie wątku typu “Pluginy do autoryzacji” (najlepiej od postu l0peza), bo te rozmowy zdecydowanie nie pasują do opowiadania o najbardziej awesome pluginach i gemach. :wink:

Haaalo, czy są tu jacyś moderatorzy? :wink:

Są tylko wątek jakby przycichł, nie wiem czy jest sens coś wydzielać, poza tym, Tomash, to forum nie obsługuje “wydzielenia wątku od postu x”, musimy zrobić upgrade do lepszego softu, ale z drugiej strony sam ten ficzer wydzielenia nie wystarczy żeby nas zmobilizować do aktualizacji a userów narazić na ból związany z migracją (potencjalny ból :slight_smile: )

[UPDATE] - Rozpoczęliśmy prace nad aktualizacją silnika forum do takiego, który obsłuży brakującą obecnie funkcjonalność punbb.

Witam,
Co myślicie o: http://www.fiveruns.com/products/tuneup ?

Kolejny gem ze stajni binarylogic, tym razem rozwinięcie resources_controller - http://resourcelogic.rubyforge.org/
Bardzo usprawnia pisanie “RESTowych” kontrolerów, bardzo przydaje się przy pisaniu paneli administracyjnych.

Wypas! Nareszcie :slight_smile: Dzięki za znalezisko, potrzebowałem czegoś takiego.

remarkable: http://github.com/carlosbrando/remarkable/tree/master

inherited_resources: http://github.com/josevalim/inherited_resources/tree/master

acts_as_teapot: http://github.com/harukizaemon/acts_as_teapot/tree/master

rack-cache: http://github.com/nakajima/rack-cache/tree/master

Nie rozumiem do czego służy acts_as_teapot :slight_smile:

Zobacz podlinkowany dokument RFC opisujący ten standard.
Data publikacji też powinna być pomocna :wink:

Zamiast inherited_resource lepiej zastosować resource_controller albo resourcelogic - w inherited resource są problemy jak kontrolery nie dziedziczą z application_controller (mogłem też coś źle robić, ale radzę to sprawdzić przed użyciem).