In this blog, 25.000 books will be uploaded, so far more than 1400 books are available. Books, will be added daily, please check this blog daily.
Saturday, January 22, 2011
ASP.NET 3.5 Social Networking
Table of Contents
Preface 1
Chapter 1: Social Networking 7
What makes this topic so imortant 7
Large communities 7
Niche communities 8
Once I have my own social network, then what? 11
Customer service 12
Content moderation 12
Growing infrastructure requirements 12
Our social network—Fisharoo 13
This book's approach 15
Problem 15
Design 15
Solution 15
Features of our social network 15
Accounts 15
Profiles 16
Friends 17
Messaging 18
Media galleries 19
Blogging 21
Message boards 22
Groups 22
Comments 23
Tags 23
Ratings 24
Framework 25
Scaling up 26
Summary 26
Chapter 2: An Enterprise Approach to our
Community Framework 27
A layered architecture versus a non-layered architecture 27
Layers 28
Domain-driven Design 29
Ubiquitous language 29
Entities 29
Value objects 30
Services 30
Modules 31
Aggregates 31
Factories 33
Repositories 33
Model View Presenter pattern 34
Model 34
View 34
Presenter 35
How it works 35
Factory pattern using StructureMap 36
Repository pattern and LINQ 38
Wrappers for everything! 44
Configuration 44
Cache 47
Session 54
Redirection 56
Email 57
Error handling and logging 62
Error handling 62
Logging 64
Summary 75
Chapter 3: User Accounts 77
Problem 78
Design 79
Registration 79
Accounts 79
Password strength 80
Terms and conditions 81
CAPTCHA 81
Email confirmation and verification 82
Security 82
Permissions 83
Password encryption/decryption 84
Logging in 84
Password reminder 84
Manage account 84
Solution 85
Implementing the database 85
The Accounts table 85
The Permissions table 86
The AccountPermissions table 86
The Terms table 87
Creating the relationships 87
Implementing the data access layer 87
Setting up LINQ for the first time 88
A DataContext wrapper 93
Building repositories 94
The other repositories 101
Implementing the services/application layer 106
Extension methods 110
Implementing the business/domain layer 111
Implementing the presentation layer 113
Model view presenter 113
Registration page 120
Email verification 132
Password recovery 135
Edit account 139
Implementing security 143
Summary 152
Chapter 4: User Profiles 153
Problem 155
Design 158
Profile 158
Manage profile 159
Avatar 160
Custom avatars 160
Gravatar 160
Public profile 160
Custom homepage 161
Privacy 161
News feed 162
Solution 162
Implementing the database 163
The Profiles table 163
Level of Experience 164
The Attributes table 164
The Privacy table 165
The Alerts table 166
Creating the relationships 166
Setting up the data access layer 167
Building repositories 168
Implementing the services/application layer 168
ProfileService 168
Account service 170
Privacy service 171
Alert service 173
Profile Attribute Service 174
Implementing the presentation layer 174
Privacy 175
Manage profile 181
Avatar 185
Public profile 191
News feed 195
Summary 196
Chapter 5: Friends 197
Problem 198
Design 202
Friends 202
Finding Friends 203
Searching for a Friend 203
Inviting a Friend 203
Imprting Friends from External Sources 204
Sending an Invitation 204
Adding Friend Alerts to The Filter 205
Interacting With Your Friends 205
Viewing Your Friends 205
Managing your friends 205
Following Your Friends 205
Providing Status Updates to Your Friends 206
Solution 206
Implementing the Database 206
The Friends Table 206
Friend Invitations 207
Status Updates 208
Creating the Relationships 209
Setting Up the Data Access Layer 210
Building Repositories 210
Implementing the Services/Application Layer 214
FriendService 215
AlertService 217
PrivacyService 219
Implementing the Presentation Layer 220
Searching for Friends 220
Invite Your Friends 227
Outlook CSV Impoter 232
Confirm Friendship 238
Show Friends 241
Friends on Profile 243
Status Updates 244
Summary 247
Chapter 6: Messaging 249
Problem 250
Design 251
Messages 251
Recipients 252
Solution 252
Implementing the database 253
Messages 253
MessageRecipients 254
Creating the relationships 255
Setting up the data access layer 256
Building repositories 257
Implementing the services/application layer 260
MessageService 260
Email 263
AlertService 263
FriendService 264
Implementing the presentation layer 265
New message 265
Default (or Inbox) 270
Read message 274
Summary 276
Chapter 7: Media Galleries 277
Problem 278
Design 280
Files 281
Folders 281
File upload 282
File system management 283
Data management screens 283
Solution 284
Implementing the database 284
Files 284
File system folders 285
File types 285
Folders 286
Folder types 286
Account folders 286
Account files 287
Folder files 287
Creating the relationships 287
Setting up the data access layer 288
Building repositories 289
Implementing the services/application layer 294
FolderService 294
Implementing the presentation layer 295
File upload 295
Photo albums 307
Summary 313
Chapter 8: Blogs 315
Problem 315
Design 318
Blogs 318
Solution 318
Implementing the database 318
Blogs 319
Creating the relationships 319
Setting up the data access layer 319
Building repositories 320
Implementing the services/application layer 323
AlertService 323
Implementing the presentation layer 325
Latest blog posts 326
My blog posts 328
Fancy URL support 328
View post 331
Create or edit post 331
Summary 334
Chapter 9: Message Boards 335
Problem 335
Design 337
Categories 338
Forums 338
Threads and Posts 339
Friendly URLs 339
Alerts 340
Solution 340
Implementing the Database 340
Categories 340
Forums 342
Posts 342
Creating the Relationships 343
Setting Up the Data Access Layer 343
Building Repositories 344
Implementing the Services/Application layer 349
BoardService 349
AlertService 350
Implementing the Presentation Layer 351
Default.aspx 352
Redirector 355
UrlRewrite 355
ViewForum.aspx 358
ViewPost.aspx 359
Post.aspx 361
Summary 364
Chapter 10: Groups 365
Problem 366
Design 370
Groups 370
GroupMembers 371
GroupTypes 372
GroupForums 372
Schema 373
Solution 374
Implementing the database 374
Groups 374
GroupMembers 375
GroupTypes 375
GroupForums 376
Creating the relationships 376
Setting up the data access layer 377
Building repositories 378
GroupRepository 378
GroupToGroupTypeRepository 381
GroupForumRepository 383
GroupMemberRepository 383
GroupTypeRepository 385
AccountRepository 385
GetAccountsToApproveByGroupID 386
Implementing the services/application layer 387
GroupService 387
AlertService 389
Redirector 390
WebContext 391
Implementing the presentation layer 392
ManageGroup 392
Members 395
Default 397
UrlRewrite 398
ViewGroup 398
MyGroups 401
Forum enhancements 403
Summary 405
Chapter 11: Comments, Tags, and Ratings 407
Problem 408
Ratings 409
Tagging 410
Commenting 413
Design 414
Ratings 414
Tags 415
Comments 416
Solution 417
Implementing the database 417
SystemObjects 417
Ratings 418
System object rating options 418
Tags 419
System object tags 419
Comments 420
Creating the relationships 420
Setting up the data access layer 421
Building repositories 422
RatingRepository 422
SystemObjectRatingOptionRepository 424
TagRepository 425
SystemObjectTagRepository 427
CommentRepository 431
Implementing the services/application layer 431
TagService 432
Extensions 435
WebContext 436
Configuration 438
Implementing the presentation layer 438
Comments Page 439
Ratings Page 442
Tags Page 449
Installing the new user controls 454
UrlRewrite.cs 456
Tags page 457
Summary 461
Chapter 12: Moderation 463
Problem 463
Community moderation 464
Gagging users 465
Dynamic filter 465
Cross-site scripting (XSS) 467
Design 467
Moderation 468
Gags 469
Filtering 469
Solution 470
Implementing the database 471
Moderations 471
Gags 472
ContentFilters 472
Creating the relationships 473
Setting up the data access layer 473
Building repositories 474
Implementing the services/application layer 479
ContentFilterService 480
Extensions 480
Implementing the presentation layer 481
Moderation 481
Gagging 487
Filtering 488
Summary 489
Chapter 13: Scaling Up 491
Problem 491
Design 492
Database optimization 492
Flagged for delete 492
Indexing 493
Partitioning 493
Web farming 494
Caching 494
Searching 494
Email 495
Solution 495
Database optimization 495
Indexing 496
Partitioning 498
Gotchas 500
Web farming 501
Caching 508
The server 509
The client 509
Using the client 511
Starting the cache layer 514
Where do I start? 517
Searching 517
Getting Lucene.NET 518
Building indexes 518
Building the search 524
Email 528
Creating services to send email 528
The database 531
Services 534
Serializing email 536
Connecting the new DBMailQueueService 540
The queue 540
Processing the queue 542
Summary 545
Index 547
Another ASP Books
Another .NET Books
Another Social Network
Download
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment