SlideShare a Scribd company logo
1 of 3
Download to read offline
LIS651
                                             Web Content Management
                                                      2012–06–06


See the course web site at http://openlib.org/home/krichel/courses/lis651n12a for the latest online version of this file.

Course Description
This course considers two fundamental technologies that are used to build large scale, interactive web sites. These are
relational database systems and scripting languages. For the former, we use mySQL. For the latter, we use PHP. We
could have used others, but these are the most common choices. In order to build a prototype for a large-scale site
quickly, we use a contents management system. The choice here is Drupal. Drupal is not trivial to learn. But it is a
very flexible system. It allows for the rapid development of extensions to Drupal, provided that a number of rules are
observed. These rules make sure that the custom code fits into the larger Drupal function base. Drupal itself is written in
PHP, and uses mySQL, so it is just a toolbox sitting on the general PHP/mySQL technology stack.

Course objectives
After taking this course the students

   • will be able to interact with a UNIX based server for the construction of active web sites;

   • will have elementary knowledge of SQL that will allow for simple database management
   • will understand fundamental concepts of computer programming, such as variables and functions and objects;
   • will have been introduced to the architecture of Drupal;
   • will have a basic grounding in PHP that allows them to build simple Drupal extensions;

The Palmer School Student Learning Objectives covered by the course are

   • 2.E Students will build information systems and/or records used in such systems.


Prerequisites
Student normally must have passed LIS650 before taking this course, or take it in the same semester where LIS650 is
running. Students who wish to qualify for an exeption should contact the instructor prior to registering.

Instructor
Thomas Krichel

Palmer School of Library and Information Science
C.W. Post Campus of Long Island University
720 Northern Boulevard
Brookville, NY 11548–1300
krichel@openlib.org
work phone: +1–(516)299–2843
skype: thomaskrichel
Private contact details may be obtained from the online CV at /home/krichel/cv.html.

Class structure
Classes will be held on Saturdays between 13:00 and 18:00 in the PC1 lab of Bobst Library.
Each class will have a lengthy presentation by the instructor. For some small part of class time the students will work
directly with their computers under the supervision of the instructor. However, give the hefty weight of the class material,


                                                             1
students are expected to do much of the work on the web site at home. The instructor will closely work with students on
their sites on a one-to-one basis, if required.
These slides are drafts from the previous edition of the course.
Class details:

2012–09–22      13:00 to 18:00    introduction to PHP, setup of Drupal, mySQL, and phpmyadmin
2012–10–13      13:00 to 18:00    PHP arrays and Drupal architecture
2012–10–27      13:00 to 18:00    PHP functions and Drupal themes
2012–11–10      13:00 to 18:00    PHP objects and Drupal modules
2012–12–01      13:00 to 18:00    developing modules in Drupal
2012–12–08      13:00 to 18:00    conclusions



Readings
Drupal is documented on its web site at http://www.drupal.org. We are using Melançon (2011) , and Butcher,
Wilkins, Farina, Rickard, and Dunlap (2010) as the main books we will follow. But you are welcome to get any intro-
ductory book to Drupal 7 and work with it as well. The main job of the course is to go through the PHP code.
PHP is documented on its web site at http://www.php.net. Students will probably find all gobbledigook when
they first look at it. But by the end of the course students should be able to use the site to get help from it. Students may
find Ullman (2004) as reasonably priced introductory book on the PHP. The instructor found that Sklar (2004) did bring
much good material. Lea, Choi, Kent, Prasad, and Ullman (2001) as an intoduction that is probably suitably paced for
the beginner. Meloni (2000) receives favorable reviews as a beginners’ book.
Most books on PHP also cover some relational database theory and practice. But Welling and Thomson (2005) do more
than most.
There are many books on PHP in the instructor’s library in his LIU Post office.
Finally there a bunch of home-grown resourceshttp://openlib.org/home/krichel/courses/lis651.

Assessment
Before each class except the first, there will be a quiz on the issued covered in the previous class. The weakest quiz is
discounted. The average of all the remaining quizzes results will count for 5/19 of the assessment. Each student will
complete an individual exercise every class except the first and last class. The exercise consist of writing a PHP script
that fullfills a task. The script does not only have to accomplish the task, the complete task and nothnig but the task.
The script also needs to be documented. There has to be at least as many characters of documentation as there has to
be characters in the instructions. The average of these scripts count for 8/19. In the last class, the students hand in a
two-page description of the architecture of a final site. This covers a brief description the files, and overview on how
information is flowing through the pages. If database tables are used, it covers a list of all tables with all columns, and
the relationship that the columns have to user input or to an external source of data. This paper counts for 1/19 of the
course. The remaining 5/19 will be assessed through the final web site. This site has to be handed on the date of the last
class meeting. This assessment assessess Palmer learning objective 2E.

