Rails 1.2.5: Security und maintenance release

Ein weiteres Maintenance Release Rails 1.2.5 ist veröffentlicht worden.

Das Release schließt eine Cross-Scripting Sicherheitslücke die in Verbindung mit JSON auftritt. Wenn JSON verwendet wird, wird empfohlen die Rails-Umgebung auf den neusten Stand zu bringen.

Das Update läßt sich wie gewohnt über `gem install rails` ausführen.
Weiterhin muss die Konstante “RAILS_GEM_VERSION” in config/environment.rb nach ‘1.2.5’ aktualisiert werden.

Mit einem anschließenden `rake rails:update:configs` sollten alle Updates in der Arbeitsumgebung aktualisiert sein.

Rails 1.2.4 Maintenance Release

Wie bereits in einem vorherigen Artikel
(Link) angekündigt hat David die nächste Rails Version 1.2.4 veröffentlicht.

Diese Release behebt ein paar Sicherheitsprobleme und an der Performance wurden auch Verbesserungen vorgenommen.

Weiterhin werden in dieser Version erweiterte Warnmeldungen ausgegeben, die anzeigen welche Pakete/Bereiche in der folgenden Version 2.0 nicht mehr weitergepflegt werden bzw. ersetzt wurden.

Ein Update kann über gems vorgenommen werden.

Kostenloses Rails-Buch von Site-Point

Patrick Lenz’s Ruby on Rails Buch steht steht zum kostenlosen Download bereit.

Das Buch ist nur für eine begrenzte Zeit von 58 Tagen von heute (04.10.2007) an kostenlos downloadbar.

Der Download erfordert eine einmalige Registrierung. Danach erhält per Mail den Link zum eigentlichen Download-Link.

Weitere Details bekommt ihr unter folgendem Link:

http://www.sitepoint.com/books/rails1/freebook.php

RailsSpace: Building a Social Networking Website with Ruby on Rails (Addison-Wesley Professional Ruby)

Ruby on Rails is fast displacing PHP, ASP, and J2EE as the development framework of choice for discriminating programmers, thanks to its elegant design and emphasis on practical results. RailsSpace teaches you to build large-scale projects with Rails by developing a real-world application: a social networking website like MySpace, Facebook, or Friendster.

Inside, the authors walk you step by step from the creation of the site’s virtually static front page, through user registration and authentication, and into a highly dynamic site, complete with user profiles, image upload, email, blogs, full-text and geographical search, and a friendship request system. In the process, you learn how Rails helps you control code complexity with the model-view-controller (MVC) architecture, abstraction layers, automated testing, and code refactoring, allowing you to scale up to a large project even with a small number of developers.

This essential introduction to Rails provides

  • A tutorial approach that allows you to experience Rails as it is actually used
  • A solid foundation for creating any login-based website in Rails
  • Coverage of newer and more advanced Rails features, such as form generators, REST, and Ajax (including RJS)
  • A thorough and integrated introduction to automated testing

p. The book’s companion website provides the application source code, a blog with follow-up articles, narrated screencasts, and a working version of the RailSpace social network. About the Author p. Michael Hartl is a programmer and entrepreneur. Before discovering Rails, he used Zope/Python in a startup he cofounded to produce fantasy sports websites, including BracketManager, at the time the number one independent NCAA Basketball Tournament website. Previously, he was a physics instructor at the California Institute of Technology, where he received the Lifetime Achievement Award for Excellence in Teaching. He also served as Caltech’s editor for The Feynman Lectures on Physics: The Definitive and Extended Edition (Addison-Wesley). He is a graduate of Harvard College and has a Ph.D. in physics from Caltech.

Aurelius Prochazka is a pioneer of interactive, user-driven websites and has founded several companies, including Creative Internet Design, Inc., and ArsDigita Corporation. After working extensively with many operating systems and web frameworks, he happily calls Macintosh OS X and Ruby on Rails his preferred programming environments. Aurelius is the principal developer of Caltech’s main website, as well as its admissions and alumni sites. He is a graduate of Rensselaer Polytechnic Institute and has a Ph.D. in computational fluid dynamics from Caltech.

  • Taschenbuch: 537 Seiten
  • Verlag: (2007-08-02 )
  • Preis: 25.33 €
  • Sprache: english
  • ISBN-10: 0321480791
  • Autor(en): Michael Hartl, Aurelius Prochazka
  • kaufen

Practical Jruby on Rails Web 2.0 Projects: Bringing Ruby on Rails to Java (Practical Projects)

Discover how JRuby on Rails can be used to create web applications faster and more efficiently while still taking advantage of the vast power of the Java platform.

