Content Management Systems and Drupal Information Systems 337 Prof. Harry Plantinga.

Slides:



Advertisements
Similar presentations
@beckyddesign Beckydavisdesign.com Take Control of Your Site with WordPress.
Advertisements

Using Drupal for Your Organizational Website (or, how to use Drupal without cursing) Michelle Murrain Nonprofit Open Source Initiative MetaCentric Technology.
Seattle Drupal Clinic Introduction to Drupal and Web Content Management.
Easy Website Creation Using WordPress Welcome and Thank You to our Sponsors.
Content Management, Working with WordPress Pavel Ivanov Telerik Corporation
Content Management, Working with WordPress Svetlin Nakov Telerik Corporation
Νοέμβριος 2007 ΝΙΚΟΛΑΟΣ ΚΑΝΤΖΕΛΗΣ Use Worpress to create your own blog WORDPRESS 2.0.
Drupal Create a website/web app quickly with this Content Management System Jiaying Xu Spring 2011 COMS E6125 Web-enHanced Information.
1 of 6 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Content Management, Working with WordPress Svetlin Nakov Telerik Corporation
Content Management Systems Why to use. And, if you’re going to use one, which one???
UWWD In our quest to eliminate bad websites, we present…. HALLELUJAH!!
Web Hosting Control Panel Always FREE to try for 30 days no obligation, our web hosting control panel has been created to provide you with all the tools.
Get closer to the most advanced CMS Mihail Semedzhiev Joomla!
Sample School Website Sydney Region ITSU School Support
About the CMS WordPress A brief overview of both Wordpress.org & WordPress.com WordPress is one of the most popular content management and blog publishing.
The easy way to a nice looking website design By a total non-designer (Me!)
Jiří Balej, Martin Podborský, Petra Čačková.  Tools, which enables to produce content without source code knowledge  Text document ◦ MS Word/OO Writer.
Kentico CMS 5.0 Full-featured Flexible Web Content Management System for All Your Needs.
Build a CMS Website. The topics this chapter covers are: What is CMS ? What you can do with CMS The benefits and disadvantages of using a content management.
The Dr ü G Book: An Intro to Drupal The Dr ü G Book: An Intro to Drupal (Dr ü G: Drupal User ’ s Group - users, not developers) This is an introduction.
Justin Klein Keane Drupal Training Session 1 Introduction to Drupal.
Drupal Workshop Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology, Drupal technology, directories.
Drupal and the CMS Project. Lesson Learned #1 Keep your modules updated, especially when there are security concerns in the update notes 2010 | The Sky’s.
Website Administration Information Systems 337 Prof. Harry Plantinga.
Web Content Management Systems. Lecture Contents Web Content Management Systems Non-technical users manage content Workflow management system Different.
Joomla!. What is Joomla! Joomla! is the largest Open Source Content Management System (CMS) for publishing on the World Wide Web Using a CMS allows non-technical.
Web 2.0: Concepts and Applications 2 Publishing Online.
How the Web Works. WWW – part of the Internet (others: , FTP, Telnet) Loaded to a Server | Viewed in a Browser (Client) Client: Request & Render.
Content Management Systems AN INTRODUCTION. Learning Objectives To know what a Content Management System is Have an understanding of the different types.
Introduction: Drupal is a free and open-source content management system (CMS). A content management system(CMS) is a computer program that allows publishing,
Web Content Management System CREATED BY Joshua Jylsus Mendes MBA –IT Jitendra Purohit MBA – IT
WordPress Web. WordPress Blogging system with full content management Personal publishing system Built on PHP scripting language and MySQL relational.
Drupal Training Syllabus Chaitanya Lakshmi
Trimble Connected Community
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
Content Management Systems Drupal. Content Introduction Setting up Drupal Structure Features Core functions Comparison of Joomla and Drupal Total Cost.
BZUPAGES.COM Presentation on Content Management System (CMS) Presented to. Sir Ahmad Kareem.
In addition to Word, Excel, PowerPoint, and Access, Microsoft Office® 2013 includes additional applications, including Outlook, OneNote, and Office Web.
What is Drupal? Open Source software written in php. A CMS or content-management system. A sophisticated web application building tool.
PUBLISHING ONLINE Chapter 2. Overview Blogs and wikis are two Web 2.0 tools that allow users to publish content online Blogs function as online journals.
Drupal Jumpstart Information Systems 337 Prof. Harry Plantinga.
We Know IT … IT’s What We Do! ® 2 Cyprien Mvuanda & Jonathan Davis Empire 2.0 Services October 1, 2010 Albany, NY Design, Development,Workflow and Implementation.
Proposal for the new group web infrastructure SFT Group meeting 3/7/2009 Yves Perrin.
Drupal Overview Prepared by : Agustin D. Gumogda Jr. Instructor.
Seattle Drupal Clinic Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology.
Sample School Website. What is wrong with the existing School Webspace Site? Can only host static pages – no dynamic content possible. Can not be edited.
Web Hosting Control Panel. Our web hosting control panel has been created to provide you with all the tools you need to make the most of your website.
Www2.computer.org Web Publishing Training Leo Wadsworth, Staff Manager April 2008.
1 © Xchanging 2010 no part of this document may be circulated, quoted or reproduced without prior written approval of Xchanging. MOSS Training – UI customization.
IBM Lotus Software © 2006 IBM Corporation IBM Lotus Notes Domino Blog Template Steve Castledine.
+ Publishing Your First Post USING WORDPRESS. + A CMS (content management system) is an application that allows you to publish, edit, modify, organize,
Intro to APACHE, MySQL, and PHP & freely available (hackable) Packages Aonghus Sugrue 04 Oct 2012.
Configuring Drupal Information Systems 337 Prof. Harry Plantinga.
How EPA/ORD Moved to Drupal 7 Jessica Dearie U.S. EPA, Office of Research and Development Office of Science Information Management.
Website Update and Use of Official accounts Dr.Lasantha Ranwala ( MBBS,MSc-Biomedical Informatics) Medical Officer - Health Informatics RDHS Office.
Content Management Systems and Drupal Information Systems 337 Prof. Harry Plantinga.
INFM 700 Project 3 (Aqua) - Akashdeep Ray - Arnaud Lawson - Neha AR - Vidisha Vedvyas.
CMS Showdown What Is A Content Management System (CMS)? CMS Website Content Outside Content Social Media Connections with CRM Programs Statistics and.
How to use Drupal Awdhesh Kumar (Team Leader) Presentation Topic.
Drupal Basics May 30, 2012 By Sean Fitzpatrick. Sean Fitzpatrick | Welcome We're going to talk about Drupal We're going to keep it pretty.
Intro to WordPress (Using XAMPP)
WordPress Introduction
Cms Full-featured Flexible Web Content Management System for All Your Needs.
What is a Blog? short for Weblog journal on a website
Customizing your Theme
SiteBuilder 2 Introduction.
So you were told to make a website
Content Management Systems and Drupal
Implementation of Drupal: An Effective Content Management System for
Presentation transcript:

