The Web Services and Context Core Initiative (WSCCI) aims to transform Drupal from a first-class CMS to a first-class REST server with a first-class CMS on top of it. To do that, we must give Drupal a unified, powerful context system that will support smarter, context- sensitive, easily cacheable block-centric layouts and non-page responses using a robust unified plugin mechanism.
Be sure to read the roadmap overview.
Code can be found in the WSCCI sandbox.
Hot issues
Active issues where we need help:
- Drupal Kernel Patch: This is priority one, based on Symfony2.
- Use Symfony2 session handling: We'll need to improve Symfony2 a bit in the process, too.
- WebSockets: How do we do that in PHP? Or do we?
Key discussions
Important discussions for background:
Recent discussions
Anyone looking at data types, as used by Rules?
I just wanted to raise a small flag for data types, as used by the Rules module.
Very briefly summarized, they work/are used like this:
- Every Rules plugin define which data type it requires, and also any new data types it provides.
- Data types can be nodes, users, unspecified entities, integers, text strings, and quite a few other things.
- It is also possible to specify that the data type is undecided – later configuration will determine what data type is.
- Every data type can also be represented as a list – meaning an array of none, one, or many data entries.
The Core Initiative Trinity
The twin deep-engineering Core Initiatives of Configuration and Web Services have been taking a long hard look at Drupal's basic, underlying architecture of late. We're swirling around three fundamental pieces that should, we believe, revolutionize Drupal core and Drupal development, allowing for a quantum leap in Drupal's capabilities. (Excited yet?) The catch is, we have to get these right. More than that, we need to nail these. For that reason, we're trying to solicit wider feedback on a few key architectural questions. I have tried to summarize the situation and the challenges below, and invite informed, insightful feedback from the community.
The three cornerstones of this new approach are Configuration, Context, and Plugins. All three are things that Drupal core does not, in fact, provide in anything resembling a useful way. We need to get all three of them into core, however, and they need to work together well. The problem is that there are very good reasons for all of them to require one of the others first, which creates a circular dependency. We need to sort out that problem before we can get building.
Read moreREST routing
Last Thursday (5 May) I had an impromptu IRC chat with a number of people about the routing logic we are going to need in Phase 3. We haven't really nailed that down much, so this was an excellent conversation to have. I've tried to capture all of the relevant details below (not necessarily in the order we arrived at them), but those that were present can correct me if I'm wrong somewhere. Further discussion welcome.
Read moreSo what about services ?
For those who followed this thread: http://drupal.org/node/145551 what is the battle plan ?
For those who didn't what are you thought about the subject ?
We have an issue, but no working group about this. I don't want to see this thread last another year !
Read moreShould Butler have the configuration/capabilities to govern services to mobile appications?
Having read the about Butler, and taking into account the considerable thought and concepts already expounded, I'd like to suggest an aspect to the conversation that may prove more relevant over the next 18 months. The consumption of Drupal sites by mobile devices is actively being addressed, but there is also an increase in the number of mobile applications that are accessing the content of Drupal sites directly through services, and allowing mobile users to interact with that content within that application.
Read moreButler object = Service Locator ?
In his article about dependency injection, Martin Fowler makes a distinction between "dependency injection" and a "Service Locator".
http://martinfowler.com/articles/injection.html#ServiceLocatorVsDependen...
Plugin research results
For those who are researching other projects and how they handle plugins, please post your research results in this thread.
Note: If you are not talking specifically about the analysis of other projects and how they handle plugins, please stay out of this thread.
There have been way too many off-topic tangents lately that are only distracting us from the work that needs to be done.
Some off-topic comments have been unpublished. Please stick to presenting reports of other systems and evaluating the pros/cons of those systems.
Read moreCore Context UX
We're exploring user interface design solutions for these two site builder workflows:
Todo: review itangalo's sketches
1. If we have a path of node/$nid, a node type of Student, a Language of German, a browser type of Safari Mobile, and it's Thursday, use response controller X and layout Y.
2. We have this thing here called layout Y. I want to put blocks in it that will render stuff based on context and configuration.
& As merlinofchaos outlines it:
Read moreButler in Chicago
I'm a bit late in getting this out, but such is life when moving and attending a wedding. :-)
We had a good Core Conversation on Butler in Chicago. Sadly Dries ended up not being able to attend, but just about everyone else was on board with the roadmap. The roadmap itself hasn't changed much since Copenhagen, but things are moving again. There was also considerable talk of very, very interesting tie-ins to the configuration/deployment core initiatives, as having a more robust pre-database configuration option should help resolve a lot of the challenges we were looking at.
Slides from the presentation are attached below.
Next steps:
Read moreHandler group is inactive - too be merged
This group appears inactive and defunct - seems like it has the same goals as the butler group and will be merged into that in 1 week.
Read more


