With only a few days to DrupalCon Chicago, what better time to launch our traditional battle plan discussion. It is time for us to start talking about Drupal 8. If you plan to work on something, or if you are going to contribute to Drupal in one way or another, please share your "personal battle plan" in the comments. A "personal battle plan" is a summary or itemized list of things you are going to work on during the next 12 months or so.

Important guidelines

In this thread, we are only interested in what you plan to contribute, and not what you'd like other people to work on. This is not the place to request features, to talk about implementation details or to discuss Drupal's general direction. This thread is meant to be a collection of things people are actually going to work on. If you are not going to contribute to Drupal 8 development, don't post any comments. Thanks for your understanding.

Comments

agentrickard’s picture

Fighting creeping featurism while cleaning up core APIs.

dave reid’s picture

Hear hear!

mikeaja’s picture

Yes, agree.

How do you plan on fighting feature creep? I would certainly join you in that.

philbar’s picture

We really need to leverage distributions to fight feature creep. Make it easy to find good modules by having officially supported modules and then let users add their own modules rather than relying on them coming bundled with core.

See this issue:
#908022: Small Core / Drupal Distro

VerdaD’s picture

Agreed, I think targeting distributions would be the best route to go of course the only thing that *could* be a problem is what some people refer to as "censorship" of modules which I have seen happen with other smaller and less popular frameworks but I highly doubt that would ever be a problem with drupal or the community.

iantresman’s picture

>How do you plan on fighting feature creep? I would certainly join you in that.

Wouldn't a more flexible integrated core do that? CCK, Views, Actions, Rules, & templating can almost do lots of things, and modules add what they can't do. Then modules would be replaced by "configuration" files that configure and simplify CCK/Views etc for the novice, with an Advanced tab for people to customize them further.

I would throw out nodes, blocks taxonomy, etc, and replace them all with configurable CCK fields/Views etc.

Crell’s picture

Not surprisingly, I expect my focus to be the Butler project. I'm also talking about it at DrupalCon Chicago. See those links for the gory details, but in short: unified context system, unified plugin system, reversed page building flow to approximate "Panels and Services in core", unicorns, and puppies (in that order). We'll see how far we get. :-)

As time permits, I also have begun exploring ways to revisit how hooks work for greater performance. Drupal is still fundamentally architected for Drupal 4.5 circa 2004. Modern Drupal is a lot bigger, and that means we need to reconsider some of our underlying assumptions.

So yeah, expect me down in the plumbing again. :-)

--
Larry Garfield
http://www.garfieldtech.com/
Thinking Functionally in PHP: https://leanpub.com/thinking-functionally-in-php

mechler’s picture

I missed the talk at Drupalcon since it conflicted with another talk going on iirc, but I was interested in reading up a bit. I noticed that the group is unavailable. Is that intentional or -- ?

Web Developer, Iowa State University College of Veterinary Medicine

mlncn’s picture

timmillwood’s picture

The one thing I would like to see sorted in Drupal 8 and something I am happy to lead / take part in is node previews.

Currently when authoring a node the preview button just outputs the not content above the node/add form in the admin theme. The preview *should* display the full node as it would be seen by the user of the site, in the site theme, with all blocks and all field content. Ideally this should be in a new window / tab.

lelizondo’s picture

That would be THE feature.

Luis

agentrickard’s picture

timmillwood’s picture

Thanks Ken, I'll get Page Preview module installed and see where I can help with the port to D8 core.

les lim’s picture

It's available now on git.d.o (branch 7.x-1.x) or on the project page whenever the packaging script runs next.

gdd’s picture

I plan on focusing my core work in Drupal 8 on the staging and deployment problem, with the goal of enabling a workflow in which any part of your Drupal site (content, configuration or other) can be moved between environments without concern. Please see the related core conversations in Chicago for more details.

I also plan on helping Larry in the Butler implementation, particularly in the places where Butler and web services coincide. Hopefully this will result in portions of the Services and RestWS modules ending up in core, enabling a wider variety of response formats and making mobile app interaction much easier.

Oh and ponies.

dixon_’s picture

I'm going all in on working for an export API in core, or what ever is needed to make staging and deployment to work better in Drupal!

andypost’s picture

I'd like to invest some time to it.

domidc’s picture

+1 I also would like to invest some time into this problem. Where do we start?

drnikki’s picture

I'd love to be a part of the staging & deployment conversations.

mfer’s picture

Drupal has really scaled up the amount of JavaScript in use. As such we need to bring in some new patterns to help with the scaling, modularity, and more inside our JS. In addition to these we need minified JS and some standards.

The other element I want to work on, though I'm sure I'll touch on others, is performance. We need Drupal to run faster on shared hosting. Drupal 7 is the version that scales. Lets make Drupal 8 the version that performs. To do this we will need to make some architectural changes.

mikeytown2’s picture

I won't be at drupalcon but I am working on CSS/JS aggregation in D6. Still needs some tweaks but it's getting a lot closer. Once this is "done" I think it would be a good candidate for core.
http://drupal.org/project/advagg

dave reid’s picture

I *really* want us to take second looks at our API

Crell’s picture

A lot of our "APIs" need unification. Instead of a dozen different APIs, we need a dozen applications of the same API or API pattern, with consistent and clear reuse of underlying code.

--
Larry Garfield
http://www.garfieldtech.com/
Thinking Functionally in PHP: https://leanpub.com/thinking-functionally-in-php

pwolanin’s picture

