Example module
Used to just live in CVS, now on d.o at project/example
Needs help
Install file
No longer need explicit hook-schema - fields API provides it
Revision control no longer needs to be self-rolled
node-example module defines and invokes 3 fields, bundles up a content type and then creates an instance of type node using that bundle.
Field definitions as a structured array
Cardinality is number permitted of this field
Field type - images in core
Define widgets as part of instances
Define displays as part of instances
A lot of blogposts talking about features recently. It's a wave.
We forget about how good CCK is with its drag and drop
We also forget how hard Views is to understand, but how good it is when you get it
When we show our developers features, they know how problematic config in the database is.
What are features?
They're little cute monsters which come out of eggs. Er, no.
1. Features puts configuration into code
What can be exported: exportables
views
imagecache presets
ctools panels
ctools open layers
rules
blocks (via context)
variables (via strongarm)
Early estimating using prior experience
As you make better estimates the picture comes into focus, and what you find might surprise you.
Forecasts on uncertain specs
Early estimate usually by a single person; in-project done by the whole team
Effort and accuracy - small effort gives you decent accuracy
[We've found this: specs tend to be "fractal" and breaking them down just leads to more accurate small items which total up to very similar to the original estimate]
How made?
Spreadsheet
and dedicated developer
1. Timebox work beforehand
Usually writes operating systems, but writing
"Never argue with someone who buys ink by the barrel"
Content production not new. Not a lot has changed. Text, images, get it together and deliver and replicate. Now we do it with computers, not humans.
Content creation needs
input methods
flexibly typography
cross-referencing
composition rules
user-generated content
Used to be printing needed massive amounts of weight
Now with "the Heidelberg wing" much lighter.
Varnish delivers content fast and reliably.
100,000 requests per second
Setting goals
"Get ready to dance with the elephants" - that happened
Capgemini intranet - Royal Mail
95,000 employees
$9 billion
Been meeting a number of companies
Turner Broadcasting (Ted Turner)
Working with e.g. Lullabot so people are tangibly benefiting from them moving to Drupal
Problems: Config mgt, Code staging
Everyone has this
NY Stock Exchange
Pulled plug on expensive project with closed-source CMS
trying to hire 50 Drupal people
REI Systems - prompted by govt Drupal adoption, hiring lots of Drupal people
Drupal unstoppable (?)
Your own site - you have a duty not just to your data and your users, but also your casual visitors - untrusted sites rapidly get blacklisted by the Internet as a whole
APIs - if you use "known APIs" [what does that mean?] you have security "guarantee" [what does that mean too?] but not if you use other functions.
Resources - drupalsecurityreport.org Cracking Drupal (book recommended by webchick, tech ed by chx)
Across all apps XSS is the largest vuln overall; SQL inj is the next
In Drupal XSS is by far the most common vuln - themers should be most worried
Really Drupal tips. (Rich: turned into an Agony Aunt session!)
Theming the same content type differently in different locations is hard. But Display Suite is a replacement to Panels that can help.
Can use Panels for complex layouts, but not recommended as a complete replacement for blocks. Any alternative to Panels welcome.
Node Composite alternative to Panels. Easy to use.
Rich: Display suite + context nicer than Panels? Definitely need to try that!
Wordpress began as a blogging platform. Best for single-person and small company sites. Can now manage a multi-user network of many sites.
Five-minute installation (but see Hagen's talk) and easy upgrade. Also one-click plugin upgrading
Wordpress spinoffs - microblogging, bbPress, BuddyPress, Gravatar. WP not intended for large scalable websites (although it can do it) but it has more flexible uses.
"Wordpress community involvement? in Drupal sometimes hard to understand how features get into final release. Same?"
Typo3 features
Typoscript is NOT a scripting language. A configuration language. Learn a config language before using the CMS? thinks it's worth it.
Template view- looks like RegEdit! Creating a hierarchical menu - using scripting. Also things like creating users.
List module, like basic Drupal views, but has multiple editing built in.
Templating module, assigning templates to the subpages of given pages. Flat HTML. Define structure in interface. Map fields to... tokens in the templates? This is like blocks in Drupal.
Joomla, Wordpress and Drupal
Hagen Graf (writes on all three)
What site is what platform? Hard to tell. Katy Perry, Atlantic Southeast Airlines, Schweizer Illustrierte, etc.
"Have to show us the source!" So does it matter?
Drupal has no showcasing, unlike J and W.
Try to download Drupal 7... Hard to find.
Huge number of modules
Google trends... all except W going down gently, W pretty flatlined.
All three: installation to a content type with an image.
Joomla - smooth, will even create db. Slight glitch removing installation directory. Sample data.