2. Installation Profiles and OpenScholar What are installation profiles? Bundles of modules/themes ready-made and already configured to serve a certain purpose Layer of user-friendliness between Drupal and non-developers Some listed on drupal.org, but not all http://drupal.org/project/installation%2Bprofiles
3. Installation Profiles and OpenScholar OpenScholar, what does it do? Designed to allow faculty members or project coordinators to quickly create and easily maintain feature-rich websites Lets the users collaborate, share content, and follow each other’s activity Operates from a single installation of Drupal Good job of putting the work on the users!
4. Installation Profiles and OpenScholar OpenScholar, what will it do? OpenScholar can be installed with certain “flavors”, which are collections of enabled/disabled modules. Currently OpenScholar has Faculty and Project flavors. Developers say that a Department/Center flavor is coming up next.
5. Features & Code-driven Development Problem 1: How to make big changes to a Drupal site’s configuration, without affecting content? Copying the entire database would affect content Copying certain database tables will eventually mess things up
6. Features & Code-driven Development Problem 2: How to keep track of changes to a Drupal sites configuration, in case something goes horribly wrong? Backing up the database is one solution, but not very precise.
7. Features & Code-driven Development Features Module, what does it do? Takes “exportable” site configurations that normally live in the database (such as content types, fields, views, etc) and converts them into a single new module.
8. Features & Code-driven Development Using Features as a solution, workflow: Make your site configurations in Drupal, and export them as a Feature (ie, module code). Commit that code to a version control repository. Make improvements/changes to site configuration in Drupal, & export/commit new code. (Drush makes this very easy!)
9. Titanium/Drupal and Mobile Apps Problem 1: Writing “native” apps for mobile requires different languages iPhone/iPad apps use Objective C Android/Blackberry apps use Java
10. Titanium/Drupal and Mobile Apps Problem 2: Most apps require a back-end with, at the minimum, login/users and some sort of content. Many apps benefit from a synchronized web version. To easily manage the back-end data, you need to write another interface Writing a synchronized web version could be time-consuming as well
11. Titanium/Drupal and Mobile Apps Titanium, what does it do? Create mobile apps using Javascript / HTML / CSS (but mostly Javascript). Compiles them into native software for iPhone/iPad and Android. (Blackberry coming soon)
12. Titanium/Drupal and Mobile Apps How does Drupal help? Drupal acts as a back-end. It stores users/content/etc, and provides a ready-made interface for managing that data. Also gives a nice head-start if you need a web version of your mobile app.
13. Titanium/Drupal and Mobile Apps How to get started Download Titanium. http://www.appcelerator.com/products/download/ Read “Getting started” guide Guides you through installing the rest of what you need (JAVA JDK, Android SDKs, iOS stuff, etc.) http://wiki.appcelerator.org/display/guides/Getting+Started+with+Titanium Learn about integrating with Drupal site http://civicactions.com/blog/sumit
15. Security for Drupal Main points The “Full HTML” filter is dangerous! Only allow for trusted users. Make sure that normal users cannot enter IMG tags or SCRIPT tags into content. Test by trying to enter these into content bodies: <script>alert(‘xss’);</script> <imgsrc=”notfound.png” onerror=”alert(‘xss’);”> Handling strings is key http://acko.net/blog/safe-string-theory-for-the-web
16. Performance for Drupal Reverse Proxy caching Caches pages that don’t have cookies. Happens before Drupal even starts Examples are: Varnish, Squid, NGINX Pressflow installation profile works well with Varnish “reverse proxy”
17. Performance for Drupal Some general Drupal tips: Sys log is better than DB log Statistics module is bad Views “fields” style is better than “node” Use Views caching
18. Honorable Mention Baby Got Backend: Content Administrators are Users Too Great tips on designing interfaces for content editors and administrators http://chicago2011.drupal.org/sessions/baby-got-backend-content-administrators-are-users-too How to Make Awesomesauce Very entertaining! Themer-centered. Learned about Context module http://chicago2011.drupal.org/sessions/how-make-awesomesauce Keynotes Challenges of Social sites – Clay Shirky http://chicago2011.drupal.org/keynote-clay-shirky Intuitive user-interface – Jared Spool http://chicago2011.drupal.org/keynote-jared-spool