catch and I talked about entity API at Drupalcon in the core track and also API unification across all entity types of the basic API. Given how badly this has been needed for several years, I hope we can tackle this kind of cleanup rather than actually adding bloat. I'd like to see Drupal 8 core have less code than Drupal 7 (at least excluding install profiles).

---
Work: BioRAFT

jensimmons’s picture

A whole group of people have been working on HTML5 since July 2010.
http://groups.drupal.org/html5
http://chicago2011.drupal.org/coreconv/let-s-html5-ify-drupal

The plan: Work out how core should implement HTML5 forms and markup in the HTML5 Tools Module and HTML5 Base theme. And then put Tools and Base into core.
http://drupal.org/project/html5_tools
http://drupal.org/project/html5_base

Jen Simmons
The Web Ahead
http://jensimmons.com
http://thewebahead.net

geerlingguy’s picture

With you there.

__________________
Personal site: www.jeffgeerling.com

amateescu’s picture

I also want to work on getting html5_tools and html5_base into core.

jbh5000’s picture

Has there been any progress on this?

amateescu’s picture

This is where to start if you want to help: http://drupal.org/community-initiatives/drupal-core/html5

attiks’s picture

1/ Adding validation framework (including basic rules) for fields and FAPI, so contrib can build on this in a consistent way for adding more custom/complex rules

2/ Optionally add support for client side validation (http://drupal.org/project/clientside_validation), at least make sure we can do it easier in contrib by providing the right theme functions.

attiks’s picture

Add user revisions to core, and maybe even something more general aka entity_revisions so we can use it for node, user, taxonomy, files, ...

rszrama’s picture

Unified entity revisioning would be spectacular. That could be an improvement as drastic as #ahah vs. #ajax for that specific part of the entity API.

andypost’s picture

Another part of Common Drupal Workflows

fgm’s picture

http://drupal.org/project/user_revision

I'd be tempted to include support for a more generic user account workflow mechanism, like the user_workflow we presented at DC Copenhagen.

Chris Charlton’s picture

I know there's a lot to SEO but I always found it odd that META tags for nodes/elements weren't ever in Drupal core. I'd be willing to help supply a patch but I do not contribute or maintain the SEO/META modules used for this so I don't want to step on any toes but I'm always willing to help progress Drupal and would volunteer my coding fingers for this.

Chris Charlton
Manager
LA Drupal
Drupal Author
Published since 2007
agentrickard’s picture

They were in core and were removed. Check the history logs.

Drupal 4.0.0, 2002-06-15
------------------------
- added taxonomy module which replaces the meta module.
geerlingguy’s picture

THAT is an interesting bit of history. Incidentally, it would be awesome if we could integrate taxonomy with Meta tags a bit more. It'd be nice to be able to have a little SEO package for Drupal - something like Meta module, Page Title, and Global redirect all rolled into one.

__________________
Personal site: www.jeffgeerling.com

dave reid’s picture

Global redirect != Meta tag

We are slowly heading that way:
Metatags will be the end-all meta tag solution
Redirect will be the end-all redirect solution

Plus I'm also agreed with Ken. Search engines are getting smart that with a modern CMS like Drupal that meta tags (as most people know them - keywords & description) are barely necessary if at all.

geerlingguy’s picture

No, but some of the global redirect things are so simple and SEO-specific (especially deslashing and forcing an alias for a node), that it is essential. Meta tags are absolutely essential on most sites I run - especially for defining canonical content pages, descriptions (on some pages), and allowing users to specify some other metadata from time to time.

The metadata module as it existed in D6 was huge overkill for me, but at least it touched all the bases.

__________________
Personal site: www.jeffgeerling.com

giorgio79’s picture

NOINDEX and NOFOLLOW meta tags are absolutely essential for taxonomy list pages with teasers, to weed out on-site duplicate content. After setting those, the traffic from Google doubled on one of my sites.
Search engines may be getting smart, but they are also getting mean...
Meta Tags is the most essential SEO module one can have.

kika’s picture

afaik meta.module was not about meta tags, it was about categorization http://drupalcode.org/project/drupal.git/blob/64ce2fb5fba4d399584c3c873b...

stuchl4n3k’s picture

That creeps the features hell out of me! Please understand, that some of us might not need any SEO or meta tag support at all in Drupal - that should definitely stay as a module-driven feature.

ogi’s picture

I've just released the first alpha of File Cache for Drupal 7. I believe this is important performance feature and I'd like to see it in Drupal 8 Core. Its benefits are not only in shared hosting scenarios because memory and network filesystems can be utilized for caching too.

steve.colson’s picture

I would love to see proper access control list support on entities and fields. Something more in line with POSIX ACL support, or at a bare minimum CRUD perms per object, would be a large win for those in the enterprise.

Crell’s picture

There was some work toward improving the access system in Drupal 7: http://drupal.org/node/381584, inspired by this blog post: http://www.garfieldtech.com/blog/hierarchical-acls Sadly it didn't really mature in time to get into Drupal 7, but I would *love* for someone to pick that up and run with it for Drupal 8. I would bug I'm going to have my hands full with Butler, I suspect. :-)

--
Larry Garfield
http://www.garfieldtech.com/
Thinking Functionally in PHP: https://leanpub.com/thinking-functionally-in-php

kattekrab’s picture

I want to advocate for Small Drupal Users, and make it easier for users and site admins to get the most out of Drupal, and take their first steps towards contributing.

Dries has mentioned the tension between making Drupal great for great big sites, and focussing on scalability, deployment etc - (Critical and important and wonderful work) but also keeping an eye on what small sites need, and those small sites generally don't have a team of Drupal developers, and can't afford to hire a top-tier Drupal shop.

I'd like to see Drupal be the number one choice for open source project websites - and not see them wasting developer time on their website, instead of their project.

I'd like to see Drupal be the number one choice for communities that want to get on the web and maintain their web presence. We need to make it easier to setup and host drupal sites on low-end hardware and make the information on how to do it as straightforward and easy to find as possible.

That's what I'd like to work on for Drupal8.

ardr’s picture

I'll second that.

Having set up a small website for a leisure activity group, partly as an exercise in learning Drupal, I'm now faced with the challenge of how to train somebody, who may not be very technical, to maintain it without a lot of hand-holding.

Please don't take this post as a gripe: I'd like to see Drupal become more widely used.

In connection with 'small' users, I'll also second the earlier comment about shared hosting systems - something that a Drupal 'Lite' could be aimed at, in terms of the typical limitations of such environments (memory, CPU etc).

KR

Alan

mokko’s picture

I will be a bit personal. My case is just one example, but i am sure I am not alone. There are too many Drupalistas out there.

There is a Dries Blog where compares he compares Drupal to WordPress using GoogleTrends. Has anyone looked at it lately? (http://www.google.com/trends?q=drupal,+wordpress)

Drupal is way behind. The launch of Drupal 7 doesn't even make a spike! How can that be? But this has a reason. Drupal has become one of the open source solution for big and complex sites. It is developer fun, absolute great developer community! But it is too complex for your average little blog site.

I think this is no accident. This development is
a) because there is wordpress and it is pretty good at what it does and
b) there is a market (=money) for Drupal in the place where Drupal has gone.

