Practical Rails Social Networking Sites shows you the complete development cycle of a social networking community web site. The project develops first as a simple content management system, after which author Alan Bradburne progressively adds features in order to build a full Web 2.0-enabled community-based social networking site using Ruby on Rails. The book offers practical advice and tips for developing and testing, along with guidance on how to take your site live, as well as optimize and maintain it.
Author(s): Alan Bradburne
Series: Expert's Voice
Edition: 1
Publisher: Apress
Year: 2007
Language: English
Pages: 445
Cover......Page 1
Title Page......Page 2
Copyright......Page 3
Dedication......Page 4
Contents at a Glance......Page 6
Table of Contents......Page 8
About the Author......Page 18
About the Technical Reviewer......Page 20
Acknowledgements......Page 22
Introduction......Page 24
The RailsCoders Project......Page 26
Ruby and Ruby on Rails......Page 27
Software Required to Build RailsCoders......Page 32
Installing Ruby, Rails, and MySQL......Page 33
Creating the Skeleton of the Rails Application......Page 39
Setting up the Database......Page 42
Summary......Page 45
Rails, Routing, and REST......Page 46
Creating a Site Layout......Page 48
Designing the Pages and Page Editor......Page 51
Creating the Page Model......Page 53
Testing......Page 67
Extending the Content Management System......Page 69
Summary......Page 70
Specifying the Feature Requirements......Page 72
Creating the User Model......Page 76
The Session Handling Library......Page 78
Creating the Controllers......Page 80
Creating the User Account Views......Page 83
Adding Administrative Views......Page 88
Testing......Page 92
Adding Roles......Page 97
Testing the Roles Functionality......Page 104
Summary......Page 106
Specifying the Feature Requirements......Page 108
Installing the RedCloth Gem......Page 111
Creating the Articles Controller and Views......Page 115
Using the Articles Feature......Page 125
Creating the Categories' Controller and Views......Page 129
Testing the News Blog......Page 134
Further Development of the News System......Page 139
Summary......Page 140
Specifying the Discussion Forum Requirements......Page 141
Building the Forum......Page 144
Testing the Forum......Page 167
Further Development of the Discussion Forum......Page 174
Summary......Page 175
Specifying the Blog Engine Requirements......Page 177
Building the Blogging System......Page 180
Creating an XML-RPC Blogging Interface......Page 204
Summary......Page 213
Working with Uploaded Files......Page 215
The attachment_fu Plug-in......Page 216
The Photo Gallery Requirements......Page 218
Installing ImageMagick, RMagick, and attachment_fu......Page 219
Building the Photo Gallery......Page 221
Manually Testing the Gallery......Page 232
Writing the Test Cases......Page 234
Summary......Page 239
Using ActionMailer......Page 241
Specifying the E-mail Feature Requirements......Page 242
Building the New Comment Notifier......Page 244
Building the Newsletter Feature......Page 254
Summary......Page 268
Microformats and XFN......Page 271
The Friends Feature Requirements......Page 273
Building the Friends Resource......Page 275
Styling the Friends List......Page 293
Testing......Page 296
Further Development of the Friendship Feature......Page 298
Summary......Page 299
The Gallery Tagging Requirements......Page 301
Tagging with Rails......Page 302
The acts_as_taggable_on_steroids Plug-in......Page 303
Building the Photo Tagging Feature......Page 306
Manually Testing......Page 320
Further Development of the Tagging System......Page 322
Summary......Page 323
Integrating the Google Maps API......Page 325
Integrating the Flickr API......Page 340
Further Development Using Mashups......Page 350
Summary......Page 351
The Blog Template Requirements......Page 353
Liquid Templates......Page 354
Installing Liquid......Page 356
Building the Blog Templates Feature......Page 357
Manual Testing......Page 367
Testing the Usertemplates Controller......Page 370
Further Development of the User Templates......Page 372
Summary......Page 373
The Mobile Web......Page 375
The RailsCoders Mobile Site Requirements......Page 376
Developing Mobile Rails Coders......Page 379
Testing the Mobile Site......Page 399
Summary......Page 401
Deploying RailsCoders......Page 403
Optimizing and Scaling RailsCoders......Page 416
Summary......Page 420
A......Page 421
B......Page 423
C......Page 424
D......Page 425
E......Page 427
F......Page 428
I......Page 429
L......Page 430
M......Page 434
N......Page 436
O......Page 437
P......Page 438
R......Page 439
S......Page 440
T......Page 441
U......Page 443
V......Page 444
Y......Page 445