Ruby on Rails is proving itself to be one of the most efficient and powerful agile web development application frameworks available and has had a profound influence on the Java community. The JRuby project offers Java developers the best of two worlds: the flexibility of Ruby on Rails coupled with the enterprise-level power and maturity of the Java platform.

JRuby core developer Ola Bini covers everything you need to know to take full advantage of what JRuby has to offer, including

  • Full coverage on how to use JRuby to create web applications faster and more efficiently, while continuing to take advantage of the vast power of the Java platform
  • Several real-world projects that illustrate the crucial specifics you need to know about the interaction of Java and Ruby
  • Helpful, practical instruction and discussion on how web applications can be deployed using a variety of popular servers such as Apache and Mongrel

What you’ll learn

  • Create a Rails application that uses JDBC to talk to legacy databases.
  • Use Java Management Extensions (JMX) to more effectively manage your application.
  • Deploy a Rails application within a Java Enterprise web container (Tomcat).
  • Create interoperable applications involving EJBs and Rails-driven web services.
  • Securely integrate XML processing into your Ruby applications.
  • Build cutting-edge Web 2.0 web sites using Rails, Prototype, and script.aculo.us to provide a pleasing user experience.
  • Build four important projects: Store, CMS, Admin tool, and a web library project.

Who is this book for?

You’ll get the most from this book if you have medium-to-advanced skills in Java web development, with a little Ruby experience, and are interested in taking Web development to the next level, both in terms of speed and features and in interoperability with existing infrastructure.About the Apress Practical Series

The Practical series from Apress is your best choice for getting the job done, period. From professional to expert, this series lets you apply project-motivated templates (or frameworks) step by step in a very direct, practical, and efficient manner toward current real-world projects that may be sitting on your desk. So whatever your career goal, Apress can be your trusted guide to take you where you want to go on your IT career empowerment path.

About the AuthorOla Bini is a longtime developer from Sweden who started at an age of 9 years with Basic, on an Apple IIc; from there on he learned C, C++, Assembler, Lisp, Java, Ruby, and various other languages. He has no formal education except for a few Sun Java certifications. He has worked with system development at Karolinska Institutet since 2001 and runs his own consulting company (OLogix Consulting) in his spare time. He has contributed to various open source projects and is one of the three core developers of the JRuby project.

  • Taschenbuch: 360 Seiten
  • Verlag: (2007-10-02 )
  • Preis: 26.59 €
  • Sprache: english
  • ISBN-10: 1590598814
  • Autor(en): Ola Bini
  • kaufen

Rails 2.0 Preview Release

Gestern (30.09.07) hat David das Preview Release zu Rails 2.0 veröffentlicht.

Dies ist die erste Vorabversion, der wahrscheinlich noch ein, zwei und ggf. drei Release Candidates folgen werden.

Bevor die endgültige Version erscheint soll es noch ein 1.2.4’er Version geben. Diese wird einige Bugfixes und aktualisierte Warnung über veraltete/abgelöste Bereiche enthalten. So soll sichergestellt werden, dass jeder seine Applikation auf den aktuellsten Stand bringen kann, bevor sie auf die neue Version umgestellt wird.

Neuerungen in Version 2.0 werden sein:

Action Pack: Resources

Mit dem ActionPack Resources rückt man dem RESTful lifestyle ein wenig näher.
Eines der auffälligeren Veränderungen sind die geänderten URLs. Das Semikolon wurde wurde gegen ein Slash ausgetauscht.

Also aus ”/people/1;edit” wird nun ”/people/1/edit”.

Weiterhin kann man nun Namespaces verwenden. Somit wird es einfacher z.B. Admin-Interfaces abzubilden.

Ansonsten wurde eine Konvention für das Routing eingeführt. Per Default werden nun Resourcen im Plural angegeben.

Action Pack: Multiview:

Neben dem bereits bekannten respond_to können nun Rückgabe-Formate und der Renderer im Template-Namen angegeben werden:
..
Beispiele:

show.erb: ist das show-Template für alle Formate

index.atom.builder: Hier wird das Builderformat benutzt. In der 1.x.x-Version wurde hier die Endung .rxml benutzt. Der Mimetype ist in diesem Fall “application/atom+xml”

edit.iphone.haml: Hier würde die HAML Template Engine benutzt werden (Diese müsste vorher installiert werden), und es wird das angepasste Mime::IPHONE-Format zurückgegeben.

Action Pack: Record identification:

Weitere Konventionen sollen nun die Addressierung von Resourcen vereinfachen z.B:

redirect_to(person)

link_to(person.name, person)