The problem is that this is not good for me. I put in many hours in Drupal, but now it requires me to do always more. I don't have so much time. I should just switch, and possibly I will. The problem is that Drupal requires shops, maybe not that big, but shops nevertheless and not individuals to run several little uncommercial drupal sites.

I think that the situation may have been the same when I started with Drupal. It was 6.4. It was the time when sun fought for some common sense functuality (wysiwyg, Image), but the outlook was different. The idea was Drupal can do everything. That was the promise under which I operated. And it is still true, but it is not economical. Drupal grew so big that now you need a server specialist to speed things up, a themer etc. Now we have D7, but still no wysiwyg solution that works more or less easily. I like to write in google mail, but I hate to write blogs in my Drupal sites. Probably there is a way around that, but it takes way too much time. Now you need specialists for everything. I still haven't looked enough into how D7 handles image. It might be capable, but it is not easy.

I believe that Drupal needs to be one or several profiles for simple sites to compete with Wordpress. But profiles have still not taken off. But who pays for this? Can there be a community development or is there not enough market (=money) for them?

Conclusions
a) So, Dries, if you read this: please be honest in your Chicago speech. If Drupal is becoming a tool to build complex sites, then please acknowledge this, let's leave the ideal behind us that we have to create a universal Drupal.
b) Profiles are the solution you envisage for the problem of diversity. I think your model might be Linux which has been surprisingly good at doing pretty much everything over the years. Of course Linux is not the market leader for everything (but for servers), but still: it really can do almost everything ok or even better. Anyways, Drupal profiles don't really work. After migration to git, this should be the big priority. If Durpal is still supposed to be universal then this is important.
c) How can we stimulate small drupal profiles?

mikeaja’s picture

I'm not sure Drupal will ever cover all those basis.

Joomla does that, but suffers from it also due to the segregated community. As good as Drupal is, I honestly do not see it as able to be a non-developer tool, and I don't think it should become that.

I also think encouraging a small business to develop or have a site developed in Drupal without using a Drupal developer will likely cost more in the long run. I've seen too many businesses make the mistake of wasting hours on creating a site that in the end doesn't work anyway.

I do think Drupal can be encouraged for small businesses, but not as a 'developer free' tool. A good website developer is not just there to make Drupal work, but also as an expert in the concept of the website (maybe along with a designer).

Regarding Drupal for communities, I do not see this as a core 8 issue. We have Drupal Commons anyway, plus these things should be add-on modules, otherwise we will see Drupal fall into the 'feature creep' trap.

Just my thoughts. I think Drupal's great strength is extensibility, which means it should start light.

einkahumor’s picture

