Elgg Social Networking
Total Page:16
File Type:pdf, Size:1020Kb
Elgg Social Networking Create and manage your own social network site using this free open-source tool Mayank Sharma BIRMINGHAM - MUMBAI Elgg Social Networking Copyright © 2008 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: March 2008 Production Reference: 1190308 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-847192-80-6 www.packtpub.com Cover Image by Vinayak Chittar ([email protected]) [ FM-2 ] Credits Author Project Manager Mayank Sharma Patricia Weir Reviewer Project Coordinator Diego Ramirez Patricia Weir Senior Acquisition Editor Indexer David Barnes Monica Ajmera Development Editor Proofreader Rashmi Phadnis Nina Hasso Technical Editor Production Coordinator Ajay Shanker Aparna Bhagat Editorial Team Leader Cover Designer Mithil Kulkarni Aparna Bhagat [ FM-3 ] About the Author Mayank Sharma is a contributing editor at SourceForge, Inc's Linux.com. He also writes a monthly column for Packt Publishing. Mayank has contributed several technical articles to the IBM developerWorks where he hosts a Linux Security blog. When not writing, he teaches courses on Open Source topics at the Indian Institute of Technology, Delhi, as guest lecturer. Thanks to my mom Shashi and dad Rakesh for laying down tough standards, and younger brother Shashank who beat me at book-writing to become my mentor. Gratitude to David Barnes for guiding me from start to fi nish, to Rashmi Phadnis for her edits, to Patricia Weir for managing and scheduling the book, and to the Elgg developers and community for such a wonderful project. [ FM-4 ] About the Reviewer Diego Ramírez is a computer scientist from the Los Andes University in Colombia, and is currently working at Somos más, a Colombian non-profi t that is involved in the development of methodologies and tools to aid the articulation of non-profi ts. He has a rich experience in building Web applications for the corporate as well as non-profi t sectors in Colombia. Between them, are the open source movement, data mining over social network data, and fi guring out how the information and communication technologies could be used to empower people to make a difference in the world. I want to say thanks to all of the Elgg team! Working with them has been very constructive, and has given me even more reason to believe in the open source model. Things can be afforded through sharing of knowledge and experience without any limitations. [ FM-5 ] In memory of my grandfather H. C. Sharma and grandmother Shyma Sharma. [ FM-7 ] Table of Contents Preface 1 Chapter 1: Social Networks and Elgg 5 Types of Social Networks 6 How Can a Social Network Help You? 7 Tools of the Trade 8 What's so Special About Elgg? 12 So, What can Elgg Do? 13 Summary 13 Chapter 2: A Tour around Elgg 15 Playing With Elgg-Powered Networks 15 Sign Up 16 Account Settings 17 Your Profile 18 Customize Your Account 19 Define Access Privileges 20 Your Blog 21 Manage Your Files 22 Find People 23 Make Friends 24 Your Community 25 Your Messages 26 Your Resources 27 Your Presentation 28 Recent Activity 29 Summary 30 Chapter 3: Users, Profiles, and Connections 31 Connecting to Friends and Users 32 Inviting Friends to Join 32 Table of Contents Let Elgg Handle Registration 32 Build a Profile 34 The Various Profile Options 34 What is FOAF? 36 A Face for Your Profile 36 Access Control 38 Define Your Own Control Lists 38 Making Friends with Internal Members 40 Use Your Profile to Find Connections 40 Making Connections 41 Friendship Moderation 42 Managing Friendship Requests 43 What's Friend Of? 43 Other Account Settings 44 Attracting Visitors 44 Welcoming Guests 44 Administration Options 46 Add Users in Bulk 46 Change User Settings 47 Playing Boss 48 Blocking Users 49 Can I Formally Warn Users? 49 Removing the Ban 50 Limiting Users on the Site 50 Changing Space Quota 50 Sharing Admin Rights 51 The Scope of an Elgg Administrator 51 Summary 52 Chapter 4: Blogging and Resources 53 Handling Files 53 Creating Folders 54 Uploading Files 55 Right to Share 56 Viewing Files 57 Moving and Deleting Files/Folders 58 Commenting on Files 60 Start Blogging 61 Posting a New Entry 61 Adding External Videos 62 Embedding Files in Blogs 64 What Does the Number Mean? 65 Saving Drafts 65 [ ii ] Table of Contents Mark Posts as Private 65 So, Why Use a Plug-in? 66 The Draft Post Plug-in 66 Editing/Deleting Posts 67 What Are Your Friends Blogging About? 68 Keeping Track of Posts and Discussions 68 Handling Improper Content 69 Flagging Improper Posts 69 Managing Flagged Content 70 Filtering Blog Posts 71 Preventing Spam 71 Who Can Comment? 71 Using Plug-ins 72 Implementing Captcha 72 Restricting to Anonymous Users 74 Increasing the Vocabulary 74 Handling Improper Words 75 Downloading Blogs 76 Managing Resources 77 Feeding Stuff 77 Creating Feeds 78 What Feeds are Available? 78 Inducting Feeds 78 Adding Feeds from External Sources 79 Adding Popular Feeds 80 Viewing the Feeds 80 RSS Feed for Files 81 Podcasting with Elgg 81 Listening to Podcasts 82 Blogging Podcasts 84 Summary 85 Chapter 5: Communities and Files 87 Creating Communities 87 Search for Existing Communities 88 Hatching a Community 88 Grooming the Community 89 Community Profile 89 Community Picture 90 Announcing the Community 91 Joining the Community 92 Membership Restriction 93 [ iii ] Table of Contents Handling Membership Requests 93 Leaving the Community 94 Community Ownership 95 Using the Community 95 Community Blog 96 Removing Improper Posts 97 Moderating Communities 97 Other Community Administration 97 Community Forum 99 Handling Files 101 Creating Folders 102 Uploading Files 103 Right to Share 104 Adding Files to a Community Repository 104 Send Messages 104 Sharing Bookmarks 106 Using Files 108 Viewing Files 108 RSS Feed for Files 109 Moving and Deleting Files/Folders 110 Embedding Files in Blogs 111 What Does the Number Mean? 111 Removing Inappropriate Files/Folders 112 Summary 112 Chapter 6: Customizing Elgg 113 Why Customize? 113 What Makes Up a Theme? 113 Controlling Themes 114 The Default Template 115 What are <div> and <span>? 116 The pageshell 116 CSS Elements in the pageshell 118 Other Elements 120 The frontpage Files 122 The frontpage_loggedout File 122 The frontpage_loggedin File 123 Content Keywords 123 Other Keywords that Can be Used 124 Hints for Designing a Custom Template 124 Pageshell Hacks 125 Add/Remove Elements 125 [ iv ] Table of Contents Add a Copyright Notice 126 CSS Hacks 126 Change Position of Elements 127 Fun with Images 129 Make Body Use More Space 130 Hacking Other Themes 131 Adding Public Templates 131 Changing Templates 132 Different Themes for Different Areas 132 Creating Themes Based on Templates 133 Creating Themes 133 Validating Themes 134 Replacing the Default Template 135 Contributing Themes 135 Summary 136 Chapter 7: Elgg Plug-Ins 137 General Structures of Plug-Ins 137 Things to Remember While Installing Plug-Ins 138 The Plug-Ins 139 Maintenance Mode 139 Custom Metatags in Header 140 EasyJoin 140 Related Posts 142 Tag Suggest and Autocomplete 143 Blog Categories 144 Forwarder 146 Comment Wall 147 Recent Comments Keyword 148 Logged In Users 149 Icons of Site Members 149 Calendar 150 Adding an Event 151 Upcoming Events 152 How to Remove Plug-Ins 153 Upgrading Plug-Ins 154 Summary 154 Appendix A: Installing Elgg 155 Setting Up LAMP 155 Step 1: Install Linux 155 Step 2: Install Apache 156 Step 3: MySQL 156 [ v ] Table of Contents Step 4: Install PHP Support 157 Setting Up WAMP 157 Installing Elgg 158 Editing config.php 159 Creating a Database 160 Initial Configuration 160 Important Settings 161 First Log In 163 Appendix B: Elgg Case Study 165 Enabling Non-Profits in Colombia 165 Connecting Campuses Spread Across the UK 169 Other Elgg Networks 171 Summary 172 Index 175 [ vi ] Preface Elgg is an open-source social web application licensed under GPL version 2, and runs on the LAMP (Linux, Apache, MySQL, and PHP) or WAMP (Windows, Apache, MySQL, PHP) platform. It offers a networking platform, combining elements of blogging, e-portfolios, news feed aggregation, fi le sharing, and social networking. Elgg has its own plug-in architecture, and can use plug-ins to provide a calendar and a wiki. It supports a number of open standards including RSS, LDAP for authentication, FOAF, and XML-RPC for integration with most third-party blogging clients. It can be integrated with MediaWiki, Moodle, Drupal, and WebCT. Elgg provides each user with a personal weblog, fi le repository (with podcasting capabilities), an online profi le, and an RSS reader. Additionally, all of a user's content can be tagged with keywords—so they can connect with other users with similar interests and create their own personal learning network. However, where Elgg differs from a regular weblog or a commercial social network (such as MySpace) is the degree of control each user is given over who can access their content.