Mailing list
There is a mailing list for the course at https://lists-1.liu.edu/mailman/listinfo/cwp-lis651-krichel. All students are en-
couraged to subscribe. As a rule, answers to email sent to the instructor will be copied to the list. There are exceptions
to this rule
   • if the question writer requests the answer not to be posted
   • if the question is a purely private matter

References
   Butcher, Matt, John Albin Wilkins, Matt Farina, Ken Rickard, and Greg Dunlap (2010). Drupal 7 Module Develop-
      ment. Packt Publishing. available at http://local.openlib.org/home/krichel/courses/read/butcher11_drupal_modul
      _devel.pdf.
   Lea, Chris, Wankyu Choi, Allan Kent, Ganesh Prasad, and Chris Ullman (2001). Beginning PHP 4. Wrox Pres.
   Melançon, Benjamin (Ed.) (2011). The Definitive Guide to Drupal 7. Apress. available at http://local.openlib.org/ho
      me/krichel/courses/read/melancon11_defin_guide_drupal.pdf.


                                                             2
Meloni, Julie C. (2000). PHP Essentials. Prima Publishing.
Sklar, David (2004). Learning PHP. O’Reilly.
Ullman, Larry (2004). PHP for the World Wide Web: Visual QuickStart Guide, 2nd Edition (2nd ed.). Peachpit Pless.
Welling, Luke and Laura Thomson (2005). PHP and MySQL Web Development (3rd ed.). Sams Publishing.




                                                      3

More Related Content

Similar to Lis651n12a.a4

Real World Rails 5 Programming for Web Developers
Real World Rails 5 Programming for Web DevelopersReal World Rails 5 Programming for Web Developers
Real World Rails 5 Programming for Web Developersprshant navgrha
 
Iadis2013 linti Integrando y Metadateando OER en cursos de informatica
Iadis2013 linti Integrando y Metadateando OER en cursos de informaticaIadis2013 linti Integrando y Metadateando OER en cursos de informatica
Iadis2013 linti Integrando y Metadateando OER en cursos de informaticaJavier Diaz
 
Department information system
Department information systemDepartment information system
Department information systemSUMIT MIshra
 
CSS Adnaved with HTML abd complete Stylesheet
CSS Adnaved with HTML abd complete StylesheetCSS Adnaved with HTML abd complete Stylesheet
CSS Adnaved with HTML abd complete StylesheetPraveenHegde20
 
Lecture1 introduction by okello erick
Lecture1 introduction by okello erickLecture1 introduction by okello erick
Lecture1 introduction by okello erickokelloerick
 
Drupal Conference on 28th
Drupal Conference on 28thDrupal Conference on 28th
Drupal Conference on 28thChanHan Hy
 
Fall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_TyngsboroFall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_Tyngsborotutorialsruby
 
Fall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_TyngsboroFall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_Tyngsborotutorialsruby
 
Fall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_TyngsboroFall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_Tyngsborotutorialsruby
 
Fall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_TyngsboroFall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_Tyngsborotutorialsruby
 
Advanced certification in php
Advanced certification in phpAdvanced certification in php
Advanced certification in phpAnisha Hans
 
ELMS - Course Management and Beyond
ELMS - Course Management and BeyondELMS - Course Management and Beyond
ELMS - Course Management and BeyondBryan Ollendyke
 
James, Robertson & Bell - Why, why, why DELILA? A project to promote the open...
James, Robertson & Bell - Why, why, why DELILA? A project to promote the open...James, Robertson & Bell - Why, why, why DELILA? A project to promote the open...
James, Robertson & Bell - Why, why, why DELILA? A project to promote the open...IL Group (CILIP Information Literacy Group)
 
Object oriented-programming-in-c-sharp
Object oriented-programming-in-c-sharpObject oriented-programming-in-c-sharp
Object oriented-programming-in-c-sharpAbefo
 
Web technologies
Web technologiesWeb technologies
Web technologiesReynel Albo
 

Similar to Lis651n12a.a4 (20)

Drupal course hengl
Drupal course henglDrupal course hengl
Drupal course hengl
 
Real World Rails 5 Programming for Web Developers
Real World Rails 5 Programming for Web DevelopersReal World Rails 5 Programming for Web Developers
Real World Rails 5 Programming for Web Developers
 
Iadis2013 linti Integrando y Metadateando OER en cursos de informatica
Iadis2013 linti Integrando y Metadateando OER en cursos de informaticaIadis2013 linti Integrando y Metadateando OER en cursos de informatica
Iadis2013 linti Integrando y Metadateando OER en cursos de informatica
 
Department information system
Department information systemDepartment information system
Department information system
 