Content Management Systems and Drupal Information Systems 337 Prof. Harry Plantinga

Lab 5 Debrief Is HTTP clear now? Is HTTP clear now? Difference between GET and POST for forms action? Difference between GET and POST for forms action? Did any crawler visit your site? Implications? Did any crawler visit your site? Implications? Cookies— Cookies— How do they work? How do they work? How could you set one for a web page? How could you set one for a web page?

Term Project Project ideas all finalized? Project ideas all finalized? How did your interview go? How did your interview go? Checkpoint 1 Checkpoint 1

Domain Names To set up a website, you’ll need a domain name, like EasternAvenueCRC.org To set up a website, you’ll need a domain name, like EasternAvenueCRC.org How to get one? How to get one?

Domain Names Dreamhost account: calvincs.com Dreamhost account: calvincs.com Dreamhost’s DNS servers configured to return your IP address for abc12.calvincs.com Dreamhost’s DNS servers configured to return your IP address for abc12.calvincs.com Eventually we’ll create project-dev.calvincs.com DNS entries Eventually we’ll create project-dev.calvincs.com DNS entries Later you’ll publish to an ISP, using your choice of domain name Later you’ll publish to an ISP, using your choice of domain name

How to set up a website? What server? What server? Domain name service? Domain name service? Hosting? Hosting? Static pages, or what? Static pages, or what?

