Notes from DrupalCon

I am dumping my raw notes here from DrupalCon in a shameless attempt to encourage myself to go through and structure them:

 

NY State senate website went from Lotus Notes website to Drupal.

Used to require FOIA requests for everything to get info in Albany

Livestream 3 diff types of videos using livestream.com, legislation is all posted, bimonthly web traffic reports (made public)

percent mobile, google analytics, chartbeat

"Senator API"

RSS & iCal feeds for all

Creative Commons for all content

Full video streaming online. 10-person shop.

Need help getting embedded media module ot work better. 

Social Networking engagement, facebook, twitter. 

 

Idea generators? Drupal Digg clone = drigg. Clone UserVoice.com

 

BSD license on all code to start, then put GPL license on it. 

 

Built on Openleg "OpenLedge" Nathan Freitas @nathanfreitas  (built in Java to interact with backend mainframe system)

 

Four Restful apis

 

XML RSS Atom JSON CSV HTML, 2 clients. Interactive voice calling, sms text messaging, iPhone, Android and Smartphone Support, Instat messaging client, twitter notifications, twitter replies. 

 

Mark headd - http://bit.ly/NYSSopenleg

People love online town halls. 

 

Decentralize Social networks.

 

Sharing identity information. How we and others define ourselves. Our social identity changes depending on context. 

 

Using Views (built for block displays) for worklow instead of the contributed workflow moudle, cavotes.org 

node heirarchy for relationship

taxonomy for displays

nodequeue

flag weights

Contexts

 

Another way is using nodereferences & flexifield

Create a node, using flexifield, and each one would have a context (e.g., caption if photo)

 

Planning process - documentation, get approval from clients, started with sitemap & wireframes

 

Using authoring field to assign content, and put it in date order. 

 

Need to use Rules module. Rules+Triggers+Actions as a toolset.

 

League of women voters of California. - Using Boost. 

 

Use Acquia as the stack for installation. -> Mac/Windows/Linux

 

Give an extra laptop with Acquia installer. Give 

 

Web accessibility with Kate Lynch 

 

W3C, WAI, WCAG, ARIA, AT, a11y 

 

Display of various assistive technologies. Who is accessibility for? Everyone.

 

Begin with the end in mind. Navigation, Icons, Clear (squint test). Zen Framework/Tools.

26 Web safe colors, 3:1 contrast ratio, don't use color-only cues, link colors 

 

Actions OnFocus and Onclick, don't just code for one type. 

 

Visual indicatiors, forms marked up well, help text, required is showed, validation errors not confusing. Don't just give the user controls, rather give the user control over the page.

 

Windows power down messages are not accessible!

 

ARIA patches for Drupal 6 available on d.o.

 

VisCheck - outputs versions of site for contrast ratio.

 

Youtube is used for video diaries and as an outlet of expression for users with disabilities. 

 

Heading called status message really good. 

 

Layout is a big problem, some things on far right, some things on left.

 

Option for entering a message was very confusing. "Are we really hungry for it" or doing it just enough to say it is accessible. 

 

 

Accessibility BOF

 

cboyd on drupal.org, from Berkeley

 

John from Stanford. - works for W3C accessibility initiative. talk to him!

 

Charles Belov. Webmaster for SF MUNI! 

 

Kevin Miller - Accessible content module on d.o. CSU Monterrey Bay.

 

Toggle layouts at the top of the page for glaucoma.org

 

Need a way to associate captions to videos in Drupal?

 

QUAIL is an implementation of the open accessibility test from Toronto. -> Accessible content module which extends QUAIL. Every test becomes a node. 

 

Need a rating system for modules on how accessible Drupal modules are. Need standards for Drupal contrib module developers.

 

How about a book, "How to create accessible web content with Drupal"

 

Link back to accessibility resources from drupal.org/accessibility ?

 

A site that says "Help me look at my website through your eyes"

 

How about a group community site that focuses on users with disabilities where they can connect with web developers.

 

Maybe ATI funding. ?

 

