Elgg 1.8 Social Networking


Elgg 1.8 Social Networking
eBook: $26.99
Formats: PDF, PacktLib, ePub and Mobi formats
$22.94
save 15%!
Print + free eBook + free PacktLib access to the book: $71.98    Print cover: $44.99
$44.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Support
Sample Chapters
  •   An updated version of the very first book on Elgg
  •   Detailed and easy-to-understand analysis on building your very own social networking site with Elgg
  •   Explore the vast range of Elgg's social networking capabilities including communities, sharing, profiles and relationships
  •   Learn to create plugins and themes with extensive tutorials
  •   Written by Cash Costello, a core developer of the Elgg team, with a foreword from Dave Tosh, Elgg co-founder.

Book Details

Language : English
Paperback : 384 pages [ 235mm x 191mm ]
Release Date : February 2012
ISBN : 1849511306
ISBN 13 : 9781849511308
Author(s) : Cash Costello
Topics and Technologies : All Books, CMS and eCommerce, Open Source, PHP

Table of Contents

Preface
Chapter 1: Social Networking and Elgg
Chapter 2: Installing Elgg
Chapter 3: A Tour of Your First Elgg Site
Chapter 4: Sharing Content
Chapter 5: Communities, Collaboration, and Conversation
Chapter 6: Finding and Using Plugins
Chapter 7: Creating Your First Plugin
Chapter 8: Customization through Plugins
Chapter 9: Theming Elgg
Chapter 10: Moving to Production
Appendix A: Developer's Quick Start Guide
Appendix B: Views Catalog
Index
  • Chapter 1: Social Networking and Elgg
    • Social features
      • Profiles
      • Relationships
      • Content sharing
      • Activity and notifications
      • Groups
      • Communication
    • What is Elgg?
    • The Elgg engine
      • User management
      • Privacy controls
      • Theming
      • Commenting
      • Tagging
      • Widgets
      • Internationalization
      • Feeds
      • Web services
    • The power of plugins
      • Bundled plugins
      • Third-party plugins
      • Themes
      • Building your own plugins
    • Case studies
      • Niche social network
        • Designing and building the site
        • Deploying the site
        • Plugins mentioned
      • Corporate intranet
        • Designing and building the site
        • Deploying the site
        • Plugins mentioned
      • Educational collaboration
        • Designing and building the site
        • Deploying the site
        • Plugins mentioned
    • Elgg resources
      • Elgg community
      • Elgg wiki
      • Developer resources
    • A few words of advice
      • Take notes
      • Save resources
      • Be methodical
      • Finding help
    • Summary
    • Chapter 2: Installing Elgg
      • Preparing the server
        • Checking requirements
        • Downloading the latest version
        • Extracting the files
        • Moving files to your web server directory
        • Configuring the server
        • Create the database
      • Run Elgg's installer
        • Loading the database
        • Configure Elgg
        • Creating the admin account
        • All done!
      • Summary
      • Chapter 3: A Tour of Your First Elgg Site
        • Getting around
        • Registering users
        • User profiles and avatars
          • Profile information
          • Avatar
          • Profile widgets
        • Friends
        • Activity stream
        • Tools
          • Blogs
          • Bookmarks
          • Files
          • Groups
          • Pages
          • Messages
          • The wire
        • User settings
          • Your settings
          • Tools
          • Notifications
        • Administration
          • Activating plugins
          • Site categories
          • Custom profile fields
          • Default widgets
          • Site pages
          • Reported content
        • Customizing your site
          • User registration and authentication
          • Widgets
          • Friendship model
          • Roles
          • Help and support
        • Summary
        • Chapter 4: Sharing Content
          • Blogs
            • Creating a blog post
              • Embedding photos and files
              • Publishing
            • Finding and viewing
              • Search
              • Lists of blog posts
              • RSS feeds
              • Widget
            • Commenting
            • Use cases
            • Customizations
          • Bookmarks
            • Adding a bookmark
              • Bookmarklet
            • Viewing
            • Use cases
          • File
            • Uploading a file
            • Viewing
            • Use cases
            • Customizations
          • The wire
            • Posting
            • Viewing
            • Twitter integration
            • Use cases
            • Customizations
          • Summary
          • Chapter 5: Communities, Collaboration, and Conversation
            • Groups
              • Creating a group
              • Group profile
              • Membership
              • Discussion forum
              • Group tools
              • Finding groups
              • Use cases
              • Customizations
            • Pages
              • Creating pages
              • Viewing
              • Use cases
              • Customizations
            • Messages
              • Inbox
              • Composing
              • Customizations
            • Message board
              • Customizations
            • Summary
            • Chapter 6: Finding and Using Plugins
              • Plugin administration
                • Filtering and sorting
                • Plugin dependencies
                • Plugin settings
              • Finding plugins
                • Browsing the repository
                • Searching
                • Evaluating before downloading
                  • Look at the plugin overview
                  • Read the comments
                  • Check the history
                • Custom plugins
              • Installing plugins
                • Test server
                • Copying the code
                • Activating and configuring
                  • Invalid plugin?
                • Troubleshooting
              • Themes
                • Finding and installing themes
                  • Free themes
                • Commercial themes
                • Custom themes
                • Installing themes
              • Major community plugins
                • Tidypics
                  • Plugin profile
                  • Administration
                  • Uploading photos
                  • Viewing photos
                  • Tagging photos
                • Event calendar
                  • Plugin profile
                  • Administration
                  • Site calendar
                  • Group calendar
                • Profile Manager
                  • Plugin profile
                  • Adding profile fields
                  • Configuring the profile fields
                  • Plugin settings
              • Summary
              • Chapter 7: Creating Your First Plugin
                • What you need to know
                • Elgg developer resources
                • Setting up your development environment
                  • Editing code
                  • Configuring your site
                • Hello, World!
                  • Plugin skeleton
                    • Create your plugin directory
                    • Plugin manifest
                    • Start script
                    • Activating the hello world plugin
                  • Register for the init, system event
                  • Adding a new route
                  • Creating a web page
                  • Update routing
                  • Add to the site menu
                  • Extending the page handler
                  • Add a sidebar menu
                  • Language support
                  • Personalizing the content
                  • Organizing your content into views
                    • A greeting view
                    • A stats view
                  • Review
                • Debugging
                  • Debugging to the log
                  • Debugging to the screen
                  • Debugging PHP through an IDE
                  • Firebug and other browser development tools
                  • Elgg developer tools
                    • Inspect
                    • Theming sandbox
                • Summary
                • Chapter 8: Customization through Plugins
                  • Lesson 1: Changing wording
                    • Problem
                    • Solution
                    • Example
                      • Step 1: Create the plugin structure
                      • Step 2: Find the language strings
                      • Step 3: Override the language string
                    • Exercise
                  • Lesson 2: Modifying a section of a page
                    • Problem
                    • Solution
                    • Example
                      • Step 1: Find the view to override
                      • Step 2: Create the plugin structure
                      • Step 3: Edit the logo view
                      • Step 4: Style the header
                    • Exercise
                  • Lesson 3: Adding new content to a page
                    • Problem
                    • Solution
                    • Example
                      • Step 1: Find the view to extend
                      • Step 2: Create the plugin structure
                      • Step 3: Build our view
                      • Step 4: Make the tips random
                    • Exercise
                  • Lesson 4: Doing something when X happens
                    • Problem
                    • Solution
                    • Example
                      • Step 1: Find the event
                      • Step 2: Create the plugin structure
                      • Step 3: Write the function that sends the e-mail
                    • Exercise
                  • Lesson 5: Creating a custom widget
                    • Problem
                    • Solution
                    • Example
                      • Step 1: Create the plugin structure
                      • Step 2: Create the widget edit view
                      • Step 3: Create the widget content view
                    • Exercise
                  • Lesson 6: Giving your users options
                    • Problem
                    • Solution
                    • Example
                      • Step 1: Create the plugin structure
                      • Step 2: Add user settings
                      • Step 3: Create the toolbar view
                      • Step 4: Add CSS
                    • Exercise
                  • Lesson 7: Adding JavaScript
                    • Problem
                    • Solution
                    • Example
                      • Step 1: Create the plugin structure
                      • Step 2: Load the JavaScript file
                      • Step 3: Add CSS and JavaScript initialization
                    • Exercise
                  • Lesson 8: Changing how Elgg does X
                    • Problem
                    • Solution
                    • Example
                      • Step 1: Create the plugin structure
                      • Step 2: Create the index page
                      • Step 3: Define the views
                      • Step 4: Add the CSS
                      • Step 5: Add a plugin setting
                    • Exercise
                  • Lesson 9: Collecting and storing data
                    • Problem
                    • Solution
                    • Example
                      • Overview
                      • Step 1: Create the plugin structure
                      • Step 2: Create the main help page
                      • Step 3: Create the categories
                      • Step 4: Add an administration page
                      • Step 5: Create the form body
                      • Step 6: Create the save action
                      • Step 7: Create the help category page
                      • Step 8: Create the help object view
                      • Step 9: Add the help sidebar
                      • Step 10: Add CSS for the topic listing page
                      • Step 11: Finish the main help page
                    • Exercise
                  • Summary
                  • Chapter 9: Theming Elgg
                    • What you need to know
                    • Theming basics
                      • Elgg's default theme
                        • HTML
                        • CSS
                        • JavaScript
                        • Graphics
                      • Views system
                        • What is a view?
                        • Extending a view
                        • Overriding a view
                        • Template language
                        • Caching
                        • The viewtype
                        • Tools
                      • CSS framework
                        • Creating abstractions of common visual patterns
                        • Customizing objects through extension classes
                      • Adding external JavaScript and CSS
                      • Menu system
                        • Registering a menu item
                        • Rendering a menu
                    • Comparing theming in WordPress to Elgg
                    • Building a theme
                      • Plugin structure
                      • Layout
                        • Default layout
                        • Page header
                        • Page body layout
                        • Page footer
                      • Moving the search box
                      • Styling the sidebar module
                      • Moving the site menu to the topbar
                    • Creating a mobile theme
                      • Plugin structure
                      • Layout
                      • CSS
                    • Summary
                    • Chapter 10: Moving to Production
                      • Selecting a server
                        • Performance considerations
                          • Competing for resources
                          • Usage patterns
                          • General guidelines for server selection
                        • Hosting options
                          • Shared hosting
                          • Virtual Private Server
                          • Dedicated server
                          • Cloud hosting
                          • Hosting company selection
                      • Configuring a server
                        • Apache
                        • PHP
                        • MySQL
                        • Cron
                        • E-mail
                      • Managing the site
                        • Backup
                          • Code
                          • Database
                          • Files
                          • Server configuration
                          • Restoring
                        • Log rotation
                        • Spam
                          • Registration
                          • Detecting spammers
                        • Web analytics
                        • Daily tasks
                          • Monitoring user registration
                          • Reviewing reported content
                          • Responding to feedback
                          • Community management
                      • Testing, upgrading, and moving a site
                        • Testing
                          • Mirroring the production site
                          • Test plan
                        • Upgrading
                        • Moving a site
                      • Performance
                        • Benchmarking
                          • Monitoring and data collection
                          • Stress testing
                        • Easy performance gains
                        • Advanced performance tuning and scaling
                          • Caching
                          • Multiple servers
                          • Resources
                      • Reporting bugs
                        • Steps to reproduce the problem
                        • Elgg or plugin?
                        • Reporting the bug
                      • Summary
                      • Appendix A: Developer's Quick Start Guide
                        • Overview of Elgg as a framework
                          • What is Elgg?
                          • Object-oriented or procedural?
                          • Does it use the Model-View-Controller pattern?
                          • Convention or configuration?
                          • Is it extensible?
                          • What template engine is used?
                        • A Model-View-Controller perspective of Elgg
                          • Overview
                          • Controllers
                          • Model
                          • Views
                        • Routing
                          • Code location
                        • Actions
                          • Code location
                        • Page handlers
                          • Code location
                        • Framework booting
                          • Code location
                        • Data model
                          • Entities
                            • Type and subtype
                            • GUID
                            • Owner
                            • Container
                            • Access
                            • Database
                          • Relationships
                          • Extenders
                            • Database
                          • Retrieval functions
                          • Code location
                        • Views
                          • View templates
                          • Page shells and layout
                          • View type
                          • Overriding and extending views
                          • Special views
                          • Code location
                        • Events and hooks
                          • Elgg events
                          • Plugin hooks
                          • Code location
                        • Plugins
                          • Initialization
                          • Plugin order
                          • Conventions
                        • Themes
                          • Code location
                        • Activity stream
                          • Code location
                        • Notifications
                          • Code location
                        • Internationalization and localization
                          • Code location
                        • Lightning round
                          • Authentication
                          • Caching
                          • Configuration
                          • Debugging and logging
                          • JavaScript
                          • Menus
                          • Private settings
                          • Search
                          • Security
                          • Session handling
                          • Unit tests
                          • Web services
                          • Widgets
                        • Summary
                        • Appendix B: Views Catalog
                          • Using views
                          • Page structure
                            • Shells
                            • Layouts
                            • Elements
                              • Topbar
                              • Header
                              • Sidebar
                              • Footer
                              • Owner block
                              • Status messages
                              • Comments
                              • Search box
                            • Components
                              • Gallery
                              • Image block
                              • List
                              • Module
                          • Navigation
                            • Breadcrumbs
                            • Pagination
                            • Menus
                              • Topbar menu
                              • Site menu
                              • Page menu
                              • Footer menu
                              • User hover menu
                              • Entity menu
                            • Tabs
                          • Forms
                            • Input
                              • Access
                              • Buttons
                              • Checkboxes
                              • Date
                              • Drop-down selector
                              • File upload
                              • Hidden input
                              • Large textarea
                              • Password
                              • Radio buttons
                              • Textbox
                              • User pickers
                            • Output
                              • Date
                              • E-mail address
                              • Link
                              • Tag cloud
                              • Tags
                              • Text
                            • The form
                          • Users, groups, and objects
                          • Activity stream
                          • Likes
                            • Like this
                            • List users
                          • Widgets
                          • Administration
                          • Summary

                          Cash Costello

                          Cash Costello performs research for the Johns Hopkins University Applied Physics Laboratory. In addition to his work there in computer vision and machine learning, he coordinates a team of developers in the creation of collaborative web applications. Cash is also a core developer of the Elgg Social Networking framework. He is active within the Elgg community, whether sharing his plugins or helping others to get the most out of Elgg.
                          Sorry, we don't have any reviews for this title yet.

                          Code Downloads

                          Download the code and support files for this book.


                          Submit Errata

                          Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

                          Sample chapters

                          You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                          Frequently bought together

                          Elgg 1.8 Social Networking +    Learning PHP Data Objects =
                          50% Off
                          the second eBook
                          Price for both: €27.35

                          Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                          What you will learn from this book

                          •  Install your very own site using Elgg and learn to administer it.
                          •  Customize your site using the plugins available from the Elgg plugin repository.
                          •  Build your own plugins from scratch while following the step-by-step tutorials.
                          •  Create your own theme by selecting recipes from the theming cookbook.
                          •  Learn how to share content with other users.
                          •  Deploy Elgg in a production environment with ample advice on server configuration, back-ups, site monitoring, and daily administrative tasks.
                          •  Examine the design of Elgg from a developer’s perspective.
                          •  Learn how you can contribute to the vibrant and ever growing Elgg community

                          In Detail

                          As an updated version of the first ever Elgg book, this is an excellent resource for those interested in Elgg development due to its attention to detail, clearly written style and knowledgeable author.

                          - Dave Tosh, Elgg co-founder.

                          In his book, Cash Costello makes full use of his skills in development and communication to tackle the complex subject of Elgg social networking. This easy-to-read guide gives end users, new developers, and old pros alike a solid base to start their venture into social media with Elgg. I highly recommend it as a useful and enjoyable read.

                          - Brett Profitt, Elgg Lead Developer

                          The web is becoming increasingly social as millions of people use it to blog, share, post, 'friend', 'unfriend' (which was made the Oxford word of the year in 2009), comment, and chat. Elgg – your award-winning open source social networking engine – is tailor-made to create any social networking or social media website you can imagine.

                          If you want to create a social networking website from scratch using Elgg, then this book is exactly what you need.

                          Elgg 1.8 Social Networking covers everything you need to know about building a social networking site with Elgg. It begins with instructions for installing Elgg, continues with a guided tour of its capabilities, and finishes with practical advice on deploying Elgg on a production server. And in between, it is packed with information on configuring and customizing Elgg through plugins and themes.

                          This book is a learn-by-doing guide to creating your own social networking site. It includes three sample case studies on how Elgg could be used as an e-learning tool, an intranet application for organizations, and a niche social networking site. Step by step it takes you through the installation, configuration, and customization of Elgg. Valuable advice is sprinkled throughout the book to enable you to build your site like an expert.

                          For developers, this book provides a multitude of options. First, there is a tutorial-based section that systematically teaches you how to build plugins. Soon you will have ten plugins for use on your site in addition to all the knowledge you have gained. Second, if you prefer a quick overview, this book has an appendix that describes Elgg using the terminology and design patterns common in web development. Third, if you are interested in creating a theme, it also includes a design tutorial and a catalog of Elgg's view templates.

                          The book then goes on to describe what is involved in running a production website. It has sections on selecting a hosting provider, configuring and tuning the server, backing up the site, and dealing with spammers.

                          Approach

                          This book provides more than just a step-by-step guide to installing and using Elgg. It includes practical advice gained through experience on what it takes to deploy and maintain an Elgg-based site. If you are a software developer or are familiar with PHP, it provides both a tutorial-based introduction and a quick reference guide so that you can quickly extend and customize Elgg.

                          Who this book is for

                          If you want to create a social networking site using Elgg and do not have a background in software development, this book provides all the information and advice that you need written just for you. If you are a developer, it also contains valuable tutorials and reference material so that you can begin writing code right away.

                          Code Download and Errata
                          Packt Anytime, Anywhere
                          Register Books
                          Print Upgrades
                          eBook Downloads
                          Video Support
                          Contact Us
                          Awards Voting Nominations Previous Winners
                          Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                          Resources
                          Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software