Content Management Systems What is a CMS? What is a CMS? Store all content in a database Store all content in a database Site-wide theme Site-wide theme On-line management and content creation On-line management and content creation Out-of-box capabilities (e.g. blogging, forum, calendar, wiki, shopping cart, tagging, …) Out-of-box capabilities (e.g. blogging, forum, calendar, wiki, shopping cart, tagging, …) Typical architecture: LAMP Typical architecture: LAMP Hundreds of options, open source or commercial Hundreds of options, open source or commercial Calvin uses.cms Calvin uses.cms Microsoft has SharePoint Microsoft has SharePoint

Drupal Open-source CMS Open-source CMS Or, “Content Management Framework” because it is geared more toward configurability and customizability Or, “Content Management Framework” because it is geared more toward configurability and customizability Uses PHP; Apache, MySQL most common Uses PHP; Apache, MySQL most common Collaborative at the core Collaborative at the core Comparisions Comparisions Easy single-purpose tools such as phpbb or WordPress are a little more popular – but little flexibility Easy single-purpose tools such as phpbb or WordPress are a little more popular – but little flexibility Joomla: popular, polished looking, possibly easier Joomla: popular, polished looking, possibly easier Drupal: more flexible/configurable, better designed, SEO? Drupal: more flexible/configurable, better designed, SEO?

Who Uses Drupal? Many thousands of websites including Sony BMG, Al Jazeera, Popular Science, Amnesty International, Oxfam, Electronic Frontier Foundation, NCAA, FCC, AT&T, Whitehouse, United Nations, UK government, FedEx, MTV,… Many thousands of websites including Sony BMG, Al Jazeera, Popular Science, Amnesty International, Oxfam, Electronic Frontier Foundation, NCAA, FCC, AT&T, Whitehouse, United Nations, UK government, FedEx, MTV,… 2014: 30,000 add-ons, 31,000 developers, 1 million members of community 2014: 30,000 add-ons, 31,000 developers, 1 million members of community Countless more helping with testing, documentation, design, user support, translations, etc. Countless more helping with testing, documentation, design, user support, translations, etc.

Is Drupal Right for You? Creating a simple blog? Creating a simple blog? Consider WordPress or hosted solution (e.g. blogger.com) Consider WordPress or hosted solution (e.g. blogger.com) But you'll be limited in features, flexibility But you'll be limited in features, flexibility Only need a Wiki? Only need a Wiki? Consider MediaWiki or a hosted solution (e.g. wikia.com) Consider MediaWiki or a hosted solution (e.g. wikia.com) Just looking for a discussion forum? Just looking for a discussion forum? Try SimpleMachines or phpBB or hosted solution (e.g. forumer.com) Try SimpleMachines or phpBB or hosted solution (e.g. forumer.com)

Want even more control? Popular web frameworks Popular web frameworks HTML, CSS, JS HTML, CSS, JS Bootstrap: for responsive, mobile-first projects (twitter) Bootstrap: for responsive, mobile-first projects (twitter) JavaScript JavaScript AngularJS: easy MVC-organized projects (Google) AngularJS: easy MVC-organized projects (Google) PHP: PHP: Laravel: easy to learn, active community, popular Laravel: easy to learn, active community, popular Python Python Django: “for perfectionists with deadlines” Django: “for perfectionists with deadlines” ASP.net ASP.net