CSS Adnaved with HTML abd complete Stylesheet
CSS Adnaved with HTML abd complete StylesheetCSS Adnaved with HTML abd complete Stylesheet
CSS Adnaved with HTML abd complete Stylesheet
 
Lecture1 introduction by okello erick
Lecture1 introduction by okello erickLecture1 introduction by okello erick
Lecture1 introduction by okello erick
 
EDUPUB Tokyo 2014 day2 Paul Belfanti and Markus Gylling
EDUPUB Tokyo 2014 day2 Paul Belfanti and Markus GyllingEDUPUB Tokyo 2014 day2 Paul Belfanti and Markus Gylling
EDUPUB Tokyo 2014 day2 Paul Belfanti and Markus Gylling
 
Drupal Conference on 28th
Drupal Conference on 28thDrupal Conference on 28th
Drupal Conference on 28th
 
Fall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_TyngsboroFall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_Tyngsboro
 
Fall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_TyngsboroFall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_Tyngsboro
 
Fall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_TyngsboroFall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_Tyngsboro
 
Fall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_TyngsboroFall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_Tyngsboro
 
PHP Basics
PHP BasicsPHP Basics
PHP Basics
 
Advanced certification in php
Advanced certification in phpAdvanced certification in php
Advanced certification in php
 
1504.00693
1504.006931504.00693
1504.00693
 
lamp.pptx
lamp.pptxlamp.pptx
lamp.pptx
 
ELMS - Course Management and Beyond
ELMS - Course Management and BeyondELMS - Course Management and Beyond
ELMS - Course Management and Beyond
 
James, Robertson & Bell - Why, why, why DELILA? A project to promote the open...
James, Robertson & Bell - Why, why, why DELILA? A project to promote the open...James, Robertson & Bell - Why, why, why DELILA? A project to promote the open...
James, Robertson & Bell - Why, why, why DELILA? A project to promote the open...
 
Object oriented-programming-in-c-sharp
Object oriented-programming-in-c-sharpObject oriented-programming-in-c-sharp
Object oriented-programming-in-c-sharp
 
Web technologies
Web technologiesWeb technologies
Web technologies
 

More from StephanieLeBadezet (20)

Data mining
Data miningData mining
Data mining
 
Data mining
Data miningData mining
Data mining
 
7
77
7
 
6
66
6
 
5
55
5
 
4
44
4
 
3
33
3
 
2
22
2
 
1
11
1
 
Were all connected the power of the social media ecosystem
Were all connected the power of the social media ecosystemWere all connected the power of the social media ecosystem
Were all connected the power of the social media ecosystem
 
Swws
SwwsSwws
Swws
 
Were all connected the power of the social media ecosystem
Were all connected the power of the social media ecosystemWere all connected the power of the social media ecosystem
Were all connected the power of the social media ecosystem
 
Pxc3872601
Pxc3872601Pxc3872601
Pxc3872601
 
Public
PublicPublic
Public
 
Lis651n12a.a4
Lis651n12a.a4Lis651n12a.a4
Lis651n12a.a4
 
Karuovic and radosav
Karuovic and  radosavKaruovic and  radosav
Karuovic and radosav
 
Imc131 ager
Imc131 agerImc131 ager
Imc131 ager
 
Imc102 tiago
Imc102 tiagoImc102 tiago
Imc102 tiago
 
Hpl 2011-203
Hpl 2011-203Hpl 2011-203
Hpl 2011-203
 
First monday
First mondayFirst monday
First monday
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

