Ebook details

ASP.NET 3.5 Social Networking. An expert guide to building enterprise-ready social networking and community applications with ASP.NET 3.5

ASP.NET 3.5 Social Networking. An expert guide to building enterprise-ready social networking and community applications with ASP.NET 3.5

Andrew Siemer

Loading...
EBOOK
Each chapter starts by showing the user experience we are going to create in the chapter. It then has a section discussing the major design decisions we face in building these features, and finally presents the 'solution' – including the overall architecture and highlighting the most important code elements. The book presents a lot of real-world code, with comprehensive explanation and discussion. The full social network application is available for download from the Packt website, for you to examine, study, and modify. This book is written for ASP.NET and C# developers who want to build an enterprise-grade Social Network, either for their own business purposes or as a contract job for another company. The book assumes you have prior experience of developing web applications using ASP.NET 3.5, C# 3.0, SQL Server 2005/2008, and Visual Studio .NET 2008; it focuses on topics that will be of interest to existing developers – not on providing step-by-step examples for each detail.
  • ASP.NET 3.5 Social Networking
    • Table of Contents
    • ASP.NET 3.5 Social Networking
    • Credits
    • About the Author
    • About the Reviewer
    • Preface
      • What This Book Covers
      • What You Need for This Book
      • Who is This Book For
      • Conventions
      • Reader Feedback
      • Customer Support
        • Downloading the Example Code for the Book
        • Errata
        • Piracy
        • Questions
    • 1. Social Networking
      • What makes this topic so important
        • Large communities
        • Niche communities
      • Once I have my own social network, then what?
        • Customer service
        • Content moderation
        • Growing infrastructure requirements
      • Our social networkFisharoo
      • This books approach
        • Problem
        • Design
        • Solution
      • Features of our social network
        • Accounts
        • Profiles
        • Friends
        • Messaging
        • Media galleries
        • Blogging
        • Message boards
        • Groups
        • Comments
        • Tags
        • Ratings
        • Framework
        • Scaling up
      • Summary
    • 2. An Enterprise Approach to our Community Framework
      • A layered architecture versus a non-layered architecture
        • Layers
      • Domain-driven Design
        • Ubiquitous language
        • Entities
        • Value objects
        • Services
        • Modules
        • Aggregates
        • Factories
        • Repositories
      • Model View Presenter pattern
        • Model
        • View
        • Presenter
        • How it works
      • Factory pattern using StructureMap
      • Repository pattern and LINQ
      • Wrappers for everything!
        • Configuration
        • Cache
        • Session
        • Redirection
        • Email
      • Error handling and logging
        • Error handling
        • Logging
      • Summary
    • 3. User Accounts
      • Problem
      • Design
        • Registration
          • Accounts
          • Password strength
          • Terms and conditions
          • CAPTCHA
          • Email confirmation and verification
        • Security
          • Permissions
          • Password encryption/decryption
        • Logging in
          • Password reminder
          • Manage account
      • Solution
        • Implementing the database
          • The Accounts table
          • The Permissions table
          • The AccountPermissions table
          • The Terms table
          • Creating the relationships
        • Implementing the data access layer
          • Setting up LINQ for the first time
          • A DataContext wrapper
          • Building repositories
            • Selecting accounts
            • Saving an account
            • Deleting an account
            • Adding permissions to an account
          • The other repositories
            • Permissions repository
            • Terms repository
        • Implementing the services/application layer
          • Extension methods
        • Implementing the business/domain layer
        • Implementing the presentation layer
          • Model view presenter
            • View
            • Presenter
            • Model
          • Registration page
          • Email verification
          • Password recovery
          • Edit account
          • Implementing security
            • SiteMap
            • SiteMap wrapper
            • All nodes
            • Navigation
            • Checking access
            • Security
            • Implementing navigation and security
      • Summary
    • 4. User Profiles
      • Problem
      • Design
        • Profile
          • Manage profile
        • Avatar
          • Custom avatars
          • Gravatar
        • Public profile
          • Custom homepage
        • Privacy
        • News feed
      • Solution
        • Implementing the database
          • The Profiles table
          • Level of Experience
          • The Attributes table
          • The Privacy table
          • The Alerts table
          • Creating the relationships
        • Setting up the data access layer
          • Building repositories
        • Implementing the services/application layer
          • ProfileService
          • Account service
          • Privacy service
          • Alert service
          • Profile Attribute Service
        • Implementing the presentation layer
          • Privacy
            • Manage privacy
          • Manage profile
          • Avatar
            • Upload avatar
            • Image manipulation
            • Gravatar
          • Public profile
            • Custom homepage
          • News feed
      • Summary
    • 5. Friends
      • Problem
      • Design
        • Friends
        • Finding Friends
          • Searching for a Friend
          • Inviting a Friend
          • Importing Friends from External Sources
          • Sending an Invitation
          • Adding Friend Alerts to The Filter
        • Interacting With Your Friends
          • Viewing Your Friends
          • Managing your friends
          • Following Your Friends
          • Providing Status Updates to Your Friends
      • Solution
        • Implementing the Database
          • The Friends Table
          • Friend Invitations
          • Status Updates
          • Creating the Relationships
            • Friends Constraints
            • FriendInvitations constraints
            • StatusUpdates constraints
        • Setting Up the Data Access Layer
          • Building Repositories
            • FriendRepository
            • FriendInvitationRepository
            • StatusUpdateRepository
            • AccountRepository
        • Implementing the Services/Application Layer
          • FriendService
          • AlertService
          • PrivacyService
        • Implementing the Presentation Layer
          • Searching for Friends
            • SiteMaster
            • Search
          • Invite Your Friends
          • Outlook CSV Importer
            • Importing Contacts
            • Selecting Contacts
          • Confirm Friendship
            • Login
            • Registration
          • Show Friends
          • Friends on Profile
          • Status Updates
      • Summary
    • 6. Messaging
      • Problem
      • Design
        • Messages
        • Recipients
      • Solution
        • Implementing the database
          • Messages
            • MessageTypes
          • MessageRecipients
            • MessageRecipientTypes
            • MessageStatusTypes
            • MessageFolders
          • Creating the relationships
        • Setting up the data access layer
          • Building repositories
            • MessageRepository
            • MessageRecipientRepository
        • Implementing the services/application layer
          • MessageService
          • Email
          • AlertService
          • FriendService
        • Implementing the presentation layer
          • New message
            • Friends control
          • Default (or Inbox)
            • Folders
          • Read message
      • Summary
    • 7. Media Galleries
      • Problem
      • Design
        • Files
        • Folders
        • File upload
        • File system management
        • Data management screens
      • Solution
        • Implementing the database
          • Files
          • File system folders
          • File types
          • Folders
          • Folder types
          • Account folders
          • Account files
          • Folder files
          • Creating the relationships
        • Setting up the data access layer
          • Building repositories
            • FileRepository
            • FolderRepository
        • Implementing the services/application layer
          • FolderService
        • Implementing the presentation layer
          • File upload
            • Receiving files
            • Testing our receiver
            • Multi-file upload
          • Photo albums
            • MyPhotos
            • ViewAlbum
      • Summary
    • 8. Blogs
      • Problem
      • Design
        • Blogs
      • Solution
        • Implementing the database
          • Blogs
          • Creating the relationships
        • Setting up the data access layer
          • Building repositories
        • Implementing the services/application layer
          • AlertService
        • Implementing the presentation layer
          • Latest blog posts
          • My blog posts
          • Fancy URL support
          • View post
          • Create or edit post
      • Summary
    • 9. Message Boards
      • Problem
      • Design
      • Categories
        • Forums
        • Threads and Posts
        • Friendly URLs
        • Alerts
      • Solution
        • Implementing the Database
          • Categories
          • Forums
          • Posts
          • Creating the Relationships
        • Setting Up the Data Access Layer
          • Building Repositories
            • BoardCategoryRepository
            • BoardForumRepository
            • BoardPostRepository
        • Implementing the Services/Application layer
          • BoardService
          • AlertService
        • Implementing the Presentation Layer
          • Default.aspx
          • Redirector
          • UrlRewrite
          • ViewForum.aspx
          • ViewPost.aspx
          • Post.aspx
      • Summary
    • 10. Groups
      • Problem
      • Design
        • Groups
        • GroupMembers
        • GroupTypes
        • GroupForums
        • Schema
      • Solution
        • Implementing the database
          • Groups
          • GroupMembers
          • GroupTypes
          • GroupForums
          • Creating the relationships
        • Setting up the data access layer
          • Building repositories
          • GroupRepository
            • GetGroupByForumID
            • IsOwner
            • CheckIfGroupPageNameExists
            • DeleteGroup
          • GroupToGroupTypeRepository
            • SaveGroupTypesForGroup
          • GroupForumRepository
          • GroupMemberRepository
            • GetMemberAccountIDsByGroupID
            • DeleteGroupMembers
          • GroupTypeRepository
          • AccountRepository
            • GetApprovedAccountsByGroupID
          • GetAccountsToApproveByGroupID
        • Implementing the services/application layer
          • GroupService
            • IsOwnerOrAdministrator
            • SaveGroup
          • AlertService
          • Redirector
          • WebContext
        • Implementing the presentation layer
          • ManageGroup
            • WYSIWYG
            • Image upload
          • Members
            • Data pagination
            • CheckBoxLists without the CheckBoxList control
          • Default
          • UrlRewrite
          • ViewGroup
            • Private/Public
          • MyGroups
          • Forum enhancements
      • Summary
    • 11. Comments, Tags, and Ratings
      • Problem
        • Ratings
        • Tagging
        • Commenting
      • Design
        • Ratings
        • Tags
        • Comments
      • Solution
        • Implementing the database
          • SystemObjects
          • Ratings
          • System object rating options
          • Tags
          • System object tags
          • Comments
          • Creating the relationships
        • Setting up the data access layer
          • Building repositories
          • RatingRepository
            • HasRatedBefore()
            • GetCurrentRating()
            • SaveRatings()
          • SystemObjectRatingOptionRepository
          • TagRepository
            • GetTagByName()
            • GetTagByID()
            • GetTagsGlobal()
            • GetTagsBySystemObject()
            • GetTagsBySystemObjectAndRecordID()
          • SystemObjectTagRepository
            • GetSystemObjectByTagID()
          • CommentRepository
            • GetCommentsBySystemObject()
        • Implementing the services/application layer
          • TagService
            • AddTag()
            • CalculateFontSize()
          • Extensions
            • ShuffleList()
          • WebContext
            • SelectedRatings
            • ClearSelectedRatings
            • TagID
          • Configuration
        • Implementing the presentation layer
          • Comments Page
            • Comments.ascx
            • Comments.ascx.cs
            • CommentsPresenter.cs
          • Ratings Page
            • Ratings.ascx
            • Ratings.ascx.cs
            • RatingsPresenter.cs
          • Tags Page
            • Tags.ascx
            • Tags.ascx.cs
            • TagsPresenter.cs
          • Installing the new user controls
          • UrlRewrite.cs
          • Tags page
            • Tags.aspx
            • Tags.aspx.cs
            • TagsPresenter.cs
      • Summary
    • 12. Moderation
      • Problem
        • Community moderation
        • Gagging users
        • Dynamic filter
          • Cross-site scripting (XSS)
      • Design
        • Moderation
        • Gags
        • Filtering
      • Solution
        • Implementing the database
          • Moderations
          • Gags
          • ContentFilters
          • Creating the relationships
        • Setting up the data access layer
          • Building repositories
            • ModerationRepository
              • GetModerationsGlobal()
            • GagRepository
            • ContentFilterRepository
        • Implementing the services/application layer
          • ContentFilterService
          • Extensions
        • Implementing the presentation layer
          • Moderation
            • The user control
            • Moderating flagged content
          • Gagging
          • Filtering
      • Summary
    • 13. Scaling Up
      • Problem
      • Design
        • Database optimization
          • Flagged for delete
          • Indexing
          • Partitioning
        • Web farming
        • Caching
        • Searching
        • Email
      • Solution
        • Database optimization
          • Indexing
          • Partitioning
            • FileGroups
            • Partition function
            • Partition scheme
            • Partition tables
            • How does this affect our current system?
          • Gotchas
        • Web farming
        • Caching
          • The server
          • The client
          • Using the client
          • Starting the cache layer
          • Where do I start?
        • Searching
          • Getting Lucene.NET
          • Building indexes
          • Building the search
        • Email
          • Creating services to send email
          • The database
          • Services
          • Serializing email
          • Connecting the new DBMailQueueService
          • The queue
          • Processing the queue
      • Summary
    • Index
  • Title:ASP.NET 3.5 Social Networking. An expert guide to building enterprise-ready social networking and community applications with ASP.NET 3.5
  • Author:Andrew Siemer
  • Original title:ASP.NET 3.5 Social Networking. An expert guide to building enterprise-ready social networking and community applications with ASP.NET 3.5
  • ISBN:9781847194794, 9781847194794
  • Date of issue:2008-12-11
  • Format:Ebook
  • Item ID: e_3bar
  • Publisher: Packt Publishing
Loading...
Loading...