Drupal Overview Themes Themes Modules Modules Menus Menus Blocks Blocks Content types Content types Roles Roles

Modules Modules available for Modules available for E-commerce E-commerce Forums Forums Groups Groups Photo galleries Photo galleries Event management Event management Search Search Games Games Ratings Ratings Etc. etc. Etc. etc.

Customizable Themes

Content Types Create your own content types such as blog posts, calendar events, ballgames, photos, church bulletins Create your own content types such as blog posts, calendar events, ballgames, photos, church bulletins Define a custom set of data fields Define a custom set of data fields Create a custom look for display Create a custom look for display Define who may add, edit them Define who may add, edit them

Social Publishing and Collaboration Built-in support for Built-in support for Group blogging Group blogging Comments Comments Forums Forums Customizable user profiles Customizable user profiles Almost anything else you can think of is a module away (ratings, groups, moderation tools…) Almost anything else you can think of is a module away (ratings, groups, moderation tools…)

SEO Built In Out-of-the-box support for Out-of-the-box support for Human readable URLs Human readable URLs Standards compliance Standards compliance Proper use of h1, meta, etc Proper use of h1, meta, etc Proper content ordering Proper content ordering

How does Drupal work? URL request is sent to apache server URL request is sent to apache server Index.php is run to handles request Index.php is run to handles request Loads many PHP modules Loads many PHP modules From active theme, determines what blocks are displayed From active theme, determines what blocks are displayed Calls modules to generate output for each block (requested content (nodes) may be fetched from database) Calls modules to generate output for each block (requested content (nodes) may be fetched from database) Output is sent through theme engine for customization according to selected theme Output is sent through theme engine for customization according to selected theme Resulting page sent back to user Resulting page sent back to user

Drupal File Organization Drupal file layout Drupal file layout index.php, install.php, update.php index.php, install.php, update.php modules modules themes themes sites sites default/settings.php default/settings.php sites/all/themes sites/all/themes sites/all/modules sites/all/modules How does drupal get "started" when you access a server, e.g. prepsoccer.org? How does drupal get "started" when you access a server, e.g. prepsoccer.org? What directory should all of this stuff go in? What directory should all of this stuff go in?

Lab 6—Installing Drupal In Lab 6 you'll be installing and configuring PHP, MySQL, and Drupal In Lab 6 you'll be installing and configuring PHP, MySQL, and Drupal Most remaining labs – continue to configure your Drupal website. Most remaining labs – continue to configure your Drupal website. A few things you'll need to know… A few things you'll need to know…

MySQL Open-source, free Database server Open-source, free Database server Most popular database server, especially for websites Most popular database server, especially for websites Your website will connect to MySQL, store all its data there Your website will connect to MySQL, store all its data there You'll need to issue some commands You'll need to issue some commands Create databases Create databases Create logins with appropriate privileges Create logins with appropriate privileges We’ll do these things with PHPMyAdmin We’ll do these things with PHPMyAdmin

Installing Drupal Installation steps: Installation steps: Install apache, php, mysql Install apache, php, mysql Create a database and user for Drupal to use Create a database and user for Drupal to use Configure apache to default to index.php Configure apache to default to index.php Configure apache to use.htaccess files Configure apache to use.htaccess files Install latest Drupal source in web server home Install latest Drupal source in web server home Make a world-writable site.php file for your site Make a world-writable site.php file for your site Run the installer script Run the installer script Change site.php back to world-readable Change site.php back to world-readable Download and install themes, modules, etc. Download and install themes, modules, etc.

Installing Drupal How to download and install files in Linux? How to download and install files in Linux? apt-get, etc apt-get, etc Download, unpack, install manually Download, unpack, install manually wget, tar, mv wget, tar, mv How to see or move files like ".htaccess"? How to see or move files like ".htaccess"? Who should own the files of your website? Why? Who should own the files of your website? Why? How to change the owner of a file? How to change the owner of a file?

