Git Product home page Git Product logo

drupal-renderkit's People

Contributors

donquixote avatar

Watchers

 avatar  avatar

drupal-renderkit's Issues

Drupal 8 port

Currently there is work in progress for a Drupal 8 version.
At the time of this writing, I just pushed this preview branch: https://github.com/donquixote/drupal-renderkit/tree/8.x-1.x-PREVIEW-001

This branch is absolutely not meant to be used in any productive way.
I will break everything in this branch! I will rename classes, interfaces and namespaces. i will change method signatures.
I will rewrite the git history with rebase. I think I will then use a new branch name, so at least existing branches will keep their history.. but the final 8.x-1.x branch will likely not be a descendent of 8.x-1.x-PREVIEW-001

Even so, small pull requests can work:
Pick one class, e.g. EntityToEntity_EntityReferenceField, and try to port the logic to Drupal 8.

The are two major changes to the current stable D7 version:

  1. Integration with Drupal 8 APIs. E.g. entities now implement EntityInterface, and know their own type.
  2. A change of the plugin architecture for cfr. A lot of logic will go into separate libraries libraries, allowing cross-platform plugins with UI-driven configuration. "Configurator*" is largely replaced with "CfSchema*" (which I will likely rename to "FactorySchema"). For now, my advice would be to just ignore this part.

To try the components in Drupal 8, one would normally use them in combination with entdisp and cfrplugin.
However, since the D8 versions of those modules are not out yet, not even in preview, one can simply test the components separately. E.g. in devel code execution.
Of course it would be a good idea to actually write some tests cases...

To get an idea how the entire system is supposed to work in the end, just try the Drupal 7 version of renderkit, cfrplugin, entdisp and friends.

Naming convention for entity display classes.

Currently: EntityTitle, EntityFixedHtml, NodeCreatedDate, EntityViewMode.
Proposed: TitleEntityDisplay,FixedHtmlEntityDisplay, CreatedDateNodeDisplay, ViewModeEntityDisplay.

I am undecided..

Initial todo list

Library:

  • ListFormat interface
    • ItemList / ul / ol
    • ContainerList
    • SeparatorList
  • EntityDisplay contextual links
  • EntityToEntity relationship

Drupal integration:

  • EntityDisplay Views row plugin
  • EntityDisplay Views field plugin
  • EntityDisplay Entityreference formatter
  • EntityDisplay field type
  • Listformat plugin type
  • Listformat views style plugin
  • Listformat field theme function (ds)
  • Listformat field type

Bikeshed / future:

  • Object instead of render array?
  • EntityWrapper object, instead of specifying type name + entity?
  • RenderElement, PreRenderInterface, ThemePreprocessInterface, ThemeProcessInterface?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.