Aren't Installation Profiles with proper documentation (including user training videos) the easiest way to accomplish all that? There's really nothing that says readymade small-business websites and community sites need to be a part of core (I agree that they shouldn't) but using Installation Profiles, we can easily make Drupal a lot more appealing to small businesses on a low budget. Actually there's no reason to wait for Drupal 8 for that.

a.ross’s picture

I can imagine myself working on this issue: #481560: Provide proper AJAX URL resp. base path depending on context
We shall see if RL allows me.

Peace to those who follow the guidance.

sepla’s picture

Mainly I plan to work on Drupal calendar localization and I hope to see the required patch in core. See Calendar Framework and jQuery Calendars which might be merged into a World Calendars module, soon.

sinasalek’s picture

I had a look at your module on github seems that you're pretty much serious about it. since i'm too busy too continue the development of calendar systems effectively , i'm looking for a maintainer. Would you like join?

sina.salek.ws, Software Manager & Lead developer
Feel freedom with open source softwares

aaron’s picture

Let's give some love to the still neglected File & Media system. I'm heading up a brainstorming session at DrupalCon to bring fieldable media / file entities to core, and plan to put in some work over the spring & summer in that direction. We need to finish up the excellent start in Drupal 7 of overhauling the File and Stream Wrapper API, so that it's elevated from its orphaned state.

andypost’s picture

I'd like to focus on forum and blog UX in context of Butler

Also cares about caching #636454: Cache tag support

catch’s picture

Performance and scalability

In that order - since Drupal 7 made some very good advances with scalability, but is a lot more mixed in terms of performance.

As well as working on specific issues and broader refactoring, I also want to help get better processes, tools and documentation in place to prevent regressions and make performance knowledge more generalised in the community. Almost every line of code that gets committed has potential performance ramifications, and a few performance specialists trying to cover things doesn't cut it.

Some specifics are in the queue tagged with performance, I also started the beginnings of a series on the bigger picture.

API cleanup

- Improvements and cleanup to the entity API. I think this is on a lot of people's minds, which is great.
- Refactoring system module and /includes
- Improving the caching API and adding a cache invalidation API.

I'll also be continuing with code gardening.

coderintherye’s picture

a11y improvements (e.g., https://drupal.org/node/447816)
Helping eager new code contributors become patch creators and reviewers.

Continuing to evangelize Drupal (cause as sexy as Druplicon is, we still have to market the product)

mike503’s picture

Keep it lightweight.

Don't try to put too much into core. Only make it a basic framework and use modules to extend. Don't bloat core too much.

Drupal 8 should focus on keeping a small footprint but still provide the hooks. Look at any "specific" functionality bundled into Drupal that shouldn't.

Should it ship with Forum by default? Why have a basic forum included in core, instead of through modules?
Should a node require a title? Can't it be abstracted into fields?
etc.

michelle’s picture

Keep in mind this is a battle plans thread, not a wishlist. And this is an argument that's been ongoing for years and doesn't need to flare up again in this thread.

Edit for clarification: This post was in response to a post that is now unpublished.

Michelle

dww’s picture

I unpublished the comment Michelle was replying to. Let that be a warning to the rest of you. ;) Wish-list requests will be unpublished on sight. If you're not talking about what you're planning to work on yourself, please talk somewhere else.

Thanks,
-Derek

___________________
3281d Consulting

coderintherye’s picture

I'm confused are you replying to my parent comment? If so, could you please explain how that is a wish list? I posted the specific patch I'm working on along with my continued plans to evangelize Drupal.

michelle’s picture

My response was to a post that he then unpublished and added a warning about. I guess it's a bit confusing if you cant' see unpublished posts.

Michelle

coderintherye’s picture

Are you replying to my parent comment? It appears that way, but if so, I don't understand how it applies to my comment where I outlined my specific plans.

jose reyero’s picture

Once again I will try to get some more 'translatability' into Drupal core. While I think content translation and translation workflows can be better developed in contrib, there are some features we absolutely need to have in Drupal core. These are:

- Translation for user defined strings, by extending the locale API to handle 'named strings'. This may be worked out as an extension of the 'context' idea.
- Multilingual variables. Also I'd like to attack (again) the problem of a Variables API in general, but this time we have some working approach in contrib, pretty much what I'd like to have for Drupal core, http://drupal.org/project/variable

And I'll also try to help with anything that makes Drupal smaller, not bigger, better APIs, smallcore.

drunken monkey’s picture

I plan to concentrate on improving (or completely rewriting — of course, neither of those alone) core search to be a more flexible API, strictly separated from the default implementation in core.

- g.d.o discussion
- Core conversation at DrupalCon

jhodgdon’s picture

I plan to support drunken monkey in this effort by providing critical reviews of patches. Given my other volunteer responsibilities in the community, I probably cannot commit to more that that.

te-brian’s picture

After having written a Sphinx-based search module from scratch (I didn't like the views dependency of searchlight) I'd love to chip-in / discuss / help test this. My goal would be to allow for a sphinx back-end but a core/more integrated front-end.

vkareh’s picture

I will be working on a unified Values API. Just like we have fields that are abstracted from the node types and are reusable, value sets (e.g. Allowed Values, perhaps Taxonomy Terms) should also be reusable, pluggable, and managed through their own API, rather than an arbitrary textarea.

I've already done some contrib work for this in Drupal 6.x and I'm in the process of porting it to Drupal 7.x. My battle plan is to port this for inclusion in Drupal 8.x core.

wapnik’s picture

I will try to provide means of "selecting" something in the user interface to appear on a list of things of that kind somewhere else. Sounds kind of confusing :) In other words something like a slimmer Selector in core.

sinasalek’s picture

I'll try to port calendar system or at-least its require core patches to Drupal 8's core
http://drupal.org/project/calendar_systems

sina.salek.ws, Software Manager & Lead developer
Feel freedom with open source softwares

jhodgdon’s picture

We really need a better help system. I started an issue already:
#1031972: Discussion: What would a better help system for D8 be?
I plan to do some of the work at least on this issue (beyond the requirements gathering that I've already been working on), but (reality being what it is) I will not be able to do it alone, and there are quite a few pieces that will be needed.

We're having a core conversation on it in Chicago:
http://chicago2011.drupal.org/coreconv/help-needs-help

dasjo’s picture

i'd like to second the need of a better help system.

my proposal of #1056202 adopting localize.drupal.org infrastructure for drupal documentation is tightly related to the approaches jhodgdon and arianek are discussing.

looking forward to the outcomings of the core conversation and to helping out where i can

effulgentsia’s picture

  • Simplifying and unifying our APIs.
  • A multi-format, multi-device rendering pipeline.
  • Improvements to FAPI and AJAX for better handling of modal wizards and other advanced interaction flows.
  • Improvements to the theme system to make it make more sense to designers and front-end developers, and fit their workflows better. This ranges from several easy issues that we failed to complete for D7 to a new round of architectural thinking about how to make render/theme manipulations more rule based.
  • Generally help out in the issue queue, trying to prevent issues from getting stuck or languishing from lack of attention.
donquixote’s picture

EDIT:
This post does not exactly describe what I am going to work on. So it probably does not fit in here.

What I can say: When the namespace bikeshedding has found a direction, I will probably contribute in one way or another. At least I'm going to participate in the bikeshedding.

dww’s picture

A) Meta: help massively improve the D8 development process and our collaboration tools. In particular:

B) Continue to try to maintain the Update manager in core. Lots still to do. Ideally:

From experience, I know most (all?) of this will not happen unless more people decide the Update manager is important and contribute real resources to its further development. I can help by providing direction, detailed reviews, and some of the code, but I can't write all of this myself in my "free" time, especially not with all the other responsibilities I have...

C) Help API cleanup efforts. I believe the goal needs to be clearer/cleaner separation of Drupal-the-framework and (a set of?) Drupal-the-product(s). This money quote from eaton perfectly expresses the problem:

... until they treated Twitter.com as a web application built on top of their API, other users of their API would always be second-class citizens.

D) Cheer on (and when possible, help) the Butler effort.

E) General help in the issue queue (giving detailed reviews, triage, helping unstick things, etc).

___________________
3281d Consulting

dreamleaf’s picture

I'm going to make Drupal Beautiful, currently on the planheap are themes, icons and design templates.

I'm also really wanting to get a good theme repository on D.O.

podarok’s picture

My points

localization
speedup
large systems integration (cms,erp, e-commerce)

---------------
Andrii Podanenko
CEO, ITCare

soyarma’s picture

The blocks page needs a shot in the arm. If you get a heavy number of blocks on that page, the browser fails to load/render/use all the JS and when you hit submit you lose all your block orders. That page needs the ability to filter by region, archive disabled blocks, search, all sorts of things. Blocks also need revisions, and the ability to integrate with workflow and rules.

I'll help with whatever efforts are planned to get things like path redirect, global redirect, page titles, and other SEO efforts into core, that stuff is beyond key--we can't have a default install that breaks many key SEO guidelines.

But dearest to my heart is the need to move toward a unified revision system. Coming from enterprise deployments of Drupal we typically had to launch new nodes, node revisions, new blocks, theme updates (typically via svn), css/js injector changes, view updates (typically via features) and other things to make even monthly promotional site changes go live. A unified system for setting up and managing these revisions is key.

Oh, and helping to move toward guids.

fago’s picture

Generally, I'd like to work on improving the entity API in core based on my experiences with entity API module. Some points are
* Improve the entity API to handle full CRUD and unify existing stuff to make use of it.
* Introduce a common entity base class and improve the DX for dealing with entities (no $entity_type, $entity any more)
* If time permits, establish a common place for entity property information and unify access to entity properties regardless whether they are fields or not.

yched’s picture