Content (Nodes) All content in Drupal is a node All content in Drupal is a node There are various types of nodes: blog posts, comments, pictures, ballgames,... (Content types) There are various types of nodes: blog posts, comments, pictures, ballgames,... (Content types) Content types can have custom templates for display Content types can have custom templates for display

Entities Drupal “entities”: another level of abstraction Drupal “entities”: another level of abstraction Nodes Nodes Users Users Comments Comments Files Files Entity fields Entity fields Default: Title, Body Default: Title, Body Can define additional ones Can define additional ones

Paths Suppose you create a seventh node. Suppose you create a seventh node. Path: node/7 Path: node/7 Default URL: mysite.com?q=node/7 Default URL: mysite.com?q=node/7 With clean URLs: mysite.com/node/7 or mysite.com/hymnals/presbyterian_hymnal_1981 With clean URLs: mysite.com/node/7 or mysite.com/hymnals/presbyterian_hymnal_1981 Other paths you might see Other paths you might see taxonomy/term/6 taxonomy/term/6 user/login user/login user/3 user/3 admin/ admin/

Selecting a Theme How to select a theme? How to select a theme? Layout you want (columns, menus, slogan, etc) Layout you want (columns, menus, slogan, etc) Menu structure you want Menu structure you want Version compatible Version compatible Fixed vs. liquid Fixed vs. liquid Responsive Responsive Install Install Configure Configure Make it default (only?) Make it default (only?)

Installing a Theme How? How? /var/www/sites/all/themes /var/www/sites/all/themes

Virtual Hosts Can configure multiple domain names to refer to the same IP address Can configure multiple domain names to refer to the same IP address Web requests arrive with hostname in header Web requests arrive with hostname in header Your server can run different sites for different hostnames (/etc/apache2/sites-enabled) Your server can run different sites for different hostnames (/etc/apache2/sites-enabled) Configure drupal for multiple sites (/var/www/sites) Configure drupal for multiple sites (/var/www/sites) Can optionally share filesystem, database Can optionally share filesystem, database We'll run two per student on the system lab servers: We'll run two per student on the system lab servers: yourlogin.calvincs.com yourlogin.calvincs.com yourlogin-dev.calvincs.com yourlogin-dev.calvincs.com

More Tidbits (Lab 7) Hostname, /etc/hostname Hostname, /etc/hostname Mail service, postfix Mail service, postfix PHP memory requirements PHP memory requirements Cron, crontab Cron, crontab See /etc/crontab, cron.hourly, cron.daily, etc See /etc/crontab, cron.hourly, cron.daily, etc Edit with sudo crontab –e Edit with sudo crontab –e Add something like this: Add something like this: 7 * * * * /usr/bin/wget

Menus Primary Primary e.g. Home, Standings, Forum, Store e.g. Home, Standings, Forum, Store Typically top of the page Typically top of the page My be hierarchical My be hierarchical Secondary Secondary e.g. About, Contact us, Log out, Terms of Service, Privacy Policy [not in Drupal 7, but you can create one] e.g. About, Contact us, Log out, Terms of Service, Privacy Policy [not in Drupal 7, but you can create one] Navigation Navigation All of the tasks you can do All of the tasks you can do May not be displayed for unauthenticated users May not be displayed for unauthenticated users Configuration Configuration Set location, visibility in theme (or blocks) Set location, visibility in theme (or blocks)

Blocks Modules present their information as 'blocks' Modules present their information as 'blocks' You configure what blocks go where, on which pages You configure what blocks go where, on which pages This is the primary means of configuring the functionality of your website This is the primary means of configuring the functionality of your website

Users Creating logins Creating logins User Settings User Settings Registration options Registration options Text of s that Drupal sends Text of s that Drupal sends Signature, picture support Signature, picture support Profiles Profiles Each user has a profile page Each user has a profile page Use the Profile module to customize contents Use the Profile module to customize contents