Lis651n12a.a4

  • 1. LIS651 Web Content Management 2012–06–06 See the course web site at http://openlib.org/home/krichel/courses/lis651n12a for the latest online version of this file. Course Description This course considers two fundamental technologies that are used to build large scale, interactive web sites. These are relational database systems and scripting languages. For the former, we use mySQL. For the latter, we use PHP. We could have used others, but these are the most common choices. In order to build a prototype for a large-scale site quickly, we use a contents management system. The choice here is Drupal. Drupal is not trivial to learn. But it is a very flexible system. It allows for the rapid development of extensions to Drupal, provided that a number of rules are observed. These rules make sure that the custom code fits into the larger Drupal function base. Drupal itself is written in PHP, and uses mySQL, so it is just a toolbox sitting on the general PHP/mySQL technology stack. Course objectives After taking this course the students • will be able to interact with a UNIX based server for the construction of active web sites; • will have elementary knowledge of SQL that will allow for simple database management • will understand fundamental concepts of computer programming, such as variables and functions and objects; • will have been introduced to the architecture of Drupal; • will have a basic grounding in PHP that allows them to build simple Drupal extensions; The Palmer School Student Learning Objectives covered by the course are • 2.E Students will build information systems and/or records used in such systems. Prerequisites Student normally must have passed LIS650 before taking this course, or take it in the same semester where LIS650 is running. Students who wish to qualify for an exeption should contact the instructor prior to registering. Instructor Thomas Krichel Palmer School of Library and Information Science C.W. Post Campus of Long Island University 720 Northern Boulevard Brookville, NY 11548–1300 krichel@openlib.org work phone: +1–(516)299–2843 skype: thomaskrichel Private contact details may be obtained from the online CV at /home/krichel/cv.html. Class structure Classes will be held on Saturdays between 13:00 and 18:00 in the PC1 lab of Bobst Library. Each class will have a lengthy presentation by the instructor. For some small part of class time the students will work directly with their computers under the supervision of the instructor. However, give the hefty weight of the class material, 1
  • 2. students are expected to do much of the work on the web site at home. The instructor will closely work with students on their sites on a one-to-one basis, if required. These slides are drafts from the previous edition of the course. Class details: 2012–09–22 13:00 to 18:00 introduction to PHP, setup of Drupal, mySQL, and phpmyadmin 2012–10–13 13:00 to 18:00 PHP arrays and Drupal architecture 2012–10–27 13:00 to 18:00 PHP functions and Drupal themes 2012–11–10 13:00 to 18:00 PHP objects and Drupal modules 2012–12–01 13:00 to 18:00 developing modules in Drupal 2012–12–08 13:00 to 18:00 conclusions Readings Drupal is documented on its web site at http://www.drupal.org. We are using Melançon (2011) , and Butcher, Wilkins, Farina, Rickard, and Dunlap (2010) as the main books we will follow. But you are welcome to get any intro- ductory book to Drupal 7 and work with it as well. The main job of the course is to go through the PHP code. PHP is documented on its web site at http://www.php.net. Students will probably find all gobbledigook when they first look at it. But by the end of the course students should be able to use the site to get help from it. Students may find Ullman (2004) as reasonably priced introductory book on the PHP. The instructor found that Sklar (2004) did bring much good material. Lea, Choi, Kent, Prasad, and Ullman (2001) as an intoduction that is probably suitably paced for the beginner. Meloni (2000) receives favorable reviews as a beginners’ book. Most books on PHP also cover some relational database theory and practice. But Welling and Thomson (2005) do more than most. There are many books on PHP in the instructor’s library in his LIU Post office. Finally there a bunch of home-grown resourceshttp://openlib.org/home/krichel/courses/lis651. Assessment Before each class except the first, there will be a quiz on the issued covered in the previous class. The weakest quiz is discounted. The average of all the remaining quizzes results will count for 5/19 of the assessment. Each student will complete an individual exercise every class except the first and last class. The exercise consist of writing a PHP script that fullfills a task. The script does not only have to accomplish the task, the complete task and nothnig but the task. The script also needs to be documented. There has to be at least as many characters of documentation as there has to be characters in the instructions. The average of these scripts count for 8/19. In the last class, the students hand in a two-page description of the architecture of a final site. This covers a brief description the files, and overview on how information is flowing through the pages. If database tables are used, it covers a list of all tables with all columns, and the relationship that the columns have to user input or to an external source of data. This paper counts for 1/19 of the course. The remaining 5/19 will be assessed through the final web site. This site has to be handed on the date of the last class meeting. This assessment assessess Palmer learning objective 2E. Mailing list There is a mailing list for the course at https://lists-1.liu.edu/mailman/listinfo/cwp-lis651-krichel. All students are en- couraged to subscribe. As a rule, answers to email sent to the instructor will be copied to the list. There are exceptions to this rule • if the question writer requests the answer not to be posted • if the question is a purely private matter References Butcher, Matt, John Albin Wilkins, Matt Farina, Ken Rickard, and Greg Dunlap (2010). Drupal 7 Module Develop- ment. Packt Publishing. available at http://local.openlib.org/home/krichel/courses/read/butcher11_drupal_modul _devel.pdf. Lea, Chris, Wankyu Choi, Allan Kent, Ganesh Prasad, and Chris Ullman (2001). Beginning PHP 4. Wrox Pres. Melançon, Benjamin (Ed.) (2011). The Definitive Guide to Drupal 7. Apress. available at http://local.openlib.org/ho me/krichel/courses/read/melancon11_defin_guide_drupal.pdf. 2
  • 3. Meloni, Julie C. (2000). PHP Essentials. Prima Publishing. Sklar, David (2004). Learning PHP. O’Reilly. Ullman, Larry (2004). PHP for the World Wide Web: Visual QuickStart Guide, 2nd Edition (2nd ed.). Peachpit Pless. Welling, Luke and Laura Thomson (2005). PHP and MySQL Web Development (3rd ed.). Sams Publishing. 3