David Rothstein, used to work in Education and then became an engineer at Acquia.u

 

Drupal 7 introdcues the idea of context as part of menu array. So then it will appear on the drop-down upper right menus that you specify. 

 

So now there is MENU_LOCAL_ACTION

 

An action is something you can do. A task is a tab and prsents data. Don't be afraid to change your module's URLs. 

 

Now is a #group setting for vertical tabs putting in a group. 

 

foster intra-team communication, uses gira as a task management tool (as opposed to us using sharepoint)

real-time communication is important, the project manager doesn't need to be involved in all the conversations

 

ask the right questions: audience?

 

requirements toolbox: sitemap wireframes, specs, system diagrams, design comps, optional: user surveys, style tiles

 

document integrations with system diagrams

 

present a clean adminstration interface for content editing to get adoption, help text is extremely important

 

real usability testing. 1-4 users, 1 camera, 30 sec interviews, top priorities for users, "uh oh" version first

 

Ask a question but demand only 5 word answers. 

 

Only thing we are really missing is  SOAP Server/Client and Query Exporter?

 

Architecture Governance - Identify Existing controls, assess effectiveness of controls, recommend changes, validate with stakeholders

 

Drupal @ ASU, core service is shared web hosting and contracted development. Core services, help site (like DoiT's site) 

 

Only app they support community with is Drupal. 

 

Territorial site ownership, no incentive to unify, no supported tools, no community. 

 

Velvet glove. a.k.a carrot vs. stick. Make Drupal as attractive as possible. 

 

 

Tactic #1: stick to standard platform + standard environment + standard branding

Tactic #2: Community - web  community, ASU Drupal Users Group, Drupal Office Hours, Training: Lullabot/ASU, Support & Outreach

 

25 Servers w/ ~100 sites each. Core sites all in Drupal. 

 

Hosting Environment, built on "directadmin"

 

Moving into the Cloud

 

Challenges: Change is slow and difficult. Institutional perception. Prove Drupal as legitimate. Focus support efforts. Training. Mobile.

 

Support is handled through tickets. 

 

The shared hosting environment has an installation profile system. Provide packages with web auth module and ASU theme. Want to do installation profiles with AEGIR, just click a button and roll out.

 

They are really not in the business of setting up the Drupal site itself, let end users set it up. 

 

They have an Enterprise environment (intranet) with firewalled/authenticated content.

 

Looking at managed services so don't have to maintain that. 

 

John Hopkins moved from Windows SQL Server/ColdFusion

 

John Hopkins, information project, population information program, INFO for Health and Knowledge for Health. Databases: POPLINE, photoshare, media materials clearing house. 

 

Disconnected silos of information, low budget static websites.

 

K4Health Platform. Use OG Groups, OG Toolkits, Domain Access, Interoperatbility, SOAP and Web services, taxonomy, auto-tagging and community IDs, GSA

 

Several types of environments, one is a simple site for those with no expertise, it's still easier for people to go to HTML.

 

How to do cost recovery? try to recover employee cost from other developments

 

Open Source in cloud

 

Can use power spike information to figure out which model of refrigerator/washer you are using...scary. Google Goggles had face recognition but they got rid of it due to privacy concerns, still scans book covers. IPhone App for speech recognition via Google's speech recognition. 

 

O'Reilly is building a data driven operating system.

 

Microsoft du jour.  (oh yeah Microsoft Active Sync)

Amazon Web Services.

Google apps.

 

OpenData movement will be as important as Open source., data.gov data interchange, CONNECT, part of stimulus bill $20 billion to adopt open healthcare. Code for America.

 

Vending machine gov't? put in taxes get out services.

 

What's changing for developers in D7. Starat with Fields. In D6, Either add a column to the node revision to a table or create your own table and implement hook_nodeapi() to fetch the data. (if not using CCK)

 

schema: how to store the field, widget - how to edit the field, formatter - how to dislay the field, settings - e.g., global or per-instance

 

entities (from nodes, comments, users) - meta objects, high-level object, can receive fields (fieldable), can support revisions, can have several bundles, can have a URI, can have build modes

 

nodes, taxonomy terms, commands, users, ?, are the entities in D7 has save and load but not delete in core

 

contrib module Entity extends the core Entity API. Support for rich classes with methods.

 

See new/old values with a case-tracker (less than 100 lines). Concept is simple but mess to implement in D6. No need for file_upload() anymore, file fields can be attached to comments. 

 

$bundle is a sub-entity type, for node it is a node-type. fields can be several bundles. 

 

currently some things broken in comment api preventing entities from working correctly.

 

everything as a node is a crusade of the past. Rely on views for displaying your entities. Don't use nodes for non-content.

 

Extend existing entities using fields.

 

In D7 field storage is extensible, 1 table per field, but can implement own storage (field storage module for mongodb). 

 

Field revision is a revision of the entity. 

 

Fieldable fields in D7...multi-group?

 

Drupal Commerce module is a rewrite of Ubercart for D7.

 

Testing using the Grinder, Jython. Output in JUnit format (hudson can use, so quickbuild too). Do have a full user form submit.

 

Looks like the tests are standalone, not simpletest? Class TestRunner. 

 

In order to make "load injectors" more efficient, have virtual users wait less than real users. 

 

Varnish hist provides a histogram of response times from backend, can see a graph of how infrastructure performs as the load increases. Shows requests that get through without getting cached. With Grinder can establish upper limit of architecture, load tests show the bottlenecks, and same load tests can show that you fixed the problems. If site offline, Drupal is unable to render, or no slots available, or couldn't do enough queries in time.

 

thing in devel module, which triggers a menu_rebuild, generates many requests. 

 

HTTP Traffic Proportion Analyzer.

 

They actually launched twice and failed both times, and wasn't till the 3rd time when successfully launched.

 

They are thinking about a creating a test framework to release on d.o. , maybe use a base Drupal Class (SimpleTest?! duh)

tool called grinder analyzer

 

Jeff Miccolis and Development Seed - Features & Exportables

Problem with Drupal, solution is features module, how to implement, best practices for doing this, and distributing features

 

Basic problem is extracting the business logic (everything we set in Site Building & Site configuration) from the database. 

 

Round 2 is a PITA. Rebuilding on all dev/stag servers, then rebuild on prod. 

 

code.developmentseed.org/featureserver

 

They rely heavily on drush + SVN

 

Open Atrium is conisder a installation profile. 

 

Recommend Project module. 

 

drush make to assemble a website from exportables and other standards

 

Reg. people see open government diff. than techies, techies see it as "Open Data/Information"

 

Tech Requirements of OGD

 

www.agency.gov/open

Use of "modern technology" / best practices

 

Open data sets

 

Published Open Government Plan

 

FOIA Plan and Information

 

Make everything machine readable

 

1> publish well structred raw data 2>online catalog of raw data complete with documentation 3>machine-readable

 

Enable a two-way conversatin. be proactive. Collect needs/idea from citizens. improve citizen services online

 

Security -> Scale -> Accessibility, deal with politics.

 

As grows, there is going to less community contribution per capita. but improved reputation with exposure to larger audience

 

OpenGov Distrubtion. Similar to OpenPublish. Regulatory and security compliance, rapid site development.\\

 

What Drupal can do for government. Open Data, open source, how Drupal fits these things.

 

Dave Cole, whitehouse.gov Open Source - Open Government

 

Node Embed module, allows for themeing content inserted into other content

 

Aegir in actual use looks a lot like luntbuild/quickbuild. They are running on Open Atrium install profile.

 

Drush is big on make files now, pretty easy to put together, Aegir uses them as well

 

Drush make recursively grabs openatrium make file and calls it. Very much like Phing. 

 

What migrate actually does. Create sql dump. Creates a tarball of that dump, deploys it into a single platform, and then runs update.php

 

1 command installer is available in the dev branch 

Comment using an existing account (Google, Twitter, etc.)