Roles For PrepSoccer.org: For PrepSoccer.org: administrator (can do everything) administrator (can do everything) team manager (can update scores and schedule, add games, post photos, stories and comments) team manager (can update scores and schedule, add games, post photos, stories and comments) authenticated user (can post photos, stories, and comments) authenticated user (can post photos, stories, and comments) unauthenticated user (can read anything and change nothing) unauthenticated user (can read anything and change nothing) In Drupal In Drupal Configure with User Management -> Roles, Permissions Configure with User Management -> Roles, Permissions

What if site is down? Debugging is a key skill… Debugging is a key skill… How to debug your site? How to debug your site? What part is malfunctioning? What part is malfunctioning? Is server running and connected to the Internet? Is server running and connected to the Internet? Is webserver running? Is webserver running? Is database server running? Is database server running? Web server logs are your friends Web server logs are your friends /var/log/apache2 /var/log/apache2

Administration

Modules What do you use modules for? What do you use modules for? How to find, select? How to find, select? How, where to install? How, where to install? Configuration Configuration Effects on performance, usability Effects on performance, usability

Modules

Finding Modules

Selecting a Module

Manual Installation Download and unpack in sites/all/modules cd /var/www/sites/all/modules wget unzip module_filter-7.x-1.7.zip Download and unpack in sites/all/modules cd /var/www/sites/all/modules wget unzip module_filter-7.x-1.7.zip If necessary, run the update script If necessary, run the update script

Configure Enable module Enable module Configure module Configure module

Enjoy

Content Types Create a content type for every type of 'thing' on your website (blog post, story, newsletter, photograph, calendar entry, bulletin, team, game result, …) Create a content type for every type of 'thing' on your website (blog post, story, newsletter, photograph, calendar entry, bulletin, team, game result, …) Add and configure custom content types Add and configure custom content types Add custom ways for displaying content types Add custom ways for displaying content types To add content, use Create Content -> … To add content, use Create Content -> …

Adding Content Types Default content types Default content types Page : Intended for static content such as “About Us” Page : Intended for static content such as “About Us” Story : Intended for content that will be frequently posted, such as news articles Story : Intended for content that will be frequently posted, such as news articles You can add content types in various ways You can add content types in various ways Add a module, e.g. Blog, that adds a content type Add a module, e.g. Blog, that adds a content type Create your own custom content types Create your own custom content types

When should I use Story vs. Blog? Blog module adds Blog module adds “blog” content type “blog” content type overview of all blog posts at /blog overview of all blog posts at /blog overview of each blogger’s posts at /blog/3 overview of each blogger’s posts at /blog/3 links at the bottom of each blog post to the author’s other blog posts links at the bottom of each blog post to the author’s other blog posts filtered RSS feed for blogger’s posts filtered RSS feed for blogger’s posts a private “my blog” link in the navigation menu for each user who has permission to create blog posts a private “my blog” link in the navigation menu for each user who has permission to create blog posts

Stories We want users who don’t know HTML to be able to add game stories, event updates, etc We want users who don’t know HTML to be able to add game stories, event updates, etc Install FCKeditor Install FCKeditorFCKeditor We want to be able to include images in the game stories We want to be able to include images in the game stories Install IMCE Install IMCEIMCE

Comments Users (with permission) can add comments to pages Users (with permission) can add comments to pages Spam vs. Ham? Spam vs. Ham? Mollom Mollom Auto-delete spam identified by stats of millions of other blots’ content Auto-delete spam identified by stats of millions of other blots’ content Also blocks spam in contact form, nodes, user registration forms, etc. Also blocks spam in contact form, nodes, user registration forms, etc. Displays captcha in questionable cases Displays captcha in questionable cases Can also delete low-quality, abusive content (flames) Can also delete low-quality, abusive content (flames)

Designing a Website How would you design a website for preaching and worship resources? How would you design a website for preaching and worship resources?

Designing a Website Field research Field research Goal and task analysis Goal and task analysis Design models Design models Empirical testing Empirical testing Time to iterate Time to iterate