售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Elgg 1.8 Social Networking
Table of Contents
Elgg 1.8 Social Networking
Credits
Foreword
About the Author
About the Author of 1st edition
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
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
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
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
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
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
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
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
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
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
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
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
Data
Tools
Stress testing
Data
Tools
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
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
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
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