Points of interest in order of priority
(although I can't really plan to work on any of those all by myself) :

API for "long running processes" (house cleaning tasks, mass data update, schema refactoring / migrations)
- Unify Batch API and (Job-)Queue API : turn the 'batch progress bar UI' into a mere consumer of queued jobs, amongst others (cron, drush...)
- Figure out the paradigm impacts :
functions that you cannot be sure have done their job yet when they return;
difference between blocking processes (site unusable or 'incomplete' before job is finished) and background processes.

(no existing issue # that I can remember)
Might include something like getting http://drupal.org/project/queue_ui in core

OO rewrite of Field API
Will probably highly depend on Butler's "unified plugin system" (wink @Crell)
Group brainstorming highly needed to figure out the correct OO model (field / instance / value).

http://drupal.org/node/1032850

Rework the "entity display" API (and UI ?)
- Formalize an API for entity "components" ("Field API" fields, "extra" fields, groups...), with the ability to have formatters and settings.
- Introduce "Displays" as a standalone (exportable) animal, that encloses display settings for an entity's components with order and settings. No more spreading this info between N field instance definitions + a serialized array in the {variables} table for non-fields + data in the {field_groups} table + ...
- Question convergence points between Views' "field display options" and Field UI's "Manage display" UIs

http://drupal.org/node/367498
http://drupal.org/node/1050664#comment-4052376
http://realize.be/comment/1372#comment-1372

Raf’s picture

http://drupal.org/node/988192#comment-3847954

That's a tutorial I wrote some time ago on combining the Batch API and the Queue API. Dunno how far you are in your project, but it might help.

mikeytown2’s picture

The crawler in boost already does this with multiple processes & can do it on shared hosting; no browser/drush needed.
http://groups.drupal.org/node/126624

Looks like I'll be checking out http://drupal.org/project/drupal_queue in the near future.

eaton’s picture

About a month ago I wrote up a pretty detailed outline of my battle plan for the upcoming release. To quote:

  1. Missing APIs: Some of Drupal's most pressing blind spots could be filled by providing a unified "Context" system and exposing all Drupal entities via a RESTful interface.
  2. Deployment: The pain of managing, deploying, and sharing Drupal solutions can be dramatically reduced with universally unique IDs for all Drupal data, and a standard system for importing, exporting, and overriding those items in code.
  3. User Experience: The work in D7UX can be extended by documenting and simplifying the use of common UX patterns like color pickers and draggable blocks, while a streamlined "Focus on the post" theme would act as a compliment to Bartik's swiss army knife.
  4. A Real Profile for a Real Use Case -- Tailored to an actual audience, Drupal's default install profile could empower users with no site-building experience, free the drupal UX team from the tyranny of one-size-fits-all workflows, and reveal areas where our assumptions are crippling other solutions. Rather than "dumbing down" Drupal it should provide an example of what a built-out site looks like, how Drupal's pieces work together, and provide a 'gateway drug' to the wild world of Contrib for those exploring site building.

None of these items are simple -- each one would be a huge undertaking for any development team. Over the past decade, though, our community has proven that it can do amazing things. Teams of passionate developers, designers, and UX experts have already been working on many of these tasks: working with this plan would simply highlight and prioritize the work that's already going on.

In addition, coordinating efforts between these three major areas will help bring balance and a compelling narrative to the Drupal 8 development cycle: outside observers will know what we're shooting for, why it matters, and what the promise is for those outside the Drupal development club.

This is where I'll be focusing. How about you?

The concept of the focused install profile - currently being called 'Tsunami' - has gotten a lot of traction already. There's a groups.drupal.org section set up for it and we'll be conducting a BOF session at Drupalcon on Thursday to coordinate further work.

--
Eaton — Partner at Autogram

vladsavitsky’s picture

I'm interested in improving installation profiles and maybe node's edit form improvements.

Sree’s picture

would like to join my hands on extending 'features' for practical scenarios.

Also, interested in incremental DB related stuffs as well.

-- Sree --
IRC Nick: sreeveturi

Andy Britton’s picture

I'm also going to try and push the boundaries of Drupal theme design by contributing themes for the community to help with the efforts of making Drupal more beautiful. In comparison to other CMS' I feel Drupal needs to "up the peg" design wise which I hope to help with and bridge the gaps.

It's all about flexibility, practicality and beauty.

iantresman’s picture

Agreed. The first thing people see when they assess Drupal, is how it looks. If it looks good, people think it is good. Other CMS's have full-colour themes, and pretty icons in their Admin screens, out of the box.

hunziker’s picture

My plan for next months:

1. PDF Views (direct generating PDF form Views)

I want to increase the support for PDF output (quality and performance) in Drupal. I choose a different approach to do that. You can find more information about my progress and ideas here:
http://drupal.org/sandbox/hunziker/1084012

2. Meta MVC Pattern

In modern web application you have often a so called Model View Controller (MVC) pattern. Drupal has not direct implemented such a pattern, but on the meta level there establish something very similar.

One of the strengths of Drupal is the possibility of parameterizing much of the applications. This implies the usage of meta models. Such meta models decrease the developing and maintenance costs of an application. This happens for each of the three components of the MVC pattern separately.

You have the entity API introduced in Drupal 7; this is a kind of modeling a Model. This part of the meta MVC pattern is relatively well established and therefore also a part of the Drupal Core. The Views part of the MVC pattern is delivered by the Views module. This part is also stable and widely used and therefore it becomes maybe a part of the Drupal core.

The last component of the MVC pattern, the controller, is not yet fully established. There are several modules that try to accomplish the parameterizing of the control flow of an application.
Example:

  • Rules module
  • Trigger module
  • Workflow module (Drupal 6)
  • Maestro module (Drupal 7)
  • and some others

But here is some open space to do a better parameterizing of the control flow of an application. For that reason I will spend some time to enhance this part of Drupal and come over with a new approach to solve this.

mikey_p’s picture

A common theme has been 'API Cleanup' and I think alot of this is going to come down to our default entity implementations and how well they work. I'm planning to work on unifying the base entity controller that core provides, adding better support for revisioning and possibly even making entities into instances of their own class (maybe even with methods). I've been able to accomplish this on a limited scale in contrib for Drupal 7, so I think this is a realistic goal for D7. After we enable all this, I'd like to see core entities converted (one at a time) to use these new APIs/features. $node->save() anyone? I think it's time we give it try.

The biggest problem with this, will be the reason that our APIs are currently in a state where they need 'cleanup' anyway: backwards compatibility. While it's nice that contrib modules can implement clean interfaces now, I'd really like to be able to use the same features with Drupal core.

donquixote’s picture

EDIT:
This post does not exactly describe what _I_ am going to work on for D8 core. So it probably does not fit in here.

What I can say:
I am going to participate in discussions about more permissive backport policy and "forward API extensions" added to stable branches. The decisions need to be made by others. When a direction on that is settled, I will probably contribute in one way or another. If this counts for this thread - probably not.

IgorPr’s picture

Propose. In node_load add a parameter that would indicate which fields to retrieve. This optimization will save memory in the development of modules.

Example: node_load($nid, array('title', 'created'));

yasheshb’s picture

pretty useful feature, especially if the node has many fields.

how would one go about implementing this ?

- ensure all modules that implement nodeapi (op='load') respect the field list that is requested ? or
- the node module would perform the filteration of fields after invoking the hooks for loading a node ?

initial thoughts.

yashesh

Yashesh Bhatia

Raf’s picture

The filteration doesn't seem to be a good way of doing it. Hook_nodeapi (or its split-up equivalents in D7) are ran after the data's been retrieved from the database. It's alot more useful, performance-wise, to do the filtering in the query. Implementing that in node_load shouldn't be too much effort.

The biggest problem, as I see, is as you said: ensuring all modules implementing hook_nodeapi (or its split-up equivalents in D7) respect the requested field. With hook_nodeapi, it'd be tricky. With the split-up way in D7, I don't know, since I don't have any experience with that. Might be worth looking into how it's being handled there, as it might as well solve this problem already.

mikey_p’s picture

Unless you are planning on working on this feature, this post is off topic for this thread.

WorldFallz’s picture

also unpublished.

please, as dww said above-- off topic posts will be unpublished so don't bother.

jpsoto’s picture

Dear friends ... seemingly mobile ecosystem is a D8's major target.

Therefore, some tips could be reviewed:

1.- D8 should make sure staying within the intersection of JQuery and jquery-compatible syntax JS microframeworks (i.e zeptojs or xui). A feasible goal.

2.- To manage properly the new APIs of HTML5, particularly client-side resources (as DB support), to build Drupal apps capable to run into off-line mobile terminals. Yes, ... these are strong words.

mikey_p’s picture

Please see the original post:

In this thread, we are only interested in what you plan to contribute, and not what you'd like other people to work on. This is not the place to request features, to talk about implementation details or to discuss Drupal's general direction.

WorldFallz’s picture

unsurprisingly people just can't seem to abide the op-- post unpublished.

Jeff Burnz’s picture

#1077356: HTML5 in core battle plan
Sandbox initiative set up, battle plans being drawn up.

#1087784: Add new theme to Drupal 8.1.x or another minor version
Out with Garland, all new plans for a new theme and D4DC Initiative (Design 4 Drupal Core).

http://groups.drupal.org/accessibility
In accessibility queue we're talking about our battle plan for D8, testing, what standards we want to achieve and revising D7 efforts.

Raf’s picture

I'll try to get user management more user friendly. Right now, you got a big-ass list. You can filter it by role, permission and state. If you want to find a specific user, based on username or email address, you're out of luck (you'll have to use the "search" feature outside of the user management screen, unless if that part's been turned off -- which is very often the case). It might be just a small addition, but every bit helps.

yelvington’s picture

http://drupal.org/project/advuser is looking for a co-maintainer.

Raf’s picture

Message has been sent!

rvilar’s picture

I would like to help improving and making some enhancement in frontend related stuff, like JavaScript refactoring, html5ying Drupal Core and helping with accessibility concerns. I think JS' presence in Drupal core has been increasing and we have to rethink some parts to make a new Drupal JS library or something like this to help along developers to create ssome js functionality in an standard drupal way

mikeaja’s picture

Documentation contribution was my initial thought. But there's one thing that keeps jumping out at me as a potential difficulty for all but the very proficient users; the connection / integration / use of Drupal along with elements that appear to be becoming mainstream - Views, Panels, Contexts and Spaces.

Obviously Views is going to be the best known and most used. But I am still figuring out what they all mean together, what crossovers there are and what they can, can't, should and shouldn't do together and separately.

The reason I see it as important is because I get the impression that together these modules are likely to change the concept of making websites in Drupal (if they haven't already). But the power is likely to be underused due to the possible lack of clarity defining exactly what these elements do.

So what I'd like to do depends on which of these (if any) will be part of D8 core. Either clarification of the connection from Drupal to these things (for example, showing people that they may not need to hack code in certain cases by using such modules) or if integrated, to show how they work as one.

As I right this I am thinking how my contribution could be of benefit. Documentation probably, along with me getting a better understanding and being able to document that in a way that others will understand it.

Raf’s picture

Correct me if I'm wrong, but isn't Panels and Context an OR-thing? You either use Panles OR Context? Combining the two's an interesting idea, though :D Or explaining to people in which case they'd best choose Panels and in which case they'd best choose Context. But in that case, it wouldn't be core anymore. It would be nice (and yeah, I know this is not on line with the OP), but maybe helping add something like Context into core for D8 would be a good way to help out?

mikeaja’s picture

Thanks for bringing the OR part up. You might be right. That just shows how much I have to learn about them!

I don't know if they should be integrated (I'm a big fan of a light core), but either way it looks like they are becoming standard. I doubt many use Drupal 6 now without Views.

What I think could confuse newer users is whether they should use them and why (or why not). I think this also helps with Drupal generally. When I first started to understand Views, the key thing was realising what Drupal couldn't do (coming from the Joomla world that bit was important), and why I needed Views.

So although I do not think they should necessarily be part of the core, I think they may become standard, therefore new Drupal users need to know about them and what they do.

I'll look into how best to put that all together.

EDIT: I'm not sure why I saw this relevant to D8. This could be a D7 thing equally. Ignore the above as specific to D8.

swentel’s picture

I'm going to help the Field API people on the possible OO rewrite and the idea of a 'Display object'. I'd like to introduce the concept of regions on single objects too, so the ultimate goal could be to replace a lot of existing default template files with one single template file to start with.

Another work area is a new field UI which will start out as a contrib for D7 which we hopefully can move afterwards into core.

No real issues yet; see remarks from yched above and in the minds of bojhan, yoroy, me and possible others too.

drupa11y’s picture

For me the biggest issue first starting with D6 and later D7 was not to give up after a few hours e.g. for customizing the frontpage.

Especially beginners want quick results in a short time with no effort nor knowledge.

YES - maybe mission impossible, but if we could manage this, the drawn attention and especially the motivation to find out more would increase.

Typo3 (typo3.org), one of the most favored CMS here in germany and for me my main competitor when it´s going to choose the CMS (my clients: "we heard that this should be possible with Typo3") hat a edition with predefined content & structure.

I would love to help on something like a "designers starter edition" to help people get cool results without any programming knowledge.

A d7 version is in progress: http://drupal.org/project/dsk

Of course in D8 there should exists an install-option by default.

To extend the idea the basic site structure should be a ajax based welcome tutorial to show a total new customer all the basics within less then 30 minutes to e.g. create a cool personal blog.

And yes - wordpress is still the most used system within the low-budget-section cause customers don´t think about extending first. For them the most important is a good looking front-end and quick results.

realityloop’s picture

I submitted this too late for D7, but would like to see it make it into D8, and have updated the patch already.
http://drupal.org/node/880940

I would also like to improve the module list as per Module Filter:
http://drupal.org/project/module_filter

webchick’s picture

Only local images are allowed.

dave reid’s picture

Patches welcome

les lim’s picture

That's a visual metaphor for git branches, of course.

naught101’s picture

Palm trees don't have branches...

te-brian’s picture

You'll probably want a 'Butler' to bring you mimosas and drinks with umbrellas in them :)

danigrrl’s picture

Writing "the Designer's Guide to Drupal," and working on making more designers less scared of the occasional command line moment. (hopefully) bringing Drupal workshops to the web design curriculum at the Center for Digital Imaging Arts in Waltham. Working on an idea I've been kicking around for an HTML5 base theme that outputs clean code and incorporates a 24-column adaptive grid (which is about 75% done at the moment). Continuing to be an overall loudmouth on behalf of all us Drupal designers.

Stuff and things.

Dani Nordin
Director of Digital UX, Pegasystems
Author, Drupal for Designers (O'Reilly 2012)
http://tzk-design.com

mlncn’s picture

Registration and log-in flow is my manageable D8 priority (ideally with D7 module).

Helping build the infrastructure/network to make coordinating (and funding) Drupal initiatives a matter of flow (to stick to a theme) is my unmanageable D8-cycle priority.

... and maybe, just maybe finding some naive people to write the Definitive Guide to Drupal 8. But finding a project manager for same first.

benjamin, Agaric

lelizondo’s picture

One of the things I've never liked about Drupal is how it handles the profile and the edit account pages.

Short version

I've created a sandbox project to start working on ideas and to solve this in D7. The whole idea consists of two simple concepts:

  • Profiles should be easier to customize/hack/change at least for themers. Even if this means starting with a blank page. Why? Because an admin could just add blocks to customize the profiles without having to remove the "History" section, the Picture and who knows how many more stuff.
  • Settings should be separated from Profiles

Extended version

Let me give you two examples of why I'm frustrated with this situation.

  • If you're trying to make a simple community site, where users visit their profiles very often, you'll probably want to theme the Profile. The problem is that the Edit Account is always right next to the Profile. Even worst, the View and Edit tabs make everything more confusing. Why is this? Because we have in one single place, the Profile, Stuff like "History", Content, Pages added with Views, and Settings.
  • Lack of consistency. If you look at the Shortcuts module you'll see it implements user/uid/shortcuts as a path. OpenID does something very similar and many other contrib modules do the same, like Notifications. The problem with this approach is that it's in the same level as the Profile (user/uid/account), when this is a configuration page and it should be under user/uid/edit/shortcuts.

Where does this come from? Well, if you visit websites like Twitter.com or Digg.com and many more you'll see that they separate the Profile from the Account Settings. Both sites, use a Tab for each group of settings so Change your password is not mixed with Change your Email like Drupal does. A long form in user/uid/edit is usually confusing.

As I mentioned above, I created a module to address this problem. What it does so far is:

  • Separate the Profile and Edit Account pages completely. The user won't see the View and Edit tabs at all.
  • Create a Settings page to handle the user settings. Account, Profile and Password have been separated into their own pages. This gives us more meaningful paths for the edit account page. Instead of having user/uid/edit/foo, the user will see settings/uid/foo
  • Provides a hook_profile_page_category() based in hook_categories() so any module can create a configuration page on its own and integrate with this module in a more consistent way.

If you have ideas or want to jump in and help shape this project, please create an issue at http://drupal.org/sandbox/lelizondo/1098228

Luis

chx’s picture

Entity API. Performance. I would love to see a return to the lean system we once were...

--
Drupal development: making the world better, one patch at a time. | A bedroom without a teddy is like a face without a smile.

wizonesolutions’s picture

It appears that I have accidentally hinted at killing PHP filter in Drupal 8, and some people took interest in the idea. I've started a sandbox at http://drupal.org/sandbox/wizonesolutions/1109974 to work on developing a D7 module to prototype the idea and have something to offer if I decide to run the gauntlet and try to call it the death of PHP filter.

Tall order. Lazy is hard to kill. But I'll at least start the fight in contrib, and who knows, maybe it'll wind up in D8 core!

Twitter hashtag: #KillPHPfilter

And that's my D8 "thing," I suppose.

Support my open-source work: Patreon | Ko-Fi | FillPDF Service

szantog’s picture

This is a scenario for me, and possibly for other _not_ hardcore core developers: Just listen, follow the development from the beginning, learn a lot, then write more plans in Personal battle plans for Drupal 9 topic. :)