The Future of Fields, Drupalcon Boston 2008

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

This wiki page is for the development of the Drupalcon session we'll be presenting in Boston. We have 90 minutes on Tuesday morning; see our session page.

Please edit this page only if you attended the Design Sprint and will be participating in the session. Otherwise, please give us your feedback via comments. Thanks!

Session outline

Each section to be a presentation with a pause for questions before moving on to next section. The early sessions should be pretty quick because most of it is review of concepts already long-discussed within the community.

Presenters are bjaspan, crell, karenS, nedjo. I (bjaspan) have assigned specific presenters to each section; each presenter will create the slides for their own sections. If anyone objects to my suggestions or does not have time to create the slides this week, just speak up. Please create plain, unstyled slides. I'll merge them all together for simplicity during the session (we don't want to have to switch computers, etc., mid-session).

Overview (bjaspan; 3 minutes)

  • Idea for and participants in design sprint
  • Goals and outline of session
    • Goal: to present results of design sprint and get community feedback and collaboration

Need (bjaspan; 5 minutes: 3 minutes presentation, 2 minutes questions)

  • Our vision of Drupal's future
    • Web application development platform; CMS is just one in-the-box app
    • API driven, not form-driven
    • Able to consume and provide web services
    • Able to seamlessly leverage the power of contrib for local and web service data
  • Problems and challenges at present
    • Multiplicity of uneven APIs for object handling (user vs. node, etc.)
    • Binding to user input (form) model
    • Single assumed data store (local SQL DB)

Analysis (nedjo; 5 minutes: 3 minutes presentation, 2 minutes questions)

  • Some steps to achieve the vision
    • Data API: Consistent methods for using local and remote data
    • Data rendering: Ability to output in many formats, not just HTML
  • CCK fields as model
    • Already exemplifies much of what we are aiming for
    • Consistent method for attaching data to nodes
    • Escape the current garbage heap of $node
    • Represents a shift from objects or entities (nodes, users) to their fields as the core focus

Initial goal: minimal CCK-based fields in core (karenS; 15 minutes: 10 minutes presentation, 5 minutes questions)

  • First step: Fields in core
    • Preliminary work in D6
    • Separate directories
    • Split out API from UI
    • API in new Fields module, developed in contrib with aim of core
    • UI remains in contrib
    • Code-level methods for what is now UI-based
    • Still limited to nodes
    • A small number of sample fields converted
  • Next steps
    • Further implementations (convert more core fields)

Further steps: entity models (bjaspan and crell; 15 minutes: 10 minutes presentation, 5 minutes questions)

  • Entity model, providing unified operations for all first-level objects (users, nodes, etc.). Two ideas of how this would work. Begin with what the two have in common, then review each for differences.
    • model 1
    • model 2

Further steps: external data store support (nedjo; 5 minutes: 3 minutes presentation, 2 minutes questions)

  • Existing Services module. Adapt for core?
  • Introduce a parallel Clients implementation?

Concrete tasks and how to help (karenS; 5 minutes)

  • Contributing to CCK adaptation
  • Work on Services and Clients

Discussion (panel; 30 minutes)

AttachmentSize
DRAFT 1: The Future of Fields.ppt35 KB
DRAFT 2: The Future of Fields.ppt135.5 KB
DRAFT 3: The Future of Fields.ppt144 KB

Comments

Thank you, nedjo!

bjaspan's picture

Thank you, nedjo, for this excellent outline. I was planning to write basically the same thing today but you did a better job than I probably would have.

Entity models and external data store

bjaspan's picture

We talked extensively about Models 1 and 2 and how remote data can be attached via fields to Contents or Entities: "Drupal as consumer of web services." I do not recall discussing in nearly that detail about the Services module: "Drupal as provider of web services." Nedjo's outline for that section seems pretty thin, perhaps for the same reason?

I propose that that section is not central to our session, that we should mention it in the Need section but then leave the topic another day. This will give us back 15 minutes that I think will be sorely needed for Q&A on the other information.

However, if one of you is hung-ho about that section and know just what you want to say, then by all means say so.

For now, I've cut to 5 minutes

nedjo's picture

You're right, we didn't say much about this. I'm planning to work over the next two months on what I outlined as "proposed web services clients module", http://groups.drupal.org/node/8867. The ideas come from the design sprint analysis but the details aren't ones that we've discussed. I could briefly present current and planned services support as possible steps toward flexible data source support. Or, maybe better, we could leave this out of the formal presentation, and it could come up as appropriate in discussion.

For now, I've cut it to 5 minutes.

First draft

bjaspan's picture

I just attached a first draft presentation to the wiki page. It has my "overview" and "need" sections, with placeholders for the remaining items.

We have 3.5 days to finish this!

Draft slides updated

nedjo's picture

I've updated the slideset with:

  • Some detail on my first brief section, analysis
  • Some of the draft pointers from this page on Karen's section
  • Some images and screenshots to illustrate a potential interim approach to hooking CCK fields to external data sources, for my second brief section.