I read somewhere (cannot recall source) that a programmer was capable of doing extremely complex and tailor-suited web pages using Drupal without writing a single line of code (using hooks), just using the GUI of suitable contributed modules. Is this at all possible?

Are the Drupal 7 (and 8) functions thought as a way of extending capability via contributed modules, or is it good practice to tailor-suit your own functionality via hard-code modifications of SQL queries via hook_views_pre_view, hook_views_query_alter, hook_views_pre_render, theme_preprocess_page and all of these available functions?

I suspect that most of the time being ready to face a difficult project would need to be spent on trying dozens of different contributed modules, mutual compatibility, flexibility, etc., in order to reduce the custom code you would need.

I am not sure about this commentator being truly honest, but I find difficult not to create my own custom modules and modify queries, template.php, etc., in order to get the desired results, sometimes even by fixing long existing bugs in some contributed modules.

  • 1
    It is possible to create complex sites without writing code. But only for some types of complexity. – Eyal Aug 5 '16 at 6:49
up vote 9 down vote accepted

Only using Site Building features (no custom module development yet) should get you pretty far (if not far enough ...).

The Relativity Data Model for Drupal

Have a look at the (illuminating) article "Relativity Model for Drupal", for which this is an introduction to it (quoted from this linked page):

The Relativity Data Model for Drupal is a zero-custom-code, collection of steps, procedures and methods that strive to help site builders, users and site visitors interact with Drupal in a far easier and more efficient way. This is done by:

  • Data architecture and data modeling merging as a single step through a documentation procedure.
  • Customized user interfaces that cater to individual workflows throughout permission roles.
  • Multi-level relational data structures that relate to other multi-level relational structures.
  • Mimicking the concept of database joins within Drupal's UI's.
  • Vastly reducing the size of Drupal sites by a small handful of modules that provide greater power, speed and expansion capabilities.

The small handful of modules (cfr. the last bullet) is like so (apart from Drupal core):

Note: this same topic is also presented in the video "Revolutionary DRUPAL Data Modeling Concept!! (This will change your Drupal life!)".

Typical add-on modules

Even though that small handful of modules above can get you already extremely far, I often add a subset of other contributed modules to it also, as further detailed below.

Business logic

Using the Rules and Flag module, it is possible to implement all sorts of business logic (= rules), simply using the typical Drupal admin UI for those modules.

Queries, custom reports and charts

  • To perform queries (listings, etc), use the Views module, possibly further extended with modules such as Views Slideshow: Galleria (there are dozens of modules to further enhance views).
  • The Forena module can be used as a supplement / alternative (e.g. if you'd need to also create charts or so, or if you have a need to access data in some external database such as MS SQL, Oracle, etc).

    Using the Forena integration with the Feeds module it is possible to import data blocks and reports as Drupal nodes or Drupal users. For a tutorial about the available features check out the video about How to import data and reports based on data as Drupal nodes.

  • Create charts using the views integration of the Charts module to visualize a lot of data in a way that can be quickly digested.

Page Layout

Modules like Display Suite and/or Panels can help to enhance the look and feel of it all also.

Many more modules

  • Group (a pretty new alternative to Organic groups, to create arbitrary collections of your content and users and grant access control permissions on them).
  • Workflow (to create arbitrary workflows, and assign them to entities).
  • IP Geolocation Views & Maps, a mapping engine to create Views-based mapping solutions using the map renderer of your choice (Google, OpenLayers or Leaflet)
  • Or, or ... on and on goes the list.

Disclosure: I'm a (co-)maintainer of Forena and Charts.

  • Well, in my case it is completely mandatory to use Feeds module, as I need to import external data from the client. Also Domain Access and i18n for internationalization. I will take a look at all you extense and very complete info. I am afraid that the "I need a demo right now" concept is what throws me directly into the nightmare or custom-code. – Cesar Aug 5 '16 at 7:52
  • 1
    @Cesar: merci for the feedback. I18n: always fun, but there are lots of contributed modules to get that to work also (just a bit challenging to know which modules. Feeds: make sure to look at the Forena tutorial about its feeds integration. "demo now": that doesn't sound fair (would "tomorrow" still be OK? Also, if you need it next month, you should have asked us last month ...). Nevertheless: configuring contributed modules that you've experience with should be way faster then re-inventing the wheel ... – Pierre.Vriens Aug 5 '16 at 8:01
  • 1
    @JimmyKo : merci! And yes, if I may say, when I first discovered this relativity model it was to me like "aha, that compares to how I was taught many years ago about building a system that uses a database ...". FYI: I started with data modelling using "Bachman diagrams" ... and even had the opportunity then to meet "the bow tie expert advisor", aka Mr. Charlie Bachman, in person. One of the design validations I remember: "Everything depends on the key, nothing but the key, so help me ... Codd"! – Pierre.Vriens Aug 5 '16 at 8:31
  • 1
    @Cesar I would consider rules is the second important contrib module after views. They make Drupal so different and much more flexible then other CMSs... – Jimmy Ko Aug 5 '16 at 9:53
  • 1
    @JimmyKo : maybe you read a comment (from me) like this somewhere before: even though D8 is officially released end 2015, to me D8 will only be production ready after there is a stable Rules module for D8. And with that, to me Rules has become to D8-acceptance, what the Views module was for D7-acceptance. – Pierre.Vriens Aug 5 '16 at 9:59

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.