form_for(person)

Action Pack: HTTP Loving:

Mit der 2.0 Version rückt Rails zum HTTP-Protokoll ein bisschen näher. So wird man ganz einfach HTTP Basic Authentications durchführen können.

Weiterhin kann nun Javascript- und CSS-Dateien cachen können.
z.B. würden mit javascript_include_tag(:all, :cache => true) würde alle eingebundene Dateien zu einer “public/javascripts/all.js” zusammengefasst werden. auf diese Weise kann man weiterhin bei der Entwicklung separate Dateien benutzen und hat trotzdem in Produktion den Vorteil, dass der Browser nur eine Datei anzufordern braucht.

Action Pack: Security:

Rails 2.0 beinhaltet einige Vorkehrungen um mit CRSF und XSS Attacken zu unterbinden.

Action Pack: Exception Handling:

Die Fehlerbehandlung ist nun um die Möglichkeit klassen basierte Behandlungen zu erstellen erweitert worden.

Action Pack: Miscellaneous:

Eine weitere Erweiterung ist der neue AtomFeedHelper um auf einfache Weise seine eigenen Feeds zu erstellen

Active Record: Performance:

Ein Query-Cache der bereits abgesetzte Abfragen für spätere Anfragen speichert, soll die Verarbeitung von Requests beschleunigen.

Active Record: Sexy Migrations:

Tabellen-Spalten vom gleichen Typ können nun in den Migrationsscripten zusammengefasst werden. Dadurch sollen die Scripte mehr DRY werden.

Active Record: Shedding some weight:

Um Active Record ein bisschen schlanker zu machen wurden Teile wie acts_as_XYZ in Plugins ausgelagert. Wenn diese Funktionen benutzt wurden/werden kann man sie einfach mit ./script/plugin install acts_as_XYZ nachinstallieren.

Weiterhin beinhaltet die Standardinstallation nur die DB-Adapter für die freuen Datenbanken MySQL, SQLite und PostgreSQL. Die Adapter für die kommerziellen Datenbanken sind in gem-Pakete ausgelagert worden und können nach der Installation weiterhin benutzt werden.

Active Record: with_scope with a dash of syntactic vinegar:

Um unbeabsichtigten Missbrauch (Verwendung außerhalb von Models) von :with_scope vorzubeugen wurde diese Funktion so umgestellt, dass sie nur noch innerhalb von Models aufgerufen werden kann. Wenn man es weiterhin außerhalb aufrufen möchte oder muss, kann man die send(:with_scope) des Obejkt benutzen.

ActionWebService out, ActiveResource in:

Wie schon seit längerer Zeit abzusehen hat man sich gegen klassische Webservices über SOAP entschieden und stattdessen sich für den REST-Ansatz entschieden. Somit gehört ActionWebService nicht mehr
zum Standard-Paket. Es kann aber weiterhin als separates gem installiert und benutzt werden.

ActiveSupport:

Außer Array#rand um einen beliebigen Wert aus dem Array zu holen und Hash#expect um die Schlüssel zu filtern, bestehen die Änderungen hauptsächlich aus Bugfixes.

Action Mailer:

Neben Bugfixes sind alternative Templates die hauptsächlichen Änderungen in diesem Bereich.

Rails: The debugger is back:

Man kann nun den Debugger wieder benutzen.

Rails: Clean up your environment:

Es soll geordneter in Rails 2.0 zugehen. So wird es möglich sein umgebungsspezifische Parameter und Initialisierugen besser zu verwalten. Neue Rails 2.0 werden mit zwei Beispielen ausgeliefert an denen man sich orientieren kann.

Rails: Easier plugin order:

Da ein Teil der Funktionen in Plugins ausgelagert wurde , wird man in Rails 2.0 die Ladereihenfolge selber bestimmen können. So wird gewährleistet, dass eventuelle Abhängigkeiten eingehalten werden können.

Update auf Rails 2.0:

Wer seine Applikation auf Rails 2.0 updaten möchte, sollte erst sicherstellen, dass er bereits die Version 1.2.3 benutzt.

Wenn das Logfile dann keine Warnungen über “deprecated” Funktionen enthält sollte sichergestellt werden, dass Bereiche die dann nur noch als Plugin verfügbar sind installiert werden (Kommerzielle DB-Adapter, pagination….)

Danach kann mit folgendem Aufruf seine Rails-Umgebung auf das Preview Release updaten:

gem install rails—source http://gems.rubyonrails.org

Den gesamten Original-Thread von David findet ihr unter http://weblog.rubyonrails.com/2007/9/30/rails-2-0-0-preview-release